2台のPCに同じIPアドレス帯(たとえば 192.168.1.x)を設定しても、サブネットマスクが違うだけで通信できなくなることがあります。なぜでしょうか?
IPアドレスの数字が似ていても、サブネットマスクが「どこまでを同じネットワークとみなすか」を最終的に決めています。今回はその境目を、実際に壊して・直して体感します。
この演習でできるようになること
- サブネットマスクの不一致によって通信できなくなる状況を再現できる
- pingの失敗結果から、原因がサブネットマスクにあることを切り分けられる
- 正しいサブネットマスクに修正し、疎通を復旧できる
使用トポロジ
PC0とPC1をSwitch 2960に接続します。両方に 192.168.1.0 系のIPアドレスを設定しますが、PC1だけサブネットマスクをわざと 255.255.255.128(/25)にして、PC0(255.255.255.0、/24の認識)との間でネットワーク部の解釈がずれる状況を作ります。
準備
- PC-PTを2台、Switch 2960を1台配置し、ストレートケーブルで接続します。
- PC0のIP Configurationで、IP Address
192.168.1.10、Subnet Mask255.255.255.0を設定します。 - PC1のIP Configurationで、IP Address
192.168.1.140、Subnet Mask255.255.255.128を設定します(ここが今回の"壊れた設定"です)。
手順
- PC0のCommand Promptから
ping 192.168.1.140を実行します。結果を確認します。 - なぜ失敗するのかを考えます。PC0は自分のマスク
255.255.255.0(/24)で判断するため、192.168.1.140は同じネットワーク(192.168.1.0/24)内にいると認識します。しかしPC1は自分のマスク255.255.255.128(/25)で判断するため、自分のネットワークは192.168.1.128/25(192.168.1.128〜192.168.1.255)となり、192.168.1.10を持つPC0は別ネットワークにいると認識してしまいます。この認識のズレが通信不全の原因です。 - PC1のIP Configurationを開き、Subnet Maskを
255.255.255.0(/24)に修正します。 - 修正後、再度PC0から
ping 192.168.1.140を実行し、疎通が復旧したことを確認します。 - 余裕があれば、逆にPC0側のマスクを
/25に変えて壊し、同様に直す練習もしておきましょう。
確認
修正前のping結果です。
Pinging 192.168.1.140 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.1.140:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
サブネットマスクを 255.255.255.0 に修正した後は、次のように成功します。
Pinging 192.168.1.140 with 32 bytes of data:
Reply from 192.168.1.140: bytes=32 time=1ms TTL=128
Reply from 192.168.1.140: bytes=32 time<1ms TTL=128
Reply from 192.168.1.140: bytes=32 time<1ms TTL=128
Reply from 192.168.1.140: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.1.140:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
合格チェックリスト
- PC0とPC1のサブネットマスクが食い違う「壊れた状態」を再現できた
- その状態でpingが失敗することを確認した
- サブネットマスクの不一致が原因だと判断できた
- マスクを揃えて修正後、pingが成功することを確認した
つまずきポイント
ひとつめは、IPアドレスの数字だけを見て「同じネットワークっぽい」と判断してしまうことです。192.168.1.10 と 192.168.1.140 は一見近い数字に見えますが、サブネットマスクの解釈次第で同じネットワークにも別ネットワークにもなります。必ずマスクとセットで判断する癖をつけましょう。
ふたつめは、片方だけ直して満足してしまうことです。今回はPC1のマスクだけを直しましたが、実際の現場では「どちらが正しい設計か」を先に確認し、正しい側に統一する必要があります。両方が別々の思い込みで違うマスクを使っていないか、必ず両者を確認しましょう。
みっつめは、pingが失敗した原因をケーブルやポートの物理障害だと勘違いすることです。今回のようにリンクランプは緑(アップ)のままでもpingは失敗します。物理層に異常がなければ、次に疑うべきはIPアドレス・サブネットマスクの論理設定です。
PC0(192.168.1.10/24)とPC1(192.168.1.140/25)の間でpingが失敗しました。原因として最も適切なものはどれでしょう?
答えを見る
サブネットマスクの不一致により、両者が互いに異なるネットワークにいると認識してしまっているためです。PC0は/24でネットワークを192.168.1.0/24全体と認識しますが、PC1は/25でネットワークを192.168.1.128/25と認識しており、双方の「同じネットワークの範囲」の解釈がずれています。マスクを両者で統一することで解決します。
IPアドレスの数字が近くても、サブネットマスクの解釈がズレていれば通信できない——これは現場のトラブルシュートで本当によく出会う話だよ。「ケーブルは合ってるのにpingが通らない」と思ったら、まずマスクを疑う癖、ここで身につけておこう。次は「なぜサブネットに分けるのか」、分割そのものの目的をじっくり見ていくよ。