CSMA/CD
CSMA/CD(Carrier Sense Multiple Access/Collision Detection 、搬送波感知多重アクセス/衝突検出[1])は、主にイーサーネットにおいて採用されている多元接続の方式である。
概要編集
Ethernetにおける基本的な通信手順(通信プロトコル)として広く普及している。しかし、最近ではスイッチングハブで通信制御を行うことが一般的で、CSMA/CDにより衝突を回避する必要性はほとんどない。そのため、10GbEthernetなど、Ethernet規格の中でも比較的新しいものでは衝突検出をサポートしていない。
CSMA/CAとの最大の違いは、CSMA/CDにおいては送信中に衝突を検出し、もし検出したら即座に通信を中止し、ランダムな待ち時間を挿入するのに対し、CSMA/CAは送信の前に待ち時間を毎回挿入する点である。
歴史編集
ALOHAnetというUHF帯をもちいた通信ネットワークで使われたのが起源で、これを同軸ケーブル上で使えるようにアレンジしたもの。Xerox社のPalo Alto Research Center(PARC)に所属するロバート・メトカーフ博士によって基礎理論がつくられた。DEC、インテル、Xeroxの3社(あわせてDIXとも呼ぶ)がEthernetの通信手順として採用したため、広く用いられるようになった。
通信手順編集
- Carrier Sense:通信を開始する前に、一度受信を試みることで現在通信をしているホストが他にあるかどうか確認する。
- Multiple Access:複数のクライアントは同じ回線を共用し、他者が通信をしていなければ自分の通信を開始する。
- Collision Detection:複数の通信が同時に行われた場合はそれを検知し、ランダムな時間待ってから再び送信手順を行う。
CSMA/CDのアルゴリズムで特に注目すべき点は、コリジョンが発生した際、再試行までにランダムの数ミリ秒の間隔をあけるという点である。他のクライアントと全く同じ時間だけ間隔をあける確率は、極めて低いため、再び コリジョンが起こることを回避できる。しかし、使用率の高いネットワークにおいては、コリジョンが多発し、時間のロスが生じる。
出典編集
- ^ e-words「CSMA-CD」 2016/9/29閲覧