質問: サブネットマスクを間違って設定したときのデフォルトゲートウェイとの通信 サブネットマスクを間違って設定したときのデフォルトゲートウェイとの通信について教えてください。 ホストaのアドレス :192.168.1.200 デフォルトゲートウェイ:192.168.1.1 であったとき、ホストaのサブネットマスクを255.255.255.0とすれば通信できると思いますが、 間違って255.255.255.128と設定したときに別のネットワークとホストaが通信できるのか(デフォルトゲートウェイが中継するのか)を知りたいと思っています。 デフォルトゲートウェイ側のサブネットマスクは255.255.255.0だとし、デフォルトゲートウェイ側からはホストaは同じネットワークである場合です。 つまりホストaから違うネットワークへパケットを送る場合、 ホストa → デフォルトゲートウェイ ... 送れるか(私には)わからない。そもそもパケットが出るのか。 デフォルトゲートウェイ → ホストa ... 同じネットワークなため応答は問題ない(はず)。 arpテーブルにデフォルトゲートウェイのmacアドレスが登録されているかいないかによっても違うのでしょうか。 私もテストしてみたのですが、通信前からデフォルトゲートウェイのmacアドレスがarpテーブルにあり、ルータやosの方で何か特殊なことをしているかもしれない(そもそもこれが特殊なことなのかどんなosやルータでもそうなのかもわからない)と思い実験にならなかったため、質問させていただきました。 ちなみに、以上のような私の環境では、サブネットマスクを間違えてもインターネットにつながりました。 よろしくお願いします。
回答: 興味深い内容でしたので windowsxp sp3 で実験してみました。 下記の様に、arp テーブルをクリアしてから外部へ通信して見たら、普通に通信できてしまいました。 c:\>ipconfig windows ip configuration ethernet adapter ローカル エリア接続: connection-specific dns suffix . : ip address. . . . . . . . . . . . : 192.168.0.201 subnet mask . . . . . . . . . . . : 255.255.255.128 default gateway . . . . . . . . . : 192.168.0.1 c:\>arp -d c:\>arp -a no arp entries found パケットキャプチャをしてみたところ、意外なことにpc側から broadcast で 192.168.0.1 のarp要求が出てました。 デフォルトゲートウェイの場合は、自分と違うネットワークのアドレスが設定されていても、arpするようになっているのかも知れませんね。(windows の仕様?) そもそも、デフォルトゲートウェイが自分と違うネットワークのアドレスに設定されている時点で何かが間違っている訳ですからね。 ちなみに別ネットワークになってしまってたlan内の別のpcへはpingも通りませんでした。