• ベストアンサー

ARPの働き

ARPの働きがわかりません。 例えば、ノードA1→ルータA→ルータB→ノードB1と通信する場合にどのように働くのですか? ネットワークB内に、B1、B2と2つのノードがあった場合、どうやって区別しますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

>同じルータ下なら同じIPになりませんか? 「同じIP」なら競合しませんか? ルータA/ルータBとあるからには別のネットワークですよね? >例えば、ノードA1→ルータA→ルータB→ノードB1と通信する場合にどのように働くのですか? ルータAの配下が192.168.1.0/24、 ルータBの配下が192.168.2.0/24、 ノードA1が192.168.1.1、 ノードB1が192.168.2.50。 なんて設定ならば… ノードA1(192.168.1.1)からノードB1(192.168.2.50)宛てに。 ノードA1は自身のIPアドレスとサブネットマスクから、 「別のネットワーク宛て」ということが判別できます。 自身に設定されているルーティングテーブルにより、ルータA1に送ればよい。と判定。 ここでルータA1のMACアドレスを取得するためにARPでブロードキャストして取得。 送信元MACにノードA1のMACアドレス、送信先MACアドレスに先ほど取得したルータAのMACアドレスをセット。 IPヘッダには送信元としてノードA1のIPアドレス、送信先としてノードB1のIPアドレスを設定してパケットを送信。 ノードA1からのパケットを受け取ったルータAは自身のルーティングテーブルを参照して192.168.2.0/24はルータBへ…。 ルータAとルータBがEthernetで接続されていれば…ARPでルータBもMACアドレスを取得。 送信元MACにルータAのMACアドレス、送信先MACアドレスに先ほど取得したルータBのMACアドレスをセット。 IPヘッダには送信元としてルータAのIPアドレス、送信先としてノードB1のIPアドレスを設定してパケットを送信。 # この時、ポート番号などとセットで戻りパケット用の情報を保持。 # ネットワーク構成によっては…送信元IPは書き換えないかな? ルータAからのパケットを受け取ったルータBは自身のルーティングテーブルを参照して、配下のネットワーク宛てと判断。 ARPでノードB1のMACアドレスを取得。 送信元MACにルータBのMACアドレス、送信先MACアドレスに先ほど取得したノードB1のMACアドレスをセット。 IPヘッダはそのままでパケットを送信。 って感じですかね。 # 実際にはARPテーブルでしばらくキャッシュされていたりしますけど。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

ARPの働き以前に、ARPの意味がわかっていますか?意味がわからないという質問ですか? ノードA1がルータAに通信するにはルータAのLAN I/FのMACアドレスが必要です。 ルータAのIPアドレスからMACアドレスを求めるのがARPです。その先も同じことの繰り返し。 >ネットワークB内に、B1、B2と2つのノードがあった場合、どうやって区別しますか? IPアドレスが違うので区別できます。

gjmpt
質問者

補足

同じルータ下なら同じIPになりませんか?