ARPとは?IT初心者向けに分かりやすく3分で解説【ネットワーク】

IT-Skills

ARP (Address Resolution Protocol) は、IPアドレスからMACアドレスの情報を取得するためのプロトコルです。

このページでは、ネットワーク初心者向けにARPって何?何のために存在するの?ARPがないとどうなる?ARPの具体的な仕組みは?という疑問に分かりやすくお答えします。

IPアドレスとMACアドレスって何だっけ・・・?IPアドレスとMACアドレスの違いは・・・?という方もご安心ください。1つ1つ丁寧に解説していきます。

このページで学べる内容
  • ARPとは?
  • なぜARPが必要になるのか?
    • IPアドレスとMACアドレスの役割
  • ARPリクエスト / ARPリプライ

ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。

スポンサーリンク

ARPとは?(Address Resolution Protocol)

ARPとは、 IPアドレスからMACアドレスの情報を取得するためのプロトコルです。

プロトコル

プロトコルとはコンピュータとコンピュータがネットワークを通して通信する際に決められた約束事・決まりのこと。

普段の日常会話でも事前にプロトコルが決まっているから会話が成り立っていると言えます。ネットワークの世界でも同じで、異なるコンピュータ同士が適切に通信を行うためにはプロトコルが必要になります。

プロトコルとは

関連記事【ネットワーク】プロトコルとは何か?IT初心者にも分かりやすく3分で解説

なぜARPが必要になるのか?

なぜARP(=IPアドレスからMACアドレスを取得すること)が必要になるのでしょうか。ここで、コンピュータ同士が通信する際の仕組みをおさらいしていきます。

まず、インターネット上で特定のコンピュータにデータを届けるにはIPアドレスが必要になります。IPアドレスはインターネット上における「住所」のような役割を果たします。

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

ですが、IPアドレスだけでは目的とするコンピュータにデータを送り届けることはできません。

IPアドレスはインターネット上のどのコンピュータと通信するのか?を規定するものの、LANで直接接続されているコンピュータとの通信については規定していません。

言い換えればIPアドレスはOSI参照モデルの第3層:ネットワーク層での規定であって、第2層:データリンク層における規定ではない―。つまりデータリンクにおける通信では、MACアドレスが分からない場合は通信できないということです。

このような場合(=宛先IPアドレスは分かるがMACアドレスが分からない場合)に登場するのが、 ARP (Address Resolution Protocol) です。

ARPが必要になる理由
  • IPアドレスが分かってもMACアドレスが分からないと通信できないため
    データリンクにおける通信ではIPアドレスではなく、MACアドレスをもとに通信を行うため

ARP (Address Resolution Protocol) の仕組み

ARPの仕組みは非常に簡単。MACアドレスを教えて!という要求を出すARPリクエストとそれへの応答のARPリプライの2つのパケットを使用する仕組みです。

ARPリクエスト(ARP要求)

ARPでは、まずローカルネットワーク内(データリンク内)にARPリクエストをブロードキャストします。

ARPリクエスト,ARP要求

ARPリクエストは全てのコンピュータに配信されますが、このとき自分のIPアドレスと一致しない要求が来た場合は無視します。

ARPリプライ(ARP応答)

ARPリクエストの内容が自分のIPアドレスと一致する場合は要求元のコンピュータにARPリプライを返します。

ARPリプライ,ARP応答

これでIPアドレス「192.168.100.1」のコンピュータのMACアドレスを知ることが可能になります。

ARPキャッシュ(ARPテーブル)

通常、パケット通信では一度送った相手のコンピュータにはその後も続けて何度かパケットを送ることになります。その都度、ARPを利用してIPアドレスからMACアドレスを取得するのは効率的ではありません。

そのため、ARPによって取得したMACアドレスは数分間キャッシュされる仕組みになっています。こうすることで通信量を削減しパフォーマンスを改善しています。

ARPテーブル

IPアドレスとMACアドレスの対応関係を記憶するテーブルをARPテーブルと呼びます。

コマンドプロンプトで「arp -a」と打つことで今自分のコンピュータに記憶されているIPアドレスとMACアドレスの対応表を確認することが可能です。

  インターネット アドレス 物理アドレス           種類
  192.168.0.1           99-99-77-66-55-44     動的
  192.168.0.2           fF-AA-aa-aa-bb-dd     動的
  192.168.0.3           12-34-56-78-91-00     動的
  255.255.255.255       ff-ff-ff-ff-ff-ff     静的

ARPテーブルはあくまでも一時的なデータベースであるため一定期間がすぎると内容は削除されます。IPアドレスは動的に設定可能なので、IPアドレスとMACアドレスの対応表が変わる可能性があり、永遠に記憶してしまうといつかバグが発生してしまうためです。

ネットワークエンジニアを目指したい方は

ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!

さくっと手軽に読める内容ではないのですが、ネットワークエンジニアを目指すのであれば理解できないと厳しい参考書の1つ。

ネットワークエンジニアでなくても、インフラ系の知識を持っているエンジニアの市場価値は年々高まっています!

blank
インターネットのプロトコルTCP/IP入門書の決定版!

ITを1から学びなおしたい方は

システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。

正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。

システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。

無料で読めるようにしてあります。累計12万人に参考にしていただきました!

タイトルとURLをコピーしました