contention-based & conention—free data service

来源:互联网 发布:淘宝网手机库计算比例 编辑:程序博客网 时间:2024/05/16 08:00

      802.11定义了两种交换帧的原子集合,DCF在contention-based中的方式和PCF在contention-free中的方式,为了实现contention-based MAC层.MAC会在active时处理MAC头,交换开始于一个station抓住了空闲的medium。

广播data frame 和广播management frame

      1.广播帧的地址在 address1 field。(不论是广播数据帧还是广播管理帧)

      2. 广播帧不被回复(ACK),不能分离(fragement),原子操作是单独帧,发送规则要根据contention-based的规则,在传送完成之后,所有在contention window中的station都要等待DIFS后随机退避,然后发送帧。

      3.广播帧没有ACK,所以服务质量略低,有些station会丢失广播帧,但也没有办法让MAC层重新发送广播帧。

Unicast 帧

     1.Unicast帧必须被确认(ACK),否则就被认为是丢失,帧会使用NAV去保持介质(medium)使得帧能够使用足够长的时间,设置一个大的NAV值,使得发送方能够在整个传送期间锁住介质(virtual carrier)确保帧的接收方能够回复确认(ACK),整个传输以ACK为结束点,在此之后介质就没有必要锁住,那么NAV就谁之为0.

     2.很多的高层网络 协议,例如IP,包含了碎片。网络碎片的弊病是最后在目的地要重新组装,如果有一片丢失了,整个包都要重新传送,802.11利用碎片来帮助避免干扰,无线干扰通常是短而高能量爆发并与AC power line同步,将一个包打碎,这样在传送时就可以避免伤害。碎片传输时设置第一个碎片的NAV为整个帧所需的NAV,而不是单个碎片所需的介质保留时间,之后的碎片的NAV为整个帧的NAV减去已过去的时间,依次递减,直到最后的碎片的NAV为0,在传输过程中,MORE fragements bit 会设置为1,整个帧有多少碎片是没有限制的,但帧的长度必须在PHY的限制之内。

        碎片方式在MAC中有参数去限制,大多数的网卡驱动都允许去修改这个参数,任何大于这个参数的帧都会被切为碎片然后以碎片的方式传送。网管可以更改这个碎片门槛从而影响网络的行为。高门槛意味着低消耗,但可能会引起更多的丢包和重传;低门槛使得消耗增加,但更加强壮。

    3.RTS和CTS  

        为了确保介质的保持和数据的不间断传输,station可以使用RTS|CTS交换,这个过程并不携带数据,但看起来很像刚开始的碎片交换,在RTS中的NAV允许以CTS为结尾,然后在CTS中NAV被设置为随后数据在通道中所需的时间。

        在RTS|CTS之间加入过不加入任何数据都可以。RTS|CTS可以在驱动软件中设置门槛,大于门槛的帧会被RTS|CTS交换,然后clear 介质(?),小于门槛的帧就直接传送(Frames larger than the threshold are preceded by an RTS/CTS exchange to clear the medium, while smaller frames are simply transmitted )。

     4.RTS|CTS with fragemention

         在实际中,RTS|CTS的交换通常伴随着碎片,碎片帧通常能后从RTS|CTS这一过程中受益,因为这样可以保证介质的使用不被打断,通常碎片门槛和RTS|CTS门槛的值一致。

     5.Powersaving Sequences

        在RF中最费电的部件是在突然收到信号要进行传输或接收。802station为了节省电源,通过关掉radio接收器,或间隔睡眠。在sleeping期间,AP会为sleeping station存储unicast 帧,这些帧在随后的BEACON中声明,为了得到这些帧,station发送PS-poll帧给ap。

        拿到ps-poll的ap可能立刻回复给station数据,也可能在他时间允许时。在某些情况下,ps-poll的回复要取决于在ap中802.11芯片的卖家的设计,有些芯片支持两种,也有支持一种的。802.11只要求一种支持即可,这两种方式都是标准。

       6.Immediate response

          Ap可能在立刻回复PS-poll。在一个短的间隔之后,ap可能传送这个帧。

PS-Poll帧中Duration域包含了AID可以使ap知道该帧请求的是那个station的数据,但是MAC要求所有接收Ps-poll的station都要有NAV更新,NAV的值隐含在Ps-poll中,这个值大约是SIFS+ACK。即使NAV的值不大到足以发送整个数据,AP也可以请求介质和所有station延迟传送。At the conclusion of the data frame, the NAV is updated to reflect the value in the header of the data frame(?)。 

 如果AP中存储的帧很大,它可能以碎片的方式传送。

        7.Deferred response

           Ap还可以回复一个简单的ACK,被称为延迟response(deferred response),使用延迟回复的原因之一是因为在AP上这个过程较为容易实现,因为ACK可以立即回复,数据需要排队传送。station利用ps-poll索要数据时必须处于active模式,在contention-based模式下,ap肯恩在任何时间发送帧,station在接收到beacon后检查TIM位,如果不为0,则station不会回到节电模式。

           图3-21描述:在图中station刚从节电模式返回到active模式,ap有数据给它,station发送ps-poll,但是ap没有发送response,而是一个 ACK,ap确认了station的请求,并允诺在未来某一时间给他发送帧,也许在发送数据前仍有几个原子交换(atomic frame exchanges),数据也有可能以碎片的方式传送。在接收数据帧后,station必须仍然保持awake知道beacon传送到,beacon帧只可表示出有没有帧给station,但不能表示有几个,一旦station发现没有自己的数据了,它就返回节电模式。

Multirate Support

     1.每个station都会维护一个operational rates列表,这个列表中的速率都是被station和BSS所支持的。一个BSS通话从那个对应一个ap,但更新的产品可能会支持在虚拟AP上的速率定制。在超过速率集合中的速率上是不能传送帧的。

     2.每个BSS必须维护一个basic rates 列表,就是每一种被BSS中支持的数据速率,每一组广播数据的传输速率必须是在BSS中所支持的,使得station能够正确的获得。

     3.RTS|CTS这样的控制帧的传输速率是一致的。 控制帧也有可能在向后兼容模式(protection)中使用,这种模式的使用是为了防止慢速率和快速率的交互出现问题。protection frame在发送时必须使用那个慢速率。

      4.unicast frame可以使用目的地支持的任何速率进行传输,速率的选择并不在802中规定。在contention-free中使用的frame可以用于多个目的,如果frame包含了ACK,那么frame是为之前的传送者准备的,而不是接受方,传送方必须确保frame的传送速率在接收方和发送方一致,ACK是为谁准备的。