連載:アニメーションで見るパケット君が住む町(3)
トラックに積む運送票から「アドレス解決」を学ぼう

綱野衛二
Roads to Node
2009/4/13
イーサ君はパケット君からの荷物に「運送票」を付けて積み込んでいます。運送票には何が書かれているのでしょうか?

3 ビントサーフ市の交通事情

 連載第2回「インターネット世界の運送の様子を動画で見よう」では、「荷物」という情報を運ぶための「道路」と「トラック」の役割を説明しました。今回は、イーサ配送君によるインターネット世界の市内での荷物の運輸のルールや仕組みについてお伝えします。

3-1 イーサ配送君の運送票

イーサ配送君「今日は僕の仕事を紹介するんだって」

 そうです。今回はイーサ配送君の仕事を通じて市内での荷物の配送事情を説明します。

 イーサ配送君はパケット君から荷物を受け取って、それに「運送票」を付けてトラックに積み込んでいます。イーサ配送君の運送票には何が書かれているのでしょうか?

イーサ配送君「そんな大したもんじゃないよ。ビル名とかだよ」

 ちょっと見せてもらいましょう。

  • 差し出しのビル名
  • 受け取りのビル名
  • 荷物の中身(の受け取り者)
  • 荷崩れチェック欄

 確かにそれほど書いてあることは多くないですね。

 おや? 差し出しや受け取りで指定するのは「ビル名」? 住所じゃないんですか?

イーサ配送君「僕らは住所を使わないんだ。市内のビル名は法律でおなじ名前を付けないようになってるから、ビル名でも大丈夫でしょ」

 うーん、住所を使うのが普通の気がしますけどね。

イーサ配送君「僕らはいまの『インターネット世界』での運輸ルールができる前から、市内運輸専門でずっとやってるんだ。だから、僕らは僕らのルールで動く。ビルに入ってる会社がどんなルールでやってるかなんて気にしないよ」

 さすが市内運輸専門のプロって感じですね。

 イーサ配送君たちのルールでは、ビル名で差し出し元と届け先を決定しているんですね。

 これはつまり、「ビル名」と「住所」の2つの『住所』が存在するってことです。

 イーサ配送君たちが指定する「ビル名」。パケット君たちが指定する「住所」。なぜ2つの『住所』が必要で、どういう関係なんでしょうか?

 以前の第1回「パケット君が「情報」という商品を運ぶ町を探検しよう」でも説明しましたが、重要なポイントなのでもう1回説明してもらいましょう。

イーサ配送君「僕らの使うビル名は『市内』のたくさんのビルから『届け先』を決める『住所』」

パケット君「僕らの住所はいくつもの市をつないだ『インターネット世界』のたくさんのビルから『届け先』を決める『住所』」

 パケット君たちが使う『住所』の方がより広範囲ですね。

 ここでインターネット世界をもう一度見直してみましょう。インターネット世界はいくつもの市がつながっている世界です。市と市はステーションによってつながっています。なお、ステーションもビルとして考えます。

 イーサ配送君は市内の運輸を担います。市をまたがった場合、ステーションに荷物を渡し、そこでまた違うイーサ配送君やPPP駅員が次のステーションや届け先のビルへ送ることになります。つまり、

イーサ配送君「僕らは市内だけしか考えない。届け先が市外だった場合は、ステーションが届け先の『ビル名』になる」

パケット君「そうやってステーションからステーションを渡って、最終的に僕らが指定した『住所』へ届くことになるんだよ」

ARP君「つまりイーサ配送君の『ビル名』は『次に届ける住所』、パケット先輩の『住所』は『最終的に届ける住所』ってことになるッス。この2つの『住所』をつなぐのが僕の役割ッス」

 ARP君の「住所をつなぐ」という役割はまた先で説明します。

 つまり、「最終的な届け先」へ運ぶためには、市内のビルの中から、「次に届けるビル」を指定しなければいけません。それを指定するのが「ビル名」ってことですね。

図3-1 ビル名と住所 (赤のボタンで再生・停止ができます。Flash Playerが必要です)

 市内、つまりLANでのレイヤ2のデータ伝送は「イーサネット(Ethernet)」が行います。それ以外のプロトコルもありますが、現在ではイーサネットがデファクトスタンダート(De Facto Standard:事実上の標準)です。

 前回の最後の話から、レイヤによって必要な制御データ(ヘッダ)を上位のレイヤのPDUに付加するということを学んだと思います。イーサネットでは次のようなヘッダと、トレーラを付加します。

図3-2 イーサネットヘッダとイーサネットトレーラ
あて先MACアドレス……イーサネットのあて先アドレス
送信元MACアドレス……イーサネットの送信元アドレス
タイプ……データの中身のプロトコル(0x08000//////IP、0x0806//////ARPなど)
データ……イーサネットで運ばれるデータ。この最大バイト数のことを最大転送サイズ(MAX Transmission Unit size:MTU)と呼ぶ
FCS……Frame Check Sequence。CRC符号によるエラーチェック用ビット
受信時にチェックし、エラーがあったフレームは破棄される

 イーサネットが使用している「住所」がMAC(Media Access Control:マック)アドレスです。MACアドレスはLANのインターフェイスカード(NIC)に付けられているアドレスです。

 このアドレスは世界中でユニーク(Unique:同じものが存在しない)なアドレスです。48ビット(6バイト)のアドレスで、通常は16進数で表記されます。

 前半の24ビットはNICのメーカーのコード、後半24ビットはメーカーが割り当てたNICの番号(ホストコード)になります。ですが、この値にまったく意味はありません。重要なのは、「世界でただ1つのアドレス」であり、「コンピュータのNICに付けられているので識別できる」値である、という点だけです。

図3-3 MACアドレス
記述するときは16進数でバイトごとにハイフンをつける
00-90-99-32-BF-FF
または16進数で2バイトごとにドットで区切る
0090.9932.BFFF

 このMACアドレスは、アドレスとしては欠点を持っています。それは「場所が分からない」という点です。MACアドレスは「メーカー番号」と「メーカーが付けた番号」で、製造番号に近いものです。どこにそのアドレスがあるのかという位置情報がまったくありません。これでは多数の機器の中から、そのアドレスを持つ機器を探し出すのは無理があります。

 よって、MACアドレスはLANのように限定された台数が使用されている環境でのみ使用できます。MACアドレスはイーサネットのLANで、あて先を指定するアドレスとして使用されます。

 インターネットのような広域で多数の機器を持つネットワーク全体でのアドレスは、IPアドレスが使用されます。

 IPアドレスとMACアドレスという2つのアドレスが使われているのはおかしい、と思うかもしれません。ですが、インターネットはいくつものネットワークからなるネットワークで、いくつもの機器を中継していきます。IPアドレスで「最終的なあて先」が指定できたとしても、「次の中継先」を指定しないことには「最終的なあて先」まで届きません。

 LANで「次の中継先」を指定するためのアドレスがMACアドレス、ということになります。

図3-4 MACアドレスとIPアドレス(赤のボタンで再生・停止ができます。Flash Playerが必要です)

 覚えておくべき重要なポイントとしては、「MACアドレスはそのLANでの送信元とあて先を指定する」「MACアドレスは途中で変更される」という点です。

 そして、「LANではIPアドレスとMACアドレスの両方が必要」ということは忘れないでください。

 

ビントサーフ市の交通事情
3-1 イーサ配送君の運送票
  3-2 ARP君のお仕事
  3-3 市内での配送手順
3-4 おさらい 〜 実際のネットワークに当てはめると


関連記事
  ネットワーク・コマンド/ツール群の活用法を大紹介
連載 ネット・コマンドでトラブル解決
あなたのLANは健康ですか? 現状改善から一歩進んだ構築術まで
特集:基礎から学ぶネットワーク構築

レスポンスの悪いネットワークシステム どう検証し、解決していくか?
特集:ネットワークトラブルを解決する
運用管理に必須のツール/コマンド群
連載:24×365の運用管理

「Master of IP Network総合インデックス」


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間