我正在开发一个基于 UDP 和 802.11 作为链路层和物理层的客户端-服务器项目。在那里,客户端尝试探测无线通道中的一些数据包以测量通道状况。在我的客户端应用程序中设置传输速度并估计丢包率需要此函数。为了执行该功能,需要测量 IEEE 中发生的重传次数(拓扑为客户端 ----- ap ------ 服务器:其中 ----- 是无线信道) 802.11。在传输层,不会有任何重传,因为使用UDP,但如果无线信道不好(接收方MAC没有确认),IEEE802.11 Wi-Fi NIC将重传。到目前为止,我可以从 ~/proc/net/wireless 访问 RSSI,这给出了有关接收信号强度的信息,但不提供有关无线信道条件的信息。无线信道状况可以根据重传次数来估计。我应该如何测量 IEEE 802.11 层中的重传次数,比如说来自应用程序的 200 个数据包,在 IEEE 802.11 层中有多少次重传(来自客户端)?
或者是否有任何内核 hack 可以阻止 IEEE802.11 重传功能?我使用的是 ubuntu 18.04.1。