1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

192.168.1.1/16と192.168.2.1/24で通信ができないことってあるの?

Posted at

経緯

後輩にサブネットマスク/16と/24の違いで通信できないことってありますか?と聞かれたときにぱっと答えられなかったので検討しました。

例えば、以下のケースだと単純です。
submet-mask_24_25.png

ルーター、PC-2からのpingはPC-1に到達します。ルーター、PC-2はサブネットマスク/24で考えるため、PC-1を同一ネットワークとして認識します。PC-1からのpingはPC-2に到達することはできません。PC-1はサブネットマスク/25で考えるため、PC-2を異なるネットワークとして認識します。

PC-1> ping 192.168.1.1

Redirect Network, gateway 192.168.1.254 -> 192.168.1.1
host (192.168.1.1) not reachable

結論から

ルーターのプロキシARPが有効になっている場合は通信できる可能性があります。プロキシARPが無効の場合はできないと思います。

試してみる

以下の構成を考えます。
subnet-mask_16_24.png

pingを実施します。

PC-1> ping 192.168.2.2

192.168.2.2 icmp_seq=1 timeout
84 bytes from 192.168.2.2 icmp_seq=2 ttl=63 time=14.277 ms
84 bytes from 192.168.2.2 icmp_seq=3 ttl=63 time=17.071 ms
84 bytes from 192.168.2.2 icmp_seq=4 ttl=63 time=14.411 ms
84 bytes from 192.168.2.2 icmp_seq=5 ttl=63 time=17.792 ms
PC-2> ping 192.168.1.2

192.168.1.2 icmp_seq=1 timeout
84 bytes from 192.168.1.2 icmp_seq=2 ttl=63 time=12.771 ms
84 bytes from 192.168.1.2 icmp_seq=3 ttl=63 time=12.763 ms
84 bytes from 192.168.1.2 icmp_seq=4 ttl=63 time=12.731 ms
84 bytes from 192.168.1.2 icmp_seq=5 ttl=63 time=17.298 ms

両方問題なく通信できています。PC1からルーター間のパケットを確認してみます。
ping_16.png

PC1のネットワークアドレスは192.168.0.0です。宛先の192.168.2.2に自身のサブネットマスクを適用し、192.168.0.0になるため同一ネットワークと判断します。
そのため、PC1はARPをブロードキャストで送信しています。実際は同一ネットワークではないので、PC2を見つけられませんが、ルーターが代わりに応答をしています。
これはルーターのプロキシARPの機能が有効になっている場合に行われます。検証で使用したものはCiscoルーターで、初期設定で有効になっているようです。おそらくルーターにより初期設定は異なるものと思います。

さらに

プロキシARPを無効にしてみます。同様にPC1からPC2にpingを実施します。

PC-1> ping 192.168.2.2

host (192.168.2.2) not reachable

ARPのリクエストを送信し、誰も応答しないためホストの解決に失敗します。ARPの問い合わせが3回発生しています。

ping_16_no_ip_proxy-arp.png

ちなみに、PC2からPC1はどうでしょうか。PC2のネットワークアドレスは192.168.2.0です。宛先の192.168.1.2に自身のサブネットマスクを適用し、192.168.1.0になるため異なるネットワークと判断します。
そのため、PC2からデフォルトゲートウェイにパケットを送信し、ルーターを介してPC2からPC1は通信が可能な状態です。

まとめ

今回聞かれた経緯として、誤ってサブネットマスクを/16で設定してしまい、他の部署から見れなかったそうです。結論としてサブネットマスクを/24にしたら直りましたという報告しかなかったので、すごくモヤモヤしていました。お客さん先のネットワークの構成はわかりませんが、もしかしたらプロキシARPが無効だったかもしれません。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?