高校情報Ⅰ・Ⅱ動画教科書/情報処理技術者試験対策

高校情報Ⅰ・Ⅱ動画教科書/情報処理技術者試験対策 勉強方法などを紹介 これから受験するにあたっての勉強工程を紹介

MACアドレスとARPについて【情報処理安全確保支援士、ネットワークスペシャリスト】

MACアドレスARPについて説明していきます。

10分たらずで
基本情報技術者レベルから安全確保支援士・ネットワークスペシャリストレベルまで一気に習得していきましょう。

MACアドレスとは、

パソコンやルータなどのネットワーク機器などについている固有の識別番号になります。

画像に alt 属性が指定されていません。ファイル名: image-45.png

表記方法はFF:AB:CD:EF:12:34
のように0~9 A-Fの16進数であらわされます。
2進数になおすと 48bit つまり0と1の48桁になります。

ここでは前半24bitはOUIいう名前の、ベンダー番号が割り振られます。メーカー固有の番号になります。
後半がそのメーカが付けるシリアル番号になります。

例えばAPPLEのOUIは00-1B-63になります。

だれがメーカごとの取りまとめをしているかというと
IEEEというアメリカに本部を置く技術標準化機関が管理しています。

基本的にこの番号は他の機器と重複しないように世界で一つになるように付けています。

自分のパソコンに割り振られたMACアドレスを見るには
windowsの場合は、ipconfig /allとコマンドプロンプトで入力したら見れます

ただ、パソコンという機器に一つということではなく
例えば、無線LANと有線LAN二つのネットワークインターフェースを持っている場合は2つ出てきます。

ARP,RARP

他の動画で説明しましたが、LAN内の機器とデータをやり取りするにはイーサネットフレームが使われます。
送信元、宛先としてMACアドレスを使います。

TCP/IPをコンピュータの通信は、相手のIPアドレスMACアドレスの2つのアドレスが分かって、はじめて送りたいデータの送受信が行えるようになります。

相手のIPアドレスからMACアドレスを問い合わせるプロトコルARP
逆にMACアドレスからIPアドレスを問い合わせるプロトコルRARPといいます。

ARPについて詳しく説明していきます。

パソコンAからCにデータを送ることを目的とします。

パソコンAはパソコンCのIPアドレスが分かっている状態ですが
相手にイーサネットフレームを送るためにはMACアドレスが必要なので
ARPでパソコンCのMACアドレスを問い合わせます。

ただ、この時相手がどこにいるか分からないので、同じネットワーク内全ての端末に対して問い合わせを行います。

この問い合わせを行うとき用いられるのが行うのが他の動画で説明した
イーサネットフレームになります。

イーサネットフレーム

でも、イーサネットフレームにはIPアドレスを設定する場所ってありませんでしたよね?
どこに相手のIPアドレスを入れるかというと、データ部を上手く使うのです。

相手のMACアドレスが分からないので
全宛先を意味するオールFのMACアドレスを入れます。
このオールFのMACアドレスをブロードキャストアドレスと言います。

ちなみにマックではなくバーガーキングでオールヘビーというと
なんと無料で野菜・ソースが2倍になります。
って全然関係ないですね

送信元MACアドレスは自分自身のMACアドレス

次のタイプに ARPを使いますよーという意味の
0x0806 をいれます。

データ部に
再度送信元MACアドレスと送信元IPアドレスを入れます。
ターゲットのMACアドレスは不明なのでオール0とします
次に知りたい相手のIPアドレスをいれます。ここではパソコンCのIPアドレスになります。

準備ができたのでこのフレームをパソコンAから発射します!

この相手にMACアドレスを問い合わせる行為をARPリクエストといいます。

ARPリクエストのフレームはその同一ネットワーク内の端末すべてに届きます。
ただ、他の動画で説明していますが、VLANでグループ分けされていたら異なるVLAN番号のものには届きません。

うけとった端末はデータ部にあるIPアドレスが自分のIPアドレスと一致するかをチェックします。
一致しなければ、フレームを破棄して何も応答しません。

一致すれば、ARPの応答用にフレームを作ります。

今回はパソコンCからパソコンAに返答するので送信元と宛先が逆になるイメージです。

宛先MACアドレス
パソコンAのMACアドレス
送信元MACアドレスにパソコンのMACアドレス
タイプは変わらずARPを意味する0x0806

そしてデータ部の
送信元MACアドレス
パソコンCのMACアドレス

送信元IPアドレス
パソコンCのIPアドレス

ターゲットのMACアドレス
パソコンAのMACアドレス

ターゲットのIPアドレス
パソコンAのIPアドレスを入れます。

行きは全端末を相手にする「ブロードキャスト」でしたが、帰りは送信元がわかっているので
1つの端末を意味する「ユニキャスト」として返信します。

この、MACアドレスの返事を返す行為を「ARPリプライ」といいます。

同一ネットワーク内の話をしましたが
IPアドレスが例えばインターネット上に存在する
突破口ドットコムのIPアドレスだった場合は何のMACアドレスを返却するでしょうか?

答えは、デフォルトゲートウェイとして設定されているルータのMACアドレスが返却されます。

MACアドレスはレイヤ2の話なので外部ネットワークと通信するのはレイヤー3のネットワーク層になります。
なので、指定されたIPアドレスが外部ネットワークの場合はレイヤ2と3の分かれ目に存在するルータのMACアドレスが返却されます。

ARPテーブル

 

いちどMACアドレスを問い合わせてMACアドレスが分かったのに
再度通信したい場合、もう一度ARPを送るのは非効率ですよね?

じつはARPで得られたMACアドレスIPアドレスとの紐づけを端末側で一定時間保持しているのです。
これをARPテーブルといいます。

Windowsパソコンではarp -a コマンドでARPテーブルを見ることができます。

一定時間といいましたが、メーカによりますが数分で消えてしまいます。

機器の入れ替えでIPアドレスに対するMACアドレスが変わった場合
通信ができなくなってしまうのを避けるためでもあります。

f:id:riki12342000:20200619225536j:plain

GARP

APR関連でネットワークスペシャリストでよく出てくるのが
GARP になります。

 

ARPリクエストに問い合わせを行う端末自身のIPアドレスを入れるのです。

私の家の住所はどこ?と他人に聴いている感じで
普通に考えると意味のない行為ですよね?

普通に考えると相手からが返事がないのですが
もし同じIPアドレスが他人が使っていた場合返事があります。

このGARPの目的は
IPアドレスが重複していないかどうかを検出することにあります。

また、
同一ネットワーク上の機器のARPキャッシュを更新させる目的もあります。

例えばルーター機器の冗長技術であるVRRP
2台のルータに仮想的に同一IPを割り振ります。

IPアドレスは同一の192.168.1.1で
ルータAにMACアドレスA ルータBにMACアドレスBとします。

通常時はルータAと通信してルータBは待機系とします。

なので通信送信もとからみたら
ARPテーブルの紐づけは
IPアドレス192.168.1.1に対してMACアドレスAになります。
ただ、ルータAが故障した場合、ARPテーブルが邪魔してすぐに切り替えられませんよね。

ルータBがGARPで自身のMACアドレスを通知することで
IPアドレス192.168.1.1に対してMACアドレスB 
と送信元端末のARPテーブルが書き換えられ通信機器の切り替えがうまくいくということになります。

toppakou.com