このページの本文へ

ネットワークがクイズでわかる! 誰が正解?「TCP/IP」 第5回

ARPの限界を理解している回答者を当てよう

IPアドレスからMACアドレスを調べるARPはどこまで有効?

2011年08月24日 06時00分更新

文● 遠藤 哲

  • この記事をはてなブックマークに追加
  • 本文印刷

クイズ「誰が正解?」の時間がやってきました。このクイズでは、ケンイチ君、いずみちゃん、竹田君の3人が私の質問に答えます。ただし、正解なのは1人だけですよ。クイズのテーマは「TCP/IP」、ネットワークの基本です。さてさて、誰が正解か当てられますか?


誰が正解?(間違いが2人いますので要注意!)

ARPでIPアドレスからMACアドレスを調べる

 Ethernetで構築されたネットワークでは、IPパケットを「Ethernetフレーム」と呼ばれるデータフォーマットで送受信する(図1)。Ethernetフレームのヘッダは、おもに宛先および送信元のMACアドレス(Media Access Control address)と上位プロトコルタイプの3つのフィールドで構成されている。Ethernetカードには固有のMACアドレスが設定されており、EthernetはこのMACアドレス情報を使ってEthernetフレームの送受信を行なうのである。

図1●IPの階層とEthernetフレーム

 一方、IPではIPアドレスが使用される。つまり、Ethernetを使ったIPでの通信はIPアドレスとMACアドレスの2つのアドレスを使って行なわれることになる。そのため、EthernetでIP通信をするには、その都度宛先IPアドレスから宛先MACアドレスを調べる手段が必要となる。

 このMACアドレスを調べるプロトコルが「ARP(Address Resolution Protocol:アープ)」である。ARPでは、MACアドレスを知りたいIPアドレスをブロードキャスト(全ホスト宛の通信)ですべての隣接ホストに送信する。そして、該当するIPアドレスを持つホストから応答としてMACアドレスを受け取る(図2)

図2●単一ネットワークでのARPの動作

ルータを経由したパケット転送

 ここでポイントとなるのは、図3のように2つのネットワークがあり、宛先ホストがルータをまたいだネットワークにある場合だ。IPアドレスではネットワーク(どこの)とホスト(誰か)を示すことができるので、複数のネットワークをまたいでも宛先を指定することができる。またIPネットワークでは、ルータにパケットを転送させることで、異なるネットワークにIPパケットを送ることが可能だ。

図3●ルータをまたいだARPの動作

 しかし、Ethernetのフレームはルータを越えられず、ハブやスイッチで接続されている隣接ノードとしか通信できない。そのうえ、ARP要求で使うIPのブロードキャストの通信は、ルータを越えられないという制約がある。つまり、EthernetのブロードキャストでARP要求を送信している以上、ルータを越えてARP要求を送ることはできないのだ。

 そこで、ルータ(図のGW)のIPアドレスを調べ(各ホストにデフォルトゲートウェイとして指定されている)、さらにARPでルータのMACアドレスを調べる。そして、データフレームをルータ宛に送信する。これを図3で説明すると、172.16.1.153から10.0.0.100にIPパケットを送るのに、いったんIPパケットをルータに送るということになる。

 ここでルータは、受け取ったEthernetフレームからIPパケットを取り出すが、そのIPヘッダに書かれた宛先がルータではないため、あらためてその宛先IPアドレスへパケットを転送することになる。ここでもルータから宛先IPアドレスについてARPを実行してMACアドレスを調べる。そして、Ethernetフレームを作り直して、宛先の10.0.0.100にIPパケットを届ける。

 このようにIPパケットの送信では、ARPというプロトコルを使うことで、MACアドレスを調べながら、IPパケットを転送していくのである。

 3人ともMACアドレスの解決にARPを使うことでは一致しているが、ケンイチ君といずみちゃんのARPの説明は誤っている。ケンイチくんは、他のネットワークのMACアドレスもARPで調べられるとしているのが間違い。ARP要求はEthernetのブロードキャストで送るので、他のネットワークにARP要求を送ることはできない。いずみちゃんは、ARP要求の宛先をスイッチとしているところが間違い。またARP要求をルータで転送するというところも誤っている。正解は竹田君だ

 本記事は、ネットワークマガジン2007年8月号の特集1『クイズでわかる 誰が正解?「TCP/IP」』を再編集したものです。内容は原則として掲載当時のものであり、現在とは異なる場合もあります。

カテゴリートップへ

この連載の記事