web-dev-qa-db-ja.com

サブネットのゲートウェイは「実際の」コンピュータである必要がありますか?

ゲートウェイは常に実際のコンピューターですか、それともブロードキャストIP以外の任意のアドレスにある「ロジック」エンティティですか?

13
Semo

デフォルトルート(別名ゲートウェイアドレス)は、インターネットの残りの部分にパケットを転送することができるものによって所有されている必要があります。これは、それを所有するものの「プリンシパル」IPアドレスである必要はありません(それが何であれ)。これは、2つ以上のデバイス間でフロートする論理アドレスにすることができ、高可用性セットアップでは、多くの場合そうなります。

ルーティングが機能するための唯一の要件は、現在アドレスを所有およびアドバタイズしているデバイスがトラフィックをルーティングできること、およびルーティングすることです。

29
MadHatter

ゲートウェイのIPアドレスは、サブネット内の任意の有効なホストIPアドレスにすることができます。つまり、ネットワークアドレス自体やブロードキャストアドレスではありません。このIPアドレスは、単一のコンピューターまたはルーターに属している必要はありません。複数のゲートウェイで使用される「フローティング」IPアドレスでもかまいません。 [〜#〜] hsrp [〜#〜][〜#〜] vrrp [〜#〜][〜 #〜] glbp [〜#〜] 、または [〜#〜] carp [〜#〜]

たとえば、サブネットが172.16.23.0/25の場合、次のようになります。

  • networkアドレスは172.16.23.0、
  • broadcastアドレスは172.16.23.127であり、
  • 有効なHostアドレスの範囲は、172.16.23.1から172.16.23.126までです。

ゲートウェイは、これらの有効なホストアドレスのいずれかである必要があります。 172.16.23.65。その場合、コンピュータの設定は次のようになります。

  • IPアドレス:172.16.23.5
  • サブネットマスク:255.255.255.128
  • デフォルトゲートウェイ:172.16.23.65

最初のホップ冗長プロトコルの1つを追加すると、実際のゲートウェイ(ルーター)はIPアドレス172.16.23.1および172.16.23.2を持つことができますが、172.16.23.65の仮想IPアドレスを使用して、サブネットへのデフォルトゲートウェイとして提示されます。 。

15
Tommiie

あなたの使用法における「論理的実体」は少し混乱します。しかし、私はできる限りそれに答えようとします。

私の経験では、IP構成のゲートウェイは通常、物理デバイスです。従来の意味でのコンピュータである必要はありませんが(ネットワークアプライアンスでもかまいません)、デバイスである必要があります。

ご存知かもしれませんが、デフォルトゲートウェイが提供する目的は、すべての要求の転送エンティティとして機能することです。a。)コンピュータがまだルーティングテーブルにないか、システムに要求を転送するように指示するエントリがあります。たまたまゲートウェイであるIP、またはb。)ブロードキャストドメインの外部にあるIP。システムはサブネットのブロードキャストアドレスを使用して特定のIPアドレスを所有するシステムのMACアドレスを見つけることができるため、2つのホストが同じブロードキャストドメイン(つまり、スイッチによって作成されたネットワークトポロジ)上にある場合、デフォルトゲートウェイは決して使用されません。

つまり、技術的には、質問に答えるために、デフォルトゲートウェイを接続されたネットワーク上の任意のIPアドレスとして設定できます。 Windowsやその他のほとんどのOSは、TCP/IPの詳細の検証を実行しないことが多いため、ユーザーを止めることはありません。あなたがそれを設定しているなら、あなたはおそらく区別を理解するのに十分に技術的に精通しているでしょう。ただし、転送できないデバイスのIPアドレスの場合、デバイスにルーティングテーブルやルーティングサービスが用意されていないため、ルーティングに依存するアプリケーション(つまり、Webブラウザー)でエラーが発生します。リクエストを転送します。

しかし、私よりもはるかに経験豊富な人なら、私が間違っていても簡単に修正できるはずです。

TL; DR-ほとんどの場合、物理デバイス。

9
kelvintechie

ルーティングテーブルエントリは、サブネットをゲートウェイまたはネットワークアダプターに解決します。

プライベートネットワーク上のデバイスの一般的なルーティングテーブルは、不要なものを除外すると、次のようになります。

0.0.0.0/0 via 192.168.0.1
192.168.0.0/24 dev eth0

宛先ごとに最も具体的なルートが優先されるため、サブネットルートは、サブネット内のアドレスのデフォルトルートよりも優先されます。

ゲートウェイアドレスは、ルーティングテーブルを通じて解決されます。ルーティングテーブルは、ゲートウェイに与えられるネットワークインターフェイスと、下位層のアドレス指定を決定します。

したがって、1.1.1.1、宛先はルーティングテーブルで検索され、ゲートウェイのあるデフォルトルートを返します。ゲートウェイが再度検索され、イーサネットインターフェイスが返されます。

イーサネットにはMACアドレスがあるため、ゲートウェイアドレスに対してARPルックアップが行われ、ゲートウェイのMACアドレスが発信パケットに使用されます(IPヘッダーで適切な宛先アドレスが引き続き使用されます)。

PPPリンクには「ピアアドレス」があるため、他の下位レベルのトランスポートは異なる動作をします。そのため、それらのデバイスルートは/ 32のネットマスクを使用し、ARP解決をスキップして、「 PPPリンクを介してブロードキャストします。

一部のIPスタックでは、デバイスルートを手動で作成する必要があるため、これが少しわかりやすくなります。

ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route add default via 192.168.0.1
5
Simon Richter