ネットワークの世界でデータが流れてる姿って目に見えないですよね。
見えないからと言って、勝手にデータが流れるのを許容するものでは無いですよね。
そこで、ネットワーク上をデータが正しく流れているかを確認して、制御する仕組みがあります。
今回はその仕組みである「CSMA/CD」と「CSMA/CA」の仕組みと違いに関して解説します。
まず半二重通信と全二重通信を理解しよう
ネットワークにおける通信の方法としては、大きく「半二重通信」と「全二重通信」の二通りがあります。(※「二重通信」という端末が送信と受信を行う「双方向通信」と呼ばれるものですね)
何となく言葉で中身は分かるかとは思いますが、それぞれの違いは以下の通りです。
半二重通信
- 一度に「送信」と「受信」のどちらか片方しか行えない通信
- 通信相手との間に共通の経路が1本あって、端末間で「送信」と「受信」を交互に行うイメージ
全二重通信
- 「送信」と「受信」を同時に行うことができる通信
- 通信相手との間にそれぞれ共通の経路が2本あって、それぞれの線を使って端末間で「送信」と「受信」を同時に行うイメージ
同時に送信と受信ができる全二重通信の方が便利な気がしますよね。
そう、便利なんです。
だけど、半二重通信でなければならない事情もあります。
無線LANは同じ電波を共有して使うので、目に見えないですが、経路は1本を端末間で共有して使わなければなりません。
また、昔の同軸ケーブルを使って通信していた際も同じケーブルを共有して使うしかありませんでした。
半二重通信において、端末同士が同時にデータを送ると「データの衝突」が発生してしまうので、衝突を検知したり、回避する手段として、「CSMA/CDとCSMA/CA」が開発されたのです。
CSMA/CDとは?
CSMA/CD(シーエスエムエー・シーディー)は「Carrier Sense Multiple Access with Collision Detection」の略なのですが、上述しましたが、半二重通信においてデータが衝突することを検知して対策するための仕組みです。
主にイーサネット通信と呼ばれる有線LANを使った際に通信の衝突を検知して対策する仕組みです。
CSMA/CDは「①CS、②MA、③CD」の3つの技術を順番に組み合わせてます。
CSMA/CDの流れ
- CS(Carrier Sense):誰も回線を使っていないことを確認する。
- MA(Multiple Access):回線を誰も使ていなかったらフレーム(データ)を送信する
- CD(Collision Detection):もしも衝突を検知したら、一定の時間経ってから再度データを送る
ケーブルの中に「搬送波」が流れていなければデータを送信できると判断します。
また、データを送信しながらケーブル内の電圧を監視しています。(CSとしての確認)
CSMA/CAとは?
CSMA/CA(シーエスエムエー・シーエー)は「Carrier Sense Multiple Access with Collision Avoidance」の略なのですが、上述しましたが、半二重通信においてデータが衝突するの回避するための仕組みです。
主に無線LANを使った際に通信の衝突を回避するための仕組みです。
ちょっとややこしいですが、CSMA/CAはCSMA/CDと「①CS、②MA」の部分が同じで最後の「③CA」が違います。
CSMA/CAの流れ
- CS(Carrier Sense):誰も回線を使っていないことを確認する。
- MA(Multiple Access):回線を誰も使ていなかったらフレーム(データ)を送信する
- CA(Collision Avoidance):そもそもデータが衝突しないようにランダムな時間分、それぞれ待機してから通信を行う
まとめ
今回はネットワークにおけるCSMA/CDとCSMA/CAの仕組みと違いに関して解説してきました。
CSMA/CDとCSMA/CAのまとめ
- 「全二重通信」は送信と受信を同時に行えるが、「半二重通信」は送信と受信を交互に切り替えなければ通信できない
- 媒体を共有する半二重通信においては、データの衝突が起こるため、データの監視や再送が必要になる
- CS(Carrier Sense)でデータが流れていないかを確認し、MA(Multiple Access)でデータを送信する
- CSMA/CDは有線の半二重通信のネットワークで使われる仕組み
- CSMA/CAは無線の半二重通信のネットワークで使われる仕組み
技術の進化によって、有線の半二重通信は全二重通信に代わってきたため、「CSMA/CD」の出番は少なくなりましたが、無線LANの発展により、「CSMA/CA」の出番は増えてますね。
それにしても、ネットワークの技術は奥深いですね。
以上です!