繁体   English   中英

802.11n上的UDP单播-L2肯定ACK对Linux套接字发送缓冲区的影响

[英]UDP unicast over 802.11n - effect of L2 positive ACK on Linux socket send buffer

谁能解释当应用程序通过802.11 WiFi网络发送UDP单播数据报时其工作原理吗? 假定非阻塞UDP套接字。 具体而言,假设使用802.11n或802.11ac以及相当新的Linux内核(Android Lollipop或Debian稳定版)。 具体来说,如果发送方NIC没有收到任何发送MPDU的肯定应答,netstat中的send()调用是否返回-1,并且内核中的套接字发送队列显示为非空? NIC是否会重复发送相同的MPDU?

如果这不是合适的地方,请指向一个很好的参考资料,或者指向另一个StackExchange网站。

以我的理解。 Wifi(第2层)不关心UDP / TCP协议,对于wifi硬件,它只是一个框架,

演员会像这样.....

帧发送->不确认->重试->不确认->重试->不确认->重试...

重试几次后,wifi硬件将丢弃此帧并在NIC缓冲区中发送下一帧。 wifi驱动程序不应该始终保持此帧,因为在wifi中经常发生帧丢失或丢失的情况。

那么我们现在就来谈谈UDP网络协议,因为它是一个非阻塞的UDP套接字,UDP不会关心任何错误,它只会继续发送并继续发送和发送。

Android手机具有“ miracast”功能,它还使用UDP作为视频流协议并使用wifi传输数据。 也许您可以检查此功能的工作方式。

第2层(在这种情况下为Wi-Fi)对所使用的第3层协议(IP,IPX等)一无所知,而对使用的第4层协议(TCP,UDP,SPX等)则一无所知: -Fi不知道IP,也不知道UDP。 网络层的全部要点是它们彼此独立。 Wi-Fi可以承载任何第3层协议,而该协议又可以承载任何第4层协议,而该协议可以承载任何上层协议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM