第11回 MACアドレスを解決するARPプロトコル基礎から学ぶWindowsネットワーク(1/4 ページ)

IPパケットを送るには、相手のIPアドレスに加えMACアドレスも知る必要がある。この変換を可能にするのがARPプロトコルだ。

» 2003年05月09日 00時00分 公開
連載 基礎から学ぶWindowsネットワーク ―― Windowsネットワーク管理者への道 ―― 
Windows Server Insider

 

「連載 基礎から学ぶWindowsネットワーク ―― Windowsネットワーク管理者への道 ―― 」のインデックス

連載目次


 前回はIPパケットの構造について述べてきたが、今回からはより上位のプロトコルについて解説していくことにする。まずはARPプロトコルについて取り上げる。ARPは、TCP/IPが動作するためには(正確には、IPパケットを送受信するためには)不可欠の補助プロトコルであり、MACアドレスIPアドレスを相互に変換するための機能を持っている。また、同様にICMPプロトコル(次回解説予定)もTCP/IPが動作するためには欠かせないプロトコルである。

 ARPもICMPも、TCPUDP、IPなどが動作するための補助的なプロトコルであるが、いずれもIPプロトコルの上位に存在するものではない。どちらかというと、(OSI参照モデルでいうと)IPと同じようなところに位置する補助的なプロトコルである。そのため、パケットの構造などもやや変則的である。それを理解するために、ここでイーサネット・フレームとTCP/IPプロトコルのパケット構造についてまとめておこう(イーサネットでは「パケット」といわずに「フレーム」と呼んでいる)。ネットワーク上の通信パケットの内容をキャプチャして解析する場合など、この構造を知っていると非常に便利なので、ぜひ覚えておいていただきたい。

イーサネット・フレームとプロトコル階層

 イーサネットのフレームの構造については、別連載の「詳説 TCP/IPプロトコル第7回―3.イーサネットのフレーム・フォーマット」なども参照していただきたい。具体的には、6bytesのあて先MACアドレスに続いて、6bytesのローカル・コンピュータのMACアドレスが続き、その直後に2bytesのプロトコル・タイプのフィールドがあり、さらにその後にデータ・フィールド(最大1500bytesまで)が続く。なお、これはDIX規格(DEC-Intel-Xerox社の提案による、最初のイーサネットの規格)の場合の話である。これ以外にもIEEE802.3形式のフォーマットもあるが、一般的にはTCP/IPでは使われていないので、ここでは解説しない。

 プロトコル・タイプとは、イーサネットの上位に位置するプロトコルの種類を表す数値であり、IPプロトコルならば「0x0800」となる。ただしこれ以外に、「0x0806」のARPと、「0x8035」のRARPも使われる。このように、プロトコル構造的に見ると、IPとARPとRARPはそれぞれ独立しているといえる。

 これに対して、ICMPは、IPヘッダ中にあるプロトコル・タイプ・フィールドで区別されている。この点からすると、ICMPは、TCPやUDPと同列に見えるが、実際にはIPプロトコルの機能をサポートする、補助的なプロトコルである。


       1|2|3|4 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。