質問
なぜ物理層が無線電波だと衝突の検出ができないのですか? むしろなぜ有線だと検出ができるのですか? どこでどのようにしていますか? |
解答
非常に本質的な質問ですね。 「なぜ物理層が無線だと衝突検出ができず、有線だとできるのか?」という疑問には、電気的な信号伝達と、**CSMA/CD(Carrier Sense Multiple Access with Collision Detection)**の仕組みの違いが関係しています。 【1. まず「衝突検出」とは何か?】 ネットワークにおける「衝突」とは: * 複数の機器が同じタイミングで通信路に信号を送ることで、 * データが重なって破損することを言います。 この衝突が起きた場合にそれを検出するしくみが「衝突検出(Collision Detection)」です。 【2. 有線LAN(例:Ethernet)での衝突検出ができる理由】 有線(イーサネット)の仕組み: * ケーブル(例えばUTPケーブル)は、物理的に1本の線を複数の端末で共有して使っている(ハブ接続時など)。 * 各機器は、ケーブル上の電気信号を常時監視できます。 * 送信中の自分の信号と、戻ってくる信号を比較し、自分が送ったものと違えば衝突と判断します。 どこでどうやって検出してるのか? * ネットワークカード(NIC)が信号の電圧レベルや波形を監視。 * 自分が出した電圧と、実際に伝送路上で観測される電圧を比べて、ノイズや異常な変化を検出することで「衝突した」と判断。 この仕組みが、Ethernetで使われる**CSMA/CD(搬送波感知多重アクセス/衝突検出)**です。 【3. 無線LANで衝突検出できない理由】 主な理由:送信中は受信できないため * 無線通信では、送信中に自分の送った電波が非常に強く、受信側の信号(他の端末の送信)は感知できません。 * つまり、送信しながら同時に他の電波を「聞く」ことができないのです(技術的に難しい)。 補足:電波は空間で混ざる * 有線なら「線を通る電気信号」が明確だが、 * 無線は空間中で混ざるため、どの端末からの信号か明確に分離できない(特に衝突した瞬間には) 【4. 無線LANが衝突を避けるための対策:CSMA/CA】 無線LAN(IEEE 802.11)では、衝突を検出するのではなく、できるだけ避けるように設計されています。 それが: ◆ CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) * キャリアセンス(感知):他に送信していないか確認する * コリジョンアボイダンス(衝突回避):送信前に待ち時間を挿入するなどして、衝突の確率を下げる 追加で使われる技術: * ACK(確認応答):パケットを受け取ったかどうかを明示的に確認 * RTS/CTS(送信要求/送信許可):見えない端末との干渉を減らす(hidden terminal問題への対策) 【5. まとめ】
【補足:では無線で衝突検出は絶対に不可能?】 * 理論的には全二重通信が可能な特殊無線装置なら「送信しながら受信」もできるかもしれません(研究段階の技術)。 * しかし現実のWi-Fi機器では、ほぼ不可能 or 非効率的とされており、検出ではなく回避に頼る設計が標準です。 |
|
|
この記事へのコメント