IPv4のサブネットマスクは、IPアドレスのどこまでをネットワーク部分として扱うかを示す。自分と宛先のIPアドレスに、自分のサブネットマスクをそれぞれビット単位でAND演算し、結果が一致すれば同じIPサブネットに属すると判断できる。マスクの用途は所属するネットワークの判定であり、個々の通信相手を指定するのはIPアドレス全体である。
例えば、自分が192.168.1.10、マスクが255.255.255.0なら、ネットワーク部分は192.168.1.0になる。宛先が192.168.1.20なら結果は同じ192.168.1.0で、192.168.2.20なら192.168.2.0となる。IPアドレスの値だけを見ても、この区切り方は決まらない。
通常のイーサネット上のIPv4通信では、この判定が相手に直接送るか、ルーターへ渡すかの判断材料になる。同じサブネットの相手には、その相手のMACアドレス宛てにフレームを送る。別のサブネットの相手へは、経路に従ってルーターのMACアドレス宛てに送る。このときも、IPパケットの宛先は最終的な相手のIPアドレスである。
MACアドレスは、そのリンク上で次にフレームを渡すインターフェースを指定する。所属するIPサブネットはMACアドレスに含まれないため、サブネットマスクの代わりにはならない。次に渡す相手のIPアドレスを決めた後、そのMACアドレスを調べる役割をARPが担う。
https://www.rfc-editor.org/rfc/rfc950.html#section-2.2