プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

CSMA/CD(衝突検出付きCSMA)とは?仕組みとアルゴリズムを徹底解説

CSMA/CD(Carrier Sense Multiple Access with Collision Detection:衝突検出機能付きキャリア検知多重アクセス)は、MAC(Medium Access Control)層で動作する搬送波伝送用のネットワークプロトコルです。送信用の共有チャネルが使用中かどうかを常時監視(キャリアセンス)し、チャネルが空くまで送信を待機します。衝突検出技術は、他のステーションからの送信を感知することによって衝突を検出します。衝突が検出されると、当該ステーションは送信を停止し、ジャム信号を送出した後、ランダムな時間待機してから再送信を行います。

CSMA/CDの基本アルゴリズム

CSMA/CDの動作手順は以下の通りです。

  • フレームの送信準備が整うと、送信側ステーションはチャネルがアイドル状態かビジー状態かを確認します。
  • チャネルがビジーの場合、ステーションはチャネルがアイドルになるまで待機します。
  • チャネルがアイドルの場合、ステーションは送信を開始し、衝突を検出するためにチャネルの監視を継続します。
  • 衝突が検出された場合、ステーションは衝突解決アルゴリズムを開始します。
  • 再送信カウンタをリセットし、フレーム送信を完了します。

衝突解決アルゴリズム

衝突が発生した際の解決手順は以下の通りです。

  • すべてのステーションが確実に衝突を検出できるよう、ジャム信号とともに現在のフレームの送信を一定時間継続します。
  • 再送信カウンタを1つ増やします(インクリメント)。
  • 最大再送試行回数に達した場合、そのステーションは送信を中止します。
  • それ以外の場合、一般に衝突回数の関数として求められるバックオフ期間だけ待機し、メインのアルゴリズムを再起動します。

以下のフローチャートは、これらのアルゴリズムの流れをまとめたものです。

CSMA/CD(衝突検出付きCSMA)とは?仕組みとアルゴリズムを徹底解説

CSMA/CDの注意点と課題

  • このアルゴリズムは衝突を検出することはできますが、衝突そのものの発生件数を減らすことはできません。
  • 大規模ネットワークには不向きです。ステーションが増えるほどパフォーマンスが指数関数的に低下します。

このような特性から、CSMA/CDは従来のイーサネット(10BASE5、10BASE2など)で採用されていましたが、現在ではスイッチによる全二重通信が主流となり、衝突が発生しない環境が一般的になっています。それでもなお、共有メディアにおけるアクセス制御の基礎概念として、ネットワーク技術を学ぶ上で重要なプロトコルです。

  1. 故障したWindows PCからデータを救出!Linux Live CD/USBでファイルを復旧する方法

    新しいWindows 10パソコンを手に入れて、順調に使い続けていたのに、何の前触れもなくハードディスクドライブ(HDD)やSSDが突然壊れてしまう——そんなトラブルは誰にでも起こり得ます。しかも、OneDriveなどのクラウドストレージにも外付けデバイスにもバックアップを取っていなかったら、ショックはひとしおでしょう。保証期間内なら本体の交換は受けられますが、保証では失われたファイルまでは戻ってきません。では、どうすればよいのでしょうか? 実は、WindowsパソコンのHDDやSSDが故障しても、Linux Live CD/USBを使えばファイルやデータを取り出せる可能性があります。この記事

  2. ISOイメージでWindows 10のパスワードリセット用USB/CDを作成する完全ガイド

    Windows 10のパスワードを忘れてしまった多くのユーザーは、「.iso」拡張子を持つISOイメージファイルを使えば、パスワードをリセットできることをご存じかもしれません。この記事では、Windows 10におけるパスワードリセット用ISOイメージについて詳しく解説します。 本記事は以下の3つのパートで構成されています。 パート1.ISOイメージとは?パート2.ISOイメージファイルの開き方パート3.Windows 10パスワードリセットツールのISOダウンロード Windows 10/11のパスワードリセット方法については、「Windows 10/11のパスワードをリセットする5つの方法