
私が作成しているプログラムの 1 つでは、ネットワーク上のホストをいくつか見つける必要があります。ホストがいくつあるかはわかりませんが、ネットワークがクラス C よりも大きい可能性もあります。
誰かが MAC レイヤー ブロードキャストを調べることを勧めてくれたのですが、Google で検索してもあまり情報が見つかりません。これがどのように機能するか、またはこれに関する詳細情報をどこで見つけられるか説明してくれる人はいますか?
答え1
ネットワークには OSI モデルのレイヤーがあります。
- 物理的な
- データリンク(MAC層)
- ネットワーク(IP層)
- トランスポート(TCP 層)
- 等
データ リンク層とネットワーク層は、どちらもルーターによってセグメントに分割されます。つまり、レイヤー 2 または 3 のいずれかを使用して、VLAN (通常は同じサブネット内) 上のすべてのホストにブロードキャストできます。たとえば、同じ VLAN 上の 1 つのスイッチに 4 台のコンピューターが接続されており、IP 範囲が 192.168.1.0/24 の場合、次のいずれかの方法を使用して、4 台のコンピューターすべてにブロードキャストされるパケットを送信できます。
- レイヤー2: MACアドレスff:ff:ff:ff:ff:ffにフレームを送信します。
- レイヤー3: IPパケットをIPアドレス192.168.1.255に送信する
TCP または UDP を使用する予定の場合は、レイヤー 3 ブロードキャストを使用します。IP アドレスを持たないマシンに接続する予定の場合は、レイヤー 2 を使用します。
明確に言うと、ブロードキャスト パケットを使用して異なるサブネット上のホストを見つけることはできません。そのためには、中央サーバーまたはマルチキャストのようなものが必要であり、これはすべてのルーターでサポートされ、有効になっている必要があります。