监听非广播UDP消息所需二层交换机选型问题咨询
技术解答
“由于二层交换机不识别相关地址信息,UDP消息会被转发到交换机的所有端口”这一说法完全错误,你也无法使用任意二层交换机实现跨端口监听单播UDP流量的需求。
二层交换机的转发逻辑说明
- 正常工作的二层交换机并非不识别地址,而是基于以太网MAC地址表实现精准转发:交换机运行过程中会自动学习每个接入端口对应的设备MAC地址,生成端口和MAC的映射表。
- 当交换机收到目的MAC明确的单播以太网帧(你的非广播UDP报文就封装在这类帧里)时,会直接查MAC地址表,仅把报文转发到目的MAC对应的唯一端口,不会发送到其他无关端口。
- 仅当交换机MAC地址表中没有对应目的MAC的映射条目时,才会把该单播帧临时泛洪到所有除入端口外的其他端口,但泛洪是临时状态,只要交换机学习到目的MAC的端口位置后,后续报文就会恢复单端口转发,完全无法稳定支持监听需求。
实现监听需求的交换机要求
你必须选购支持端口镜像(部分厂商称SPAN/端口监控)功能的管理型二层交换机,非管理型交换机无法实现该需求:
- 端口镜像功能可以把你指定的一个或多个业务端口(也就是两台通信设备接入的端口)的所有入站、出站流量,完整复制一份转发到你提前配置的镜像监听端口,你把第三台监听设备接入该镜像端口,就能稳定捕获两台设备之间的所有单播UDP报文,不需要修改原有通信设备的任何配置。
- 非管理型交换机不支持任何配置功能,自然没有端口镜像能力,你接入的第三台设备只能收到发往自己MAC的单播报文、广播报文、以及少数临时泛洪的单播报文,无法稳定拿到两台设备之间的UDP通信内容。
内容的提问来源于stack exchange,提问作者simon
相关产品推荐
相关产品推荐

