ネットワークエンジニア を目指して

ようこそ「ネットワークエンジニアを目指して」へ!!
「ネットワークトラブルに恐れることなく立ち向かえるネットワークエンジニア」へと導くことを信条に、ネットワーク技術の解説とネットワークに関する情報を幅広く紹介します!

ホーム > TCP/IP技術 > ARPヘッダ

ARPヘッダ

Bookmark this on Hatena Bookmark   
▼ ネットワークエンジニアにおすすめのサイトはこちら ▼

ARPヘッダ

続いてARPヘッダについて見ていこう。

ARPヘッダは以下のように構成されています。

 

ARPヘッダ
※クリックすると大きな画像で見ることができます。

実際にネットワーク上に流れているARPパケットを
キャプチャしたデータは以下です。

 

ARPヘッダ

○ハードウェアタイプ:2バイト
ネットワークのタイプを定義しています。
Ethernetの場合は「0001」がセットされます。
その他の対応についてはIANAのサイトに掲載されていますので、
興味があれば覗いてみてください。
http://www.iana.org/assignments/arp-parameters

○プロトコルタイプ:2バイト
プロトコルのタイプを定義しています。
ここで言っているプロトコルタイプは、Ethernetヘッダで
使用されているプロトコル対応と同一です。
そのため、IPを表す「0800」がセットされます。

○ハードウェア長:1バイト
ハードウエアアドレスの長さを定義しています。
ハードウェアアドレスとはつまりMACアドレスのことで、
MACアドレスは6バイトで構成されていますので、
ここには「6」がセットされます。

○プロトコル長:1バイト
プロトコルアドレスの長さを定義しています。
ARPは当然、IPアドレスを使用します。
IPアドレスは32ビット = 4バイトですので、
ここには「4」がセットされます。

○オペレーション:2バイト
このパケットが「ARPリクエスト」なのか、
「ARPリプライ」なのかを識別するためのフラグです。
ARPリクエストだと「1」が、ARPリプライだと「2」が
セットされます。 

○送信元ハードウェアアドレス:可変長
送信元のMACアドレスがセットされます。
ちなみにMACアドレスは6バイトの固定にもかかわらず、
このフィールドは可変長となっています。
これはMACアドレス以外のアドレスにも対応出来るように
あらかじめ可変長にしているようです。

○送信元プロトコルアドレス:可変長
送信元のIPアドレスがセットされます。

○宛先ハードウェアアドレス(可変長)
宛先のMACアドレスがセットされます。
「ARPリクエスト」の場合はブロードキャストで送信されますので、
「FF:FF:FF:FF:FF:FF」がセットされると思いきや
実はそうでもないようです。

色々調べてみるとどうやらOS等に依存して、「FF:FF:FF:FF:FF:FF」で
あったり「00:00:00:00:00:00」がセットされていたりします。

この理由は、Ethernetヘッダですでにブロードキャストアドレス
「FF:FF:FF:FF:FF:FF」が宛先アドレスとしてセットされているため、
わざわざARPヘッダに指定しなくても良いという考え方のようで、
特に明確な取り決めは無いようです。

○宛先プロトコルアドレス:可変長
宛先のIPアドレスがセットされます。
「ARPリクエスト」の場合は、ここにセットされたIPアドレスに対する
MACアドレスを調べます。

ちなみにARPヘッダのサイズを合計すると28バイトになります。
しかしEthernetのデータサイズは46~1500バイトという決まりが
ありますので、このままでは送ることはできません。

そのためARPヘッダに意味のないデータを付加して強制的に
46バイトにして送信しています。
この意味のないデータのことを「パディングデータ」と呼んでいます。

おすすめ記事

おすすめ書籍紹介

マスタリングTCP/IP 応用編
入門編を卒業したらこちら。
応用編も入門編と同様に豊富な図を使用し、TCP/IPに関するさらに詳細な解説を記している。
特にパッケットの構造はかなり詳細に解説しており、初心者にはすこしつらいかもしれないが非常に読みやすいのでぜひ読んでみてほしい。 arpについても解説しています。

詳解TCP/IP〈Vol.1〉プロトコル
これも 必読中の必読書。
TCP/IPアーキテクチャを、実際にネットワークを組んで通信の動きを観察するという方法で書かれている。
本書に構成されているネットワークは単純なので、実際に同じ構成を組んで実機をいじりながら読み進めると非常に効果的に学ぶことが出来ると思います。
ARPについても解説していますよ。

関連記事

ARPとは
ARPに関する解説

ARPの動作原理
ARPの動作原理について

ARPヘッダ
ARPヘッダについて

ARPヘッダ
ARPコマンドについて

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: