- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个嵌入式设备(源),它通过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模式运行。
最佳答案
看来这是一个众所周知的WiFi问题:
引用自http://www.wi-fiplanet.com/tutorials/article.php/3433451
The 802.11 (Wi-Fi) standards specify support for multicasting as part of asynchronous services. An 802.11 client station, such as a wireless laptop or PDA (not an access point), begins a multicast delivery by sending multicast packets in 802.11 unicast data frames directed to only the access point. The access point responds with an 802.11 acknowledgement frame sent to the source station if no errors are found in the data frame.
If the client sending the frame doesnt receive an acknowledgement, then the client will retransmit the frame. With multicasting, the leg of the data path from the wireless client to the access point includes transmission error recovery. The 802.11 protocols ensure reliability between stations in both infrastructure and ad hoc configurations when using unicast data frame transmissions.
After receiving the unicast data frame from the client, the access point transmits the data (that the originating client wants to multicast) as a multicast frame, which contains a group address as the destination for the intended recipients. Each of the destination stations can receive the frame; however, they do not respond with acknowledgements. As a result, multicasting doesnt ensure a complete, reliable flow of data.
The lack of acknowledgments with multicasting means that some of the data your application is sending may not make it to all of the destinations, and theres no indication of a successful reception. This may be okay, though, for some applications, especially ones where its okay to have gaps in data. For instance, the continual streaming of telemetry from a control valve monitor can likely miss status updates from time-to-time.
关于UDP广播/组播与单播行为(丢包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268546/
我有一个嵌入式设备(源),它通过UDP数据包以20毫秒(约330字节)的块大小发送(音频)数据流。因此,网络容量相当低,约为16kBps(实际上由于UDP/IP开销而有所增加)。该设备正在运行lwIP
在一家视频 session 公司实习时,数据包丢失的话题很多。维基百科声明如下: Packet loss is typically caused by network congestion. 我知道因
如何使用 Ryu 发送流条目来删除包?我从教程中学习了如何将包发送出流条目: 我定义 Action :actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FL
我搜索了很多关于这个主题的内容。 UDP 不可靠 UDP 无法发送大于 64kbs 或 65507 字节且没有 header 的数据包 MTU 通常为 1500 sysctl.confnet.core
我需要计算以下内容: 上传, 下载速度 丢包 抖动 各大洲服务器的延迟 本地和有关移动运营商的详细信息 谁能告诉我跟踪这些东西的最佳方法是什么? 我需要准确度才能高。 最佳答案 请找到获取延迟的代码。
我是一名优秀的程序员,十分优秀!