概要
**「スイッチハブだとコリジョンが発生しない」という説明に、「そうなの!?」**と思っていたので、そのまとめ。
結論
スイッチハブだとコリジョンは発生しないが、再送が必要になるフロー制御は発生する。
つまり、
半二重な世界のリピータハブでは**「コリジョン検知/再送」と呼んでいたのが、全二重が標準のスイッチハブの世界では、より広範な意味の「もう少しゆっくり(通信速度を落して)送って」とかも意味として含まれるようになったので、「フロー制御」**と呼ばれるようになっている。
・・・・ということだと思う。
そもそも半二重の時代からコリジョン検出とかとは呼ばずにフロー制御と呼んでもよかったのかもしれない。
半二重と全二重
- 送信と受信が同時に行えないのが、半二重
- 送信と受信が同時に行えるのが、全二重
半二重
全二重
4芯と8芯
- 4芯は、半二重のみ
- 8芯は、全二重も可能。全二重対応
リピータハブ全盛の時代の時は、全二重である必要性はなかったので、4芯のLANケーブルでもよかった。
余談
LANケーブルを交換したら回線速度が倍どころじゃない速度になった話
「4芯のケーブル(半二重のみ)」を「8芯のケーブル(全二重可能)」にとり替えれば、そりゃそうなるわなぁ~。という話。
私も20世紀末の大学生時代の頃は、10Mbpsのリピータハブ全盛で、研究室のネットワークとかに4芯のケーブルはありましたよ。
・・・今は見ないけど・・・
リピータハブと、スイッチハブ
リピータハブは、通信できるチャンネルは一つだけど、スイッチの場合は複数の機器で同時に通信ができる。
リピータハブ
スイッチングハブ
リピータハブは、半二重のような性格を持っている
CSMA/CD(Carrier Sense Multiple Access/Collision Detection[搬送波感知多重アクセス/衝突検出])、コリジョン検出
昔のイーサネットは、半二重通信が前提となっており、同時に通信が発生した場合、それを検知して再送する仕組みが必要になる。
それが**「CSMA/CD」**
仕組みは単純で、
- **(コリジョン|衝突|混線)**を検知したら、送信を即時停止して、しばらく(ランダムな時間)待機して再送する
だけ。
CSMA/CDとリピータハブ
リピータハブは、コリジョンを検出したら、全てのポートにジャム信号を送信する
送信中に、ジャム信号を受信したら、送信を即時停止して、しばらく待機してから再送する
ちなみに4芯なら、ジャム信号を受信するというより、混線するので混線が検知される。
CSMA/CDとジャム信号
32bitらしい。
スイッチングハブでコリジョンが発生する場合(フロー制御)
まぁ、コリジョンではなくて、フロー制御なんだけどねぇ~...
1:1の場合でも、例えば、1GBps→スイッチ→100Mbpsというような接続形態でもフロー制御は必要になるでしよう。
まぁ、コリジョンではなくて、フロー制御なんだけどねぇ~...
スイッチングハブでは、コリジョンとは呼ばずにフロー制御と呼ぶ
単純に**(コリジョン|衝突|混線)**というよりは、通信帯域がいっぱいになっているだけなので、通信速度を落してもらうとかで対処できるので、フロー制御と呼ばれる方が適切でしょう。
ということで、**スイッチングハブでは、コリジョンは起きないがフロー制御は起きる。**ということ。
フロー制御のフレーム
使われるのは、PAUSEフレーム。
- 宛先はマルチキャストアドレス : 01-80-C2-00-00-01
- MAC制御タイプ(フレームタイプ) : 0x8808
- MAC制御命令コード(PAUSE命令) : 0x0001