連載
» 2001年05月23日 00時00分 公開

詳説 TCP/IPプロトコル:第6回 イーサネット(その1) - イーサネットの規格とCSMA/CDアクセス制御方式 (5/5)

[岡部泰一,著]
前のページへ 1|2|3|4|5       

 次にフレームの受信処理について見てみる。こちらの方は送信とは違って比較的単純である。衝突が起こらずに正しく受信ができたフレームのうち、宛先アドレスが自分のステーション・アドレスに一致するか、ブロードキャスト・フレームなどの場合はそれを上位の層へ通知し、そうでなければ破棄する。

受信処理
信号を受信して元のフレームを組み立てる。そのフレームが最小サイズ未満であるか、自分とは関係のない宛先アドレスが設定されている場合は、フレームを破棄する。最大サイズを超えていたり、フレーム中に記録されているFCS値と、受信したデータから計算したCRC値が一致しなかったりした場合は、フレームを破棄して、エラーを上位層に通知する。

1.キャリアの検出とフレームの受信開始

 ステーションは、ネットワーク媒体上のデータのキャリアを検知すると、フレームの受信を開始する。10Mbit/sのイーサネットではフレームの先頭のプリアンブル部分で同期を取り、IEEE 802.3でいうところのSFD(Start Frame Delimiter。データ部分の始まりを知らせる符号)を検出すると、その次の信号からフレームを組み立てはじめる。

 10Mbit/sのイーサネットでは、フレームが終了したかどうかを、ネットワーク媒体がアイドル状態になったことによって認識するため、フレームに続くノイズ・データを拾ってしまうことがある。そのため、フレームはオクテット境界で切り捨てることになっている。つまり、フレームの最後の8ビットに満たないビットは捨てられるので、7ビット分のノイズは捨てることができる。100Mbit/s以降のイーサネットではフレームの終了を異なる方法で認識するため、このような処理は不要である。

2.フレーム・サイズの確認

 受信したフレームのサイズが小さすぎないか確認する。衝突検出によって送信が中断された場合にはフレームは最小サイズ(64オクテット)未満になるので、64オクテット未満のフレームは衝突したフレームと判断し無視する。このような規定サイズ以下のパケットは「Runt Packet」と呼ばれる(「runt」は「小さい」、「ちびの」という意味)。

3.フレームの宛先アドレスの確認

 フレームの宛先アドレスを調べる。宛先アドレスがブロードキャスト・アドレス(すべてのステーションを送信対象とするアドレス)ではなく、自ステーションに割り当てられているMACアドレス、またはマルチキャスト・アドレス(ある特定の複数のステーションに向けて送信するためのアドレス)と一致しなければ、関係がないフレームなので無視する。

 なおブリッジスイッチング・ハブ、ネットワーク・プロトコル・アナライザ(ネットワークのパケットをキャプチャして解析する機器)などは、これとは異なり、どの宛先のフレームでも受信する「Promiscuous(無差別)モード」で動作する。

4.フレームの正当性の確認

 フレームのサイズがイーサネットの最大サイズを超えている場合、フレーム中に記録されているFCS値(送信側で計算したCRC値のこと)と、受信したデータから計算したCRC値が一致しない場合は、エラー・フレームの受信を上位層に通知し、そのフレームを破棄する。

5.受信したフレームの処理

 正常なフレームは上位層に渡される。

イーサネットとCSMA/CDアクセス制御方式

 以上のようにCSMA/CDは、単純で安価なネットワークを効率よく使うために開発された技術であり、システムを複雑にするようなメカニズムは含まれていない。

 例えば、送信時に衝突が起こらなくても、信号の伝送中にノイズを拾い、エラーを含むフレームが相手に届くかもしれない。その場合、受信者はエラー・フレームを黙って破棄してしまうし、もしかしたら宛先アドレスなどが書き換わっていて相手に届かないかもしれない。このような事態は、適切に設計されたネットワークでは起こる可能性が低いうえ、対応するには複雑なメカニズムが必要になる。また必要ならば上位のプロトコルで対応すればすむことで、TCP/IPではそのためのメカニズムを用意している。

 つまりCSMA/CDは、フレームの配送についてはできる限りの努力をする(が、必要以上のことはしない)という方針であり、確実に配送ができるということを保証しないため「最善努力型配送(best effort deliver)」と呼ばれる。しかし、だからといって頻繁にエラーが発生するというわけではなく、実際に使ってみても分かるように、効率の良い配送を実現している。

今回のまとめ

  • イーサネットの規格は当初はDIX Ethernetとして発表されたが、現在ではIEEE 802.3規格として標準化され、100Mbit/sや1000Mbit/s、10Gbit/sという高速化や、ツイストペア・ケーブルや光ファイバなどへの対応が図られている。
  • 10BASE5イーサネットは、同軸ケーブルを利用したブロードキャスト型のネットワーク・システムである。
  • イーサネットでは、CSMA/CDというアクセス制御方式を使っている。他のノードが送信中でない場合に限って送信を開始し、衝突を検出すればJAM信号を送出後、ランダムな時間だけ待ってから再送信することにより、再衝突の確率を低くしている。再送信は最大15回までに制限されている。
  • 送信を始める前には必ずIFG(フレーム間隔時間)時間以上待つことにより、各ノードに平等に送信の機会が与えられる。IFGは、96bit時間(96bit分の信号を送信するのにかかる時間)である。10Mbit/sのイーサネットではIFGは9.6μsとなる。
  • イーサネットにおける最小のフレーム・サイズは512bit(64オクテット)時間と決められており(データが足りない場合は、適当なダミー・データで埋める)、これを送信するのに要する時間を「スロット・タイム」という。10Mbit/sのイーサネットではスロット・タイムは51.2μsとなる。
  • コリジョン情報が届く範囲をコリジョン・ドメインというが、その最大範囲は、スロット・タイム以内で信号が往復できる距離までに制約されている。


「ネットワーク技術解説講座詳説 TCP/IPプロトコル」のインデックス

ネットワーク技術解説講座詳説 TCP/IPプロトコル

前のページへ 1|2|3|4|5       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。