はじめに
ネットワークを学ぶ上で避けて通れないのが「ARP(Address Resolution Protocol)」です。EC2やクラウド環境でも、内部でIPアドレスとMACアドレスを解決するこの仕組みは密かに動いています。
個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
ここでは、ARPの基本動作を自分の言葉で整理します。
ARPとは?
ARP(Address Resolution Protocol)は、IPアドレスから対応するMACアドレスを取得するためのプロトコルです。
- 層:OSI参照モデルの第3層(ネットワーク層)と第2層(データリンク層)を橋渡しする役割
- 主にLAN内の通信に使われる
参考文献
仕組みの流れ
1. ARPリクエスト
- 自分が持っているのは「通信相手のIPアドレス」のみ
- そのIPに対応するMACアドレスが不明なので、LAN内にブロードキャスト
例:
Who has 192.168.0.10? Tell 192.168.0.1
2. ARPリプライ
- 該当するIPアドレスを持っている機器が、MACアドレスを返答する
例:
192.168.0.10 is at aa:bb:cc:dd:ee:ff
3. ARPキャッシュ
- 一度解決したIPとMACの対応は一時的にキャッシュされる(高速化のため)
コマンド例(Linux):
$ arp -a
トラブルシューティングでの活用
- ネットワーク疎通ができないとき、ARPテーブルにエントリがあるか確認することで原因の切り分けが可能
- IP競合などもARPで見抜ける場合がある
まとめ
ARPは、普段は意識しなくてもネットワーク内部で常に動いている大事なプロトコルです。
クラウド環境でも抽象化の下で活躍しているので、基本を押さえておくとトラブルシュートの際に役立ちます。
今後は、ARP spoofing 対策などセキュリティ面にも触れていきたいと思います!