一台主机发送 UDP 广播,但同一子网中的任何其他主机均未收到其 UDP 数据包。但是,其与其他主机的 TCP 通信正常。我使用 tcpdump 观察到了这种情况。
是不是和缓冲区太小有关?这个主机的最大缓冲区只有 131k,UDP 流量也挺低的。
答案1
有多少数据包丢失了?如果只有几个,那么需要记住的是,UDP 不提供交付、排序或重复保护的保证。所有错误检测和纠正都需要在应用层完成。
如果您根本收不到任何数据包,则应查找中间设备或过滤数据包的主机防火墙。一些不太复杂的 IDS 系统会中断 UDP 广播流量的爆发,以发起拒绝服务攻击。