为什么要等待DIFS来感知信道是否空闲?

5

站点等待以感知通道是否空闲DIFS,然后开始传输。我的问题是为什么要等待DIFS而不是仅等待SIFS。 如果感知SIFS而不是DIFS会引起什么问题和影响?

3个回答

6
简短回答:在检测信道是否为空时,SIFS时间过短。仅等待 SIFS 而非 DIFS 的影响是,MAC协议将无法检测忙碌的信道,从而导致碰撞频繁发生,信道效率低下。
详细回答:
  • SIFS 是什么?根据标准,SIFS(短间隔)用于分离DATAACK帧。接收DATA的站点(STA)将在发送ACK之前等待SIFS。它应尽可能地短,基本上只需解码帧、MAC处理和准备时间以发送ACK。对于802.11n/ac,SIFS = 16 微秒。
  • DIFS是什么?DIFS = SIFS + 2*slot_time。类似于SIFSslot_time取决于PHY。对于802.11n/ac,slot_time = 9 微秒。定义slot_time足够长,以考虑传播延迟等因素,从而使相邻STA能够检测到传输STA的前导码。

即便如此,如果一个STA仅在发送前等待SIFS,则无法检测到可能在同一时间由相邻STA发送的ACK帧,这将导致碰撞频繁发生,信道效率低下。

其他:
  • 如果一个slot_time足够长以检测到传输STA的前导码,为什么不等待SIFS + slot_time?这样做也可以,但实际上通常只有AP使用PIFS(比普通STA具有更高的访问优先级)。
  • 为什么要在发送前至少等待DIFS?既然DIFS足以确定信道是否繁忙,为什么不直接等待DIFS?这是因为可能有多个STA同时发送信道。如果每个STA都只等待DIFS然后立即发送 - 那就会发生另一个冲突。这就是为什么标准规定,如果STA发送信道空闲了DIFS,它可以立即传输。但是如果STA发送信道忙碌,则必须等待DIFS加上一个随机的退避时间以避免冲突。什么是随机的退避时间?那就去搜索802.11 CSMD/CA吧。
  • 参考类似的问题,涉及到SIFS以及其他信道访问时间的一些内容。

非常感谢您详细的回答。 - user2176346

0

假设三个站点正在感知繁忙的媒介。如果在t时刻媒介变为空闲状态,那么所有三个站点都无法意识到媒介在t时刻变为空闲状态。他们只有在时间(t+ DIFS)之后才会意识到。

这意味着当媒介变为空闲时,所有站点都需要等待DIFS持续时间才能意识到它。这是一种滞后,而不是等待期。


0

一个站点用于感知信道并发送RTS到另一个站点所需的时间。这个总时间被称为DIFS(DCF,帧间隔)。该站点首先感知到信道是否被其他站点使用,然后发送RTS(请求发送)。 如果信道空闲,则信道从省电模式唤醒以接受来自站点的RTS,因此在此过程中也会花费一些时间。


谢谢,但从答案中仍然不清楚为什么站点可以等待更短的SIFS而不是等待DIFS再开始传输。 - user2176346

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接