
IEEE 802.3 フレームフォーマット
以下は IEEE802.3 の仕様によるイーサネットフレームフォーマットの説明です。
802.3 は 14 バイトのデータリンクヘッダの後ろに 802.2 によって定義されている LLC ヘッダを定義しています。
データリンクヘッダ
- オフセット 0-5: 宛先
- イーサネットフレームの最初の6バイトは宛先です。宛先は送られたデータフレームがどのアダプタへのものかを指定します。
宛先がすべて1のものはブロードキャストで、これはすべての受信イーサネットアダプタによって読み込まれます。
宛先の最初の3バイトは IEEE によってアダプタのベンダに割り当てられており、ベンダが特定できます。
宛先のフォーマットにイーサネットの実装による違いはありません。
- オフセット 6-11: 送信元
- イーサネットフレームの次の6バイトは発信元です。発信元はどのアダプタでメッセージが作られたかを特定します。
宛先と同じように最初の3バイトによってカードのベンダを指定します。
発信元のフォーマットにイーサネットの実装による違いはありません。
- オフセット 12-13: 長さ
- イーサネットの 13-14 バイト目は長さの情報です。32 ビットの CRC、DLC アドレス、長さ情報自身で、プリアンブルは含まれません。
イーサネットフレームは 64 バイト〜 1518 バイトの範囲内です。
802.2 LLC ヘッダ
データリンクヘッダに続いて LLC ヘッダが来ます。これは 802.2 の仕様によります。
LLC ヘッダの目的はデータリンク層に「天井の穴」を開けることにあります。
アダプタがどのバッファにデータを置いたのかを指定することによって、LLC ヘッダは上位層に対してどこでデータを見つけたらよいのかを教えます。
- オフセット 15: DSAP
- DSAP(サービス接続の目的地点)は、受信ステーションのメモリバッファに対してポインタのように振る舞います。
受信 NIC に対して、このフレーム情報をバッファのどこに置いたらよいのかを知らせます。
この機能はユーザが複数のプロトコルスタックを動かしているときなどに重要なものです。
- オフセット 16: SSAP
- SSAP (サービス接続の源地点)は、DSAP に類似していて、送信プロセスに対して源を指定します。
- オフセット 17: コントロール
- LLC フレームのタイプを指定する1バイトです。
ユーザデータとフレームチェックシーケンス( FCS )
- データ: 43-1497 バイト
- 802.2 ヘッダの後に、43 バイトから 1497 バイトのデータが続きます。
一般的に、TCP/IP や IPX ヘッダ、ユーザの実データなどから成っています。
- 最後の4バイト
- アダプタに読み込まれる最後の4バイトは、フレームチェックシーケンス、または CRC です。
同軸の電圧がゼロに戻ったとき、アダプタは受取った最後の4バイトが、
多項式によって生成されたチェックサムに反していないかを調べます。
計算されたチェックサムが、フレームのチェックサムと一致しないとき、
そのフレームは捨てられ、ステーションのメモリバッファには取り込まれません。