クラスA・B・Cのプライベートアドレス範囲を覚えましたが、実際にPCへ設定してみたとき、「同じネットワークかどうか」で通信が変わることを、自分の目で確認したことはありますか?
数字の上での理解と、実機で通る・通らないを体験するのとでは納得感が違います。今回はクラスの異なるプライベートIPをあえて設定して、その違いを見ていきます。
この演習でできるようになること
- クラスA・B・Cそれぞれのプライベートアドレスの範囲を、PCのIP設定画面で正しく入力できる
- 同じネットワークに属する場合と属さない場合とで、pingの結果が変わることを確認できる
- pingが失敗したときに「アドレス設定」が原因かどうかを切り分けられる
使用トポロジ
PC0・PC1・PC2の3台を、1台のSwitch 2960に接続します。PC0とPC1にはクラスCのプライベートアドレス(192.168.10.0/24)を、PC2にはクラスAのプライベートアドレス(10.0.0.0/8の範囲)を設定し、「同じネットワークの2台は通る」「異なるネットワークの1台は通らない(ルータがないため)」を確認します。
準備
- PC-PTを3台、Switch 2960を1台配置します。
- すべてのPCとスイッチをストレートケーブルで接続します。
- 各PCのDesktop→IP Configurationを開き、以下のように設定します。
- PC0: IP Address
192.168.10.1、Subnet Mask255.255.255.0 - PC1: IP Address
192.168.10.2、Subnet Mask255.255.255.0 - PC2: IP Address
10.0.0.1、Subnet Mask255.0.0.0
手順
- PC0のCommand Promptを開き、
ping 192.168.10.2を実行します(PC1宛て)。 - 結果を確認したら、続けて
ping 10.0.0.1を実行します(PC2宛て)。 - 次に、PC2のCommand Promptを開き、
ping 192.168.10.1を実行します(PC0宛て)。 - 3つのpingの結果を見比べ、「クラスが違っても、同じネットワーク部を持つ同士なら通る/通らない」の境目がどこにあるかを確認します。
- 最後に、PC2のIP Configurationを開き、Subnet Maskだけを
255.255.255.0に変更してみて、再度PC0へのping 192.168.10.1を試します(これはPC2のIPアドレス自体は10.0.0.1のままなので、依然として異なるネットワークのままであることも合わせて確認してください)。
確認
PC0からPC1(同じ 192.168.10.0/24)へのpingは成功します。
Pinging 192.168.10.2 with 32 bytes of data:
Reply from 192.168.10.2: bytes=32 time=1ms TTL=128
Reply from 192.168.10.2: bytes=32 time<1ms TTL=128
Reply from 192.168.10.2: bytes=32 time<1ms TTL=128
Reply from 192.168.10.2: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.10.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
一方、PC0からPC2(10.0.0.1)へのpingは、ルータが存在せず異なるネットワーク同士のため失敗します。
Pinging 10.0.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
合格チェックリスト
- PC0・PC1に
192.168.10.0/24範囲の異なるアドレスが設定されている - PC2に
10.0.0.0/8範囲のアドレスが設定されている - PC0からPC1へのpingが成功する(同一ネットワーク)
- PC0またはPC1からPC2へのpingが失敗する(異なるネットワーク、ルータなし)
- pingが失敗した理由を「ネットワーク部が異なるから」と説明できる
つまずきポイント
ひとつめは、「pingが失敗した=設定ミス」と思い込んでしまうことです。今回はルータを配置していないため、異なるネットワーク同士のpingが失敗するのは正しい挙動です。失敗の原因が設定ミスなのか、そもそも構成上ルーティングができないのかを見分ける視点が大切です。
ふたつめは、サブネットマスクだけを合わせてもIPアドレス自体のネットワーク部が違えば意味がないという誤解です。手順5のように片方のサブネットマスクだけ変えても、IPアドレスそのもの(10.0.0.1)が192.168.10.0/24の範囲に入っていなければ、依然として異なるネットワークのままです。
みっつめは、クラスの異なるプライベートアドレス同士は自動的に区別されると誤解することです。IPアドレスにクラス情報が埋め込まれているわけではなく、あくまで設定したIPアドレスとサブネットマスクの組み合わせで判定される点に注意しましょう。
PC0(192.168.10.1/24)からPC2(10.0.0.1/8)へpingを送ったところ、Request timed out になりました。ルータを追加せずにこの2台を通信させる方法として正しいものはどれでしょう?
答えを見る
PC2のIPアドレス自体を 192.168.10.0/24 の範囲内(例: 192.168.10.3)に変更し、両者を同じネットワークに揃えることです。ルータを配置しない構成では、異なるネットワーク同士は原理的に通信できません。サブネットマスクだけを合わせても、IPアドレスのネットワーク部が異なっていれば疎通しません。
クラスが違っても、同じネットワーク部を持っていれば通る。逆に、クラスの分類そのものより「ネットワーク部が一致しているか」が全てを決める——これが実機で確認できると、机上の知識がぐっと実感に変わるよね。次は、そのネットワーク部を決める「サブネットマスク」を、もっと深く見ていくよ。