このページの本文へ

前へ 1 2 3 次へ

入門Ethernet 第2回

ネットワークを流れるフレームの構造とは?

Ethernetのフレーム構造を理解しよう

2009年06月18日 09時00分更新

文● 堀口幹友/有限会社キャンユー

  • この記事をはてなブックマークに追加
  • 本文印刷


Ethernetを使ったネットワークでは、データはデジタル信号としてケーブルを流れている。そしてEthernetで結ばれた機器間で正しくデータをやりとりできるよう、このデータにはさまざまな情報が付与されている。この情報はどのような構成で、そもそも何に使われるのを解説しよう。

2つのフレーム形式

 Ethernetでは、ケーブルを流れる信号を「フレーム」と呼ぶ。TCP/IPなどで「パケット」と呼んでいるものと、基本的には同じものだ。機器間がこのフレームを送受信することで、Ethernetの通信が成り立っている。

 それでは、Ethernetのフレームが、具体的にどのような構造になっているかを見てみよう。なお、前パートで解説した通り、歴史的な経緯からEthernetでは複数のフレームが存在する。本パートでは、その中からもっとも代表的な2種類を解説する(図1)。

図1 フレームの構造

 まずは、Ethernet Ⅱフレーム形式だ。Ethernet Ⅱは、IEEEで規格化される前に、DECとインテル、ゼロックスが策定したため、3社の頭文字を取って通称DIXと呼ばれることが多い。つまり、正式にはIEEEで規格化されていないフレーム形式である。

 Ethernet Ⅱのフレームは、「プリアンブル」という、8バイトの同期信号のあとに送出される(表1)。これは、LANに接続しているインターフェイスにフレーム送信の開始を認識させ、同期を取るタイミングを与えるための信号である。

 続いて送出されるフレームの構造は、「ヘッダ」と「データ」、「FCS」からなる。ヘッダには、後述する「宛先MACアドレス」や「送信元MACアドレス」といった、通信相手を特定する情報が含まれる。また、フレームに含まれる上位層のパケットの種類を示す「タイプ」もある。これらの3フィールド(計14バイト)がヘッダに含まれている。

表1 おもなタイプ

 次に、データの中には上位層プロトコル、すなわちIPパケットが入っている。さらに、IPパケット内のデータには、TCP/UDPセグメントが入る。このように、上位層から下位層が順番につながっているのだ。

 フレームの最後にはFCS(Frame Check Sequence:誤り検知)がある。FCSでは、各フィールドから計算したCRC(Cyclic Redundancy Check)という値を設定している。受信側でも同様にCRCを計算して、一致しない場合はエラーが発生したと判断しそのフレームを破棄する。

 以上の64~1518バイトが、Ethernet Ⅱのフレーム長となる。なぜ最小値が64バイトかというと、次のパートで解説するCSMA/CD において、通信速度が10Mbpsの際に確実に衝突検知するためだ。

 一方のIEEE802.3は、IEEEが規格化した正式なフレーム形式である。Ethernet以外のメディアにも対応できるように、IEEE802.2 LLC(Logical Link Control)として「宛先SAP(Service Access Point)」や「送信元SAP」、「制御」の3フィールドを加えた(表2)。SAPの役割を簡単に述べると、データを受け取った際に、次に上位層のどのプロトコルに渡せばよいか定義しているものだ(表3)。

表2  フレームのフィールド

表3 おもなSAP(Service Access Point)

 これらのフィールドが加わっているので、Ethernet Ⅱとの互換性を考慮して、データのサイズを減らしフレーム長を同じにしている。

 このIEEE802.3だが、せっかくIEEEが規格化したものの、上位層プロトコルとしてIPが主流となった現在ではあまり使われなくなってしまった。なお、本記事では省略するが、他のフレーム形式として、IEEE802.2 LLCで拡張したSNAP(Subnetwork Access Protocol)や、IEEE802.1Qで拡張したVLAN(Virtual LAN)などもある。

(次ページ、「パケットキャプチャツールで見るフレーム」に続く)


 

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード