![見出し画像](https://assets.st-note.com/production/uploads/images/127771403/rectangle_large_type_2_56db28a5cb6c81a238a04b3310ebd920.png?width=1200)
データを確実に届けるその仕組み:イーサネットフレーム
「LANを流れるデータって、どんな構造をしてるんだろう?」
こんにちは!有線LANの標準規格「イーサネット」について、シリーズでご紹介しております!
前回は、半二重通信と全二重通信の違いについてお話ししました。半二重通信は、トランシーバのように、受信と送信を同時に行わない仕組みでしたね。他方、全二重通信は、電話のように受信と送信が同時にできる仕組みでした。現代の高速通信では、全二重通信が必須です。
![](https://assets.st-note.com/img/1705349900638-tDZUsLeyAT.png)
さて、今回から、いよいよ物理層の世界から、データリンク層の世界に移ってまいります!
物理層(第1層)が物理的なネットワークを作り出すものとすれば、データリンク層(第2層)は、論理的なネットワークを作るものです。物理的な配線を流れるデータをどう制御するか?ということですね!
今回は、その配線を流れるデータの構造であるイーサネットフレーム(MACフレーム)についてお話しします。
では、いってみよう!
イーサネットフレームとは
イーサネットフレームは、端末間のデータ伝送における基本単位です。1985年にIEEE802.3として標準化されました。
送信するデータを細切れにして、小包(フレーム)にして送るイメージです。
なお、この「データの小包」については、文脈やOSIの階層などにより、「パケット」「セグメント」などいろんな呼び方をされるわけですが、このデータリンク層では、基本的に「フレーム」と呼びます。慣れないと混乱しますよね…。
さて、このイーサネットフレームの役割は、送信データに必要な制御情報を付加し、正確に情報を伝達することにあります。
では、どういう構造をしているのでしょうか?
フレームの構造
イーサネットフレームは、いくつかの重要な要素から成り立っています。
プリアンブル
MACアドレス
タイプ
データ
FCS
![](https://assets.st-note.com/img/1705351203924-yYW0dcXaHd.png?width=1200)
プリアンブル~タイプが「ヘッダ」で、FCSが「トレーラ」という扱いです。データの前後に制御情報がくっついるのが分かります。
見慣れない言葉も含まれていいますね…。では、個別に解説しましょう!
1.プリアンブル
プリアンブル(Preamble)とは、「前文」のことです。覚書などの冒頭に、この覚書を取り交わす背景などが書かれたりします。その「前文」と同じように、フレームの先頭に置かれます。
8バイトの特定のビットパターンでできています。イーサネットフレームが開始することを示します。受信端末は、これを受信して「お、イーサネットフレームが届き始めたんだな!」と判断します。
2.送信先・送信元MACアドレス
送信先および送信元のMACアドレスは、それぞれ6バイトで構成されています。データの送信先と送信元を特定する「住所」ですね!ネットワーク内の各デバイスに割り当てられている一意の識別子です。
3.タイプ
タイプは2バイトで、フレームに含まれるデータのプロトコルタイプを示します。データのプロトコルですから、ネットワーク層(第3層)のプロトコルですよ。
IPV4なら、そのコードは「0x0800」となります。なお、「0x」は16進数を示して、残りの4ケタは16進数です。
4.データ
データは、46から1500バイトの間の変動するサイズを持ちます。これは、フレーム内で実際に伝送される情報(ペイロード)です。メッセージの本体ですね。
MTU(Maximum Transmission Unit)は、イーサネットフレームにおいて一度に送信できるデータの最大サイズを指します。MTUのサイズはネットワークの効率性とパフォーマンスに大きく影響します。
というのも、サイズが大きいほど、1フレームあたりの情報量が増え、オーバーヘッドが減少しますが、一方でエラーの影響を受けやすくなります。
5.FCS(Frame Check Sequence)
FCSはフレームの最後に位置する4バイトのフィールドで、誤り検出用の誤り訂正符号です。これにより、データが途中で損傷を受けた場合に、受信側がエラーを検出し、必要に応じて再送要求を行うことができます。FCSはネットワークの信頼性を高めるための重要な要素です。
はい、本日はここまで!今回はイーサネットフレームについてお話ししました。データを確実に転送するため、データ本体だけでなく、制御情報が付加されるのですね!
次回は、データリンク層の機器の話に入りましょう!
では!