lmz:
- 之前一直没有建立起包的优先级的概念。以为是在包的某个域设置优先级参数。包的优先级是包接入信道的优先级。
- 之前一直没有建立起帧间间隔的概念。帧与帧间为什么需要间隔:
- 收发态之间的相互转换是需要时间的
- 不同的包的优先级可以设置不同的帧间隔来达到
- 不同类型的包有不同的优先级。之前一直奇怪为什么节点侦听信道发现空闲后还得继续等待一段时间,原来无线网络中为了碰撞避免,包的类型比有线网络要多。比如普通包(DIFS),RTS包(DIFS),CTS包(SIFS),ACK包(SIFS)等。貌似应答的包比请求包的优先级要高。
- 最高的优先级是什么样的?节点在收发状态之间切换时需要时间的。这个时间被称为SIFS。如果一个包的帧间隔属性被设置为SIFS,那么这个包具有的优先级最高。
- 基本的 CSM A/CA 无 RTS/C TS 握手信号,采用两次握手的接入方式 。当发送节点检测到信道空闲 , 并且空闲时间达到一个 DIFS后 ,直接向接收节点发送数据报文。接收节点在接收到一个数据报文后, 等待一个 SIFS ,并回送一个ACK 报文进行确认 。如果 发送节点没有收到ACK ,那么将重新发送数据。如果信道忙, 或空闲时间持续不到一个 DIFS , 则发送节点任选一个随机退避时间,进入冲突避免状态。
SIFS
Short Interframe Space(SIFS):在802.11系列无线局域网中SIFS是固定值,SIFS是最小的帧间间隔,因此采用SIFS的节点具有访问无线链路的最高优先级。它等于节点从发送状态切换到接收状态并能正确解码所需要的时间,或者从接收状态转为发送状态所需要的时间,在SIFS过期后可能发送的数据包包括ACK、CTS帧,不同标准中规定的SIFS值不同。
Standard | SIFS(μs) |
IEEE 802.11b | 10 |
IEEE 802.11a | 16 |
IEEE 802.11g | 10 |
DIFS
DCF Interframe Space(DIFS):在DCF协议中,节点在开始发送数据之前需要监测信道是否空闲。如果信道已经空闲,则节点仍需等待DIFS段时间才开始发送数据;而如果在DIFS时间段内任一时刻信道被监测为忙,则节点不得不推迟它的数据发送。DIFS和SIFS间的计算关系如下:
DIFS = SIFS + (2 * Slot time)
Standard | Slot Time(µs) | DIFS(µs) |
IEEE 802.11b | 20 | 50 |
IEEE 802.11a | 9 | 34 |
IEEE 802.11g | 9 or 20 | 28 or 50 |
PIFS
PCF Interframe Space(PIFS):PCF使得AP等待PIFS而不是DIFS时间以访问信道,由于DIFS > PIFS > SIFS,因此AP总比普通节点具有更高的访问信道的优先级。
PIFS = SIFS + Slot time
Standard | Slot time(µs) | PIFS(µs) |
IEEE 802.11b | 20 | 30 |
IEEE 802.11a | 9 | 25 |
IEEE 802.11g | 9 or 20 | 19 or 30 |
EIFS
Extended Interframe Space(EIFS):在前一帧出错的情况下,发送节点不得不延迟EIFS而不是DIFS时间段后再发送下一帧。
EIFS = Transmission time of Ack frame at lowest basic rate + SIFS + DIFS