本編 Routing System
Ethernet
Ethernetによるネットワーク接続の基本
イーサンネットにコンピュータを接続するには同軸ケーブルにトランシーバを、コンピュータのI/Oバスにはネットワークインタフェースを取り付ける。これらはトランシーバケーブルによって接続される。同軸ケーブル中のアナログ信号は、トランシーバによってディジタル信号に変換され、ネットワークインタフェースへと伝わる。逆に、コンピュータがイーサネットへパケットを伝達するとき、ネットワークインタフェースで作成されたディジタル信号はトランシーバによってアナログ信号に変換され、同軸ケーブルに送出される。

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
送信が利用されていないことを確認できたら、信号を送信する。ケーブルの監視、待機、信号の送信は、それぞれのネットワークインタフェースが独立して行われるため、複数のインターフェースが同時に信号の送信を開始してしまうことがある。したがって、信号を送信したネットワークインターフェースは、同軸ケーブル上で信号の衝突が発生していないか監視する。衝突が発生した場合、ジャム信号を同軸ケーブルに送信することで、すべてのネットワークインタフェースに受信した信号を破棄させることができる。ネットワークインタフェースは乱数を用いた待機時間だけ経過してから再送信する。
このネットワークインタフェースを宛先とする信号 ブロードキャスト このネットワークインタフェースが宛先のひとつであるマルチキャスト
Ethernet Address
eg) 00001000 00000000 00100000 00011001 00101001 10101011 --> 08:00:20:19:29:ab
ブロードキャスト ff:ff:ff:ff:ff:ff
マルチキャストアドレス 01:00:5e:xx:xx:xx
イーサネットフレーム
Preamble | Destination Address |
Source Address |
Frame Type | DATA | CRC |
ヘッダ | ロール |
---|---|
プリアンブル (64 bit) |
|
送信先アドレス (48 bit) |
|
送信元アドレス (48 bit) |
|
フレームタイプ (16 bit) |
|
データ (64-1500 bit) |
|
CRC (Cyclic Redundancy Check) (32 bit) |
ARP (Address Resolution Protocol)
IPデータグラムは、イーサネット、トークンリング、FDDI、ATMとさまざまな物理ネットワークを介して転送される。物理ネットワークでは、先のイーサネットフレームと同様に、IPデータグラムを物理フレームという情報パケットに格納することで配送を実現する。物理フレームはそれぞれ異なったフォーマットをもつことから、同一の物理フレームを配送できるのは、同一の物理ネットワークに接続したネットワークインタフェース間のみである。
まず、イーサネットアドレスは48 bitの整数であり、ネットワークインタフェースハードウェアに付与された固有の値であるため、不変である。一方、ネットワークインタフェースに与えられたIPアドレスは、接続されるネットワークによって変化する。
イーサネットにおけるアドレス解決の概要としては、同一の物理ネットワークに接続されたホスト、またはルータへIPデータグラムを送信する度に、送信相手に物理アドレスを問い合わせる方法である。これは、イーサネットがブロードキャストに適したネットワークであることから可能となっている。

以下にARPの手順をまとめる。
- 送信元のIPアドレスを格納したARP要求メッセージを作成する。ARP要求メッセージには、応答先(送信元)であるネットワークインタフェースのイーサネットアドレスを含めばならない。送信元は送信先のイーサネットアドレスをff:ff:ff:ff:ff:ffとして、ARP要求メッセージを含んだイーサネットフレームをブロードキャストする。
- ブロードキャストされたイーサネットフレームは、すべてのホストで受信されるが、それぞれのホスト内では、受信したイーサネットフレームからARP要求メッセージが取り出される。
- ARP要求メッセージに格納されたIPアドレスと自身がもつIPアドレスを参照し、一致しなかったら破棄する。
- ARP要求メッセージに格納されたIPアドレスと自身がもつIPアドレスが一致したとき、自身のイーサネットアドレスを格納したARP応答メッセージを作成する。そして作成したイーサネットフレームを応答先(送信元)に送信する。
- 応答先のネットワークインタフェースがARP応答メッセージを含んだイーサネットフレームワークを受信し、ARP応答メッセージを取り出す。ARP応答メッセージにはIPアドレスI2に対応したイーサネットアドレスが格納されている。
ARPメッセージフォーマット
ar$hrd | ar$pro | ||
ar$hln | ar$pln | ar$op | |
ar$sha | |||
ar$spa | |||
ar$tha | |||
ar$tpa |
ar$hrd (16 bit) |
物理ネットワークの種類を表す。イーサネットでは1である。 |
ar$pro (16 bit) |
物理ネットワークのアドレスに変換されるべき上位プロトコルアドレスの種類を表す。 |
ar$hln (8 bit) |
物理ネットワークアドレスの長さ(byte)を表す。 |
ar$pln (8 bit) |
上位プロトコルアドレスの長さ(byte)を表す。 |
ar$op (16 bit) |
メッセージの機能を表す。ARP requestであれば1、ARP replyであれば2である。 |
ar$sha | このメッセージの送信元ネットワークインタフェースの物理ネットワークアドレスを格納する領域である。ar$hlnバイト長である。 |
ar$spa | このメッセージの送信元ネットワークインタフェースの上位プロトコルアドレスを格納する領域である。ar$plnバイト長である。 |
ar$tha | このメッセージの送信元ネットワークインタフェースの上位プロトコルアドレスを格納する領域である。 |
ar$tpa | このメッセージにの送信先のネットワークインタフェースの上位プロトコルアドレスを格納する領域である。ar$plnバイト長である。 |