电台等待以检测信道是否空闲DIFS然后开始传输。我的问题是为什么只等待DIFS而不是SIFS。 什么问题,它可能导致的问题(SIFS而不是DIFS)?为什么要等待DIFS以检测信道是否空闲
2
A
回答
1
简短回答:SIFS
不足以检测通道是否确实空闲。等待SIFS
而不是DIFS
的含义是MAC协议将不再能够检测繁忙信道,因此可能会一直发生冲突,从而导致信道效率低下。
龙答:
- 什么是
SIFS
? standard定义了SIFS(短帧间空间)用于分离帧和帧。收到DATA
的台站(STA)在发送ACK
之前将等待SIFS
。它应该尽可能短,基本上就足以解码帧,MAC处理和准备时间以发送ACK
。对于802.11n/ac,SIFS
= 16微秒。 - 什么是
DIFS
?DIFS
=SIFS + 2*slot_time
。与SIFS
类似,slot_time
是PHY依赖性的。对于802.11n/ac,slot_time
= 9微秒。定义为足够长的时间以解释传播延迟,从而使相邻STA能够检测传送STA的前导码。
话虽如此,如果一个STA只是等待SIFS
发射之前,有没有办法可以检测有可能通过在完全相同的时间,邻居STA发送ACK
框架 - 这导致冲突和渠道效率低下。
其他:
- 如果一个
slot_time
在足够长的时间来检测发射STA的序言,为什么单单不等待SIFS + slot_time
?可以,但它实际上是PIFS
,通常仅由AP使用(具有比普通STA更高的访问优先级)。 - 为什么要等至少
DIFS
发送之前?鉴于DIFS
足以确定通道是否忙,为什么不等待DIFS
?这是因为可能有多个可能同时发送频道的STA。如果每个STA只是等待DIFS
然后立即发送 - 那么这是另一个冲突。这就是为什么标准要求如果STA发送信道空闲为DIFS
,它可以立即传输。但是如果STA发送信道繁忙,则必须等待DIFS
加上随机退避时间以避免冲突。什么是随机退避时间?时间到谷歌的802.11 CSMD /加州然后.. - 作为参考,有a similar Q处理
SIFS
并触及了其他渠道访问时间。
0
一个站点用于检测信道,然后发送RTS到另一个站点的时间。此总时间称为DIFS(DCF,帧间空间)。该站首次感知到该站未被其他站使用,然后发送RTS(请求发送)。 如果chanel闲置,那么频道从省电模式唤醒以接受来自电台的RTS,因此在这个过程中也花费了一些时间。
+0
谢谢,但从答案来看,仍然不清楚为什么等待DIFS,当站可能等待较少 - SIFS,然后开始传输。 – user2176346
相关问题
- 1. 为什么要等待window.onload?
- 2. 检测进程是否空闲
- 3. 如何检测EventWaitHandle是否在等待?
- 4. 检测android空闲
- 5. 什么是等待?
- 6. 为什么这些rspec测试“等待”?
- 7. 为什么我需要等待协程?
- 8. 为什么要等待退出?
- 9. 如何知道演员是否空闲
- 10. JS异步/等待 - 为什么等待需要异步?
- 11. 程序为什么要等待schedule()完成,但不等待scheduleWithFixedDelay()?
- 12. 检测IDataReader是否为空的最佳方法是什么?
- 13. XCTestCase:等待应用程序空闲
- 14. 检测RichTextBox是否为空
- 15. 是否有可能检测到Cortex M3上的DMA通道何时空闲?
- 16. 检查是否有什么“等待”函数的返回值
- 17. 如何等待缓冲通道(信号量)为空?
- 18. VB检测空闲时间
- 19. 如何检测Javascript空闲?
- 20. Flex:检测用户空闲?
- 21. 检测服务空闲
- 22. 系统空闲检测
- 23. 检查Windows Mobile设备是否空闲
- 24. Java:检查PC是否空闲
- 25. 为什么我不需要检查引用是否无效/空?
- 26. 802.11中DIFS(分布式帧间空间)的用途是什么?
- 27. 什么是等待setSoTimeout
- 28. 什么是“等待线程”?
- 29. C++管道:是否等待写入
- 30. 检测网络在Python中是否空闲
非常感谢您的详细解答。 – user2176346