フレーム
データリンク層で扱うデータのまとまり(PDU)。宛先や送信元などの制御情報を付けて、隣の機器へ送る単位になる。
イマシルちゃんの解説
荷物を送るときって、中身をそのまま投げたりしないよね?
箱に入れて、宛名と差出人を書いて、壊れてないか確かめるシールを貼る。
ネットワークでも同じで、データに「宛先」「送信元」「チェック用の値」をくっつけた箱がフレームなんだ!
しかもこの箱は「隣の機器まで」の配送用。
ルータを通るたびに、新しい宛名の箱に詰め替えられるんだよ。
より深い解説
階層ごとのPDUの呼び名
OSI参照モデルでは、各層で扱うデータの単位(PDU:Protocol Data Unit)に異なる名前が付いている。
| 層 | PDUの呼び名 | 例 |
|---|---|---|
| トランスポート層 | セグメント(TCP)/データグラム(UDP) | TCPセグメント |
| ネットワーク層 | パケット | IPパケット |
| データリンク層 | フレーム | イーサネットフレーム |
| 物理層 | ビット | 電気信号・光信号 |
上位層のPDUは、下位層でヘッダ(とトレーラ)を付けて包まれる。これをカプセル化という。イーサネットの場合、IPパケット全体がフレームのデータ部(MACクライアントデータ)に入る。
フレームは「1区間ごと」の単位
フレームの宛先・送信元は MACアドレス で表され、同じセグメント内(ルータを越えない範囲)での配送にだけ使われる。ルータは受け取ったフレームからIPパケットを取り出し、次の区間用に宛先・送信元MACアドレスを書き換えた新しいフレームに詰め直して送出する。
- IPアドレス:送信元から最終宛先まで基本的に変わらない
- MACアドレス:ルータを通るたびに変わる
この違いは午後問題でパケットキャプチャを読む場面などで頻繁に問われる。
イーサネットフレームの構造
IEEE 802.3 の ベーシックフレーム は、次のフィールドで構成される。
プリアンブルとSFDは受信側が信号に同期するための部分で、一般に「フレーム長」という場合は宛先アドレスからFCSまでを指す。この範囲で最小64オクテット、最大1,518オクテットとなる。
回線上で実際に占める長さ
フレームを回線に流すと、フレーム本体に加えてプリアンブル+SFD(8オクテット)と、フレーム間に必ず空けるIFG(Inter Frame Gap)(12オクテット分の時間)が必要になる。
回線上の占有 = 8(プリアンブル+SFD) + フレーム長 + 12(IFG)
例:1Gbit/sで最小フレーム(64オクテット)を連続送信する場合
1フレームあたり 8 + 64 + 12 = 84オクテット = 672ビット
1,000,000,000 ÷ 672 ≒ 1,488,095 フレーム/秒
スループットや最大フレーム数を求める計算問題では、この20オクテット分を忘れると答えがずれる。
いろいろなフレーム
「フレーム」はイーサネットだけの用語ではなく、データリンク層のPDU全般を指す。無線LAN(IEEE 802.11)のフレーム、PPPのフレーム、HDLCのフレームなどがあり、それぞれヘッダ構造は異なる。