ARPプロトコル(MACアドレスを取得する)

ネットワークのARPプロトコルについてです。ARPプロトコルは、MACアドレスを取得します。

目次

説明 ARP (アープ)とは
  MACアドレスとは
実例 ARPでMACアドレスを取得する流れ
  ARPテーブルを確認する

ARP (アープ)とは

  • ARPは、Address Resolution Protocol(アドレス 解決 プロトコル)の略です。
  • LAN内や無線LAN内で相手方のPCに通信しようとする時は、MACアドレスが必要です。
    →ARPは、その通信先のMACアドレスを取得します。

MACアドレスとは

  • ネットワークに接続する機器に設定されている番号です。
    →先頭の6桁はベンダーIDです。OUIと呼ばれます。
    →後半の6桁はベンダーが管理する番号です。
    →1桁は0~9とA~Fの16文字です。2桁で1バイト(8bit)です。
  • 原則として全世界で一意に割り当てられる番号です。
    →MACアドレスが変更可能なネットワーク機器も販売されています。
  • MACアドレスは、Media Access Control addressの略です。
  • 以下は、wikiのMACアドレスのページです。
    https://ja.wikipedia.org/wiki/MAC%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9

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テーブルを確認するサンプルです。

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をデフォルトゲートウェイ(ルーター)に送り、返してもらいます。

関連の記事

SMTPとPOPとIMAPの違い(メールのプロトコル)
ネットワークのアドレス変換 (NATとNAPTの違い)
DNSの仕組みの概要
L2スイッチとL3スイッチとルーターの違い
VPNの概要(インターネットVPNとIP-VPNの違い)
プロキシサーバとリバースプロキシサーバの違い
「HTTPリクエスト」と「HTTPレスポンス」

△上に戻る