- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我对网络编程尤其是 L2 还很陌生。
我正在使用 C 实现 LLDP(链路层发现协议(protocol))。我知道链路层上的多播适用于直接连接的 LAN 设备。我的目标是让它跨 VLAN 工作(例如:10.1.1.0 池中的设备应该能够接收 192.168.1.0 中的设备发送的 L2 多播数据包)。有没有可能的方法来实现这一点……或者我在这里遗漏了一些重要的东西?
LLDP 上的 Wireshark wiki 说:
LLDP Data Units (LLDPDUs) are sent to the destination MAC address 01:80:c2:00:00:0e. This address is defined as the "LLDP_Multicast" address. This address is defined within a range of addresses reserved by the IEEE for protocols that are to be constrained to an individual LAN. AN LLDPDU will not be forwarded by MAC bridges (e.g. switches) that conform to IEEE Std 802.1D-2004.
那么这是否意味着交换机或路由器只是忽略来自另一个子网中的另一个设备的链路层多播数据包?链路层多播是否仅适用于直接连接的设备?
数据链路层多播地址的范围是什么?
最佳答案
从您的问题来看,您似乎在混合使用 L2 和 L3 技术。如果您正在处理 L2 多播,IP 地址在那里没有任何意义。
至于问题:
1) 在谈论交换机时,您必须考虑交换机是否符合 802.1D 标准。一个哑交换机(隔壁商店的 la Generic 5 美元)会将您的 LLDP PDU 视为广播帧,并将其分发到除接收它的端口之外的所有其他端口。这是因为 MAC 地址以 01
开头,表示设置了组地址位。
符合 802.1D 的交换机不会将此帧转发到任何地方。它可能在本地处理它以了解发送它的设备。如果交换机启用了 LLDP 协议(protocol)支持,就会发生这种情况。
路由器将以与 802.1D 兼容交换机相同的方式运行。它不会转发 LLDP 帧,如果启用了 LLDP,可能会处理它。
PC 的作用与路由器相同。
2) 范围将取决于链接的端点。任何智能设备都会终止 LLDP 帧的旅程。哑交换机会将其视为广播帧。
关于c - 了解链路层多播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35389482/
对我来说遇到了一个棘手的问题......基于主干的路由 Controller 和期望的效果没有实现。 我需要仅根据 URL 的第一部分获取 URL,并根据任何一种可能性定向到路线。 JS routes
假设链路上同时存在弹性流量和非弹性流量(如图所示)。那么它们中的哪一个将主导链路(弹性或非弹性)。根据我的说法,这应该取决于如果非弹性流量作为弹性流量可以调整流量,那么流量可以根据它进行调整。所以任何
我是一名优秀的程序员,十分优秀!