データリンク層のイーサネット
■ CSMA/CD。Carrier Sense Multiple Access with Collision Detection。 イーサネットでは、 すべての端末が論理的に1つのケーブルを共有する。 複数の端末が同時に電気信号を送信すると、信号が衝突して壊れる。 CSMA/CDは、これを解決するための仕組みである。 イーサネット端末は、 送信前に、伝送路上の電気信号の有無を確認し、 電気信号がある場合は、なくなるのを待ってから、送信を開始する。 また送信中に衝突を検出した場合は、送信を中断し、 32ビットのジャム信号を送信、 その後ランダムな時間だけ待機してから、再送を開始する。 送信が16回失敗した場合、上位層に異常終了を通知する。 (1) キャリア検知。CS。Carrer Sense。 イーサネット端末は、自分のデータを送信するのに先立って、 ケーブル上にすでに他のホストが発信したデータ(電気信号)が 流れているかどうかをチェックする。 これをキャリア検知(Carrer Sense)と言う。 もしケーブルにデータが流れていなければ、すぐにデータを送信する。 しかし、もしもケーブル上に他のデータが流れている場合には、 しばらく送信を延期し、データがケーブルから無くなってから送信する。 (2) 多重アクセス。MA。Multiple Access。 ある端末から送信されたデータ(電気信号)は、 他のデータとの衝突が起こらない限り物理ケーブルの端から端まで伝播され、 接続されたすべての端末に到達する。 各端末は、送られてきたデータの宛先MACアドレスをチェックし、 自分宛であればこのデータを処理し、 自分宛でなければこのデータを破棄する。 このように、イーサネットでは、 同一の物理ケーブル、すなわち電気信号の伝送媒体を、 そこに接続された複数のホストで共用する。 こうした環境を多重アクセス(Mutiple Access)環境と呼ぶ。 (3) 衝突検出。CD。Collision Detection。 もし複数の端末が同じタイミングでキャリア検知を行ない、 ケーブルにデータが流れていないと判断すると、 複数の端末が同時にデータを送信することになる。 すると、複数のコンピュータから送信されたデータ(電気信号)は、 途中で衝突(コリジョン)を起こし、データが壊れてしまう。 この結果、相手先には正常なデータが届かないことになる。 これでは困るので、イーサネットは この衝突を検知し解決する仕組みを備えており、 これを衝突検出(Collision Detection)と呼ぶ。 端末は衝突を検知すると、直ちにデータの送信を中止するとともに、 物理ケーブルにジャム信号を送出して、 セグメント上のすべての端末にデータの送信を停止させる。 次に、バックアルゴリズムに従って、 ランダムな時間、遅延を起こして再送する。 他の端末もランダムな時間だけ待つので、 次に送信するときに再び衝突が起こる可能性は少ない。 もしも送信を16回試みても衝突が続いた場合は、 送信しようとしていたノードはタイムアウトし、 上位プロトコルに異常終了を伝える。 【CSMA/CDの欠点】 CSMA/CDの欠点についてまとめておく。 CSMA/CDでは、各イーサネット端末は、 自分宛てではないデータを沢山受信することになる。 そしてその都度CPUに割り込み処理を行なうため、 CPU負荷が無駄に大きくなる。 CSMA/CDでは、各イーサネット端末は、 宛先端末だけでなく他の全ての端末にも送信データを届ける。 これは不要なトラフィックであり、 ネットワーク上の実効帯域幅を圧迫することになる。 CSMA/CDでは、セグメント上に端末数が増えてくると、 衝突が多発し、再送が頻繁に行なわれるようになる。 すると衝突を避けるための待ち時間や、 また衝突が起きたときの待ち時間が増え、遅延が大きくなる。 ■ MACフレーム。 イーサネットでは、 MACフレームと呼ばれるフレームにデータを乗せて送受信する。 MACフレームは、非常にシンプルな構造であり、 14バイトのヘッダ、46〜1,500バイトのペイロード、 4バイトのトレーラから構成される。 結果、MACフレームの全長は、64〜1,518バイトの範囲になる。 実際に伝送する際は、 ヘッダの前にプリアンブルの8バイトが付加される。 またフレームを連続して送る場合には、 フレーム間ギャップ12バイトが確保される。 これを加えると、イーサネットの事実上の全長は1,538バイトである。 プリアンブル :MACフレームの受損ないを防ぐダミー情報。 長さ/タイプ :MACフレームの長さ、または上位プロトコルの種類を示す。 パディング :ペイロードが46バイトに満たないとき、不足分を補う。 キャリアエクステンション:ギガビットイーサネットだけの仕様。 フレーム長を512バイトに拡張する。 【フレーム形式の相違】 MACフレームの形式は、 DIX仕様のイーサネットと、IEEE標準のイーサネットとでは、 異なる部分がある。 (1) DIX仕様のフレーム。 DIX仕様のイーサネットフレームでは、 2バイトのタイプフィールドを持っているため、 自分で上位層プロトコルの識別ができる。 たとえば、上位層がARPであるか、IPであるかを識別する。 すなわちDIXイーサネットは、 IEEEのLLC副層に相当する機能をあらかじめ持っており、 直接的に上位層を識別している。 TCP/IPプロトコルでは、ふつうDIX仕様のフレーミングを使う。 (2) IEEE802.3標準のフレーム。 IEEE802.3標準のイーサネットフレームでは、 タイプフィールドが長さフィールドに置き換えられたため、 自分自身では上位層プロトコルの識別ができない。 このためLLC副層プロトコルの補完を受け、 MACヘッダの前にLLCヘッダ及びSNAPヘッダを付加することで、 上位層プロトコルを識別する。 NetWareのIPX/SPXやNetBIOSでは、IEEE802.3標準フレームを使う。 詳細ついては、別紙で解説する。 ■ MACアドレス。MAC Address。 パソコン内蔵のLANポートやLANカードに 割り当てられた48ビットの識別番号。 IEEEの管理の元、全世界で一意性が保たれている。 MACアドレスの表記は、 8ビット区切りにしてそれぞれ16進数に直し、 コロンまたはハイフンで結ぶ。 00:11:22:AA:BB:CC or 00-11-22-AA-BB-CC MACアドレスは通常、 LANカードのEEPROMに書き込まれており、 ユーザが勝手に変更することはできない。 MACアドレスの全48ビットのうち、 前半24ビットはIEEEが直接管理しており、 後半の24ビットは製品ベンダに管理を任せている。 (1) 前半の24ビット。 ベンダーコード、もしくは OUI(Organizationally Unique Identifier)と呼ぶ。 IEEEがLANカードのメーカーに 重複の無いように割り当てる。 http://www.coffer.com/mac_find/ (2) 後半の24ビット。 機器メーカーが自社製品の1つ1つに 重複の無いように割り当てる。 【ブロードキャストアドレス】 イーサネット端末が、 LAN上のすべての端末に同報通信するときに使うアドレスを ブロードキャストアドレスと呼ぶ。 ブロードキャストアドレスでは、48ビットがすべて「1」になっている。 [ つづきはこちら ] 2004/03/03 pm