👨‍👦

イーサネットIIフレームフォーマットの概要

2022/08/11に公開

イーサネットⅡ規格の概要

イーサネットⅡは5つの要素(フィールド)から構成されています。プリアンブル、宛先/送信先MACアドレス、タイプ、イーサネットペイロード、FCS の5つです。

フィールド名称 機能
プリアンブル フレーム送信の合図となる信号
MACアドレス 機器を識別するための情報
タイプ ネットワーク層でどんなプロトコルを使っているかを表すID
イーサネットペイロード ネットワーク層から受け渡しされた元々のデータ
(=ほとんどの場合、IPパケットのこと)
FCS フレームが壊れていないかチェックするための値

これら5つのフィールドによって、データリンク層の機能を実現している点に注目して下さい。

(1)MACアドレスによる隣接ノードとの通信
(2)ビット列の整合性チェック・エラー修正

イーサネットヘッダの別名

イーサネットペイロードを挟んでその前後をまとめて、以下のように呼ぶ場合もあります。

イーサネット(L2)ヘッダ:プリアンブル、宛先/送信先MACアドレス、タイプ
イーサネット(L2)トレーラ:FCS

イーサネットフレームのイメージ

データリンク層から受け渡しされたIPパケットへ、イーサネットヘッダ(=5つのフィールド)を付与します。


イーサネットフレームができるまで

ヘッダを付与されることでイーサネットフレームとなり、物理層で0と1の電気信号に変換され、有線LANへと送信されていきます。

フィールド(5つの要素)の概要

5つのフィールドの概要をご紹介します。

プリアンブル

フレーム送信の合図となる信号です。具体的には8バイト(64ビット)の特別なビット列です。10101010が7回送られ、最後に10101011が1つ送られます。受信側の端末がプリアンブルを確認し、この直後から実際のフレームが始まることを認知します。

宛先/送信先MACアドレス

イーサネットネットワークに接続している端末を識別するためのIDです。6バイト(48ビット)で構成されています。00-0c-29-43-5e-beのように、1バイト(8ビット)ずつ区切って16進数で表記します。イーサネットフレームを送信する際に、以下の2つの情報をセットします。

宛先MACアドレス:フレームを届けたい機器のMACアドレス
送信元MACアドレス:自分のMACアドレス

受信側の端末は宛先MACアドレスを見て、自分のMACアドレスなら受け入れて、関係ないモノは破棄します。また送信元MACアドレスを見て、どの端末から来たイーサネットフレームかを判断します。

タイプ

ネットワーク層でどんなプロトコルを使っているかを表すIDです。2バイト(16ビット)によって、上位層で使っているプロトコルを識別します。

タイプコード プロトコル
0x0000 - 05DC IEEE802.3 Lenght Field
0x0800 IPv4
0x0806 ARP
0x0835 RARP
0x86DD IPv6
0x8863 PPPoE
0x8864 PPPoE

多くの場合はIPプロトコルが使われています。

イーサネットペイロード

上位層から受け渡しされるパケットのことです。イーサネットペイロードへL2ヘッダを付与することで、イーサネットフレームを作ることができます。イーサネットペイロードの正体はほとんどの場合IPパケットです(上位層であるネットワーク層では多くの場合、IPプロトコルが使われているから)。

L3から受け渡しされるパケットのサイズは決まっており、46バイト〜1500バイトに収める必要があります。46バイトに足りなければパディングといってダミーのデータを追加します。また1500バイト以上であれば、トランスポート層やネットワーク層でデータを分割して1500バイトに納めます。

FCS

フレームが壊れていないかチェックするための値です。Frame Check Sequenceの略です。イーサネットフレームを送信する際に5つのフィールドに対して一定の計算(チェックサム計算、CRC)を行い、その結果をFCSとしてフレームの最後に付与します。受信側の端末は同じように5つのフィールドで計算を行い、その値がFCSと同じかどうかを比較します。2つのFCSの値が同じであれば正しいイーサネットフレームと判断し、異なっている場合は伝送途中で壊れたと判断します(壊れたイーサネットフレームについては破棄されます)。FCSに置いてイーサネットにおけるエラー検知の全てを行っています。

Discussion