こんにちは、インフラエンジニアのryuです。
今回は、ARPとは何かを分かりやすく解説したいと思います。ARPとはAddress Resolution Protocolの略で、MACアドレスとIPアドレスを紐づけるものです。PC同士が通信するために重要な役割をしています。ネットワーク初心者の方に向けて図を用いて分かりやすく解説します。
目次
ARP(アープ)とは?
ARPって何ですか?
MACアドレスとIPアドレスを紐づけるものです!
MACアドレス?IPアドレス?
なんで紐づけるの?
今回の記事では、ARP(アープ)について解説します。ARPとはMACアドレスとIPアドレスを紐づける仕組みのことです。
そもそも「MACアドレス・IPアドレスとは何なのか?」や「なぜARPが必要なのか」を1から解説していきます。
ARPとはPC同士が通信するために必要な仕組み
では、APRの概要について説明します。
ARPとはMACアドレスとIPアドレスを紐づける仕組みのことです。PC同士が通信するために必要な仕組みです。
では、具体的にどのようなことをしているのでしょうか?1つずつ解説します。
そもそもMACアドレスとIPアドレスが何なのか良く分からない・・・
まず、前提知識として、こちらの内容を理解しましょう。
- MACアドレス・・・PC唯一に割り当てられた固有のIPアドレス
- IPアドレス・・・PCの場所を表すIPアドレス
MACアドレスは、PC唯一に割り当てられた固有のIPアドレスです。このアドレスは工場出荷時に設定され、変更することはできません。
IPアドレスは、PCの場所を表すIPアドレスです。PCを移動させるとIPアドレスは変わります。例えば、自宅で使用しているときとスタバで使用しているときではIPアドレスは変わります。
つまりこの2つのIPアドレスを紐づけるということは、このPC(MACアドレス)はここの場所(IPアドレス)にいるよ!ということを表しているんです。
このようなイメージです。
IPアドレスとMACアドレスについて詳しく知りたい方はこちら
なぜARPが必要なのか?
ARPでMACアドレスとIPアドレスの紐づけをしていることは分かりました!
では、なぜARPを使って紐づける必要があるのでしょうか?
そもそもMACアドレスとIPアドレスはOSI参照モデルの階層が違います。OSI参照モデルとは、通信の仕組み(プロトコル)を階層化したものです。
- IPアドレス→第3層ネットワーク層
- MACアドレス→第2層データリンク層
以下の図のようになります。
つまり、この階層が違うMACアドレスとIPアドレスは、全然違う仕組みということです。だからARPを使用して紐づける必要があるのです。
OSI参照モデルについては、こちらの記事で詳しく解説しています。
ARPコマンドを使って確認してみよう
ここからは自分のPCでARPがどのような状況になっているのか、確認してみましょう!
では、ここからは実践編です。ARPコマンドを使用して本当にMACアドレスとIPアドレスが紐づいているのか確認してみましょう。
arpコマンドでarpテーブルを見る
それでは、コマンドを入力するためにコマンドプロンプトを起動しましょう。スタート画面で”cmd”と検索すると表示されます。
コマンドプロンプトを起動したら、下記のコマンドを入力します。
arp -a
そうすると、このようにARPテーブルが表示されます。ARPテーブルとは、MACアドレスとIPアドレスを紐づけた表になります。
「192.168~」のものが同一ネットワークのARP情報です。同じネットワーク内にあるPCのMACアドレスが表示されます。
「224.~」や「255.~」のものはマルチキャストアドレスとブロードキャストアドレスのものです。これらは複数のPCに同時に通信するときに使用します。
このように、arpコマンドを使用すると、どのようなPCが同一ネットワーク内にいるのか確認できます。
arpコマンドのオプション
参考程度に、arpコマンドのオプションを紹介します。
- -a 現在登録しているARP情報を表示
- -v 無効な情報を含め全て表示
- -s [mac] [ip] ARPテーブルを自分で追加する
arpコマンドに登録されていないものは通信できないので、通信エラーが起きたときにarpテーブルを確認すると、原因がすぐに把握できます。
ネットワークエンジニアになりたい方は覚えておきましょう。
ARPとは?まとめ
今回の記事では、ARPについて解説しました。まとめると以下のようになります。
- ARPとはMACアドレスとIPアドレスを紐づける仕組みのこと。
- arpコマンドで確認することが可能
以上でARPについての解説を終わります。当ブログでは、このようなネットワークやサーバーに関する知識を発信してます。興味のある方はこちらをご覧ください。
ネットワークについて、さらに詳しく知りたい方はこちら↓