1. 访问机制
CSMA/CA: Carrier Sense Multiple Access with Collision Avoidance
WiFi采用带冲突避免的载波监听多路访问机制来控制对传输媒介的访问
不同于以太网,WiFi没有明确的冲突碰撞检测机制
WiFi MAC层指定了如下规则来检测冲突碰撞
- 使用介质前,speaker必须指示将使用多久,通知其他潜在speakers在使用介质所需要等待的时间
- 直到前一个speaker指示的时间后,其他speaker才能使用介质
- 当收到肯定确认后,speaker才认为数据成功传输
- If two participants happen to start speaking at the same time, they are unaware they are speaking over each other.
The speakers determine they are speaking over each other because they do not receive confirmation that their voices were heard.
- 当发送的数据没有收到肯定确认时,speaker会等待一个随机时间然后再次使用介质发送没有成功的数据
当没有收到肯定确认时,WiFi MAC层认为检测到了碰撞
2. MAC子层功能
MAC子层包括DCF和PCF
DCF: Distributed Coordination Function
PCF: Point Coordination Function
2.1 载波监听(Carrier Sense)
STA有两种方法来判断当前介质是否空闲
- 检查PHY层,是否有carrier存在
- 使用虚拟carrier-sense功能,NAV(Network Allocation Vector )
NAV是MAC层提供的一种定时器,保存了其他STA使用介质的持续时间
其他STA发送的数据中带有的Duration大于所保存的时间时,STA就更新自己的NAV
当NAV为0并且PHY层指示当前介质可用时,STA才能发送数据
2.2 DCF
DCF是基于CSMA/CA的接入方法,尽可能避免冲突,可以自动高效地共享介质
DCF提供基本模式和RTS/CTS模式两种介质访问方式
利用竞争窗口的二进制指数回退机制协调多个STA对共享链路的访问,避免出现因争抢介质而无法通信的情况
其核心思想是利用二进制指数回退机制减轻数据分组的碰撞以及实现发生碰撞后对分组的有限重传控制
STA发送数据帧时,首先检测介质的状态
如果介质空闲且持续一个DI