web-dev-qa-db-ja.com

ルーターはどのようにしてネクストホップルーターのMACアドレスを見つけますか?

イーサネットLANでは、IPアドレスからMACアドレスを取得するためにARPプロトコルが使用されていることを私は知っています。 ARPが不可能な場合、ルーターは外部ネットワーク上の別のルーターのMACアドレスをどのように取得しますか?

5
Gradient

なぜARPが不可能だと思いますか? ARPはその方法です。 「内部ネットワーク」と「外部ネットワーク」について特別なことは何もありません。両方で同じプロトコルが使用されます。

ルーターには、トラフィックを内部ネットワークにルーティングするための一連のルートが設定されていますが、ISPのネットワーク内のルーターを指すデフォルトゲートウェイもあります。ルーターはARPを使用して、そのデフォルトゲートウェイのMACアドレスを検索します。次に、そのルーターは「ネクストホップ」を見つけるために同じことを行います。

10
heavyd

「外部ネットワーク」とは、ルーターに直接接続されていないネットワークを想定しています。

ARPではありません。ルーターは、ルーティングテーブルでターゲットアドレスを検索します。このテーブルには、ターゲットに近づくための次のルーターのアドレスであるネクストホップアドレスがリストされます。ルーターはルーターと同じネットワーク上にあるため、ルーターはルーターアドレスのARPを実行します(言い換えると、ルーターは共通のネットワークを共有します)。

これで、ネクストホップアドレスがルーターが接続されているネットワーク上にない可能性があります。そのため、ルーターはルートテーブルを調べて、ネクストホップアドレスへのルートを見つけます。そのルートには、ネクストホップアドレスもあります(NH2と呼びます)。 NH2は共通のサブネット上にあるため、ルーターはNH2のMACに対してARPを実行します。

NH2もローカルではないという非常に奇妙なケースでは、ルーターはローカルサブネットが見つかるまでルーティングテーブルを調べ続けるか、パケットをドロップします。

2
Ron Trunk

短い答え:

MACアドレスを使用するデータリンク層(レイヤー2)テクノロジは、「外部」(WAN)リンクでもARPを使用します。

ポイントツーポイントであるデータリンク層テクノロジーは、エンドポイントが2つしかないため、必ずしもリンク層アドレスを必要としません。各エンドポイントは、メッセージを送信するエンドポイントでない場合は、想定されるものでなければならないことを認識しています。それを受け取るために、そしてその逆。そのため、MACアドレスやARPなどは必要ありません。

共有メディア上でマルチポイントツーマルチポイントのデータリンク層テクノロジーには、「MACアドレス」や「MACアドレス」と呼ばなくても、何らかのリンク層アドレスと何らかのアドレス解決プロトコルが必要になりますARP」それぞれ。しかし、彼らはしばしば彼らのARPに相当するものを「<このデータリンク技術の名前> ARP」と呼んでいます。

長い答え:

ある意味では、イーサネットからのMACアドレスとARPは、イーサネットのようなデータリンクでのみ使用されるため、ネクストホップのMACアドレスを見つける必要があるのは、イーサネットのようなデータリンクでのみであり、ARPがそのために使用されます。

ポイントツーポイントシリアルリンク(多くのビジネスWANリンクがそうである))は、データリンク層アドレスを必ずしも必要としない。なぜなら、通信できるデバイスが他に1つしかないからです。回線上の他のデバイスは1つだけです。したがって、受信するものはすべて自分のものであり、リンクの他のエンドポイントが送信するものすべてを処理すると想定できます。

では、イーサネットとは異なり、イーサネットのような48ビットMACアドレスを使用しないマルチデバイス(別名、マルチポイントからマルチポイント)の共有メディアデータリンク層についてはどうでしょうか。そうですね、これらのデータリンクには、48ビットのMACアドレスでなくても、おそらく何らかのリンク層アドレスがあります。従来型でなくても、IPv4アドレスをデータリンク層アドレスにマッピングするための何らかの方法が必要になります。イーサネットARP。一般に、IPv4を他のデータリンク上で機能させる方法を設計する人々は、基本的にイーサネットモデルに従い、データリンク用のARPプロトコルを作成します。これらのプロトコルは通常、「<データリンク層プロトコルの名前をここに挿入> ARP」という名前が付けられることで、従来のイーサネットARPと区別されます。

したがって、IP over Fiber Channelを実行する場合、「 IP over Fiber Channel ARP 」があります(より単純な名前「FibreChannelARP」または「FARP」はすでにFiber Channel独自のプロトコルの1つに使用されていました)。

IP over SONET/SDH(技術的には、SONET/SDHを介してマルチポイントネットワーキングを行う方法である「MAPOS」を介して)を実行する場合、「 MAPOS ARP "」があります。

FireWire(IEEE 1394シリアルバス)でIPを実行する場合、 " 1394 ARP "

90年代初頭にタイムワープし、IP over AppleTalk/LocalTalkを実行したい場合は、「 NBP ARP 」を実行します(より単純な名前「AppleTalkARP」または「AARP」はすでにAppleTalkのネットワーク層アドレスをデータリンク層アドレスにマップするプロトコル)。

1
Spiff

イーサネットまたはWANリンクは関係ありません。フレームは、IPパケットのみではなく、レイヤ1によってネットワークに送信されます。シリアルリンクでは、HDLCフレームが使用されます。違いは、ルーターがシリアルリンクでARPを行わないことです。実際、シリアルリンクにはMACアドレスがなく、リンクの状態を判断する方法としてSLARP、シリアルラインARPを使用します。シリアルリンクには、ARPやMACを必要としない2つのエンドポイントしかありません。現在、サービスプロバイダーはイーサネットWANを使用することが多く、ARPが王様です:)

0

ARPが不可能な場合、ルーターは外部ネットワーク上の別のルーターのMACアドレスをどのように取得しますか?

少し単純化すると、それは不可能であり、必要ありません。

最も単純な状況では、ノードにはNIC)があり、IPアドレスとネットマスク(つまりサブネット)が割り当てられており、DHCPを介して取得した「デフォルトゲートウェイ」を認識しています。

これに基づいて、同じサブネット内の何かにトラフィックを送信したい場合は、そのNICからトラフィックをスローするだけで、そのサブネット上のあらゆるものに到達します。

トラフィックを他のサブネットに送信する場合は、そのサブネット上のデフォルトゲートウェイにトラフィックを送信する必要があります。

デフォルトゲートウェイは、ルートがある場合、そのトラフィックを別のサブネットに転送します(ルーティング=転送)。あなたの典型的な住宅の状況では、それは基本的にあなたのケーブルまたはDSL ISPのルーターに行き、そこからさらに「上流」に行きます。

大規模なネットワーク(企業、キャンパス)は、さまざまなゲートウェイプロトコルを使用して、直接接続されていないルートを自動的に検出します。ISPは、BGPを使用して、インターネット全体を構成するかなり大きなルーティングテーブルを交換します。

MACはルーティングには必要ありません。デフォルトゲートウェイだけです。

MACアドレスには「サブネット」などがないため、MACアドレスはルーティングに役立ちません。 「MACアドレス層」は、別のMACに何かを送信するときに、ネットワーク上にトラフィックをスローするだけでそれを実行できることを前提としています。 「仲買人」という概念はありません。そのため、ネットワークから何かのMACアドレスを取得することは、トラフィックを取得する限り、役に立ちません。これがIP層が存在し、すべてがMACアドレスだけではない理由です。

0
LawrenceC

ARPが不可能な場合、ルーターは外部ネットワーク上の別のルーターのMACアドレスをどのように取得しますか?

イーサネットがネクストホップに到達するかどうか。イーサネットの場合、ARPは機能します。イーサネット以外の場合、MACは必要ありません。

0
David Schwartz