Linux 无线技术全解析:从基础到应用
1. 块确认请求(BAR)
BAR 是一种控制数据包,其类型为块确认请求子类型(IEEE80211_STYPE_BACK_REQ)。BAR 数据包包含起始序列号(SSN),它是块中最旧的 MSDU 的序列号,该块需要被确认。接收方收到 BAR 后,会根据需要对 AMPDU 缓冲区进行重新排序。
发送 BAR 时,帧控制中的类型子字段为控制(IEEE80211_FTYPE_CTL),子类型子字段为块确认请求(IEEE80211_STYPE_BACK_REQ)。BAR 由 ieee80211_bar 结构体表示:
struct ieee80211_bar {
__le16 frame_control;
__le16 duration;
__u8 ra[6];
__u8 ta[6];
__le16 control;
__le16 start_seq_num;
} __packed;
( include/linux/ieee80211.h )
其中,RA 是接收方地址,TA 是发送方(发起方)地址。BAR 请求的控制字段包含 TID。
2. 块确认(Block Ack)
块确认有两种类型:立即块确认(Immediate Block Ack)和延迟块确认(Delayed Block Ack)。
两者的区别在于,使用延迟块确认时,BAR 请求本身首先会收到一个 ACK 响应
超级会员免费看
订阅专栏 解锁全文
1617

被折叠的 条评论
为什么被折叠?



