STAGE 02 / サブネットマスクとCIDR

PT演習 2-2:マスク違いで通信できない状況を作って直す

考えてみよう

2台のPCに同じIPアドレス帯(たとえば 192.168.1.x)を設定しても、サブネットマスクが違うだけで通信できなくなることがあります。なぜでしょうか?

IPアドレスの数字が似ていても、サブネットマスクが「どこまでを同じネットワークとみなすか」を最終的に決めています。今回はその境目を、実際に壊して・直して体感します。

この演習でできるようになること

使用トポロジ

PC0とPC1をSwitch 2960に接続します。両方に 192.168.1.0 系のIPアドレスを設定しますが、PC1だけサブネットマスクをわざと 255.255.255.128(/25)にして、PC0(255.255.255.0、/24の認識)との間でネットワーク部の解釈がずれる状況を作ります。

PC0が/24、PC1が/25でサブネットマスクが食い違い、pingが失敗している状態から修正後に疎通する様子
PC0が/24、PC1が/25でサブネットマスクが食い違い、pingが失敗している状態から修正後に疎通する様子

準備

  1. PC-PTを2台、Switch 2960を1台配置し、ストレートケーブルで接続します。
  2. PC0のIP Configurationで、IP Address 192.168.1.10、Subnet Mask 255.255.255.0 を設定します。
  3. PC1のIP Configurationで、IP Address 192.168.1.140、Subnet Mask 255.255.255.128 を設定します(ここが今回の"壊れた設定"です)。

手順

  1. PC0のCommand Promptから ping 192.168.1.140 を実行します。結果を確認します。
  2. なぜ失敗するのかを考えます。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/25192.168.1.128192.168.1.255)となり、192.168.1.10 を持つPC0は別ネットワークにいると認識してしまいます。この認識のズレが通信不全の原因です。
  3. PC1のIP Configurationを開き、Subnet Maskを 255.255.255.0(/24)に修正します。
  4. 修正後、再度PC0から ping 192.168.1.140 を実行し、疎通が復旧したことを確認します。
  5. 余裕があれば、逆に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)

合格チェックリスト

つまずきポイント

ひとつめは、IPアドレスの数字だけを見て「同じネットワークっぽい」と判断してしまうことです。192.168.1.10192.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が通らない」と思ったら、まずマスクを疑う癖、ここで身につけておこう。次は「なぜサブネットに分けるのか」、分割そのものの目的をじっくり見ていくよ。