- ベストアンサー
ネットワーク上でデータ転送するときのMACアドレス取得
- ネットワーク上でデータ転送するためには、宛先IPアドレス、宛先MACアドレス、送信元IPアドレス、送信元MACアドレスの4つが必要です。
- データ転送の流れは、自分のIPアドレスとMACアドレスを取得し、宛先のホスト名からIPアドレスを取得し、ARPによりMACアドレスを取得するという4つのSTEPで行われます。
- 異なるネットワーク同士でデータ転送を行う場合、ARPによるMACアドレス取得の動作は異なります。自分のネットワーク上のホストに対してのみブロードキャストでMACアドレスを問い合わせるため、異なるネットワークには直接問い合わせることはありません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 異なるネットワークにもブロードキャストでMACアドレスを問合せするのですか? しません。 ホストが目的のIPアドレスにたどり着く為に、必要なのは「その宛先を知ってそうな機器」までです。条件のネットワークですと、2つのネットワークの間にルータかL3スイッチが居るはずですので、ホストにしてみれば、ルータまでたどり着くことが出来ればいいことになります。 ごく単純には ホストA→ルータ→ホストBだとして、 ?ホストA→ルータ間 送信元IP=ホストAのIP、宛先IP=ホストBのIP 送信元MAC=ホストAのMAC、宛先MAC=ルータのホストA側MAC 宛先MACは最初は分からないのでブロードキャストで問い合わせ 「ホストBのIPアドレス知っている人いませんか~」 ルータは、ホストBを直接知っているわけではないにせよ、自分と直結しているネットワーク内に居ることは知っているので 「ウチの先に居るよ~」と答えてくれます。 結果、宛先MACはルータのホストA側になります。 ?ルータ→ホストB間 送信元IP=ホストAのIP、宛先IP=ホストBのIP 送信元MAC=ルータのホストB側のMAC、宛先MAC=ホストBのMAC このときも、ルータは192.168.2.0/24内にブロードキャストで 「ホストBのIPアドレス知っている人いませんか~」 と問い合わせをかけます。ホストB自身が答えてくれるのでやり取りの結果、MACはホストBのMACになります。 こんなバケツリレーになっています。 たとえば葉書を出す際、最終目的に書いた住所に届ける為に、知っていなければいけないのは最寄の郵便ポストの場所、ですよね? そしてその郵便ポストに手紙を回収しに来る人がその手紙を届ける為に知っていなければならないのは、その地域を統括している郵便局の場所であって、葉書のあて先じゃないですよね。 そういう、「最終目的」がIPアドレスだとすると「とりあえず次に行く場所」がMACアドレスです。 …と私は部下に教えています。却って混乱させてしまったらごめんなさい。
その他の回答 (1)
- ok-kaneto
- ベストアンサー率39% (1798/4531)
(1)IPアドレスを元にルーティングテーブルを参照し、ゲートウェイ(一般的にはルータまたはL3スイッチ)を決める。ルーティングテーブルに無ければデフォルトゲートウェイを使用する。 (2)ARPプロトコルを用い、(1)で求めた(デフォルト)ゲートウェイのIPアドレスを元に、ゲートウェイのMACアドレスを求める (3)宛先IPアドレスは転送先のIPアドレス(192.168.2.1)のまま、宛先MACアドレスは(2)で求めたMACアドレスをセットして転送する (4)受け取ったゲートウェイでは(1)から繰り返す http://www.itbook.info/study/p86.html http://www.n-study.com/network/transmission.htm http://itpro.nikkeibp.co.jp/article/COLUMN/20071009/283857/