1

私はネットワークプログラミング、特にL2にかなり慣れていません。

C で LLDP(Link Layer Discovery Protocol) の実装に取り​​組んでいます。リンク層を介したマルチキャストが、直接接続された LAN デバイスで機能することを理解しています。私の目的は、VLAN 間で動作させることです (例: 10.1.1.0 プールのデバイスは、192.168.1.0 のデバイスから送信された L2 マルチキャスト パケットを受信できる必要があります)。これを達成する方法はありますか..またはここで重要なものが欠けていますか?

LLDP の Wireshark wiki は次のように述べています。

LLDP データ ユニット (LLDPDU) は、宛先 MAC アドレス01:80:c2:00:00:0eに送信されます。このアドレスは、「LLDP_Multicast」アドレスとして定義されます。このアドレスは、個々の LAN に制限されるプロトコル用に IEEE によって予約されたアドレスの範囲内で定義されます。AN LLDPDU は、IEEE Std 802.1D-2004 に準拠する MAC ブリッジ (スイッチなど) によって転送されません。

  1. つまり、スイッチまたはルーターは、別のサブネット内の別のデバイスからのリンク層マルチキャスト パケットを単に無視するということですか? リンク層を介したマルチキャストは、直接接続されたデバイスでのみ機能しますか?

  2. データリンク層マルチキャストアドレスの範囲は?

4

2 に答える 2

1

リンクローカル マルチキャストは、リンクから伝搬されません。そのため、別のリンクからのリンクローカル マルチキャストを無視するかしないかという問題が生じることはありません。

あるリンクで発生し、別のリンクで受信される LLDP 実装を作成することはできません。必要なことを行うには、まったく異なるプロトコルを作成する必要があり、この新しいプロトコルを認識するようにネットワーク デバイスのソフトウェアを変更する必要があります。これは、独自のソフトウェアを実行するネットワーク デバイスでは不可能です。

于 2016-02-14T08:21:35.147 に答える