用于避免工作在混合协调功能下的 IEEE802.00无线局域网中冲突的重叠网络分配矢量 本发明涉及一种无线介质访问控制(MAC)协议,尤其涉及一种新颖的MAC协议,该协议可被用于避免来自不同重叠基本服务组(OBSS)的站(STA)之间的冲突。
无线局域网(WLAN)的变体主要有两种:基于基础结构的和特设(ad hoc)类型的。在前一种网络中,通信通常只发生在称为站(STAi)和接入点(AP)的无线节点之间,而不像后一种网络那样直接发生在无线节点之间。因此,无线节点可以经由AP来交换数据。处于相同无线电覆盖范围内的站和AP被称为基本服务组(BSS)。两个邻近的基本服务组(BSS)相互接近并工作在相同信道上,这被称作重叠BSS,这时,由于来自不同重叠BSS的站之间可能出现冲突,因此很难支持所需要的服务质量(QoS)。
IEEE802.11标准为无线局域网规定了介质访问控制(MAC)和物理(PHY)特性。MAC层是一组协议,它负责维持使用共享介质时的顺序。IEEE 802.11标准是在国际标准ISO/TEC8802-11,“InformationTechnology-Telecommunications and information exchange areanetworks(信息技术-电信与信息交换区域网络)”1999版中被定义地,该标准在此被全部引入作为参考。
IEEE802.11提供了一种具有冲突避免的载波监听多路访问(CSMA/CA)协议,以及用作随机存取协议技术的轮询机制。在这种网络内部,如果一个发送单元希望发送一个分组,那么它可以发送一个短的请求发送(RTS)分组,其中包含着关于随后分组的持续时间的信息。如果接收单元接收到该RTS,那么它用一个短的清除发送(CTS)分组来响应。然后,发送节点发送其分组,当接收节点成功接收到该分组时,它会发送一个确认(ACK)分组。但是,当存在一个来自重叠BSS的隐藏发送站时将会出现问题。
目前,为了解决上述问题,IEEE802.11规定了一个网络分配矢量(NAV),并将其作为实际载波监听机制的一部分,这样,一个对帧发射机隐藏的STA不会在发射机单元占用信道的时候争夺该信道。所有接收了一个帧的STA都使用包含在该帧中的持续时间/ID值来为一个给定时间间隔设置它们的NAV,并将其与其物理载波监听机制一起使用来确定介质是否空闲,由此减少冲突概率。
尽管NAV看上去是一种似乎合理的解决方案,但是它存在一些缺点,如果两个或更多重叠BSS被排列在一起并工作在相同信道上,那么可能出现一些冲突。举例来说,图1显示了由接入点(AP)和多个站(STA)构成的WLAN的一个实例,在这里,冲突问题可能出现在来自不同BSS的STA之间。如图1所示,两个OBSS通过相应AP(AP1和AP2)的覆盖区来表示。STA1,1和STA1,2归属于AP1的BSS。如果AP1发送一个指示无争用周期(CFP)开始的信标,那么STA1,1和STA1,2将会把NAV设定为CFP的持续时间。但是超出AP1范围的STA2,1则不会。这意味着归属于BSS2的STA2,1最终可以发送帧,例如RTS/CTS,而这可能导致与站,也就是归属于其覆盖区内BSS1的STA1,1和STA1,2所发送或接收的帧相冲突。另外,当STA1,1或STA1,2从一个重叠BSS(来自AP2)接收到一个RTS或CF-END(+ACK)帧的时候将会出现问题。在这种情况下,根据当前标准的规定,如果在RTS之后没有接收到帧,那么STA1,1和STA1,2有可能会错误的复位NAV,并且尽管帧没有从它的AP被发送,但是一旦接收到CF-END(+ACK)帧,STA1,1和STA1,2将会错误的复位NAV。
因此,需要提供一种改进的机制,以避免来自重叠BSS中的站的可能冲突。
本发明提供了一种无线MAC协议,该协议通过避免与来自不同重叠BSS的站(STA)相冲突,从而有效利用一个无线LAN中的带宽。
根据本发明的一个方面,提供了一种避免位于两个或更多基本服务组(BSS)中并工作在相同信道上的多个站之间冲突的方法。该方法包括步骤:移动站接收一个帧,其中包括指示哪个基本服务单元(BSS)把帧发送到移动站的信息;当确定接收帧来自相同BSS时,移动站更新第一计数器;当确定接收帧来自一个重叠BSS时,移动站更新一个第二计数器;以及,当第一计数器和第二计数器空闲时,移动站争夺该介质,其中第一计数器根据接收帧中规定的持续时间而被更新,以确保来自其相应BSS的移动站不会干扰BSS内部其他移动站的传输。同时,第二计数器根据接收帧中规定的持续时间而被更新,以确保站不会干扰重叠BSS中的传输。如果接收帧是一个请求发送(RTS)帧,那么当第二计数器空闲时,一个清除发送(CTS)帧将被其相应BSS内部的移动站所发送。如果接收帧是一个来自AP的CF轮询帧,那么当第二计数器空闲时,一个数据帧将被其相应BSS内部的移动站所发送。如果接收帧是一个需要确认的任意类型的帧,那么不管计数器的值是什么,移动站都会发送一个ACK帧。
根据本发明的另一个方面,提供了一种操作无线局域网(WLAN)的方法,该网络具有至少一个包含一个接入点(AP)和多个移动站(STA)的基本服务组(BSS)。该方法包括步骤:由接入点向移动站发送一个轮询帧,该轮询帧包含指示该帧目的地址和哪个基本服务组将轮询帧发送到移动站的信息;保存指示哪个基本服务组把帧发送到移动站的信息,并将轮询帧的目的地址作为一个发送源来保存;根据轮询帧中规定的持续时间来更新移动站的第一计数器;由移动站接收一个帧,其中包含指示下一次传输持续时间的信息;如果接收帧的持续时间比被更新的第一计数器的持续时间长,则根据接收帧中指示的持续时间来更新移动站的第二计数器;以及,如果第一计数器和第二计数器都指示一个空闲状态,则移动站争夺该介质。如果第一计数器和第二计数器都指示一个空闲状态,则允许移动站争夺该介质。第一计数器根据接收帧中规定的持续时间而被更新,以确保该站不会干扰它自身BSS中的其余传输。第二计数器根据接收帧中规定的持续时间而被更新,以确保该站不会干扰重叠BSS中的站间传输。
根据本发明的另一个方面,提供了一种局域网,包括:多个移动站,每个移动站都具有一个第一计数器和一个第二计数器;一个与多个移动站进行通信的接入点;以及,在任意移动站单元接收到一个帧时更新第一计数器和第二计数器的装置,以确保移动站不会干扰重叠基本服务组(OBSS),其中如果第一计数器和第二计数器指示一个空闲状态时,则允许移动站争夺介质。移动站还包括使用请求发送(RTS)/清除发送(CTS)交换的装置,以便消除RTS/CTS交换之后对移动站及其相应AP之间传输的可能干扰。
本发明的另一个方面提供了一种机器可读介质,其上存储着代表指令序列的数据,用于避免来自包含两个或更多被布置并工作在相同信道上的基本服务组(BSS)的站(STA)冲突,当指令序列被一个处理器执行时,它使处理器:接收一个帧,该帧包含指示哪个基本服务单元把帧发送到移动站的信息;当接收帧被确定是来自相同BSS时,更新一个第一计数器;当接收帧被确定是来自一个重叠BSS时,更新一个第二计数器;以及,当第一计数器和第二计数器空闲时,移动站争夺该介质。第一计数器根据接收帧中规定的持续时间而被更新,以确保移动站不会干扰自身BSS中的其余传输。第二计数器根据接收帧中规定的持续时间而被更新,以确保该站不会干扰重叠BSS中的传输。
通过参考以下结合附图的详细描述,可以得到对本发明中方法和设备的更为全面的理解,其中:
图1是一个描述可以应用本发明实施例的无线网络的示意图;
图2显示的是一个对CFP和CP共存进行描述的超帧的结构;
图3是CFP期间RTS/CTS交换的一个时序图;
图4是对根据本发明一个实施例来确定是否有一个接收帧来自重叠BSS的操作步骤进行描述的流程图;
图5是对根据本发明一个实施例来确定是否有一个接收帧来自重叠BSS的操作步骤进行描述的流程图;以及,
图6是对根据本发明一个实施例而使站能够进行发送的不同情况进行描述的示意图。
在以下描述中,为了说明而不是限制,诸如特定结构、接口、方法等等细节将被阐明,以便提供对本发明的全面理解。为了简明起见,关于熟知设备、电路和方法的详细描述将被省略,以免不必要的细节使关于本发明的描述不清楚。
为了帮助理解本发明,以下定义将被使用:
“分布协调功能(DCF)”是协调功能的一个类别,其中,只要网络处于操作中,相同的协调功能逻辑在BSS中的每个站都是有效的。
“点协调功能(PCF)”是可能协调功能的一个类别,其中,在网络处于操作中的任何给定时间,协调功能逻辑都只在一个BSS中的一个站有效。
“无争用周期(CFP)”是一个时间间隔,在此期间,帧交换在没有BSS内部争用的情况下发生。
“争用周期(CP)”是BSS操作中的一个时间间隔,此时,使用具有避免冲突的载波监听多路访问算法(CSMA/CA)而在本地确定DCF和发送权。
“无争用周期重复间隔(CFPRI)”是由CFP和CP组成的超帧的持续时间。
“混合协调功能(HCF)”是一种协调功能,它组合了DCF和PCF两方面,以便提供对QoS功能所需要的介质访问控制(MAC)服务数据单位(MSDU)的选择性处理,并且允许站在CFP和CP期间使用一组统一的帧交换序列。
“传输时机(TXOP)”是某个站有权启动无线介质上的传输时的一个时间间隔。一个TXOP是由一个起始时间和一个最长时间来定义的。
“点协调功能(PCF)帧间间隔(PIFS)”是一个用于访问无线介质的优先等级,或者是任何帧传输之前的一个等待时间。
为了便于理解本发明,在此对IEEE802.11 MAC协议的常规方法进行描述。
参考图2,IEEE 802.11MAC子层定义了两种用于访问无线介质的功能:分布协调功能(DCF)和点协调功能(PCF)。DCF被用于根据先前描述的具有避免冲突的载波监听多路访问(CSMA/CA)机制来发送异步数据,而PCF将轮询机制用于等时服务。在PCF访问方案中,传输时间被分成超帧,其中每个超帧都包含一个无争用周期(CFP)和一个争用周期(CP)。在CFP中,PCF被用于访问介质,而DCF则在CP中被使用。CFP以一个信标帧开始,并以一个CF-END帧结束,这两个帧都是由AP发送的。信标帧包含有关CFP持续时间的信息,该信息被用于更新STA的网络分配矢量(NAV)以及网络同步信息。目标信标传输时间(TBTT)所指示的是AP试图发送信标的时间,因此TBTT在每个信标周期都重复。同样,CFPRI是由多个信标周期组成的。
如先前所描述的那样,在IEEE802.11中,网络分配矢量(NAV)被定义为虚拟载波监听机制的一部分,这样,对帧发射机隐藏的STA不会在发射机占用信道的时候争夺该信道。在CFP期间,由于每个站的NAV都设置为非零(非空闲),因此不存在对于介质的竞争。这时,被AP轮询的站只能越过NAV来进行发送。如果被轮询的STA具有任何数据,那么它会发送一个帧。如果在等待了一个点帧间间隔(PIFS)之后,AP没有从被轮询的STA收到响应,那么AP可以轮询下一个STA。为了对CFP和CP的操作,被提议的IEEE802.11e QoS标准的HCF与IEEE802.11-1999标准中的PCF都依赖于NAV,这样一来,所有与被AP中实施的HCF/HCSTA所轮询STA相不同的STA都保持静默,即使它们不能监听被轮询的STA。
图3显示了前段中所描述的CFP期间的RTS/CTS帧交换。如图3所示,AP1将一个RTS发送到STA1,1,STA1,1用一个CTS来对其做出响应。此后,除了预期的STA1,1之外,所有接收RTS的STA都为接收RTS中规定的持续时间而把它们的NAV设置为一种忙状态。也就是说,STA1,2将会使用被接收的RTS帧中的持续时间/ID值来设置NAV,并且不会干扰RTS/CTS交换之后STA1,1和AP1之间的传输。这时,在为预定时间间隔接收了RTS信号之后,如果STA1,2并未接收到任何CTS或数据帧,那么STA1,2将会把它的NAV复位为零(空闲)。然而,如果STA1,2从位于邻近或重叠BSS中的STA2,1接收到一个RTS而没有后续的CTS或数据,或者如果STA1,2从AP2接收到CF-End轮询,这时将会出现一个问题,STA1,2将会把它的NAV复位为零(空闲)。由于STA1,2通过不正确的将其NAV复位而对来自重叠BSS的帧产生反应,因此这将造成对围绕AP1的信号交换的干扰。此外,根据802.11 PCF机制,如果STA2,1具有任何在被AP2轮询之后就要发送的数据,那么不管其NAV值如何,STA2,1都会发送一个帧。STA1,1的这种传输有可能会在CFP期间与STA2,1邻近BSS的另一个传输冲突。
为了克服上述现有技术的问题,本发明将NAV与所发明的新计数器、重叠网络分配矢量(ONAV)结合使用,以免在无争用周期(CFP)或是由QoS(+)CF轮询所允许的无争用脉冲串(CFB)中与来自重叠基本服务组(BSS)的站(STA)冲突,该矢量在STA内部被来自OBSS的帧所更新。也就是说,每个站都保持并更新NAV和ONAV两组计数器,以便由此决定在其自身BSS内部发送一个帧。根据其自身BSS的介质占用,STA只能更新它们的NAV,同时使用ONAV的值来避免与OBSS冲突,并且通过与重叠STA共享介质来保护它们的BSS。
在实施例中,ONAV是用更新NAV的初始/现有惯用方法的规则来更新的,该规则与IEEE802.11 MAC中所阐述的规则相同,但有一个例外。这个例外就是ONAV是只用来自OBSS的帧所携带的持续时间/ID域的值更新的,而不用来自其自身BSS的帧。注意ONAV在HCF操作下只在CFP和CFB期间被更新。另外,ONAV要求,如果一个STA具有一个非零ONAV,那么STA不响应来自其AP的QoS(+)CF轮询。
现在将详细描述站根据其自身BSS中的介质占用来使用ONAV和更新NAV,以避免与OBSS冲突的规定。
首先,当保持和更新NAV以及ONAV时,确定帧是否来自一个邻近BSS的规定是必要的。由于某个站所接收的,包含RTS/CTS/ACK在内的帧并未包含BSS ID信息,因此根据本发明来确定这种信息的过程将参考图4和5而被说明。
参考图4,在步骤100,当HC QoS(+)CF轮询每个站时,更新过程被启动。在CP中接收了QoS(+)CF轮询之后,每个STA都用QoS(+)CF轮询加上DIPS所确认的TXOP持续时间来更新其NAV,并在步骤102中保存目的地址(DA)和QoS(+)CF轮询中携带的BSSID。DA值作为一个发射源(TXsrc)而被保存。在CFP中,STA可能不会更新其NAV,但是将会保存DA值(作为TXsrc)和QoS(+)CF轮询中携带的BSSID。
在接收了QoS(+)CF轮询之后,STA能够区分是否有任何帧来自其自身的BSS,或是不基于TXsrc信息。如果在步骤104,STA收到一个增加NAV值的具有持续时间/ID域的帧,则在步骤106中判定这个帧来自OBSS。结果,ONAV在步骤108被用来自接收帧的持续时间/ID域更新,而不是NAV。同时,如果可用,重叠BSSID将被保存。
如果STA在步骤104中收到一个不增加NAV值的具有持续时间/ID域的帧,那么该帧有可能是来自相同BSS。为了确定该帧是否来自相同BSS,如下所述,图5中描述的操作步骤将被执行。
在步骤110,STA将帧的接收分成两类:RTS帧和CTS/ACK。熟练技术人员将会注意到,RTS和CTS/ACK帧中并未包含BSSID字段。在步骤108中,如果接收帧是RTS,那么当RTS帧的源地址(SA)与步骤102中新近保存的TXsrc相同时,STA可以确定该帧来自相同BSS。也就是说,如果RTS帧的SA地址等于TXsrc,那么在步骤110中,该帧被认为来自相同BSS。否则它来自OBSS,并且在步骤116中,STA用接收帧的持续时间/ID域来更新ONAV。
同时,如果CTS/ACK帧在步骤110中被站所接收,那么当CTS/ACK帧的目的地址(DA)与步骤102中新近保存的TXsrc相同时,STA可以确定该帧来自相同BSS。也就是说,如果RTS帧的DA等于TXsrc,那么在步骤120中,该帧被认为是来自相同BSS。否则它来自OBSS,并且在步骤116中,STA更新ONAV。在这里,由于CTS/ACK没有包含SA信息,因此被使用的是DA,而不是SA。
最后,一旦确定该帧来自OBSS,那么在步骤118中,ONAV而不是NAV被接收帧的持续时间/ID域所更新,但这仅仅是在新ONAV的值大于当前ONAV的时候。
在判定STA接收的帧来自OBSS并更新了ONAV之后,当NAV和ONAV都指示介质为零或是空闲(也就是说,NAV=ONAV=0)时,每个STA都被允许在其自身BSS的内部进行发送,以免由于OBSS而冲突。然而存在特殊情况,在接收到QoS(+)CF轮询的时候,STA有可能发送也有可能不发送RTS帧和/或需要确认的那些类型的帧。图6显示了三种这样的情况,其中响应于一个控制信号,STA只有在满足了如下设定的某些情况时才被允许发送。
对非CFB争用周期(CP:由数字1指示的区域)来说,只有当STA的NAV和ONAV都被设置为零时,一个QSTA才可以用CTS来对RTS做出响应。如果STA收到一个QoS(+)CF轮询并且它的NAV和ONAV都等于零,要是QoS(+)CF轮询是用于该STA的,则允许该STA响应QoS(+)CF轮询。然后,STA根据QoS(+)CF轮询中指示的持续时间来设置NAV。然而,如果STA收到一个QoS(+)CF轮询,并且它的NAV或ONAV非零,那么即使该QoS(+)CF轮询是关于它自己的,STA也无法对其进行答复。在这里,STA将(NAV,ONAV)中的最大值保存在ONAV计数器中,但是使用QoS(+)CF轮询帧中规定的持续时间/ID域来设定NAV。
对无争用脉冲串(CFB:由数字2指示的区域)来说,STA将会响应一个QoS(+)CF轮询,并且只有在ONAV等于零时才会用CTS响应来自TxOP夹持器(holder)的RTS。需要注意的是,NAV在这个区域已被激活。
对无争用周期(CFP:数字3指示的区域)来说,在CFP计划开始时的TBTT,如果一个STA具有非零NAV,那么STA假定其NAV在争用周期中由一个OBSS设置。因此,STA会把(NAV,ONAV)中的最大值保存在ONAV计数器中,但是使用信标帧中规定的点11CFPMaxDuration/ID字段来设定NAV。在这里,STA将会对一个QoS(+)CF轮询做出响应,并且只有当ONAV为零时才会响应来自TxOP夹持器的RTS。
在以上所有三种情况中,一旦成功接收到需要确认的那些类型的帧,不管介质忙/闲状态怎样,STA都会产生一个ACK帧。
通过由此描述的用于减少重叠BSS所造成的相当多冲突的优选实施例,对本领域熟练技术人员来说,很明显某些优点已被实现。ONAV的概念是用来保护其BSS不受OBSS的干扰,以及在OBSS不需要保护的时候,通过不进行发送来公平对待OBSS。
虽然本发明的优选实施例已被说明并被描述,但是本领域技术人员将会理解,可以进行各种变化和修改,并且可以用等价物来替代其部件,而不脱离本发明的真正范围。另外,可以进行适于某个位置和本发明教导的多种修改,而不脱离本发明的中心范围。因此,本发明并不局限于作为预期执行本发明的最佳方式而被公开的特定实施例,而是包含落入附加权利要求范围中的所有实施例。