IPアドレスが同じネットワークに属しているか

概要

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)なので、同一ネットワークです。

異なる場合は、別ネットワークのためルータ経由が必要となります。

 

関連の記事

ネットワーク CIDR(サイダー)とは
CIDR表記のIPアドレスの範囲の一覧表
IPアドレス範囲計算するWebツール

△上に戻る