このページの本文へ

前へ 1 2 3 次へ

入門Ethernet 第3回

CSMA/CDと全二重通信の動きを知ろう

Ethernetで通信をスムーズに行なう工夫とは?

2009年06月26日 08時30分更新

文● 伊藤玄蕃

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


Ethernetには、データを確実に送受信してかつ通信経路を効率よく使用するために、信号の衝突を回避する仕組みがある。また、さまざまな規格を採用した機器が接続されることから、混在した環境でも通信を確立する技術を備えている。これらの仕組みや技術を見てみよう。

CSMA/CDによる通信制御

 スイッチが登場する前から使われてきた10BASE5や10BASE2などのEthernetは、1本の同軸ケーブルを複数のノード(ネットワークを構成するコンピュータや端末、通信装置、ルータといった機器の総称)で共有していた。そのため、同時に1台のノードしか電気信号を発信できないように制御する必要があった。

 そこで考案されたのが「CSMA/CD(Carrier Sense Multiple Access with Collision Detection)」で、以前はEthernetの中核をなす技術だった。CSMA/CDの動作は人間の会話に似ており、以下の手順を踏んで通信を行なう。

Carrier Sense:話す前に聴け
信号を送出しようとするノードは、他のノードが同軸ケーブル上に信号を送出していないことを確認しなければならない。各ノードはまず耳を傾け、他のノードが話していたら、静かになるまで送信を待つ。

Multiple Access:静かなら話せ
Carrier Senseにより他のノードが送信していない(=アイドル状態にある)ことを確認してから、データフレームを送信する。ただし、Ethernetは各ノード間の送信権の優先制御を行なわないので、複数のノードが一斉に送信を行なうことを防止できない。

Collision Detection:話しながら聴け
信号が同軸ケーブル上を伝わるには、理論値で100メートルあたり0.556μ秒の時間がかかる。この遅延があるため、あるノードが送信している間に、別のノードが送信を開始することもありうる(図1)。複数のノードが同時に送信を行なうと、衝突が発生しフレームが破壊されてしまう。そこで、各ノードは送信中でもケーブル上の信号を確認しなければならない。

図1 CSMA/CDの手順その1

 CSMA/CDで信号が衝突した場合、ケーブルの電圧が上がり発信ノードまで伝わる。こうして衝突を検知したノードは、データフレームの送信をただちに中止して、取消信号(ジャム信号)を送出する。このジャム信号を受信したノードは、途中まで受信したデータフレームを廃棄し、再びデータが送信されるのを待つ。

 したがって、受信側ノードが衝突で壊れたフレームを確実に廃棄するためには、送信側ノードはデータフレームの送出を完了する前に衝突を検出しなければならない。つまり、データフレームの送信を始めてから終わるまでの間に、電気信号がケーブルの端から端まで往復している必要がある。このような理由で、CSMA/CDを用いるEthernet規格では、伝送速度に応じてデータフレームの最短長とネットワークの最大規模が定められている。

 一方、送信を取り消した発信ノードは、しばらく待ってから再び送信を試みる(図2)。この待ち時間は、特別なアルゴリズムによってノードごとにランダムに決められている。しかし、多くのノードが同時にデータ送信を行なっていれば、衝突が連続して起こることは避けられず、16回連続して衝突すると対象フレームは破棄される。

図2 CSMA/CDの手順その2

 以上のようにCSMA/CD方式では、衝突が発生すると送信取り消しと再送処理を行なう。そのためネットワークの使用効率が下がり、実質的な伝送速度は低下してしまう。これがCSMA/CD方式の最大の欠点だった。そこで、Ethernetの高速化を目指す過程において、CSMA/CDによらない通信制御が必要とされるようになった。

(次ページ、「UTPケーブルとスイッチの登場」に続く)


 

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事