LAN技術研究室(LANに関心がある人のために情報を提供しているサイト)

このページでは、イーサーネットについて解説しています。




LANの初歩

イーサーネットフレーム

この項目では、イーサーネットフレームについてお話しましょう。
フレームとは、LAN上に流れるひとかたまりのデータのことを指します。
イーサーネットでも、最大1500バイトたらずのデータのかたまりを1回ずつ送っているので、これだけで1フレームになります。
フレームパケットの違いは、プロトコルの基礎で述べたネットワーク階層モデルを構成するレイヤ階層)と深い関係があります。
レイヤ2(データリンク層)でのひとかたまりのデータ単位をフレームと呼び、レイヤ3(ネットワーク層)でのひとかたまりのデータ単位をパケットと呼びます。
レイヤ4(トランスポート層)では、TCPの場合ひとかたまりのデータ単位をTCPセグメントと言いますが、UDPではUDPパケットと言い、ちょっと混乱します。
また、レイヤに関係なく、ひとかたまりのデータ単位を表現したい場合は単にパケットと総称して呼ぶ場合があるので、私(ケロ丸)はいつもレイヤ3以上はパケットと呼ぶことにしています。
レイヤ2とは、前にプロトコルの基礎で述べたように、データリンク層またはインターフェイス層でしたね。
レイヤ3とは、これもプロトコルの基礎で述べたように、ネットワーク層でしたね。
どういう働きを行うレイヤか思い出しましたか。
忘れたらプロトコルの基礎の2つのネットワーク階層モデルの表を見直して下さい。
LAN入門を卒業するまでプリンターに印刷して壁にでも貼っておくと良いです。
ネットワーク階層モデルに関しては、私も80年代のおわりくらいに富士通のメインフレームのマニュアルなどでよく勉強しました。
当時は、OSI参照モデルを勉強しました。
最近はインターネットで使われているせいかTCP/IP階層モデルの方がシンプルでわかりやすいような気がします。
プロトコルの基礎からずっと抽象論的なことばかり言ってきましたが、ここで具体的にネットワークを流れるひとかたまりのデータとは何かを見ていきましょう。
フレームから見ていきましょう。
フレームは、OSI参照モデルでいうレイヤ2でのデータ単位の呼び名なので、TCP/IP階層モデルでいうレイヤ1のリンク層のデータと考えることができます。
イーサーネットの場合、これは、MACフレームまたはイーサーネットフレームと呼ばれます。

一般的なMACフレームEthernetII
終点MACアドレス始点MACアドレスイーサーネットタイプデータFCS

これがフレームの内容です。
通常、パソコンのソフトウェアでは、このMACフレームの先頭にある8バイト(オクテット)のプリアンブル(Preamble)は受信できないので、上の表では省略しました。
ネットワーク関連の文献を見ると、オクテットという用語を見ますが、これはバイトと同じで、当サイト(ネットワーク技術研究室)でもオクテットを使用します。
このフォーマット(書式)は、ごく一般的なMACフレームのフォーマットで、EthernetIIとかDIX仕様と呼ばれ、上位プロトコルIPの場合などはこれです。
これ以外に、ネットワークOSで有名なNetWareにあるIPXというプロトコルが上位プロトコルだった場合や、NetBEUIが上位プロトコルだった場合や、Macintoshコンピュータに見られるDDPAARPが上位プロトコルだった場合などは、IEEE802.3という仕様のフレームフォーマットの場合もあります。
NetBEUIは、ネットビューイと読みまして、古いWindows®で見かけたプロトコルです。
この表の左から見ていくと、始点のMACアドレスフレーム送信元のアドレスを指し、終点のMACアドレスフレーム送信先のアドレスを指します。
MACアドレスは、1つの機器に対して1つしかありません。
従って、同じMACアドレスが2つ以上あることはありません。
MACアドレスは、一般に以下のような表記をし、特定の宛先を表します。

00:00:30:79:FE:AC

ところが、FF:FF:FF:FF:FF:FFという特別なMACアドレスもあります。
このアドレスは、ブロードキャストアドレスと言って、LAN上の全部の通信機器に対してフレームを送信する時に利用されます。
このような特殊なMACアドレスを除いて、通常MACアドレスは世界で唯一つのアドレスになります。
あるメーカーのLANアダプタを一つ買うと、それに最初から割り当てられているMACアドレスはこの世に他に存在しないことになります。

次のイーサーネットタイプのフィールドは、DIX仕様ではIPのような上位のプロトコルを示すコードが入ります。
その他の仕様ではフレーム長である場合もあります。
この後はデータ部になります。ここには上位のプロトコルがかかえているヘッダーやデータが入ります。
最後はFCSというフレームチェックシーケンスがあり、これにはフレームをチェックするためのコードが入っています。

今度は、IEEE802.3という仕様のフレームです。
IEEE802.3仕様のフレームの内容をお見せする前にOSI参照モデルにおけるデータリンク層の構造について解説する必要があります。
以下の表では、OSI参照モデル階層を下位3階層のみ示しました。上位階層は省略しました。

OSI参照モデルにおけるデータリンク層の構造
レイヤネットワーク層
レイヤ
データリンク層
LLC副層論理リンク制御副層
MAC副層メディアアクセス制御副層
レイヤ物理層

御覧のように、レイヤ2のデータリンク層には、2つのサブレイヤ副層)があります。
下の階層から解説します。
まず、MAC副層Media Access Control SubLayer)です。
MAC副層の任務は、実際に6オクテットMACアドレスMedia Access Control Address)を使用して、イーサーネット対応機器間の送受信を行うことです。
そのすぐ下の物理層とは違い、ちょっとソフトウェアらしいところがあります。
MACアドレスには、宛先と送信元の2つがあるので、お互いを識別できるようになっています。
次は、LLC副層Logical Link Control SubLayer)です。
物理層には、イーサーネット以外にも、トークンリングIEEE802.5)、トークンバスIEEE802.4)、無線LANIEEE802.11)、FDDIなどがあります。
LLC副層では、このような物理層の違いや通信機器の違いも区別しなくても済むように、物理的な媒体を扱えるような仕組みを提供しています。
イーサーネットでも、10 BASE 510 BASE 210 BASE-Tなどの違いや中継装置の違いも区別しなくても済むようになっています。
LLC副層は、これらの違いを区別しなくてもその上の階層であるネットワーク層に位置する異なるプロトコルともデータのやり取りができる機能を提供しています。
LLC副層は、物理的な部分は下の階層のプロトコルに任せ、上の階層(ネットワーク層)とのやり取りも含めて論理的な部分を担当し、他にビットエラーのチェック程度のことを行っています。
ネットワーク層LLC副層との間では、LSAPLink Service Access Point)と呼ばれるこの2つの境界の論理アドレスを使用して相互にデータのやりとりをします。
LANの標準化を行っているIEEE802委員会という組織には、16のワーキンググループがあり、この内、LLC副層IEEE802.2というグループで策定されたものです。
この組織では、データリンク層をその中で上位の階層に位置するLLC副層と、下位の階層に位置するMAC副層を別々に標準化しています。

以下の表でIEEE802.3仕様のフレームの内容をお見せします。

MACフレームIEEE802.3
終点MACアドレス始点MACアドレスフレーム DSAPSSAP制御 OUI上位プロトコルタイプ データFCS

IEEE802.3仕様のフレームでは、MACフレームの先頭にある7オクテット(56ビット)のプリアンブル部(Preamble Part)と、これに続いて1オクテット(8ビット)のSFD(Start Frame Delimiter)がありますが、上の表では省略しました。
IEEE802.3仕様のプリアンブル部は、1と0が交互に28回並んだビット列で、それに続くSFDは開始フレームデリミタのことを言い、10101011という決まったビット列になります。
DIX仕様では、8オクテット(64ビット)のプリアンブル部MACフレームの先頭にあります。
DIX仕様プリアンブル部では、1と0が交互に並んだビット列で、最後の64ビット目だけが1と決まっています。
プリアンブル部は、受信回路のクロックの同期に使用されます。
DIX仕様と異なるのは、イーサーネットタイプのフィールドがフレーム長(オクテット単位)であることと、薄いピンク色の部分の802.2LLCヘッダーと薄い水色の部分の802.2SNAPヘッダーがあることです。
従って、終点MACアドレスからフレーム長までは、MACヘッダーと呼ばれ、DSAPSSAPと制御の部分は802.2LLCヘッダーと呼ばれ、OUIと上位プロトコルタイプの部分は802.2SNAPヘッダーと呼ばれます。
802.2LLCヘッダーから見ていきます。
DSAPDestination Service Access Point)は宛先のサービスアクセスポイントを指し、SSAPSource Service Access Point)は送信元のサービスアクセスポイントを指します。
最後は1オクテットの制御フィールドになっています。
DSAPSSAPには、LSAPLink Service Access Point)の値が設定され、それぞれ1オクテットです。
LSAPの値には、802.2SNAPヘッダーがあることを示す16進数でAAという値や、上位レイヤNovell NetWare関連プロトコルであることを示すE0、IBM NetBIOSであることを示すF0などがあります。
次は、802.2SNAPヘッダーを見ます。
最初のOUIは、IEEEという組織の識別子(Organizationally Unique Identifier)で3オクテットあります。
続く上位プロトコルタイプは、DIX仕様MACフレームにあるイーサーネットタイプと同じものです。
上位レイヤがどんなプロトコルであるかを示します。
この802.2SNAPヘッダーと対応する部分は、SNAPSubNetwork Access Protocol)というプロトコルが担当しています。

なお、MACフレームの詳細は、ネットワーク関連の専門書やインターネットで調べて下さい。

さらに、MACフレームに関して補足しておきます。
MACフレームは、事実上DIX仕様IEEE802.3という仕様のフレームフォーマットが2種類存在しますが、単にフレームの構成が異なるだけではありません。
バス型トポロジーの一つとしてかつて企業などでよく使われていた10 BASE 5において、物理層OSI参照モデルの最下位階層)での伝送制御手順に少し違いが見られます。
以前述べましたが、10 BASE 5では、イエローケーブルと呼ばれる太い同軸ケーブルと、トランシーバーケーブルAUIケーブル)と、トランシーバーという機械を使用します。
トランシーバーは、イエローケーブルと接続し、AUIケーブルトランシーバーとコンピュータの間に接続していました。
DIX仕様IEEE802.3の仕様における伝送制御手順の違いは、コンピュータとトランシーバーを接続したトランシーバーケーブルAUIケーブル)を流れる電気信号のやりとりの約束事が少し違うということです。
つまり、IEEE802.3の仕様では、コンピュータがトランシーバーへ信号を送信し終えた時、確認のため、逆にトランシーバーからコンピュータへ信号を送信します。
とことが、DIX仕様では、確認のための信号を送信するような仕組みになっていません。
そのため、コンピュータ側とトランシーバー側のハードウェア仕様が合っていなければならないということになります。

ページトップ
イーサーネット[メニュー]へ戻る
サイトマップ(LAN技術研究室の案内図)
ネットワーク技術用語集へ行く
LAN技術研究室のトップページ




© 2008 Toyozi Masuda All rights reserved.