このページの本文へ

前へ 1 2 3 4 次へ

TCP/IPまるわかり 第3回

IPアドレスを使って通信する仕組みを理解しよう

特別なIPアドレスって知っていますか?

2009年06月29日 09時00分更新

文● Gene

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

直接通信の仕組み

 直接通信では、送信元ホストと宛先ホストが文字通り直接接続される。これはあくまでネットワーク的な意味で、物理的には各ホストの間にスイッチングハブが入っているだけの状況と考えればよい。

 直接通信できるということは、IPパケットをそのまま電気信号に変換して、LANケーブルなどの媒体に流せば相手に届くことを意味する。そのため、今度はIPアドレスではなく、もう1つ下のレイヤの物理層における識別子である「MAC(Media Access Control)アドレス*2」が必要になる(Ethernetの場合)。

*2:MACアドレスは、ネットワークカードのメーカーが工場から出荷する際にユニークな値が書き込まれる。IPアドレスと違い、あとから変更できないのが原則である。

 IPアドレスからMACアドレスを求める際に利用されるのが、ARPだ。ARPでは、「ARPリクエスト」と「ARPリプライ」という2つのメッセージを利用する(図3)。データの送信元は、APRリクエストの中にMACアドレスを求めたいホストのIPアドレスを書き込み、「該当するIPアドレスを持つホストはMACアドレスを教えてください」と依頼する。このARPリクエストは、通信したいホストのMACアドレスが不明なので、すべてのホストに届くブロードキャスト用のMACアドレスである「FF-FF-FF-FF-FF-FF」を利用して送信する。

図3 ARPの仕組み

 次に、ARPリクエストを受け取った周りのホストのうち、書き込まれたIPアドレスを持つものだけが、ARPリプライにMACアドレスを書き込んで応答する。ほかのホストはこのパケットを無視して破棄する。

 以上でARPを使ったIPアドレス→MACアドレス変換は終了である。このあとはホスト同士が直接MACアドレスを指定し合った電気信号のやり取りが可能になる。

間接通信の仕組み

 では、通信し合う2台のホストのネットワークアドレスが異なる場合はどうするのだろうか。結論からいえば、「ルータを飛び石伝いに転送してもらう」という動きをする。

 インターネットは、ネットワークを相互に接続した大きなネットワークだが、そのネットワーク同士をつないでいるのは「ルータ」である。つまり、ルータを順番に伝っていけば、かならず通信相手のホストに届くはずである。

 では、相手のホストが所属しているネットワークがつながっているルータは、どのようにして見つけるのだろうか。詳細な仕組みは次のパートで解説するが、ルータには「このインターフェイスの先につながったルータには、このネットワークがつながっている」という情報が備わっている。この情報を基準に、パケットはルータを次から次へと伝ってゆき、最終的な目的のホストが属するネットワークを収容したルータに届くのだ。

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事