DCF原理

首先,我们要讨论的是在non-satruated的环境下DCF的工作原理。也就是说,在一次成功的传输之后,某个站点并不一定立马有数据接入,可能等一段时间才有新数

首先,我们要讨论的是在non-satruated的环境下DCF的工作原理。也就是说,在一次成功的传输之后,某个站点并不一定立马有数据接入,可能等一段时间才有新数据成为HOLpacket。

站点要传送数据的必要条件是,先侦听到一段长为DIFS的空闲段。如果新接入数据的站点在DIFS段中某一点发现信道变忙,那么就延迟等待,直到侦听到DIFS长的空闲段。我认为,以上只会在一种情况下发生,也就是前段所述,某个站的数据没有在上次传送成功后立马接入,而是在过了一段时间再接入。刚接入时可能信道空闲,别的站都在侦听,但还没有侦听到DIFS时,别的站已经侦听到DIFS长的空闲了,这时别的站就可发送数据,那么这个站就必须延迟等待。另一方面,在侦听到DIFS的空闲段后,站点需要在传送数据前产生一个随机的退避时间,也就是backofftime。退避时间是slotted的,我们把每个solt的长度设为a(实际中a的长度由物理层信道特性决定),站点只可以在每个slot的开端传数据。在退避区间[0,CW-1]内随机选取。在第一次尝试传送时,CW=W,也就是最小争用窗口的尺寸(长度由物理层特性决定)。在每个空闲时隙后,退避时间计数器减1。一旦侦听到信道繁忙,计数器立即进入“Frozen”状态,停止计数。当再次侦听到信道中有长为DIFS的空闲段后,计数器重新接着上次未递减完的数值开始计数。当计数器为0时,站点立马传输数据。若此时有两个或以上的站点同时传送数据,那么传送就发送冲突。

接下来我们介绍在DCF协议中,站点是如何确认传送成功还是冲突的。在一次成功的传送之后&