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


13

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


9
ゲートウェイの現代的でほぼ間違いなく正しい用語は ルーターです。ルーターは純粋にソフトウェア内に存在でき、PC、ラップトップ、サーバーシステムなどの従来のコンピューターをルーターとして使用できますが、通常は専用のハードウェアデバイスが使用されます
HBruijn

2
「論理エンティティ」とはどういう意味ですか?
バーマー

2
@HBruijn、ほとんどの場合、ゲートウェイはルーターです。一般的な用語は、ゲートウェイがネットワーク上のホストであり、他のホストが別のネットワーク宛てのトラフィックを送信することです。それは、ルーターでなければならないという意味ではありません。プロキシ、ALGなどの場合もあります。また、別のネットワーク宛てのトラフィックをトラップして、ゲートウェイで転送しないようにする必要がある場合もあります。この場合、ルーティングではないためルーターではありません。ネットワーク間のパケット。
ロンMaupinの

宛先IPアドレスに基づいて転送を決定できるシステムはチューリング完全である必要はないので、ルーターはコンピューターである必要はありません(同じレベルのブリッジと1つに適用されます)ただし、このようなシステムは通常、管理上または追加のアプリケーション(ルーティングプロトコルなど)で構成できるデバイス(またはデバイスの集合)であり、コンフィギュレーション、これらのものは、(専門)のコンピューターになりがち。
ハーゲン・フォン・Eitzen

@Barmarゲートウェイがブリッジやルーターのような特殊なハードウェアデバイスである必要がある場合、またはプログラミング言語の観点から考えると、サーバーの設定などの情報の一部である可能性がある場合。
デモ

回答:


29

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

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


6
...または少なくともふりをします。
シャドゥール

2
@Shadurデフォルトルートが実際にトラフィックをルーティングするふりをしている場合、ルーティングがどのように機能するかに興味があります。
MadHatter

1
ルーティング自体は機能しませんが、ブラウジングだけを許可する場合は、「ゲートウェイ」インターセプトを使用して、ポート53、80、および443で透過プロキシを実行し、システム自体を可能な限り隔離することができます。
シャドゥール

7
OK。私は同意しませんが、それはルーティングではありません。ルーティングが機能するためには、ルーターが実際にルーティングしなければならないという私の主張に賛成です。あなたはそれに同意しないようです。
MadHatter

1
公正な点ですが、この質問で使用されている「ゲートウェイ」はデフォルトルート、つまり、next-hop-of-last-resortです。これにより、特定のルートがない内部サブネットだけでなく、他のすべてのサブネットにもアクセスできるようにする必要があります
マッドハッター

15

ゲートウェイのIPアドレスは、サブネット内の任意の有効なホストIPアドレスにすることができます。つまり、ネットワークアドレス自体やブロードキャストアドレスではありません。このIPアドレスは、単一のコンピューターまたはルーターに属している必要はありません。複数のゲートウェイで使用される「フローティング」IPアドレスにすることができます。HSRPVRRPGLBP、またはCARPに関するウィキペディアの記事をご覧ください。

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

  • ネットワークアドレスは、172.16.23.0です
  • ブロードキャストアドレスは172.16.23.127で、
  • 有効なホストアドレスの範囲は、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アドレスを使用して、サブネットへのデフォルトゲートウェイとして表示されます。 。


9

使用法の「論理エンティティ」は少しわかりにくいです。しかし、できる限り最善の答えをしようとします。

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

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

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

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

TL; DR-おそらく物理デバイス。


同じブロードキャストドメインに複数の異なるIPサブネットを設定できます。そのような場合、追加のエントリがホストルーティングテーブルに追加されるか、ICMPリダイレクトが使用されない限り、これらのホスト間のトラフィックはデフォルトゲートウェイを介して流れます。
ピーターグリーン

@PeterGreenうん、奇妙なエッジケースがたくさんあります。たとえば、192.168.0.0 / 24と10.0.0.0/24が同じ物理イーサネットLAN上にあり、両方のゲートウェイがそれぞれ192.168.0.1と10.0.0.1の同じ物理ルーターであるとします。192.168.0.100が10.0.0.100をpingする場合、最初のラウンドトリップはゲートウェイを介して中継されます。ゲートウェイは、同じホスト上にいることを通知するICMPリダイレクトを各ホストに送信する場合もあります。その場合、各ホストはARP要求を送信してピアのMACアドレスを取得し、それ以降のすべての通信はピア間で直接行われます(ゲートウェイ経由ではありません)。
アレックスHajnal

上記の例では、外部ネットワーク上のピアのMACアドレスに対するARP要求をブロードキャストするには、ホストが(ICMPリダイレクトを介して)突進する必要があることに注意してください。リダイレクトホストがない場合、外部ネットワークARP要求は行われません。
アレックスHajnal

5

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

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

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.