連載:アニメーションで見るパケット君が住む町(3)
トラックに積む運送票から「アドレス解決」を学ぼう
Roads to Node
2009/4/13
3-2 ARP君のお仕事
荷物を運ぶためには、「最終的な届け先」の「住所」と、「次の届け先」である「ビル名」の2つの住所が必要なことは分かったと思います。
ここで、荷物の届け先には2つのパターンがあります。つまり「市内」か「市外」か、です。この2つのパターンで、「ビル名」と「住所」の関係を考えてみると、
- 市内の場合……ビル名と住所の場所は一致する
- 市外の場合……ビル名と住所の場所は一致せず、ビル名には市外へ行くためのステーションを指定する
これらのことが分かります。
では、指定された「住所」がどの「ビル名」であるか、ということはどうやったら分かるのでしょうか?市外の「住所」の場合、ステーションの「ビル名」はどうやって分かるのでしょうか?
ARP君「出番ッス」
ここでARP君の出番です。
ARP君は3F商品受発注部に所属していますが、2F車両部のイーサ配送君とよく打ち合わせをしています。立場的には、2.5Fぐらいですかね?
ARP君「階段の踊り場に机があるみたいにいわないでほしいッス」
イーサ配送君「打ち合わせの内容は、届け先のビル名をARP君が指定するんだ」
では、ARP君がどうやってビル名を知るのか聞いてみましょう。
ARP君「じゃん。これが僕の『住所とビル名対応・ARP君特製ノート』ッス。パケット先輩から教えてもらった届け先をこのノートで調べて、ビル名を割り出すッス」
「住所とビル名対応・ARP君特製ノート」、ここでは「ARP君ノート」と呼びましょう。ARP君は住所に対応するビル名をこのノートにメモっているみたいですね。
おや、このノートはずいぶんと消した後がありますね?
イーサ配送君「ビル名は中に入ってる会社が変わると変わるからね。だからARP君は常に最新の、正しい対応をノートに書いているからだよ。古いのを消して、新しいのを書いてるってこと」
なるほど。では、どうやってこのノートに対応を書いているか聞いてみましょう。
ARP君「簡単、簡単。聞いて回るッス。『この住所にいる人、ビル名を教えて』って」
ふむふむ。聞いて回る、と。
ちなみに、どうやって聞いているのかというと、「教えて」っていう荷物を作って、イーサ配送君に頼んで送ってもらうみたいです。
これは市内の全ビルあてに行われます。
では、実際にどういう手順で、イーサ配送君にビル名を教えているか見てみましょう。
図3-5 ARP君のお仕事・前半(赤のボタンで再生・停止ができます。Flash Playerが必要です) |
まず、パケット君から教えてもらった住所に対して、ルート君が指示を出すわけですね。それで、次に行くべき場所が決まります。決まったらARP君の出番です。
ARP君はARP君ノートを見て、ARP君ノートに住所とビル名の対応があったら、そのままビル名をイーサ配送君に教えて、運送される。
ARP君ノートに対応がなかったら……。
図3-6 ARP君のお仕事・後半(赤のボタンで再生・停止ができます。Flash Playerが必要です) |
ARP君が送った「教えて」という内容の荷物を全ビルに送ります。送った先のビルにいるARP君は自分がその住所にいる場合、「ビル名を教える」荷物を送り返す、という仕組みですね。
教えてもらった結果を、ARP君ノートに書き写し、イーサ配送君にビル名を教える、という流れですね。
ARP君「市内配送では、この『特製ノート』がものすごく大事ッス。もしこのノートが間違っていて、正しくないビル名をイーサ配送君に教えてしまったとしたら……」
届きませんね、届け先に。
ARP君「そんなことがないように、常に正しく新しい対応であるように、ノートの内容は新しく書き直しているッス」
イーサネットでデータ伝送を行う場合、「IPアドレス」と「MACアドレス」の2つのアドレスがPDUには記述されています。イーサネットではこのうち、「MACアドレス」で送信元とあて先を指定してデータ伝送を行います。
先ほどの話から分かるように、「IPアドレス」は最終的なあて先、「MACアドレス」は次のあて先ですが、IPアドレスに対応するMACアドレスが分かりません。これを調べるのがARP(Address Resolution Protocol:アドレス解決プロトコル)の役割です。
まず、各機器はARP君ノート、つまりARPテーブル(ARPキャッシュ)と呼ばれるIPアドレスとMACアドレスの対応表を持っています。例えば、Windowsならばコマンドプロンプトで「arp ?a」で表示させることができます。
図3-7 WindowsでのARPテーブル |
「Internet Address」がIPアドレス、「Physical Address」がMACアドレス、「Type」は手動入力(Static)かARPによる解決(Dynamic)かを示しています。
MACアドレスはNICに付属するアドレスのためNICの故障や、機器にIPアドレスを付け直した場合、IPアドレスとMACアドレスの対応が変更されます。
そのため、ARPテーブルに記述されている対応は一定時間ごとにクリアされます。
ARPテーブルに対応が記述されていない場合、IPアドレスに対応するMACアドレスを調べる必要があります。これは「ARP要求(ARP Request)」と「ARP応答(ARP Reply)」と呼ばれるARPパケットをやりとりすることで行います。
図3-8 ARPパケット 種類……イーサネットを示す値を入れる プロトコル……IPを示す値を入れる MACアドレス長……6バイトなので、6を入れる 上位アドレス長……IPアドレスを使うので、IPアドレスの長さの4(バイト)を入れる 動作……「ARP要求」か「ARP応答」を識別する値を入れる 送信元MACアドレス……「ARP要求」か「ARP応答」を送信する機器のMACアドレス 送信元IPアドレス……「ARP要求」か「ARP応答」を送信する機器のIPアドレス あて先MACアドレス……「ARP要求」ならばまだ分からないのでゼロ。「ARP応答」ならば「ARP要求」を送ってきたMACアドレス あて先IPアドレス……「ARP要求」ならばMACアドレスとの対応を知りたいIPアドレス。「ARP応答」ならば「ARP要求」を送ってきたIPアドレス |
ARP要求は、LAN内全員あて(ブロードキャスト:Broadcast)で行われます。あて先のMACアドレスが「ff-ff-ff-ff-ff-ff」はこのブロードキャストを示します。ARP要求を受け取った機器は、ARPパケットに書かれているIPアドレスが自身のIPアドレスでないならば無視し、自身のIPアドレスならば次のことを行います。
- 送信元のMACアドレスとIPアドレスを、自身のARPテーブルに記述する
- ARP応答を送信元に返す
図3-9 ARP要求とARP応答 |
これにより、ARPテーブルが更新され、あて先のIPアドレスとMACアドレスの対応が分かり、フレームを送信することが可能になります。
ビントサーフ市の交通事情 | |
3-1 イーサ配送君の運送票 | |
3-2 ARP君のお仕事 | |
3-3 市内での配送手順 3-4 おさらい 〜 実際のネットワークに当てはめると |
関連記事 | |
ネットワーク・コマンド/ツール群の活用法を大紹介 連載 ネット・コマンドでトラブル解決 あなたのLANは健康ですか? 現状改善から一歩進んだ構築術まで 特集:基礎から学ぶネットワーク構築 レスポンスの悪いネットワークシステム どう検証し、解決していくか? 特集:ネットワークトラブルを解決する 運用管理に必須のツール/コマンド群 連載:24×365の運用管理 |
「Master of IP Network総合インデックス」 |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
|
|