ホームページ >運用・保守 >Linuxの運用と保守 >LANで1対1通信を実現する方法
LAN では送信にブロードキャスト チャネルが使用され、ブロードキャスト チャネルは 1 対多の通信を実現できることがわかっています。しかし、実際には必ずしも 1 対多の通信が必要なわけではありません。では、2 つのホスト間で 1 対 1 の通信を行うにはどうすればよいでしょうか?この問題はそれほど単純ではありません。
ホストが生成した情報をチャネルに送信する方法
複数のホストという複数の側面を考慮する必要があります。チャネルを共有するため、メッセージ間の衝突を防ぐ方法
特定のホストにメッセージを送信する方法
ネットワーク アダプター (ネットワーク カード) の役割
ネットワーク アダプターは、通常ネットワーク カードと呼ばれるものです。ホストが外部 LAN と通信する場合、ネットワーク カードを介して適応されます。ホストとネットワーク カードはパラレル伝送を使用し、ネットワーク カードと LAN ホームはシリアル伝送を使用するため、ネットワーク カードは 2 つの間で適応する必要があります。
ネットワークカードのROM(読み取り専用メモリ)に、コンピュータのハードウェアアドレス、つまりMACアドレスを書き込みます。この MAC アドレスは非常に重要で、1 対 1 の通信を実現するための鍵となります。それについては後で話します。
CSMA/CD プロトコル
LAN は共有チャネルを使用するため、最初と 2 つのチャネルを制御する必要があります。ホストの 2 回目の送信。その後の問題。複数のホストが同時に情報を送信すると混乱が生じるためです。この問題を解決するよく知られた LAN プロトコル CSMA/CD (Carrier Sense Multiple Access/Collision Detection) があります。
プロトコルは非常に理解しやすいので、例を使って説明しましょう: 会場には、会議に出席している人が何人かいます。会議には司会者はなく、全員が自由に発言できます。ただし、発言できるのは、他の人が発言を終え、会場が静かになってからです。複数の人が同時に発言している場合、同時に発言している全員が発言を終了し、ランダムな時間を待ってから会場が静かであれば再度発言します。ここでランダムな時間である理由は簡単に理解できますが、固定時間であれば、同時に話した人は時間が経っても同じ時間に話します。
MAC アドレスによる 1 対 1 通信
上記の問題を解決した後、ホスト間で 1 対 1 通信がどのように行われるかを見てみましょう。前述したように、ネットワークカードには MAC アドレスが存在しており、MAC アドレスは
A0-A4-C2-4B-9F-56
で構成されています。各ネットワークカードの MAC アドレスは 48 ビット (6 バイト) で世界的に一意であり、ホスト間の 1 対 1 の通信に使用できます。
ローカル エリア ネットワークにおける通信の基本単位はデータ フレームです。 LAN 内のホスト A が同じ LAN 内の別のホスト B と通信したい場合、A が送信するデータ フレームのヘッダーに宛先アドレス (B の MAC アドレス) を書き込む必要があります。そうすれば、データ フレームはホスト B にブロードキャストされます。 LAN: すべてのホストは、他のホストのネットワーク カードがこのデータ フレームを受け入れると、その宛先アドレスが自分の MAC アドレスと一致するかどうかを確認し、一致しない場合は破棄します。このようにブロードキャスト特性を持ったLANは1対1の通信を実現します。
以上がLANで1対1通信を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。