記憶術で覚えるTCP/IP③インターネット層のARP

今回はインターネット層のARPです。今回は少し座学っぽくなっています。

試験に合格する上でTCP/IPで押さえておくべきキーワードを記憶術を使ったりして覚えやすいようにしていきます。ここでの記憶術と言っているのは、イメージ図や語呂合わせなどを使います。少しでもあなたが記憶に残るように書いていきます。

TCP/IPの項目でICND1の試験に合格する上で覚える必要がある項目を列挙します

覚える項目は以下の通りです。

ARPを学習する前に

カプセル化

ARPを学習する前にカプセル化の概念を覚えておく必要があります。

カプセル化は、上位層プロトコルの先頭にヘッダと呼ばれるものを付け加えることです。このヘッダには通信するために必要な情報が埋め込まれています。

トランスポート層だったら、データのTCP(もしくはUDP)のヘッダを付け加えます。インターネット層だったらIP、リンク層だったらEtherヘッダを付加して、お尻にFCSというトレーラを付加します。

 

通信するために必要なアドレス情報はARPが解決してくれる

インターネット層とリンク層にフォーカスします。

 

コンピュータ間で通信するためには、相手のIPアドレス相手のMACアドレス情報が必要になります。MACアドレスは、ネットワークインタフェースカードに書き込まれた48ビットのアドレスです。

なるほど、通信するには相手のIPアドレスとMACアドレスがわかればいいんだな。じゃあ、相手のIPアドレスとMACアドレスを調べて…..。

なんてことはしないですよね。めんどくさい。。

例えば、あるホストと通信したいとします。まずはこのホストのIPアドレスを知る必要があります。これは資料を見て調べる、機器に入ってIPアドレスを調べてみる、といったことをする必要があります。

余談ですがインターネットをする場合は、DNSサーバがいるのでIPアドレスを知らなくてもブラウザに表示されているリンクをクリックしていけば、IPアドレスをあなた自身が知らなくても通信できます。DNSサーバがIPアドレスをあなたの端末に教えてくれてますからね。

さて、話は戻して、次にMACアドレスはどうやって調べるか。

答えは、ARPを使います。ARPは、IPアドレスから通信したい相手のMACアドレスを調べてくれるプロトコルです。

英語にしてみるとイメージできます。ARPは、Address Resolution Protocol。アドレス解決プロトコルです。そのまんま。

ARPを見てこの英語がすっと出てくれば、難なく覚えられるでしょう。

もし、覚えにくいって方は、下記で覚えてみてください。

ARPの Aを見て、アドレスという文字を思い出す。次に、IPアドレスから通信したい相手のMACアドレスを解決してくれるという意味を思い出してください。

あと、ARPはインターネット層です。MACアドレスを解決してくれますが、インターネット層のプロトコルです。

ARPの流れ

少し流れを見ていきましょう。

ホストAは、192.168.0.101のIPアドレスを持ったホストBのMACアドレスを知るためにARPリクエストを送信します。このARPリクエストは、ブロードキャストで送信します。宛先MACアドレス FF:FF:FF:FF:FF:FFですね。同一ブロードキャストドメインにいる全ホストにARPリクエストが届きます。

ホストBは、192.168.0.101なのでこのARPリクエストに応答します。ホストCは、IPアドレスが異なるので無視します。

 

ホストBは、ホストAにARPリプライをします。この時は、ブロードキャストではなくてユニキャストで送信します。ユニキャストは1対1の通信です。ホストBは、ホストAのIPアドレス、MACアドレスをわかってますからね。ARPリクエストを受け取った時にホストAの情報はわかるわけです。宛先IPアドレス 192.168.0.100でホストBは、ARPリプライをします。

ARPリプライを受け取ったホストAは、ARPテーブルを更新します。ARPテーブルは、IPアドレスとMACアドレスの紐付けした対応表です。ARPテーブルがあれば、通信するたびにARPリクエストをしなくてもいいわけです。

異なるブロードキャストドメインの場合のARP

ARPはブロードキャストで送信します。ブロードキャストということは、異なるブロードキャストには送信しません。つまりルータのようなブロードキャストドメインを分割するような装置が間に挟まっていると、送信できないわけです。

おいおい、さっき通信したい場合は、相手のIPアドレスとMACアドレスが必要って言ったじゃん。

はい、確かにそうです。必要です。通信するにはIPアドレスとMACアドレスが必要です。じゃあどうするか。

下記の図を見てみてください。そういう場合は、ルータのMACアドレスで ARPテーブルを更新するのです!!

ホストAは、ホストBと通信する場合、ARPリクエストをブロードキャストで送信します。でもホストBの前にルータが立ちふさがっているので、ARPはルータを超えていきません。

なので、ホストAがゲートウェイになっているルータのMACアドレスをARPで学習をします。ホストBと通信する場合は、宛先IPアドレス192.168.1.100(ホストB)、宛先MACアドレス 00:00:00:00:00:10(ルータ)で通信をします。

まとめ

今回は、記憶術というよりも座学っぽくなりました。このARPの動作は、試験はもちろん実務でも本当に本当に大切です。必ずやものにしてください!