[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

CSMA/CD

pointこの用語のポイント

point通信のやり方だよ

pointコリジョン(データ同士の衝突)が発生してから考えるよ

pointコリジョンが発生したら、待ち時間を入れるよ

スポンサーリンク

簡単に書くよ

CSMA/CDとは

通信のやり方の一つで「交通事故が起きたら何とかするよ」方式のこと。
もう少し真面目に書くと

通信状況を監視していて、線が空いていたら通信しますよ、運悪くコリジョン(データ同士の衝突)が発生したら、一旦送るのを止めて、時間を空けて送り直しますよ、な通信方式のこと
です。

image piyo

詳しく書くよ

まずは予備知識から行きましょう。

コリジョン」は「通信途中のデータ同士がぶつかっちゃうこと」です。
ネットワーク上の交通事故だとお考えください。

CSMA/CD

この交通事故は「半二重通信」という通信の環境において発生する場合があります。
半二重通信は「送ってるときは受け取れないよ、受け取ってるときは送れないよ通信方式」です。
トランシーバーや幅の狭い道路のように、出すのと入れるのを同時にはできないやり方です。

CSMA/CD2

半二重通信において、運悪く受け取るのと送るのが同じタイミングで発生すると、交通事故が発生します。
データ同士がぶつかってしまうのです。

CSMA/CD3

この半二重通信における、交通事故に対応する仕組み(のひとつ)が「CSMA/CD」です。
Carrier Sense Multiple Access with Collision Detection」の頭文字を取ってCSMA/CDね。
ただし、おそらく暗記している人は、ほとんどいません。
別に覚えなくても良いです。

CSMA/CDは「交通事故には一応気を付けるけど、起こったら仕方ないね。起こったときに対処しようか」の考えに基づいたやり方です。

交通事故は起こるに越したことはないので、一応道路の空き状況は監視しています。

CSMA/CD4

そして道路が空いていたらさっと送る……のですが、世の中には同じことを考える人がいるかもしれません。
タイミングが合うと交通事故が発生します。

CSMA/CD5

交通事故が起こったら、それはそれで仕方がありません。
気付いた奴が「交通事故が発生しました~!」と皆に聞こえるように大きな声で騒ぎます。

CSMA/CD6

交通事故が発生したということは、データがちゃんと届いていないということです。
ですから、もう一度送り直します。

ただし交通事故には相手がいます。
すぐに送り直したら、また同じ相手が送ったデータとぶつかっちゃうかもしれません。

そこで交通事故発生のお知らせを受けると、送り直す前に適当に時間を潰します。
どれくらい時間を潰すかは決まっていません。
例えば1秒とか時間を決めてしまうと、相手も同じだけ待ってまた同じタイミングで送りかねないですからね。
相手とタイミングがズレることを期待して、適当な時間待つのです。

CSMA/CD7

適当な時間が経ったら、交通事故にあったであろうデータをまた送ります。

CSMA/CD8

これがCSMA/CDの仕組みです。
「取りあえず適当に送っちゃえ~。ぶつかったら仕方ないや~。ぶつかったときに考えようぜ~」方式です。

せっかくなので、もう少し実際のネットワークに近い形で見てみましょう。
リピーターハブ」という機器が登場するネットワークにおいて、CSMA/CDの仕組みを見てみます。

リピーターハブさんは、受け取った信号を全部のコンピュータに「宛先になっているコンピュータさん以外は無視してね~」と言いながら送る機器です。

CSMA/CD9

このリピーターハブさんに同時に2つのコンピュータからデータ送られてくると、リピーターハブさんは混乱してしまいます。
リピーターハブさんの内部で交通事故が発生してしまうのです。

CSMA/CD10

交通事故が発生した(交通事故の発生を知った)リピーターハブさんは皆に対して「交通事故が発生しました~!」なお知らせを出します。
このお知らせは「ジャム信号」と呼ばれています。

CSMA/CD11

「交通事故が発生しました~!」なお知らせを受けたコンピュータさんたちはドキドキします。
そのときにデータを送っていなかった奴等は「あー、交通事故発生かー。大変だねー」程度でしょう。
まさにそのときデータを送っていたコンピュータさんにとっては、他人事ではありません。

CSMA/CD12

交通事故にあったデータは、おそらく壊れちゃいました。
そのデータを送っていたコンピュータさんは再度送り直さなくてはいけません。

ですが、すぐに送り直すと、また同じ相手とぶつかってしまうかもしれません。
そこで、適当に時間をおいてから送り直します。

CSMA/CD13

このようなやり方がCSMA/CDです。

補足として、今回のお話ではリピーターハブさんだけが「交通事故が発生しました~!」なお知らせ(ジャム信号)を出しました。
実際の仕組みはもう少しだけ複雑です。
リピーターハブさんに限らず「あっ、交通事故が発生したんだな」と気づいた奴は、取りあえず「交通事故が発生しました~!」なお知らせを出すのです。
また何を持って「交通事故が発生した」と判断するかですが、これも長くなるので触れません。
詳細は専門的に解説しているホームページでご確認ください。
※どうしても、ぴよぴよ解説を訊きたい方は、お問い合わせページから直接訊いてください。

また、CSMA/CDと似て非なるやり方に「CSMA/CA」というやり方があります。
「CSMA/CA」は「衝突しないように頑張るよ方式」です。
余裕があれば、併せて覚えてあげてください。

image piyo2

一言でまとめるよ

まぁ「CSMA/CD」って単語が出てきたら「衝突したら何とかするよ方式なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク