LAN外のARP要求。ターゲットマシンまたはルーターの応答?


7

インターネット経由で2台のルーターの間にあるターゲットマシンにARPリクエストを送信した場合、リクエスト(0001)パケットのターゲットIPアドレスはどうなりますか?それは私のゲートウェイであるルーターのIPアドレスですか、それともターゲットマシンのアドレスですか?

例:私はからのARP要求をしたいとしましょうComputer AComputer C、そしてスキームは以下の通りです。

Router1 => Internet => Router2 => Computer C 

何をターゲットIPアドレスで、でしょうRouter1Computer C

これで私を助けてください。ちょっと混乱しています。

ありがとうございました。


何か回答がありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探します。または、独自の回答を提供して受け入れることもできます。
Ron Maupin

回答:


10

元の図を使用する:

OPのオリジナル図

コンピューターAがコンピューターCと通信しようとすると、次の手順でルーター1のソフトウェア割り当てアドレスをハードウェア割り当てのメディアアクセス制御アドレスに解決します。コンピューターAのルーティングテーブルの内容に基づいて、IPはコンピューターCに到達するために使用されるのは、ルーター1を経由する、そのデフォルトゲートウェイのIPアドレスです。次に、ホストAは自身のローカルARPキャッシュをチェックして、ルーター1に一致するハードウェアアドレスを探します。

コンピューターAがキャッシュ内でマッピングを見つけられない場合、ローカルネットワーク上のすべてのホストにARP要求フレームをブロードキャストし、「ルーター1のハードウェアアドレスは何ですか?」という質問を送信します。送信元のホストAのハードウェアアドレスとソフトウェアアドレスの両方がARP要求に含まれています。

ローカルネットワーク上の各ホストは、ARP要求を受信し、自身のIPアドレスとの一致をチェックします。一致するホストが見つからない場合、ホストはARP要求を破棄します。

ルーター1は、ARP要求のIPアドレスが自身のIPアドレスと一致することを確認し、ホストAのハードウェア/ソフトウェアアドレスマッピングをローカルARPキャッシュに追加します。

次に、ルータ1は、ハードウェアアドレスを含むARP応答メッセージをホストAに直接送信します。

ホストAはルーターからARP応答メッセージを受信すると、ルーター1のハードウェア/ソフトウェアアドレスマッピングでARPキャッシュを更新します。

ルーターインターフェイス1のメディアアクセス制御アドレスが決定されると、ホストAはルーターインターフェース1のメディアアクセス制御アドレスにアドレス指定することにより、ルーター1にIPトラフィックを送信できます。次にルータは、このセクションで説明されているのと同じARPプロセスを介してトラフィックをホストCに転送します。

これは、Microsoft Technetの記事から例に合わせて更新されました。ジュニパーネットワークスの説明は、良い例のもう1つの参考資料です。

一言で言えば、外部IPアドレス/ホストと通信するとき、ホストAは外部IP解決のためにそのデフォルトゲートウェイを調べ、ホストCへのトラフィックがこのゲートウェイによって転送されると想定します。


1
お返事ありがとうございます。ARPキャッシュが空の場合、コンピューターAはルーター1にARP要求を実行してゲートウェイを見つけるため、ターゲットIPアドレスは最初の要求パケットのルーター1のIPアドレスになります。私は正しいですか?
ebyrock 2014年

はい、コンピュータAのARPであれば、それはそれのデフォルトゲートウェイになります空にして、ルータ1のためのARP要求を送信する、ルータ1に、ホストCのための順方向トラフィック
マイク・ネイラー

問題ありません。これが役に立てば幸いです。
マイクネイラー2014年

私は興味がある。宛先のMACアドレスが不明な場合、ルーターによって設定されたプライベート IPアドレスでこれはどのように機能しますか?
Sometowngeek

4

それはすべて、AとR1-1のサブネットマスクの設定方法、およびR1の構成にproxy-arpが含まれているかどうかに依存します。

正規構成では、AとR1-1は同じサブネットマスクを共有し、それらのアドレスは両方とも同じサブネットに一致する必要があります。これが発生すると、Cは「同じ(サブ)ネットワークに属していない」としてAに認識されるため、Cアドレスに一致するルーティングテーブルでルーターを見つける必要があります。最も一般的なケースでは、R1-1はデフォルトゲートウェイとして知られているため、R1-1のMACがまだ不明であり、それを検出するためにARPが送信されます。詳細はこの回答にあります。

ただし、別のシナリオも考えられます。Aのサブネットマスクが短すぎてCのIPでも一致する(そしてR1インターフェイスがネットワークを適切に分割するマスクで正しく構成されている)場合、AはCが同じLAN上にあると信じ、 ARPを送信しようとします。

R1はARPを確認し、そのようなフレームは自分の背後にあることがわかっている(より適切なサブネットマスクのため)Cに到達しないことを知っているため、Cとして応答しますが、R1-1 MACアドレスを提供します。この応答( "プロキシARP"として知られている)は実際にはAをだます、今ではCが自分のネットワーク上にR1-1 MACアドレスを持っていると信じている。そのため、通常のルーティングプロセスの結果と同じように、C IPおよびR1-1 MACでパケットを送信することにより、Cと通信します。


エミリオさん、ありがとうございます。はい、私の質問はマイクの回答の図を参照することでした。IP-A(コンピューターA)とR1-1は同じサブネットにあります。そして、ARPキャッシュは空です。したがって、IP-C(コンピュータC)が別のサブネットにあるため、IP-Aは最初にデフォルトゲートウェイにARP要求を行います。これはあなたとマイクの反応からの私の理解です。では次に何が起こるのでしょうか?説明できる?ありがとうございました。
ebyrock 14年

IPパケクトfrom Ato Cは、イーサネットフレームato toにラップすることで形成されますr1-1。(ここでは小文字はMACアドレスを意味します)。R1はフレームを受信し、それを開いて、それがCに送信されていることを確認し、独自のルーティングテーブルを探して、Cネットワークへの次のホップに送信します。最後のホップでは、R2は、最終的に送信されますACから(IPレベル)r2-2c(MACレベル)
エミリオGaravaglia

-2

上記のトポA --- R1 ---- R2 ---- C

R2がR1からパケットを受信すると、R2はCのMACアドレスを見つけるためにARP要求を送信し、Cの応答後にのみ、パケットをCに転送できます。

あれは正しいですか?


ARP要求はレイヤー2ブロードキャストフレーム内にあります。フレームはルーターで削除されるため、ルーターを通過しないことは誰でも知っています。
ロンモーピン

という事は承知しています。私が言ったことは... R2とCは同じネットワークにあります。ただし、Cはこれまでにパケットを送信したことがないため、R2にはCの情報がありません。したがって、AのパケットをCに転送するには、R2がCのMACアドレスのARP要求を送信する必要があります。
user22834

OPはインターネット経由でARP要求を送信しようとしています。コンピューターAがコンピューターCに移動するネットワークから離れることはないため、R2はコンピューターCに送信しようとするためにそれを見ることができません。ネットワーク上にないアドレスの要求。あなたが説明するのは、ARP要求ではなく、インターネット上を移動する通常のパケットの場合です。
Ron Maupin

いいえ、私が言ったことは、AがR1のARPを送信することでした。R1はR2のARPを送信します。R2は、順番にC.のためにARPを送信します
user22834

あなたの答えから:「R2がR1からパケットを受信したら...」私の要点は、あなたが答えるべき質問では、元のパケットがブロードキャストフレームに包まれていたため、R1はR2にパケットを送信しないということです。あなたのコメントから:「R1はR2のARPを送信します。」再び、ARPはインターネットでは機能しませんそして、あなたが答えている質問では、R!とR2はインターネットによって分離されています。あなたが尋ねたものとは完全に異なる質問に答えているようです。質問をもう一度読んで、それに応じて回答することをお勧めします。反対票を投じた人、または将来的には反対する人が反対する可能性があります。
Ron Maupin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.