web-dev-qa-db-ja.com

IPアドレスに接続するためにネットワークIDが必要ないのはなぜですか?

私はIPが基本的にどのように機能するかを知っており、ネットワークID部分とホストID部分で構成されるIPアドレスを知っていますが、IPアドレスを入力するときは8.8.8.8 Webブラウザーに、I しませんでしたサブネットマスク情報を提供します。

では、ブラウザはどのようにしてネットワークIDとホストIDの境界線がどこにあるかを知るのでしょうか。 8.8.8.88.8.8.8/8を意味する場合があるため、8.8.8.8/24など。

一言で言えば、私が提供したIPアドレスはあいまいです。

6
baddogai

もう一方の端がローカルネットワークの外部にある場合、PCはもう一方の端のサブネット配置を知る必要はなく、最も近いルーターにパケットを配信するのに十分な知識があれば十分です。そのために、2つの情報を使用します。

  • ローカルサブネットマスク
    これを自身のIPアドレスと組み合わせて使用​​して、他のIPアドレスがローカルであるかどうかを確認します。
  • デフォルトゲートウェイ(または明示的なルート-netstat -nrを参照)
    ローカル以外のものはすべてそこに送信されます

もう一方の端のルーター(つまり、もう一方のLANにインターフェイスがある)は、そこでのサブネットの配置を認識しています。他に何もする必要はありません。

netstat -nrを見ると、PCのルーティングテーブルが宛先ネットワーク、ネットワークマスク(サブネットマスクの反対側)、ゲートウェイ(ルーター)で構成されていることがわかります。通常、PCには、単一のデフォルトゲートウェイに加えて、あまり使用しないもの(ループバック、マルチキャストなど)用のキブルがいくつかあります。

ルーティングテーブルのネットワークマスクは、数百万のターゲットサブネットの高レベルの要約または集約に相当すると考えることができます。

6
RedGrittyBrick

サブネットマスクは、アドレスが特定のネットワークに対してローカルであるかどうかを判断するため、およびルーティングのためにのみ使用されます。

連絡したい住所の場合(8.8.8.8あなたの例では)はローカルネットワークのいずれにも含まれていません(たとえば、172.16.3.0/24127.0.0.1/8192.168.45.88/29)の場合、マシンは直接接続できません。その場合、トラフィックをゲートウェイに送信します(たとえば、192.16.3.1)、構成されている場合は、宛先に到達することを期待します。

2
fredden

マスクを見つけているのはブラウザではなく、下位層のTCP/IPです。これは、TCP/IPの実装にも依存します。ほとんどの実装では、サブネットマスクを指定せずにIPを構成すると、そのIPクラスのデフォルトマスクが使用されます。たとえば、クラスC IPがマスクなしで設定されている場合、デフォルトで255.25.255.0のマスクを使用できます。

0
Kobe