CSMA/CD
出典: フリー百科事典『ウィキペディア(Wikipedia)』
CSMA/CDは Carrier Sense Multiple Access/Collision Detection の略称で、通信手順をそのまま名前にしたもの。Ethernetにおける基本的な通信手順(通信プロトコル)として使われてきたもので、制御が簡単な割に効率が良い。ただし、接続クライアント数が増えると急激に効率が悪化するという問題点がある。
[編集] 歴史
ALOHA-NetというUHF帯をもちいた通信ネットワークで使われたのが起源で、これを同軸ケーブル上で使えるようにアレンジしたもの。Xerox社のPalo Alto Research Center(PARC)に所属するロバート・メトカーフ博士によって基礎理論がつくられた。DEC、Intel、Xeroxの3社(あわせてDIXとも呼ぶ)がEthernetの通信手順として採用した為、広く用いられてきた。しかし、最近ではスイッチングハブで通信制御を行うことが一般的で、CSMA/CDが実際に使われる事はほとんどなくなっている。その為、10GbEthernetなど、Ethernet規格の中でも比較的新しいものではコリジョンドメインをサポートしていない(ブロードキャストドメインは存在する)。
[編集] 実際の手順
- Carrier Sense:通信を開始する前に、一度受信を試みることで現在通信をしているホストが他にあるかどうか確認する。
- Multiple Access:複数のクライアントは同じ回線を共用し、他者が通信をしていなければ自分の通信を開始する。
- Collision Detection:複数の通信が同時に行われた場合はそれを検知し、ランダムな時間待ってから再び送信手順を行う。
CSMA/CDのアルゴリズムで特に注目すべき点は、コリジョンが発生した際、再試行までにランダムの数ミリ秒の間隔をあけるという点である。他のクライアントと全く同じ時間だけ間隔をあける確率は、極めて低いため、再びコリジョンが起こることを回避でできる。しかし、使用率の高いネットワークにおいては、コリジョンが多発し、時間のロスが生じる。