Linux 无线 : ACK implementation

标签 linux driver wireless wifi

一直在研究linux无线802.11驱动,突然跳出这个问题:

假设STA A向STA B发送一个正常的数据包。 基于802.11标准,如果STA B成功接收到来自STA A的数据包,则STA B将发送ACK。同时STA A将切换到接收状态以接收来自STA B的ACK。

我的问题是:

在 STA A 控制 ACK 接收从 tx 到 rx 的切换的代码在哪里? 是硬件做的,还是驱动做的?

如果有人能赐教,我将不胜感激。谢谢!

最佳答案

一般来说,ACK需要在SIFS标准中发送见(https://en.wikipedia.org/wiki/Short_Interframe_Space)。 SIFS 的实际值因协议(protocol)而异(例如,在上面的共享链接中可以看到 802.11b 仅 10uS 相似)。

从技术上讲,必须在 10uS 内接收数据包并发送确认。在软件中这样做是可能的,但不鼓励这样做,因为这种困难的时间依赖。因此,通常 802.11 ACK 由硬件生成。

关于Linux 无线 : ACK implementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18527866/

相关文章:

c - Libpcap radio 窃听数据包

linux - 无法将监控模式接口(interface)绑定(bind)到特定 channel

c - 为什么我的内核日志没有显示最新的输出?

linux - 如何让bash知道|是一个管道而不是一个字符串

linux - SED 替换匹配行,但如果它被注释掉则不会

c++ - 如何在旧版驱动程序中使用 PE header 进行用户修改后获取原始文件类型

windows - 为什么 Windows 和 Linux 托管服务之间的价格差异如此之大

java - 找不到适用于 jdbc :derby://localhost:1527/prosto 的合适驱动程序

java - Mongo ReflectionDBObject,将所有嵌入数组的元素映射到一个类;

iphone:gameKit 无法连接到非 Apple 设备?