イーサネットIIフレームフォーマットの概要
イーサネットⅡ規格の概要
イーサネットⅡは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