概要
2つのIPアドレスが、同じネットワークに属しているか確認する場合、
それぞれのIPアドレスとサブネットマスクを2進数に変換してAND演算すると、
同じネットワークに属しているかどうか がわかります。
仕組み
サブネットマスクは、IPアドレスのうち「ネットワーク部」と「ホスト部」を区切るための値です。
IPアドレスとサブネットマスクをビットごとにAND演算すると、ネットワークアドレスが求められます。
2つのAND演算の結果(ネットワークアドレス)が同じとき、同一ネットワークに属しているということになります。
例
以下のIPアドレスとサブネットマスクがあるとします。
IPアドレス:192.168.1.10 IPアドレス:192.168.1.20 サブネットマスク:255.255.255.0 (/24) |
2進数に変換します。
192.168.1.10 → 11000000.10101000.00000001.00001010 192.168.1.20 → 11000000.10101000.00000001.00010100 255.255.255.0 → 11111111.11111111.11111111.00000000 |
AND演算します。
1同士のときに1になり、それ以外は0になります。
1つめ
192.168.1.10 → 11000000.10101000.00000001.00001010 255.255.255.0 → 11111111.11111111.11111111.00000000 結果 → 11000000.10101000.00000001.00000000 → 192.168.1.0 |
2つめ
192.168.1.20 → 11000000.10101000.00000001.00010100 255.255.255.0 → 11111111.11111111.11111111.00000000 結果 → 11000000.10101000.00000001.00000000 → 192.168.1.0 |
結果が同じ(192.168.1.0)なので、同一ネットワークです。
異なる場合は、別ネットワークのためルータ経由が必要となります。
関連の記事