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

Carrier Sense Multiple Access with Collision Avoidance

pointこの用語のポイント

point通信のやり方だよ

pointコリジョン(データ同士の衝突)が発生しないように頑張るよ

point常に一定の待ち時間を入れるよ

point「CSMA/CA」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Carrier Sense Multiple Access with Collision Avoidance(読:キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)とは

いわゆる「CSMA/CA」のこと。
用語の中身としては

通信のやり方のひとつで「交通事故が起きないように頑張るよ」方式のこと
です。
もう少し具体的に書くと

「通信状況を確認して、空いていたら送りますよ。誰かが使っていたら終わるまで待ちますよ。データ同士の衝突(コリジョン)が発生する可能性を低くするために、送り始める前に適当な長さの待ち時間を入れますよ」な通信方式のこと
です。


image piyo

詳しく書くよ

最初に留意事項です。
CSMA/CA」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
CSMA/CAの正式名称(?)が「Carrier Sense Multiple Access with Collision Avoidance」です。
Carrier Sense Multiple Access with Collision Avoidance」の頭文字を取ったのが「CSMA/CA」ね。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)

※「Carrier Sense Multiple Access with Collision Avoidance」を何となく日本語にすると「うんちゃらかんちゃら接続 with 衝突を回避」となります。[詳細]

以上が「CSMA/CA」の意味を知っている人向けの説明です。

「CSMA/CAって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩2

それでは、いってみましょう。
まずは予備知識として「コリジョン」と「半二重通信」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

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

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)2

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

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)3

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

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)4

この交通事故がコリジョンです。

以上を踏まえて

半二重通信における交通事故(コリジョン)に対応する仕組みのひとつ

が「Carrier Sense Multiple Access with Collision Avoidance」です。
上でも書きましたが、一般的には「CSMA/CA」と表現されます。
※本ページでも以降は「CSMA/CA」と表現します。

CSMA/CAは「交通事故が起こっても分からないので、最初から起こらないように気を付けますよ」の考えに基づいたやり方です。

通信をしたいときは、まず道路の空き状況は確認します。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)5

すでに誰かが使っていたら、その人が終わるのを待ちます。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)6

前に使っている人が終わって道路が空いたら送ります。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)7

ただし、自分と同じように待っている人がいるかもしれません。
2人以上の人が「あっ、前の人が終わった。よし、送ろう」と思ったら、ぶつかっちゃいますよね。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)8

そこで念の為に、前の人が送り終わってすぐには送りません。
道路が空いても、少しだけぼーっとする時間を取ります。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)9

ぼーっとする時間の長さは適当です。
例えば1秒とか時間を決めてしまうと、相手も同じ時間だけ待って同じタイミングで送りかねないですからね。
「適当な時間」待つことで「あっ、前の人が終わったな。よし!次は自分が送ろう」と思った人たちの足並みをズラせるのです。

このズレが大事です。

送り始めようとするタイミングがズレることで「あれ?送ろうと思ったら他の人が送ってるじゃん」と気付けます。
交通事故の可能性が減るのです。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)10

これがCSMA/CAの仕組みです。
「ぶつかっても分からないから、できるだけぶつからないように気を付けて送ろうぜ~」方式です。

ちなみに、CSMA/CAのやり方でも交通事故が起こる可能性はあります。
ですが、送った方は交通事故が起こったことを知ることはできません。

それでは、どうするか?

データを受け取った方がお返事を出すのです。
データを受け取った方は「無事に届いたよ~」というお返事(ACK)を送った方に返します。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)11

このお返事が来れば「あぁ、無事に届いたんだな」と分かりますよね。
お返事が来なければ「交通事故が起こったのかな?」と考えます。
そして交通事故が起こったっぽいときは、時間をおいて送り直すのです。

これがCSMA/CAにおける交通事故が起きたかどうかを判断する仕組みです。
お返事の有無で相手に届いたか(交通事故が起こらなかったか)を判断します。

せっかくなので、もう少し実際のネットワークに近い形でも見てみましょう。
CSMA/CAは主に無線LANで使われる仕組みなので、無線LANを例に説明します。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)12

無線LANの通信において、無線LANアクセスポイントパソコンさんから飛んできた無線LANの電波を受け取る機械)は、2台以上のパソコンさんを1人で相手する場合があります。
ですが、実は無線LANアクセスポイントさんが一度に相手できるのは1人です。
2人以上を「同時に」相手をすることはできません。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)13

そこでコンピュータさんたちは、無線LANアクセスポイントさんに対して実際に通信する前に「ねぇねぇ、今は暇?通信しても大丈夫?」と確認を取ります。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)14

大丈夫であれば、次のステップに進みます。
取込中であれば、終わるまで待ちます。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)15

おっと、前の人の通信が終わって無線LANアクセスポイントは暇になったようです。
じゃあ、次は自分の番!……と、みんなが考えますよね、きっと。

そうすると、みんながまとめて押しかけるので、交通事故が発生しちゃいます。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)16

これを避けるために「じゃあ、次は自分の番!」と思ったら、少しの間、ぼーっと待たなくてはいけない決まりがあるのです。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)17

ぼーっと待つ時間は適当です。
これによって、みんなが一度に押し掛ける可能性が減ります。
ぼーっと待つ時間が終わってはじめて、無線LANアクセスポイントさんに対して「じゃあ次は俺の番ね!」と言えるのです。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)18

「じゃあ次は俺の番ね!」と言えたコンピュータさんはデータを送ります。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)19

無事に届いた場合は「無事に届いたよー」というお返事(ACK)がきます。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)20

「無事に届いたよー」というお返事が来ない場合は、無事に届いていません。
きっと交通事故が起こったのです。
そう判断して、もう一度送り直します。

Carrier Sense Multiple Access with Collision Avoidance(キャリア・センス・マルチプル・アクセス・ウィズ・コリジョン・アボイダンス)21

これがCSMA/CAの仕組みです。

1.空いてるかを確認
2.ちょっと待つ
3.送る


の流れになります。

ちなみに、CSMA/CAと似て非なるやり方に「CSMA/CDCarrier Sense Multiple Access with Collision Detection」というやり方があります。
「CSMA/CD」は「衝突したら何とかするよ方式」です。
余裕があれば、併せて覚えてあげてください。


image piyo2

一言でまとめるよ

まぁ「Carrier Sense Multiple Access with Collision Avoidance」って単語が出てきたら「CSMA/CA(衝突しないように何とかするよ方式)のことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像054
書籍画像031

おまけ

■訳してみるよ

「carrier(キャリア)」の意味は「運ぶ人」とか「運搬車」とか「通信事業者」とかです。
「sense(センス)」の意味は「感覚」とか「知覚」とか「センス」とかです。
「multiple(マルチプル)」の意味は「多数の」とか「複合の」とか「多種多様な」とかです。
「access(アクセス)」の意味は「接近」とか「接続」とか「出入り」とかです。
「with(ウィズ)」の意味は「~と(一緒に)」とかです。
「collision(コリジョン)」の意味は「衝突」とかです。
「avoidance(アボイダンス)」の意味は「回避」とかです。
何となく くっつけると

運ぶ人の感覚の多数の接続 with 衝突を回避

となります。

……よく分かりませんね。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック