全二重と半二重についてです。

前回の回答ありがとうございました。ナイペータでございます。

ご質問あります。

現在、第三章を熟読中ですが、P160(第三章)の中段付近に書かれてある「ケーブルに信号が流れていないことを確認して信号を送り出し、もし
衝突したらしばらくし待ってからおくりなおす。」と書かれています。

この部分が、イメージができずに以前出てきていた、全二重と半二重についての疑問にたどり着いたわけです。

といいますのも、そもそも衝突というのはどのようなイメージをすればよいのですか?Lanケーブル(ストレート、クロス)においては、受信と送信がわかれているので内部での衝突はありえないですし・・・。

それから、リピーターハブは半二重を採用しているようですが、どうもこの半二重通信もいまひとつイメージできず不消化状態です。

以上 お忙しいところ恐れ入りますがご回答よろしくお願いいたします。

ナイペータ

名前: 
ナイペータ
日時: 
04/04/08 23:41

コメント

ナイペータさん,こんばんわ。

半二重を理解するには,衝突の動作を理解しないといけません。
まず,リピータハブに何台かパソコンがつながっていると思ってください。
そして,そのうちの2台が同時に送信動作に入ったらどうなるでしょう?
リピータハブに二つの信号が流れ込むはずです。
すると,リピータハブの中にあるリピータ回路の中で二つの信号が混ざり合い,
その混ざった信号がリピータハブからばら撒かれることになります。
これがパケットが衝突するということです。
混ざり合った信号からデジタルデータを復元することはできませんから,
その信号は壊れてしまうと考えてよいでしょう。
このことを指して,衝突するとパケットは壊れる,と表現するわけです。

この現象は,リピータハブに接続する台数や,送信動作の頻度によって,
ある確率で発生します。
その可能性をゼロにすることはできません。
そこで,このような現象が起きても支障がないように,
適切な事後処置をとることになっています。
それが,衝突したら送り直す,というルールです。

信号が衝突するときは,送信動作を実行している途中で,
リピータハブから混じり合った信号が流れてきますから,
143ページの図3.11にあるMAUの衝突検出回路に
送信信号と受信信号の両方が流れ込みます。
これで衝突を検出するのですが,衝突したら,送信動作を中断し,
しばらく待ってから,もう一回送信動作をやり直すわけです。
そうすることで,衝突が起こったときの問題を回避するわけです。
このように,衝突を検出して送り直すのが半二重動作です。

半二重という言葉の印象から,送信と受信のどちらか一方しか信号が流れないもの,
と考える人がいますが,そうではなく,
半二重であっても送信と受信の両方が流れることがあります。
送信と受信の両方が流れたら通信動作は失敗だとして,
やり直すということです。
これは,結果的に,送信あるいは受信の一方しか実行できないことになります。
この性質を,半二重という言葉で表現すると思えばよいでしょう。

この衝突に関する動作は奥が深く,
説明すべきことが,本当は,たくさんあります。
しかし,今はもうリピータハブを使うことはほとんどなくなってしまい,
現実に衝突という現象が起こることはなくなってきました。
衝突という現象を深く知る必要はなくなってきたといってよいでしょう。
そのため,『ネットワークはなぜ...』の中でも,
衝突に関して細かく説明していません。
もし,この辺興味あるようでしたら,下記のページが参考になるでしょう。

http://www.atmarkit.co.jp/fwin2k/network/tcpip006/tcpip03.html
http://www.atmarkit.co.jp/fwin2k/network/tcpip006/tcpip04.html