PR

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アドレスの情報を取得するためのプロトコルです。

ARP(Address Resolution Protocol)は「アープ」と読みます。

プロトコル

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

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

プロトコルとは

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

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

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

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

ARPとは IT

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

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

ARPとは IT

言い換えれば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要求

ARPリプライ(ARP応答)

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

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

ARPリプライ,ARP応答

ARPリプライを受け取った要求元のコンピュータは、IPアドレス「192.168.100.1」のコンピュータのMACアドレスを知ることが可能になる、という仕組みです。

ただし、このような処理をデータ転送のたびに行っていたのでは動作が非常に遅くなります。そこで、ARPではARPキャッシュという仕組みを備えています。

最後にARPキャッシュについて解説します。

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

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

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

キャッシュとは、メモリなどに一時的に記憶しておくということ。人間にとっての「メモ」みたいなものだと考えてOKです。

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アドレスの対応表が変わる可能性があり、永遠に記憶してしまうといつかバグが発生してしまうためです。

ARP(Address Resolution Protocol)のまとめ
  • ARPはIPアドレスからMACアドレスの情報を取得するためのプロトコル
  • MACアドレスを教えて!という要求を出すARPリクエストとそれに対する応答のARPリプライの2つのパケットを使用しMACアドレスを取得する
  • ARPによって取得したMACアドレスは数分間キャッシュされる

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

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

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

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

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

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

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

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

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

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

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
IT-SkillsNetwork
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました