web-dev-qa-db-ja.com

ゲートウェイとしての0.0.0.0の意味は何ですか?

誰かがゲートウェイの割り当てを明確にできますか?

ゲートウェイを0.0.0.0として追加することと、特定のIPアドレスをゲートウェイとして割り当てることの違いは何ですか?

62
user2720323

0.0.0.0には「未指定」という特定の意味があります。これは、ゲートウェイのコンテキストでは大まかに「存在しない」と言い換えることができます。もちろん、これは中間ホップがないため、ネットワークがローカルに接続されていることを前提としています。

目的地として、0.0.0.0/0は特別です。ネットワークビットがない場合、ネットワーク番号に何も含めることはできません。したがって、当然のことながら指定されていません。

しかし、あなたの質問にこだわって、はい、それは特別な意味を持っています。つまり、ネットワークはそのインターフェース上でローカルに接続されており、そこに到達するためにホップを追加する必要はありません。

50
Falcon Momot

ウィキペディアのページから .0.0.

抜粋

インターネットプロトコルバージョン4では、アドレス0.0.0.0は、無効、不明、または適用できないターゲットを指定するために使用されるルーティング不可能なメタアドレスです。そうでなければ無効なデータに特別な意味を与えることは、インバンドシグナリングのアプリケーションです。

ウィキペディアのページから、 デフォルトルート です。

抜粋

インターネットプロトコルバージョン4(IPv4)のデフォルトルートは、CIDR表記でゼロアドレス0.0.0.0/0として指定されます。 1 は、クワッドゼロルートと呼ばれることがあります。サブネットマスクは/ 0として与えられます。これはすべてのネットワークを効果的に指定し、可能な限り最短の一致です。他のどのルートとも一致しないルート検索は、このルートにフォールバックします。同様に、IPv6では、デフォルトルートは::/0で指定されます。

ネットワークの最上位レベルのセグメントでは、管理者は通常、特定のホストのデフォルトルートを、ネットワークサービスプロバイダーに接続しているルーターに向けます。したがって、組織のローカルエリアネットワーク外の宛先(通常はインターネットまたはワイドエリアネットワーク上の宛先)を持つパケットは、そのプロバイダーへの接続を使用してルーターに転送されます。

デフォルトルートが指すデバイスは、デフォルトゲートウェイと呼ばれることが多く、パケットフィルタリング、ファイアウォール、プロキシサーバー操作などの他の機能を実行することがよくあります。

あなたの質問では、私はあなたがこのようなものを持っていると仮定します:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0

これは、パケットがでない場合、各ネットワーク宛先(192.168.1.0または169.254.0.0)のデフォルトゲートウェイが0.0.0.0宛先であることを意味します[〜#〜] [ 〜#〜]その特定のネットワーク内の任意のアドレスを宛先とします。 0.0.0.0の宛先には、IPアドレス192.168.1.254を使用します。

これらのルールは、私たちが知っているどのルートとも一致しないすべてのトラフィックをデフォルトルートに流すように機能します。

カップルサンプル

したがって、IP 192.168.1.110のパケットがあるとします。最初のルールがチェックされ、このIPがそのネットワークに一致するため、配信されます。

パケット150.12.13.1がある場合、3番目のルールが有効になり、パケットは192.168.1.254にルーティングされます。

27
slm

見て、0.0.0.0はルーティングテーブルでのみ使用され、ホストへの割り当てには使用されません。

ホスト(IPアドレスを持つコンピューター)は、ルーティングテーブルを維持して、メッセージを正しい場所に送信する方法を解決します。

シナリオ1:PC-Aが同じネットワーク上のPC-Bにメッセージを送信しようとしています。

1)PC-Aはルーティングテーブルをチェックして、宛先IPアドレスに一致するものがあるかどうかを確認します。 2)ルーティングテーブルは、宛先が同じネットワーク内にあることを示し、そのネットワークに接続されているインターフェースを見つけ、そのインターフェースから直接宛先にメッセージを転送します。

シナリオ2:PC-Aが、リモートNETORK(同じネットワークではない)上のServer-Zにメッセージを送信しようとしています。

1)PC-Aはルーティングテーブルをチェックし、一致を見つけることができません(もちろん、ホストはリモートネットワーク上のホストを追跡しないため、これがルーターの仕事です)。

2)ただし、PCは次のようにルーターにマッピングされたクワッドゼロのIPアドレスとサブネットマスク(デフォルトゲートウェイOTHER、REMOTE、DIFFERENTネットワーク)で構成されています。

(0.0.0.0 0.0.0.0 192.168.0.1インターフェース)

ゼロとはどういう意味ですか?それは何も意味しません。したがって、コンピュータがリモートホストの場所を追跡せず、メッセージを送信するたびにルーティングテーブルをチェックして、同じ(ローカル)ネットワークに送信する必要があるかどうか、または必要かどうかを確認する場合それをリモートネットワークに送信するには、どのようにしてリモートネットワークにメッセージを送信しますか?

それをルータに送信し、ルータに最適なパスに沿ってパケットをルーティングさせる役割を果たします。したがって、ホスト/ PC /コンピューターは、ルーティングテーブルでメッセージの送信先(別名0.0.0.0)のエントリが見つからない場合、それをルーター(IP)に送信することを認識している必要があります。 (0.0.0.0 0.0.0.0 192.168.0.1インターフェース)エントリーに関連付けられたアドレス、およびそれに接続されている関連付けられたインターフェース/ NIC /ネットワークアダプターを使用します。

したがって、0.0.0.0はホストとルーターのルーティングテーブルで使用され、宛先に到達する方法に一致するものが0であることがわかったときに、どこに送信するかを認識し、ルーターのIPアドレスとそのルーターに到達するインターフェイスにマップする必要があります。

4
McGavel