目次
ARPとは
- LAN内や無線LAN内で相手方のPCに通信しようとする時は、MACアドレスが必要ですが、
ARPは、その通信先のMACアドレスを取得します。 - ARP(アープ)は、Address Resolution Protocol(アドレス 解決 プロトコル)の略です。
ARPプロトコルが取得するMACアドレスとは
- ネットワークに接続する機器に設定されている番号です。
→先頭の6桁はベンダーIDです。OUIと呼ばれます。
→後半の6桁はベンダーが管理する番号です。
→1桁は0~9とA~Fの16文字です。2桁で1バイト(8bit)です。 - 原則として全世界で一意に割り当てられる番号です。
→MACアドレスが変更可能なネットワーク機器も販売されています。 - MACアドレスは、Media Access Control addressの略です。
ARPでMACアドレスを取得する流れ
192.168.0.5のパソコンが、192.168.0.7へ初めて通信する場合です。
1.192.168.0.5のパソコンがARPで「IPアドレスが192.168.0.7のMACアドレスを教えて下さい。」と投げます。
2.L2スイッチ(スイッチングハブ)は、ARPを受け取るとポートに繋がっている他の全てのパソコン転送します。
ブロードキャストといいます。
3.該当の192.168.0.7のパソコンがARPで「私のMACアドレスはXXXです。」と返します。
4.取得したMACアドレスはIPアドレスとセットでARPテーブルに保存され、以降はARPテーブルを参照して通信します。
ARPテーブルには保存期間があります。保存期間が過ぎると再度取得します。
ARPテーブルを確認する
ARPテーブルとは、同一ネットワーク内で通信するために必要な 「IPv4アドレス と MACアドレス」の対応表 です。L3(IP)をL2(MAC)に引き当てるときに参照されます。
以下は、ARPテーブルを確認するサンプルです。
Windows10
arp -a |
Windows10では、arp -aコマンドを入力するとARPテーブルが表示されます。
>arp -a
インターフェイス: 192.168.46.1 --- 0x10
インターネット アドレス 物理アドレス 種類
192.168.46.130 00-0c-29-ae-2e-27 動的
192.168.46.254 00-50-56-ff-ae-11 動的
4,5行目は、左側がIPアドレスで、右側がMACアドレスです。
MACアドレスの左6桁の数値はベンダーIDです。00:50:56と00-0c-29はVMwareを表します。
CentOS7
ip n |
CentOS7では、ip nコマンドを入力するとARPテーブルが表示されます。
[test@localhost ~]$ ip n
192.168.46.2 dev ens33 lladdr 00:50:56:f3:e4:9c STALE
192.168.46.254 dev ens33 lladdr 00:50:56:ff:ae:11 STALE
192.168.46.1 dev ens33 lladdr 00:50:56:c0:00:08 DELAY
2~4行目は、左側がIPアドレスで、右側がMACアドレスです。
MACアドレスの左6桁の数値はベンダーIDです。00:50:56はVMwareを表します。
セグメント(ネットワーク)が異なる場合
セグメント(ネットワーク)が異なる場合は、ブロードキャストしても相手方のパソコンには届きません。
そのため、ARPをデフォルトゲートウェイ(ルーター)に送り、返してもらいます。
別サブネット宛は デフォルトゲートウェイのMAC を引き当てます。
関連の記事
SMTPとPOPとIMAPの違い(メールのプロトコル)
NATとNAPTとポートフォワードの違い
DNSの仕組みの概要(ドメイン・ネーム・システム)
L2スイッチとL3スイッチとルーターの違い
インターネットVPNとIP-VPNと広域イーサネットの違い
プロキシサーバとリバースプロキシサーバの違い
「HTTPリクエスト」と「HTTPレスポンス」