• ベストアンサー

ARP は L2 と L3 どちらのプロトコル?

プロトコル「ARP」の位置づけについてお尋ねいたします。 ベンダー資格である、Cisco CCNA に対応した問題(集)がいくつかの Webサイトで提供されています。そのうちの1つで、「ARP は OSIモデルのどのレイヤーで動作するプロトコルか?」といった問題がありました。解答は「(正しいかどうかはともかくとして)データリンク層」でした。 ネットワーク関連の Webサイトや書籍を見ますと、ARP は L2 のプロトコルと位置づける場合と L3 のプロトコルに位置づける場合があり、著者により見解はまちまちです。私が見た限り、多くは L3 相当のプロトコルと定義しているようです。 個人的には、IP アドレスと MAC の橋渡しということで、L2.5 相当のプロトコルと勝手に解釈してますが、敢えてどちらか一方に属させよと問われたら...。 皆様のご見解をお聞かせ頂けますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • pcerise
  • ベストアンサー率66% (2/3)
回答No.2

ARPはL3による通信のインフラ(?)を提供するわけなので、L2のプロトコルと解釈しますが、いかがでしょうか。 OSI参照モデルのそもそもの精神とはちょっと異なるかもしれませんが、個人的には物理層でつなぐからL2プロトコルで通信でき、ARPでIPとMACアドレスが対応するのでL3通信が可能になり、IPでつながっているからTCP/UDPの通信が可能になる、というふうに階層間の関係を理解しています。

lunarosa
質問者

お礼

ご意見、参考になります。まずはありがとうございました。

lunarosa
質問者

補足

ご回答ありがとうございます。 これまで私が混乱している原因の1つに次のことがあります。 フレームヘッダの TYPE フィールドに上位プロトコルを示す 0x0806 が入っています。そして、フレームのペイロード中に、IP データグラムと同じ位置づけで ARP パケットが入ってくる...ということは、フレームから見たら形なりとも一応は、ARP は IP層 のプロトコルという扱いなのかなと、...とはいうももの、ARP フォーマットを見るとネットワーク層のプロトコルを示す TYPE フィールドには IP を示す 0x0800 が入ってくる。と、そんなこんなで、えぇい、もう L2.5 でいいや。と自分なりの勝手(中途半端)な解釈なのでした。 なので、こんな認識でした。 ARPは論理的にはIP層のプロトコルとはいうものの、上位からのデータは受けずIPとは独立している。ARPパケットはフレームのペイロードに組み込まれるが、Ethernet上をブロードキャストするため、フレームヘッダを扱う以上はデータリンク層のプロトコルである。 ですが、シンプルに pcerise さんの仰るように解釈すると L2 で筋が通りますね。

その他の回答 (1)

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

ルータを超えて通信はできないという意味でデータリンク層だと思います。 あくまでも「IPアドレスに関する通信をしている」というだけで、ブロードキャストで通信する形態(つまりEthernet)からもデータリンク層では。 http://www.ese.yamanashi.ac.jp/~itoyo/lecture/network/network06/index06.htm#no3

lunarosa
質問者

お礼

ご意見、参考になります。まずはありがとうございました。

lunarosa
質問者

補足

ご回答ありがとうございます。 なるほど、ブロードキャストで通信, ルータを超えられない、この観点から導けば、これはまさしく L2 と言えますね。 ところで、ご提示くださいましたURLを見ました。参考になります。でも、「第6章ネットワーク層プロトコル」の章に記されてるようですね。ということは、この作者はL3のプロトコルという認識でしょうか。

関連するQ&A