我有一个嵌入式设备(源),它通过UDP数据包以20毫秒(=约330字节)的块发送(音频)数据流 . 因此,网络容量相当低,约为16kBps(实际上由于UDP / IP开销而略多) . 设备运行lwIP堆栈(v1.3.2)并使用H&D Wireless的WiFi解决方案(HDG104,WiFi G模式)连接到WiFi网络 . 目的地(接收器)是Windows Vista PC,它也使用USB WiFi加密狗(WiFi G模式)连接到WiFi网络 . PC上运行的程序允许我监视丢弃的数据包的数量 . 我也在运行Wireshark来直接分析网络流量 . 此时,没有其他客户端通过网络主动发送数据 .
当我使用广播或多播发送数据时,许多数据包被丢弃,有时高达15% . 但是,当我切换到使用UDP单播时,丢弃的数据包数量可以忽略不计(<2%) .
使用UDP我希望丢弃数据包(在我的音频应用程序中这是正常的),但为什么我看到广播/多播和单播之间的性能有如此大的差异?
我的路由器是WRT54GS(FW v7.50.2),PC(接收器)使用的是Trendnet TEW-648UB网络适配器,在WiFi G模式下运行 .