用于基于电力线载波的介质访问控制协议的信道访问方法

文档序号:7737304阅读:677来源:国知局
专利名称:用于基于电力线载波的介质访问控制协议的信道访问方法
技术领域
本发明涉及数据通信系统,更具体地说,涉及一种用于基于电力线载波的介质访问控制(MAC)协议的信道访问方法。
背景技术
近年来,整个世界目睹了对各种类型的通信的需求的爆炸性的增长并且可以预测这种需求在将来还会增加。人们期望着电力线载波(PLC)在提供家庭、SOHO以及企业企业环境下的通信方面起主要作用。使用PLC通信的主要的优点之一在于可以在已有的供电设线上进行通信。运行于传统的LAN缆线上的网络需要安装铜线或光缆,这通常要花费大量的人力和物力。然而,因为PLC网络使用建筑物内已有的电力线,所以PLC网络不需要任何专门的缆线安装。
另外,在电气设备工业中存在这样一种正在增加的趋势,即使先前独立的电气设备,例如传感器以及照明控制设备,能通过某种类型的通信网络相互通信。以前,传感器、开关以及控制设备使用点到点的连接通信。如今,制造商正将通信装置安装到这些设备中,以使它们可以通过被构建成一个或多个局域网(LAN)的某些类型的共享介质进行通信。目前有各种商品化的系统,电气设备的制造商可以将它们集成到其产品中以使得这些设备可以通过网络通信。一种让这些设备在其上通信的便利的介质就是电力线,这是因为为了获取电能,大部分设备都已经连接到了电线系统上。
一种这样的通信系统是CEBus系统,它最初是由Intellon企业开发的,并且已经被制定为EIA标准,称为EIA600标准。第二种广为人知的通信系统是由Echelon企业开发并商品化的LonWorks系统。CEBus和LonWorks系统都通过各种不同的介质通信而指定物理层和链路层装置,所述各种不同的介质包括电力线载波、同轴电缆、光缆、射频(RF)、红外(IR)以及双绞线对电缆。
通用的ISO OSI通信模型规定了7层通信协议栈,包括物理层、链路层或介质访问控制(MAC)层、网络层、传输层、会话层、表示层以及应用层。MAC层以及相关协议的主要作用是提供访问物理信道的有效方法,在这个例子中,所述的物理信道为电力线。在提供基本的信道访问的同时,MAC协议还理想地提供(1)用于不同种类的可能的连接的有效和可靠的主机分组和会话传输,该不同种类的可能的连接包括单播,多路广播和广播;(2)用于连接到网络的站点的有效编址方案;(3)用于站点分布范围广的大型网络的转发器功能,以及(4)服务质量的功能。
任何MAC协议的主要功能都是提供有效的信道访问方法,该方法能实现用于不同种类的可能的连接的有效和可靠的主机分组传输,所述的不同种类的可能的实现连接例如是单播、多路广播以及广播连接。
一种目前广泛使用的信道访问方案被称做载波侦听多路访问(CSMA),它用于以太LAN(IEEE标准802.3)中。一种更新的方案是带有冲突避免的载波侦听多路访问(CSMA/CA),它被用于无线LAN(IEEE标准802.11)中。它们通常用于这样的网络中,该网络包括共享介质,由此多个节点能够同时访问同一介质。所述的介质可以是任何可以同时被多个节点共享的物理介质,例如电缆、射频(RF)、电力线等等。
电力线网络的特点图1示出了一个共享网络的例子。用10来总体地表示的该网络包括多个通信节点12(节点A到F),它们连接到公共的物理介质14上。一个共享的介质的例子是家庭、办公室以及企业中可看到的交流电力线配线网。在居住环境中,相邻住户的组被通过室外布线连接在一起,这样形成了巨大的公共介质。由于相互间的感应耦合,所述的感应耦合在某些情况下允许在一个相中传输的信号感应到其他相中,因此,信号得以在广泛的区域中传播。注意,直到到达变压器为止,电力线介质始终被共享,在变压器中由于低的感应耦合,不使用信号耦合器就能向外传播信号。
共享的介质,例如电力线,通常其特征在于各种各样不同的信号传播条件。在同一个逻辑网络上的站点可能不能够自由地相互通信,这样就产生了隐藏节点的问题,由此,所述的介质的部分对于其他部分来说是不可见的。
基于电力线的网络的另一个特征是处于不同的逻辑网络上的站点可以共享同一个物理网络。在许多情况下,家庭、企业或其他建筑物包括多于一个的通信网络。每个通信网络可以包括多个节点,每个网络包括至少两个节点。在同一个网络上的所有节点执行相同的通信技术,并且能相互间通信,这样就允许相互协作(假设在所述的介质上的传播条件允许通信)。来自不同网络的节点能执行不同的通信技术,在这种情况下,它们不能相互间通信。另外,共享介质(诸如电力线网)的传播特性可以具有很大的变化以及不规律性。这导致了在两个给定的节点间的通信路径上产生了大的衰减变化。
因为相邻的住户的电力线网被通过电力传输网络物理地连接在一起,所以图1中的公共介质可以指单个住户的电力线网络或几个相邻的住户的电力线网络(诸如一栋建筑中的几套公寓)。
因此,整个物理网络是巨大的,可能包括大量的住宅或企业,并且不能被分成小的逻辑单元,诸如单个住宅。这通常是因为,相邻的住户被连线,以使处于同一区域的许多住宅或企业电气连接到设施线的同一相上。
电力线网络的另一个特征是信道衰减可能是非均衡的,举例来说在信号传播的相反方向上的衰减可能是不同的。换言之,在传输的两端上的站点所看到的阻抗是不同的。这可能在发送和接收过程中产生功率失配或其他的问题。
电力线网络的又一个特征是它们本质上是随意的(ad hoc),这意味着站点可以在任何时间加入或退出网络。在这种类型的网络中,没有在其他良好受控的网络,例如电信载波广域网(WAN)、公司网等等中所具有的系统管理员或安装人员。在这种网络中不进行校准测量并且每个终端用户独立于网络的其它用户、也不需要知道网络的其它用户地购买和安装设备。
电力线信道的特征还在于也以有极大的噪声和不可靠,这使得尽管近来出现了采用各种形式的阔频技术的先进的调制方案,电力线依然是一种很难在其中进行高速和远距离通信的介质。在任意的时刻,网络上都可能出现任意数量的产生噪声的设备,诸如白炽光调光器、荧光调光器或其他的电气设备,这些其它的电气设备利用产生噪声的半导体开关元件,例如三端双向可控硅开关元件、硅控整流器(SCR)、两端交流开关元件等。其他的制造噪声的设备包括电钻、压缩机等中的电动机等。
传统的介质访问控制(MAC)协议在下文中说明一些传统的MAC协议技术。因为电力线是分布式的环境,所以仅说明分布式的协议和方法。
已有多种公知的信道访问技术。这些方法中的大部分可以分为下面的两类(1)中央控制以及(2)分布式控制。在中央控制中,被称为信道主站点的单个站点控制所有对所述的信道的访问,并且给网络中的站点分配信道访问。在分布式控制中,只要遵守特定MAC协议中制定的访问规则,全部的站点都可以竞争所述的信道。
一些分布式的信道访问技术采用后退机制的形式,借此侦听到信道忙的站点会后退并且在稍后的时刻再尝试发送。后退的时间按随机数目个时隙选定,其中每个时隙表示以高的概率检测到信道上出现了信号的时间。这典型地是一段相对长的时间并且增加了协议的开销。
MAC协议也在网络中采用某种类型的站点编址,以便唯一地识别站点。通常,为此此目的,使用6字节的MAC地址。MAC地址被用于信道竞争分组内,并且其构成分组大小的很一大部分。例如,基本的信道竞争分组必须至少包含源MAC地址(6字节)以及目的地MAC地址(6字节)。在某些MAC控制分组中,例如信道竞争分组,MAC地址可以构成分组内容的超过90%。因为信道竞争分组是最可能在信道上碰撞的分组,所以它们被频繁地重新发送。这些发送和重新发送构成了占所有MAC层开销中的一大部分的开销。
广播传输是由单个站点发出并且以网络中的所有站点为目的地的传输。在处于逻辑网络中的所有站点都可以与所有其他站点相互连接的网络中,为了让所有的站点接收到所述的传输,使用单个广播传输就足够了。然而如果不是这样的情况,并且需要所有的站点都接收到所述的广播传输,那么必须使用更为精巧的广播传输技术。这样的传输方法通常被称为扩散,并且其是基于由网络上的许多站点(可能是全部的站点)重复发送最初的广播发送的。
然而,如果包括多个逻辑网络的物理网络非常大,简单的扩散将使得最初的发送被不必要地发送非常多的次数,这将引起整个物理网络的拥塞。通过预定一些逻辑网络并且仅让处于同一逻辑网络内的站点重复所述的最初的发送,有可能减少这样的发送的次数。这种方案的缺点是必须在MAC层中定义不同的逻辑网络,这在一些应用中是不实际的要求。
多路广播传输是由单个站点向预定的一组站点发送。因为管理来自众多站点的确认很复杂,所以大部分多路广播传输方法不支持多路广播传输的确认。一种解决方案是指定单个站点,该单个站点将返回确认。这个单个的确认可以被用于部分地确保多路广播传输没有在信道上发生碰撞。然而它不能确保在该多路广播组中的所有站点都正确地接收到了所述的发送。这样就需要一种MAC协议,该协议即便是在不好的信道条件下,也支持来自多路广播组内的所有的站点的确认。
所述的MAC协议应该还支持不同种类的业务。业务可以分为(1)实时业务,这是对传输时间敏感的业务,其中如果传输没有在给定的期间内完成,则该业务实际上已丢失并且可以被丢弃,以及(2)非实时业务,该业务几乎对传输时间不敏感,其中传输可以在从主机进行请求后的任意给定的时间期间内完成。
MAC层负责向上层协议提供足够的服务,这意味着高优先级的业务必须相对于低优先级的业务被给予对信道的优先访问。MAC协议的一个要求是在后退算法之上提供某种类型的信道访问优先级。使用连续的后退期间将考虑到基于每种业务类型的信道访问优先级。它的一个缺点是这将需要大的后退期间,由此每个优先级都需要同样的为整个网络计算出的后退的大小,这是因为不知道有多少站点在任意给定的时间以给定的优先级进行发送。这样大的后退期间将大大地增加MAC层的开销。
当不是在逻辑网络中的所有站点都能与同一个逻辑网络内的其他所有的站点通信时,MAC层应提供某种形式的转发器能力。这需要网络中的站点充当源和目的地站点间的中间站点。在选择源和目的地站点两者都能通信的适当站点时产生了一个问题。由于网络状况总是在变化,所以事先不知道网络状况,因此,做进行这样的选择是困难的。另外,在随意网络中,如电力线网络中,不知道在网络中任意给定时刻在线的站点,因而,管理这样的信息几乎是不可能的。
MAC协议也应该至少能够处理大到1500字节(相当于最大的以太网帧的大小)以及小到64字节(相当于最小的以太网帧的大小)或甚至更小的分组的发送。
一旦捕获了信道,简单的MAC协议将在单个发送中传输整个分组。这样做的缺点是可能需要非常长的时间来完成大的分组的传输,因此,将引起实时业务被延迟并且最终被丢弃。因此,需要MAC协议允许将原始分组分段成较小的部分,每次一个分段地进行发送,在每段之间,信道应当被释放,并且将允许其他可能有实时业务的站点进行发送。
在另一方面,因为报头的开销以及争用的开销是固定的并且不依赖于分组的大小,所以小尺寸的分组将大大地增加MAC层的开销。因此希望能够支持大的分组分段以及小的分组积聚,这样就允许进行数据的有效传输。
发明概述本发明是一种新而有用的介质访问控制(MAC)协议,该协议旨在用于有噪声的共享介质信道之上。本发明的MAC协议尤其适用于基于电力线的通信系统,但是它也可用于其他介质,例如无线、红外线、双绞对线等,并且也可用于其他的应用,例如网络访问。所述的MAC协议适用于在不同环境中的电力线上的通信,所述的环境包括家庭、办公室、企业、工厂等。所述的MAC协议提供一种有效的信道访问机制,该机制能为任何种类的连接,即单播、广播以及多路广播,实现有效且可靠的分组传输。
当使用所述的MAC协议以提供在利用共享介质的网络上的通信服务时,通过加入以下能力,所述的MAC协议与现有技术协议相比,提供了一些优点(1)用于CSMA/CA信道访问的有效后退机制,(2)有效且简洁的链路编址,所述的编址可以减少长MAC地址的开销,(3)用于广播传输的具有受控风险(controlled exposure)的扩散方案,(4)采用选择性的ACK的多路广播传输,(5)采用自适应后退方案的业务优先级划分的实现,(6)提供第二层转发器建立过程,以及(7)对短分之的多分组发送以及对长分之的分段发送。
所述的MAC协议包括一些机制,这些机制反映了电力线载波介质的特殊本质和独特的要求,其中包括用于显著提高PLC信道的服务质量以及吞吐量的手段。本发明的MAC协议包括下述的要素和特性,包括访问机制,该机制包括使用RTS/CTS机制的CSMA/CA技术,该要素和特性还包括物理的和虚拟的载波侦听功能以确保信道上的碰撞数量最少且发送站点和接收站点对信道的捕获。
所述的协议还包括帧和分组发送,所述的帧和分组发送包括对在一个突发中发送单个以太网分组的支持,对不用RTS/CTS机制的短分组传输的支持,对基于PLC的广播和多路广播传输的支持,丢弃超时的分组,对帧发送和对广播和多路广播帧的ARQ和部分的ARQ,以及对第二层转发器机制的支持。
所述的协议中还包括服务质量(QoS)的特性,所述的QoS的特性包括多级优先级级别、对信道捕获的最长时间的限制、基于优先级级别的多个竞争窗口以及无竞争期间,该无竞争期间允许站点在一段延长的期间内控制信道。
管理特性包括通过网络密钥分配实现的逻辑网络定义,使用专门的16位的链路地址编址而不是使用两个48位源和目的地MAC地址编址,支持根据信道的质量对速率和功率的自适应,以及提供由PHY层和MAC层更新的链路状态。
应该注意,本发明的许多方面都可以构建成如下的形式作为固件在嵌入设备中执行的软件对象、作为运行着,诸如Windows、UNIX、LINUX等操作系统的计算机系统上的软件应用程序的部分而执行的软件对象、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或是同等功能的分立的硬件部件。
因此,根据本发明提供了一种在与通信信道相连接的通信收发信机中访问信道的方法,所述的收发收发信机适合于提供载波侦听信号,所述的载波侦听信号包括在发送开始后相对短的时刻产生的快速载波检测(FCD),所述的FCD具有高的伪报警率并且指示发送可能正在开始,以及在发送开始后相对长的时刻产生的载波检测(CD)信号,所述的CD信号具有低的伪报警率并且指示发送正在开始,所述方法包括如下步骤在当前发送会话终止后建立信道竞争期间,所述的信道竞争期间被分成多个时隙,每个时隙的宽度大体上与FCD信号的时间相等,以与随机数目个时隙相等的后退值初始化后退计数器,当介质空闲时减少所述的后退计数器,当收到FCD信号后挂起所述的后退计数器,在一个CD时间内没有CD信号到达则继续减少后退计数器,当接收到CD信号时,将推迟发送到下一个竞争期间,并且当后退计数器超时后开始发送。
根据本发明还提供了一种在与通信信道相连的通信收发信机中访问信道的方法,所述的方法包括如下的步骤在当前发送会话结束后建立一个或多个竞争窗口,为每个竞争窗口分配有优先级并且被细分为多个后退时隙,推迟零个或多个竞争窗口,直到优先级与特定的发送的优先级对应的竞争窗口到达为止,用与随机数目个后退时隙相等的后退值初始化后退计数器,当介质空闲时减少后退计数器,并且在后退计数器超时后尝试预留信道。
根据本发明还提供了一种基于载波侦听多路访问(CSMA)的通信系统,其中在发送之前是竞争阶段,在竞争阶段中,一个或多个收发信机竞争对信道的访问,该一个或多个收发信机包括建立一个或多个竞争窗口的装置,为每个竞争窗口分配优先级,将每个竞争窗口细分为多个后退时隙的装置,其中在时隙内检测到的载波侦听信号可能指示该信道忙,适于使用后退计数器计数随机选择的与多个后退时隙相等的后退时间的后退装置,以及适于在后退计时器超时后尝试预留该信道并在成功地预留了信道后开始进行发送的预留装置。
根据本发明还提供了一种通信收发信机,所述的通信收发信机用于在基于载波侦听多路访问(CSMA)帧的通信网络上发送和接收,在该通信网络中以竞争帧间隙(CIFS)将帧的发送分隔开,一个或多个节点在CIFS期间竞争对网络的访问,所述的收发信机包括耦合电路,所述的耦合电路用于产生在网络上接收的接收信号,并且还用于发送传输信号到网络上;发射机,所述的发射机适于根据调制方案调制要发送的数据从而从中产生发送信号;接收机,所述的接收机适于按照调制方案解调收到的信号从而从中产生接收数据信号,所述的发射机和接收机还适于产生载波侦听信号,所述的载波侦听信号包括在发送开始后相对短的时刻产生的快速载波检测(FCD),它具有高的伪报警率并指示发送可能正在开始,所述的载波侦听信号还包括在发送开始后的相对长的时刻产生的载波检测(CD)信号,它具有低的伪报警率并指示发送正在开始;介质访问控制(MAC),所述的MAC包括适于如下方面的装置在当前传输会话终止后建立一个或多个竞争窗口,为每个竞争窗口分配一个优先级并且将其细分成多个后退时隙,推迟0或多个竞争窗口,直到优先级与特定发送的优先级对应的竞争窗口到来为止,用与随机数目个后退时隙相等的后退值初始化后退计数器,当介质空闲时减少所述的后退计数器,并且在后退计数器届满后尝试预留该信道,预留信道成功后,发送到所述的信道上;以及适于控制发射机、接收机以及MAC的操作、并提供在MAC和外部主机之间的接口的处理器。
本发明还提供了一种计算机可读存储介质,其上嵌入有计算机程序,用于使适当编程的系统在基于载波侦听多路访问(CSMA)帧的通信系统中访问信道,在该通信系统中,通过使用竞争帧间隙(CIFS)将帧的发送分隔开,当在系统上执行这种程序时,在所述的CIFS期间,一个或多个发射机通过执行下面的步骤竞争对所述的信道的访问在当前传输会话终止后建立一个或多个竞争窗口,每个竞争窗口分配有一个优先级,并且被细分为多个后退时隙;推迟0或多个竞争窗口,直到其优先级与特定发送的优先级对应的竞争窗口到达为止;用与随机数目个后退时隙相等的后退值初始化后退计数器;在所述的介质空闲时减少所述的后退计数器;在所述的后退计数器届满后,尝试预留所述的信道,并在成功地预留所述的信道后,发送到所述的信道上。
本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;为所述的一个或多个竞争窗口中的每一个分配一个不同的优先级;用与随机个数的后退时隙相等的后退值初始化后退计数器;并等待直到优先级与特定站点的发送的优先级对对应的竞争窗口到来,并且当所述的介质为空闲时,减少所述的后退计数器,并且在所述的后退计数器届满后尝试预留所述的通信信道。
本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;为所述的一个或多个竞争窗口中的每一个分配一个优先级;用与随机数目个后退时隙相等的后退值初始化后退计数器;等待直到优先级与特定站点的发送的优先级对应的竞争窗口到来,并在其到来后,当所述的介质为空闲时,减少所述的后退计数器;在后退计数器届满后尝试预留所述的信道;并且将竞争窗口的大小按照在所述的竞争窗口内竞争所述的通信信道的站点的数目的函数进行调节。
本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;按照当前竞争窗口的大小以及从站点被允许发送的时刻直到一个站点开始发送之间的实际时间t的函数估计所述网络上的站点的数目;按照所述网络中的站点数目的估计值的函数调节所述的一个或多个竞争窗口中的每一个的大小;并且每个站点将对所述通信信道的预留的尝试推迟到与特定发送相关联的竞争窗口到达为止。
本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤每个站点产生指示所述的通信信道忙的虚拟载波侦听信号;并且当所述的虚拟载波侦听信号指示当前所述的通信信道忙,且目前正在预留所述通信信道的站点确定将要更新与其会话相关联的预留计数器时,将包含更新的预留计数器时间的消息发送到该网络上。
本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤检测在所述的网络中的站点间建立的一个或多个会话;在每个站点中为特定站点检测到的每个会话维护预留计数器,所述的预留计数器保持预留时间;周期性地减少每个预留计数器;并且当具有最大的预留时间的预留计数器届满后,就认为所述的通信信道被释放。
本发明还提供了一种在包括多个站点的基于电力线载波的网络上访问通信信道的方法,所述的方法包括如下的步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;为所述的一个或多个竞争窗口中的每一个分配一个不同的优先级;每个站点侦听所述通信信道看是否有载波信号;每个要发送的站点选择随机的后退时间;每个站点等待,直到与其相关联的优先级与特定站点的发送的优先级对应的竞争窗口到来为止;在具有匹配的优先级的竞争窗口内,等待随机的后退时间;当所述的后退时间届满后,尝试预留所述的通信信道,并且如果检测到了载波信号,就暂停倒计时所述的后退时间。
本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;用与随机数目的后退时隙相等的后退值初始化后退计数器;等待知道与特定发送对应的竞争窗口的到来,并且其到来后,当所述的介质空闲时,减少所述的后退计数器;当所述的后退计数器届满后,尝试预留所述的通信信道;在进行了预定次数的预留所述通信信道的尝试失败后,宣布存在隐藏的站点;并且由此增加所述的后退时隙的宽度并且重复初始化、等待并尝试预留所述的通信信道的步骤。
根据本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤将发送会话分段成多个帧;建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;用与随机个数的后退时隙相等的后退值初始化后退计数器;等待直到与特定发送对应的竞争窗口的到来,并且在其到来后,当所述的介质空闲时,减少所述的后退计数器;当所述的后退计数器届满后,尝试预留所述的信道一段时间,这段时间要足以发送所述的多个帧;从发送站点向接收站点发送所述的多个帧;并且接收站点向所述的发送站点发送ACK应答,所述的ACK应答包括多个ACK位,每个ACK位指示是否要重发所述的帧中的一个帧。
本发明还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤按照下式估计在通信网络上的站点的数目Nestimated=CWt-1]]>其中t的期望值为E[t]=CWN+1]]>其中CW代表一个或多个竞争窗口中的每一个,每个站点在CW内随机地选择后退时隙,N是在任意给定的时刻竞争所述的信道的站点的数目,t是从站点被允许进行发送的时刻到站点开始发送的实际时间,E(t)是t的期望值。
本发明进还提供了一种在包含多个站点的网络上访问通信信道的方法,所述的方法包括如下的步骤从发送站点向接收站点发送消息;接收站点在收到消息后发送确认消息;当发送站点没有收到所述的确认消息,则发送站点向所述的接收站点发送请求确认(RA)消息;并且当发送站点一直没有收到所述的确认消息,则发送站点反复地向所述的接收站点发送RA消息。


仅仅通过示例的方式,在此参考附图对本发明进行说明,其中图1是表示了包含多个连接到共享介质,例如电力线上的站点的实例通信系统的框图;图2是表示了在每个连接到网络上的站点中所实现的通信协议栈的参考模型的示意图;图3是表示了本发明的MAC协议的数据流模型的示意图;图4是表示了本发明的MAC协议的广播传输过程的示意图;图5是表示了本发明的MAC协议的多路广播传输过程的示意图;图6是表示了本发明的MAC协议的长会话传输(LST)的传输过程的示意图;图7是表示了本发明的MAC协议的短会话传输(SST)的传输过程的示意图;图8是表示了本发明的MAC协议的分段过程的示意图;图9是表示了本发明的MAC协议的ACK过程的示意图;图10是表示了本发明的MAC协议的ACK方法的流程图;图11是表示了图10中说明的ACK过程中的等待ACK方法部分的流程图;图12是表示了图10中说明的ACK过程中的请求ACK方法部分的流程图;图13是表示了本发明的MAC协议的转发器建立过程的示意图;图14是表示了本发明的基于源站点的转发器方法的流程图;
图15是表示了本发明的基于转发器的转发器方法的流程图;图16是表示了本发明的等待LASR/RSR方法的流程图;图17是表示了本发明的等待建立连接方法的流程图;图18是表示了被划分为多个具有优先级的竞争窗口的竞争期间的示意图;图19是表示了本发明的被划分为多个CD和FCD时隙的的竞争窗口的示意图;图20A和20B是表示了本发明的MAC协议的后退机制的流程图;图21是表示了信道开销时间相对于竞争窗口大小的示意图;图22是表示了本发明的RTS/CTS过程的示意图;图23是表示了本发明的RTS方法的流程图;图24是表示了本发明的CTS方法的流程图;图25是表示了被插入到发送会话之间的帧间隙的示意图;图26是表示了控制帧的结构的示意图;图27是表示了RTS、CTS以及RA控制帧的净负荷结构的示意图;图28是表示了ACK帧格式的示意图;图29是表示了数据帧结构的示意图;图30是表示了数据帧的净负荷报头部分的结构的示意图;图31是表示了数据帧的帧信息字段的结构的示意图;图32是表示了多路广播的数据帧的净负荷结构的示意图;图33是表示了发送站点的链路地址分配方法的流程图;图34是表示了接收站点的链路地址分配方法的流程图;图35是表示了管理帧结构的示意图;图36是表示了管理帧的报头部分结构的示意图;图37是表示了管理帧中的管理项部分的结构的示意图;图38是表示了适于执行本发明的MAC协议机制的示例性站点的框图;
表示法和定义以下的表示法和定义在整个文件中适用术语 定义ACK确认ACK_Time ACK发送时间Ack_Timeout直到接收到ACK分组的时间ARQ地址请求ASIC 专用集成电路Backoff后退的当前值Backoff_SlotTime 用于检测CD的时间BID广播消息的ID号BID_Length 广播ID的长度BLA广播链路地址CD 载波检测CIFS 竞争帧间隙CPU中央处理单元CQ 信道质量CRC循环冗余校验CS 载波侦听CSMA/CD带有碰撞检测的载波侦听多路存取CSMA/CA带有碰撞避免的载波侦听多路存取CSR信道探测请求CT 有条件发送CTS清除发送CTS_Time CTS发送时间CTS_Time_Meas 接收机测量出的CTS帧的发送时间CTS_timeout直到接收到CTS分组的时间CW 当前的后退范围值
CWMax 后退范围的最大值CWMin 后退范围的最小值Data_Retries_Threshold 每个会话最多的重试DATA_Time 数据发送时间Data_Time_Meas 接收机测量出的数据帧的发送时间DataNum会话中的数据帧的个数DataNumRetries 数据帧重试的次数DC 数据/控制DecPLRThreshold减少PLR状态门限Destination正在接收的节点DR 双倍速率DSP数字信号处理Dup_Add重复地址,具有相同的逻辑地址的两个节点Dup_Add_discovered 通知网络存在Dup_Add的情形EC 建立连接EC_Timeout 直到接收到了EC帧的时间EEROM 电可控只读存储器EIA电子工业协会EIFS 扩展的帧间隙EOP分组末尾ErrDataFrame 从特定链路上接收到的错误的数据帧的个数当由于缺少资源而造成发送失败时站点等待的FALL_Time 时间FC 失败的连接FCD快速载波检测FCS帧校验序列FPGA 现场可编程门阵列Fragment 帧中所封装的主机数据中的一部分
FragmentLength最大分段长度FragmentThreshold 处于分段的主机分组的长度限制Frame MAC层中的数据单元,包括所有的报头、主机数据以及所有报尾帧类型FT帧类型GSR 收集的统计信息响应GT全局时间GTUR 全局时间更新响应HTL 重新发送至成功的跳数IEEE 电气和电子工程师协会IncPLRThreshold 增加PLR状态门限IncPLRThreshold 增加PLR状态门限IR红外ISO 国际标准化组织LA链路地址LAN 局域网LAS 链路地址设置LASR 链路地址设置响应LASR_Timeout 直到接收到LASR分组的时间LastPL在特定链路中使用的最后一个功率水平LastRate 在特定链路中使用的最后一个速率LDA 链路目的地地址LE链路存在LE_interval 链路存在的时间间隔LER 链路存在响应LSA 链路源地址LST 长会话传输MAC 介质访问控制
MAX_HTL用于传输广播消息的最大跳数MAX_LAS_retriesLAS重试的总数MAX_LASR_retries LASR重试的总数MAX_Length 主机分组的最大长度MAX_Packet_Timeout 重新发送至成功的时间的计时器的最大值Max_RA_retries 带有后退范围增量的RA重试的总数(默认为3)MAX_Repeater_retries 转发器过程重试的总数MAX_RS_retries RS重试的总数带有后退范围增量的RTS重试的总数(默认为Max_RTS_retries3)MaxFrangNumber 会话中最大的分段数目MD 管理数据MDAMAC目的地地址MLA多播链路地址MSAMAC源地址MT 管理类型NACK 否定的确认NeighboredStations 用于收集统计信息的数据库NID网络ID用于减少功率水平或增加速率的良好会话的数NumOfGoodSessions目NumOfNodes_Iheard 站点收听到正在发送的帧的数目OD 初始目的地ODM初始目的地MACOS 初始源OSI开放系统链OSM初始源MACPacket 从主机接收到的数据
Packet_Timeout 用于发送主机分组的最大时间PBX专用小型交换机Pending_Timeout持有分组的一部分的时限PL 功率水平PLC电力线载波PLDecThreshold 功率水平减少门限PLIncThreshold 功率水平增加门限PLR功率水平和速率PLR State 功率水平和速率状态PLR_interval 功率水平和速率间隔PrErrData 错误数据帧的百分比QoS服务质量R 速率RA 请求ACKRA_First_retries 没有增加后退范围的RA重试的总数(默认为1)RA_TimeRA发送时间RAM随机存取存储器RC 转发器取消RCR转发器取消转发器RDecThreshold 速率减少门限RES预留用于确定何时会话中断的每个ACK的重试次Retries_Threshold 数RF 射频RGTU 请求全局时间更新RIFS 响应帧间隙RIncThreshold 速率增加门限ROM只读存储器RS 转发器搜索
RSA 转发器搜索确认RSA_Timeout 直到接收到RSC分组的时间RSR 转发器搜索响应RSR_Timeout 直到接收到RSR帧的时间RTS 请求发送RTS_First_retries 没有增加后退范围的RTS重试的总数(默认为1)RTS_Time RTS发送时间RTS_Transmit_Time RTS帧发送的时间SCR 可控硅整流器SCR 源取消转发器Session_Timeout 捕获信道的最大时间SessionCapacity 用字节表示的会话的数据容量SID 会话IDSOHO 小办公室/家庭办公室SoundInterval 信道发声间隔Source正在发送的节点SST 短会话传输StatInterval 统计间隔SymbolTime以μs表示的码元持续的时间Syne_Interval 同步间隔Sync_Interval 连续的滴答之间的时间TotalNumOfRecData 从特定链路上接收到的数据帧的总数Transmission Session 按顺序发送最多8个帧只用一个确认TSE 时间戳存在TTT 滴答时间VCS 虚拟载波侦听VLA 有效的链路地址WAN 广域网
具体实施例方式
本发明是一种基于电力线载波(PLC)的介质访问控制(MAC)协议,该协议旨在用于多种不同类型的通信系统和信道之上。本发明的MAC协议尤其适用于有噪声的共享介质信道,例如基于电力线载波的通信系统。所述的协议也可以用于其他的介质,例如无线、红外线、双绞线对等,也可用于其他的应用,例如网络访问。所述的MAC协议适用于在不同环境中的电力线上进行通信,包括家庭、办公室、企业、工厂等等。所述的MAC协议提供了一种有效的信道访问机制,它为任何类型的连接实现有效而可靠的分组发送,该任何类型的连接例如为单播、广播以及多路广播。
1功能的说明1.1体系结构下面给出本发明的MAC层和链路层协议的体系结构的一般性说明,其后是对所述的协议的各种特征和规定的功能性的更加详细的说明。应当注意,虽然在基于电力线载波的网络环境中说明所述的MAC协议,但是并不打算将本发明的范围进行限制,由此本领域的技术人员也可以将本发明的原理应用于其他类型的网络以及介质之上。
1.1.1网络参考模型图2中示出了在每个连接到网络上的站点中实现的通信协议栈的参考模型的示意图。所述的模型包括两个通信设备22,设备A和设备B。每个设备包括连接到共享介质20(诸如电力线)上的PHY或物理层28由本发明的MAC协议提供的链路层26以及表示包括应用层在内的上层24的方框。如带双向箭头的点划线所表示的,设备A的协议栈中的每个不同的层与设备B的协议栈中相应的层通信。应当注意,上层可以实现(1)在外部的主计算设备中,而MAC和PHY层在为电力线载波通信而优化的调制解调器装置中,或(2)与PHY和MAC层实现在同一设备中。
PHY层提供了与介质的物理接口,诸如与电力线的电气接口。MAC层为主机提供分组传输业务,并用做发送由主机提供的数据用以在网络上通信。主机和MAC之间的协议提供了由主机指示给MAC的对优先级最大的延迟以及安全要求的规定。MAC提供接收到的数据并且向主机回报状态,这些状态例如检测到了链路失败事件。
1.1.2数据流程图3给出了表示本发明的MAC协议的数据流模型的示意图。将要发送的数据分组30被从主机发送到MAC。数据分组的长度被限制为MaxLength字节。在操作中,从主机接收的数据分组被分成多个数据段32。然后,这些数据段被封装上报头和帧控制序列(FCS)以形成MAC帧34。最多为MaxFragNumber个帧被结合在一起以形成会话,由此组成会话的全部帧被按顺序地连续地发送到接收站点。
1.2信道访问机制信道访问方法可以分为如下的两类(1)中央控制,其中单个被称作为信道主站点的站点控制所有对信道的访问,并且为网络中的站点分配信道访问,以及(2)分布式控制,其中所有的站点在遵守在此处说明的MAC协议中定义的访问规则的同时竞争信道。
本发明的MAC的基本的访问方法是被称为具有随机后退的带有碰撞避免的载波侦听多路访问(CSMA/CA)的分布式访问方法。所述的载波侦听(CS)机制包括由PHY层执行的物理的CS以及由MAC层执行的虚拟CS(VCS)。为了发送,站点选择随机的后退间隔,当在分配给待发送的特定优先级类别的帧的竞争窗口期间,介质空闲时,减少所述随机的后退间隔。仅在分配给等于或小于等待发送的帧的优先级的优先级类别的竞争窗口期间站点减少其后退间隔。当后退计时器届满,如果信道仍然空闲,则发送站点就进行发送。如果载波侦听机制确定出介质忙,则发送被推迟到当前发送之后进行。在下面6.3节中更详细地说明后退机制。
1.3确定虚拟载波侦听网络上的所有站点都实现虚拟的载波侦听机制以便提高信道访问的可靠性。基于包含在接收到的帧中的信息设置虚拟载波侦听。站点使用包含在接收到的帧内的信息来计算出介质的预料的忙状态,然后将其作为虚拟载波侦听存储。总是以来自正确接收到的控制帧(诸如RTS,CTS,ACK,RA)或专用的数据帧中的信息更新所述的虚拟载波侦听。为了支持同一时刻发生的多个发送,每个站点都基于每个发送维护虚拟载波侦听,由此将总的虚拟载波侦听设置为最大。
1.4逻辑网络逻辑网络是站点的子集,这些子集就象它们是唯一的独立的网络那样运行。通过加密和网络密钥管理提供逻辑网络的定义。每个逻辑网络都有其自己的网络密钥,这些网络密钥起分离属于不同逻辑网络的信息的作用。一个站点可以属于若干逻辑网络。
1.4.1站点编址使用16位的链路地址(LA)定义两个站点间的链路,这样就可以实现接近216条链路。LA用于识别参与传输的发射机和接收机。主机使用48位MAC地址从MAC层请求发送。为了支持48位的MAC地址,MAC层创建并维护表,该表表示了MAC地址和LA地址间的映射,下文的8.1节对此有更详细的说明。
1.5分组传输由MAC层从主机层接收的分之经过分段和结合以形成MAC帧和MAC会话。分段是将主机分组分成较小的数据段的过程,而结合是将若干分组组成一个会话的过程。在接收站点,每个会话被拆开并进行分段重组以便恢复原始的主机分组。分组只有在被完全还原后才被传给主机。
使用两个参数实现对每个主机分组的管理(1)分组超时,它确定了该分组有效传输的最大时间,以及(2)优先级等级。分组传输过程在下文第2节中有更详细的说明。
1.6会话传输所述的MAC协议适于支持两种会话格式长会话传输(LST)格式以及短会话传输(SST)格式。LST类型的会话由若干数据帧构成,这些数据帧在信道被捕获后,使用RTS/CTS机制发送。SST类型的会话由单个数据帧构成,该单个数据帧不用预先获得信道就可以发送。如果分组的大小不超过FragmentThreshold数目个字节,就可以使用SST会话类型,否则就使用LST类型的会话。会话的传输时间由SessionTimeout参数加以定界。会话传输在下文第3节中有更详细的说明。
1.7第二层转发器当源站点在与其目的地进行通信或尝试进行通信时检测到了链路失败时,它可以使用中间站点向目的地传输帧。所述的中间站点起第二层转发器的作用。在操作中,包括重新发送在内的整个会话被发送到转发器站点,然后由此在新的会话中将数据帧传输到目的地站点。在下文的第4节中有对第二层转发器以及转发器建立过程的更详细的说明。
1.8广播和多路广播本发明的MAC协议适于支持带有部分ACK或全部ACK选项的广播和多路广播传输。在假设上层用于过滤该传输的情况下,使用广播传输传送广播和多路广播的MAC地址。多路广播传输由具体地识别包括在多路广播组中的站点而开始。
1.9服务质量所述的MAC协议适于支持使用多个优先级类别,所述的优先级类别限制任何一个站点可以捕获信道的最长时间(例如会话超时SessionTimeout参数)。按照本发明,在被分配给等于或小于正在等待发送的帧的优先级的优先级类别的竞争窗口期间,站点竞争对信道的控制。依据后退算法执行信道竞争过程,所述的后退算法在下面的第6节中更加详细地说明。
1.10网络同步所述的MAC协议还提供了用于网络同步的机制。所述的网络同步方案在网络中的相邻站点间提供好于8μsec的同步。所述的同步方案在下文的第5节以及2001年3月30提交的、申请号09/822,939的、名称为“Distributed Synchronization Mechanism For Shared CommunicationsMedia Based Networks”的、具有同一受让人的美国申请中有更详细的说明,该美国申请作为整体在此引入作为参考。
1.11信道检测所述的MAC协议还提供了用于确定网络上的站点间的链路质量的信道检测机制。通过发送信道检测类型的管理帧,站点发出信道检测请求。接收站点以信道检测响应管理帧应答,该信道探测响应管理帧包括如下的参数1.由PHY层为最后的发送(也就是信道检测请求)计算出的信道质量(CQ)。
2.最后的StatInterval的平均信道质量(AvgCQ)。
3.在最后的StatInterval秒内发送的数据帧的数目(CS_TxDataCounter),该数据帧包括重新发送。
4.在最后的StatInterval秒内重新发送的受损的数据帧的数目(CS_TxFailCounter)。
1.12统计收集按照所述的MAC协议,每个站点收集内部存储的传输和网络的统计信息。可以收集和存储下面的一个或多个数据每条链路上失败的数据帧的百分比;每个优先级发送的数据帧的数目;每个优先级接收到的数据帧的数目;包括每个源的平均信道质量的平均信道质量表;用于向每个站点传输的数据速率;以及到每个站点的传输功率水平。另外,站点可以使用管理帧从任何其他站点请求统计信息,这在下文的9.3.2.12节中有更详细的说明。
2分组传输2.1传输类型所述的MAC协议适于支持三种类型的传输单播、广播和多路广播。下面的节给出每种传输类型的详细说明。
2.1.1单播传输主机通过目的地站点的以太网MAC地址向MAC层指定单播传输。MAC层将MAC地址转换成链路地址(LA),并且在后续的发送中使用所述的LA。下文中的8.1节有对链路地址管理的更详细的说明。按照会话传输过程传输分组,第3节中有对会话传输过程更加详细的说明。
2.1.2广播传输使用扩散算法实现广播传输,由此网络中的每个站点都重复所述的广播传输。这确保每个非孤立的站点都将接收到所述的传输。在包含大量的站点和逻辑网络的网络中,消息将传播到整个介质。按照本发明,将对广播传输的传播进行控制,以允许仅将传输限定在有限的站点区域内。注意,由于在电力线载波共享介质中的传输信号的有限范围,该网络可以被看成是重叠的小区的集合。
使用从一个站点到另一个站点所需的跳数的概念实现了对广播传输的传播的控制。跳数定义为在消息被认为已到达目的地站点之前,源站点及中间站点传送该消息的最小次数。下面说明了MAC协议的扩散广播算法。这个可配置的算法使用跳数参数来限制广播消息的重新发送。
主机使用以太网广播MAC地址指定广播传输。使用广播链路地址所述的以太网广播MAC地址。广播会话包括计数器、指示消息被重新发送的最大次数的重新发送至成功的跳数(hops to live)(HTL)字段,以及唯一地识别所述消息的唯一广播ID号(BID)。广播消息还包括源的MAC地址用来允许必要时的响应。
初始的发送站点将HTL计数器初始化为所请求的跳数的最大值。每个接收到该广播消息的站点将HTL字段减1,并且如果HTL字段不为0且该站点没有预先发送该消息,则重新发送该消息,一个站点仅重新发送一次广播消息。初始发送站点按照要进行消息广播的所需区域初始化HTL字段。每个站点在重新发送之前减少计数器的值。所述的消息被一跳接一跳的重新发送,直到HTL字段为0为止,这将结束重新发送过程。例如,为1的HTL初始值指示不重新发送,为2的HTL初始值指示允许重新发送1次。
使用BID字段防止产生死循环,由于死循环已经被广播的消息总是被相同的站点收听并重新广播。初始源从一列未使用的BID值中随机地选择BID的值。站点每次接收到广播消息,它就更新在其列表中的未使用的BID值。使用过的BID值在被释放并被加入所述的未使用列表之前被作为BID_Timeout保存。
使用带有广播链路地址的RTS帧实现对信道的竞争,该帧之后紧跟着广播传输。每个重新发送都使用比额定的后退长的后退。源站点在初始化广播消息之前,使用RTS帧捕获链路。使用广播链路地址发送RTS,其后是广播消息。
图4示出了表示对于有5个站点的网络的本发明MAC协议的广播传输过程的图。站点1发送初始广播会话,并按照该会话的期望的传播区域定义HTL字段。使用RTS和BLA LA为来自站点1的广播分组的初始发送预留信道。
站点2和3收听到初始的广播会话,它们仅将该会话重新发送一次。站点4和5收听到该重新发送,它们随后重新发送该会话。注意,不论从其他站点接收到了几次该会话,每个站点仅将该会话发送一次。每个站点将复制的会话丢弃。
2.1.3带有选择性确认的多路广播传输按照本发明的MAC协议,可以实现多路广播传输,其中源站点可以指定多路广播组中的哪些站点被要求确认该消息。源站点可以从多路广播组中按照任何期望的组合选择0个或多个站点。源站点指定以ACK进行应答的站点,这是通过设置该消息中的位完成的。所述的消息还指示站点应答的顺序。
主机通过下面的两种方式之一指定多路广播传输(1)使用以太网多路广播MAC地址(0x01005Exxxxxx)或(2)使用定义了属于多播组的多个站点(例如16个)的预定多路广播组。以太网多播MAC地址被转换成广播传输并按上述2.1.2节所述进行传输。
按如下所述处理预定多路广播组传输。站点使用RTS分组以开始对信道的竞争。使用多路广播链路地址(MLA)发送RTS分组。多路广播消息紧随RTS分组之后。多路广播消息包括组内的站点的数目、这些站点的链路地址以及对每个站点来说表示是否需要ACK的位。每个被要求发送ACK的站点按照地址列表中规定的顺序发送ACK而不进行后退或竞争。
在下文的2.1.3节中有对多路广播帧结构的更详细的说明。
图5示出了表示对于有5个站点的实例网络的本发明MAC协议的多路广播传输过程的图。站点1首先使用RTS/MLA分组为初始的多播传输以及任何被要求的ACK的持续时间预留信道。被传输的多路广播消息包括站点2、3、4、5的链路地址。该消息还包括ACK请求位,在这个实例中该ACK请求位被设置为‘1011’,它指示对站点2、4和5有ACK要求,但对站点3没有ACK要求。在接收到多路广播消息后,站点2、4与5以和在初始多路广播消息中相同的顺序发送其ACK分组。
2.2分组超时按照本发明,主机可以向MAC层指示Packet_Timeout,它定义为从主机传送来的包的所允许的最大传输延迟。当Packet_Timeout届满后,分组被丢弃而不被传输。在主机未指定Packet_Timeout的情况下,使用Default_Packet_Timeout。
当从主机接收到分组时,将Packet_Timeout计时器初始化为Packet_Timeout的值。当到达了预定的门限Packet_Timeout_Threshold后,将分组的优先级增加1,并且使用新的优先级尝试竞争信道。当Packet_Timeout计时器届满后,传输被放弃,分组被丢弃。在下文的3.6节中有对传输放弃的更加详细的说明。注意,当使用转发器时,源站点在会话中的第一个数据帧中发送所述的Packet_Timeout计时器的值。
2.3分组的时间戳为了支持更高层的同步,本发明的MAC协议适于使发送和接收站点能同步到传输的MAC的时钟。为了实现这种同步,当有要求时,发射机的MAC增加时间戳t1到该分组中。接收机MAC在将分组发送给发射机站点之前加入其时间戳到分组中。发射机站点和接收机站点都访问它们各自的MAC层的时钟。接收机主机使用下式计算在发射机MAC的时间t=t1-(r2-r1)其中t是在发射机的当前时间;t1是由发射机加入分组中的时间戳;r1是接收机指示何时接收到该分组的时间戳;r2是在接收机的当前时间;
注意,时间戳t1是由发射机如7.5.2.1节所说明的那样加入到净负荷的报头中。
3会话传输在所述的MAC协议中,在会话过程中实现站点间的通信。会话定义为两个站点间逻辑上相关的传输,包括竞争帧(RTS/CTS)、数据帧、ACK帧以及任何后续的重试。从主机处接收的分组被结合在一起以形成会话。所述的结合过程考虑到将大的分组分段成多个会话或是将若干小的分组积聚到一个会话。
所支持的两种类型的传输的会话包括长会话传输(LST)和短会话传输(SST)。在LST会话中,使用RTS/CTS机制捕获并预留信道。所述的会话包括最多到MaxFragNumber的可变大小的帧,并且包括任何所需的重新发送。在SST会话中,在会话传输之前不预留信道。所述的会话包含单个帧,并且包括任何需要的重新发送。分段的大小被限定为FragmentThreshold字节。所述的两种会话传输过程在下面的节中有更详细的说明。
在发射机,来自主机的输入数据分组被首先结合为一个或多个MAC会话,并且随后被分段成多个MAC帧。在接收机,从PHY层接收到的数据被首先从MAC帧中进行分段重组以创建会话,并且随后被拆成将被传输给主机的分组。下面的节中给出了对结合/拆开以及分段和分段重组过程的详细的说明。
3.1长会话传输(LST)过程LST会话可最多包括MaxFragNumber个数据帧,由此使用下面详述的过程确定每个帧的大小。图6示出了表示本发明的MAC协议的长会话传输(LST)传输过程的图。在竞争帧间隙(CIFS)和后退间隔之后,使用RTS控制帧实现对信道的访问。响应帧间隙(RIFS)将发送的分组分隔开。在CTS分组后,发送数据帧,其后跟着ACK和任何的重新发送。
3.2短会话传输(SST)过程可以使用SST会话以传输最多FragmentThreshold字节的会话。SST会话包括单个帧(包括任何所需的重新发送)。以与RTS分组相同的方式使用SST分组以竞争信道,并且在发生碰撞的情况下,使用与RTS帧相同的后退过程。
SST会话可以使用也可以不使用ACK或重新发送过程。如果不使用ACK,那么就没有重新发送,并且在传输完所述的单个帧后结束会话。注意,在这样的情况下不可能检测碰撞。图7示出了表示本发明的MAC协议的短会话传输(SST)传输过程的图。在CIFS和后退间隔之后,使用数据帧本身实现信道访问。RIFS把发送的分组分隔开。在所述的数据帧之后,目的地用ACK应答,然后是任何的重新发送以及后续的ACK。
3.3结合和拆开按照本发明,结合过程定义为将分组合并及划分为多个MAC会话的过程。拆开是相反的过程,并且被定义为从接收到的会话中提取分组。输入的分组被划分为最长到SessionCapacity的数据会话,Session Capacity是由每个站点按下文所述计算出的参数。
仅对有相同目的地站点的分组进行结合。所述会话的优先级与会话中的分组的最低优先级相等。在每个会话的开头处加上会话报头。所述的会话报头用于拆开该会话并且包含与该会话以及会话中的分组有关的信息。接收机为每个源站点提供至少一个进行中的(pending)分组的支持。在接收到带有新分组的新会话,并且接收机没有足够的资源处理该输入的分组的情况下,所述的进行中的(pending)分组被丢弃。
3.3.1会话容量计算使用下式计算该SessionCapacity(SC)参数SC=m×n (2)其中n=min(8,QMinFL)--(3)]]>m=min(FL1,FL2) (4)mFL1=max(MinFL,CQFL) (5) 并且其中
n是会话中的数据帧的个数(例如,最多8个);m是分段中的字节数;FL是分段的长度;MinFL是最小的分段大小(例如,64个字节-每个数据帧带有20%的开销);Q是排队等待的数据字节的个数;Session_Timeout是最长会话期间;CQFL是分段的长度,它通过模拟为信道质量的函数来确定并且表示为受损的数据帧的百分比;会话容量计算由各个站点周期性地进行,或是当主机请求时进行。
3.3.2会话报头会话报头包含在每个会话的第一个帧内,并且它是长度可变的字段,其包括会话信息字段,其后是如下表1所说明的各种任选字段表1会话报头字段格式字段 位数 定义Session Information8 会话信息BID16 广播IDHTL8 重新发送至成功的跳数NumOfPacket8 会话中分组的个数Packet Length 116 会话中分组#1的长度···Packet Length N16 会话中分组#N的长度注意,BID和HTL字段仅用于广播传输,其中传输类型为0b11。NumOfPacket和Packet Length字段仅当LSHV等于1时使用。
3.3.2.1会话信息字段下表2中说明了会话信息字段。
表2会话信息字段格式字段 位号 位数 定义 值发射机发送‘00’,接收机丢弃除了PV 6-7 2 协议版本带有‘00’的分组之外的所有分组结合ID,在每个结合后,按每个LAAID 3-5 3 结合ID顺序地循环SID 1-2 2 会话ID会话ID,按每个结合顺序地循环0会话在分组结束时结束EOP 0 1 分组结束1会话在分组的中间结束注意,SID起检测有丢失的会话的作用。如果检测到了有丢失的会话,就丢弃不完整的分组。EOP位表示会话中的最后一个分组是完整的,并且可以不用等待下一个会话就发送给主机。使用EOP位避免了需要等待下一个会话以确定当前会话中的分组是否结束了。
3.4分段和分段重组本发明的MAC协议包括两种不同的用于有效的分组传输的机制(1)将长的分组分段成较短的数据分段,以确保信道不会被非常长时间地捕获,这将有碍于足够的服务质量,以及(2)将一些小的分组合并成较大的数据块。将分组分段或合并到单个MAC会话(例如,单个无间断传输)被称为结合过程。拆开定义为从接收到的会话中提取包。
将MAC会话分成多个MAC帧的过程称为分段,图3表示了该过程。MAC帧中每个数据分段的大小使用上面说明的公式4计算。将MAC层的数据帧重新合并成单个主机分组的过程定义为分段重组。分段重组在每个接收站点上实现。
结合过程的第一个步骤是将从主机接收到的分组排队。然后,使用上面的公式2确定每个会话的大小,也称作会话容量。然后将排在队列中的内容分段成数据分段,每个分段都封装上帧头和帧尾。
图8更详细地示出了表示本发明的MAC协议的分段过程的图。组成会话的多个分组被分段成多个数据帧。从主机分组的分段中产生的数据帧被作为会话中的顺序发送而发送,该顺序发送即数据帧0、数据帧1等等。
每个MAC帧包括帧(MAC)头,数据分段以及帧检验序列(FCS)。帧头包含帧索引,帧索引使得会话能从其构成会话的数据帧中进行分段重组。帧被按照最低的帧号到最高的帧号的顺序发送,其中帧号值从0开始并且为每个连续的分段增加1。
3.5重新发送过程所述的MAC协议支持ACK和NACK响应作为其重新发送过程的部分。基于每个会话发送ACK和NACK响应。如果会话包括若干帧,那么响应包括关于会话中每个帧的信息。只要目的地站点接收到了指示要求响应的会话,它就发送适当的响应。响应的发送开始于会话中最后一帧结束后的最多一个RIFS期间,而不管由VCS指示的介质忙状态。如果没有接收到会话的最后一帧,则接收站点将不发送ACK响应。
使用ACK控制帧发送ACK或NACK响应,ACK控制帧的结构在7.4.2.2节中有更详细的说明。ACK帧中的AckBits字段表示会话中的哪个数据帧出错。每位表示对一个数据帧的ACK,每个ACK最多响应8帧。值“1”表示负的ACK或NACK,而值“0”表示正的ACK。
如果接收机确定发生了会话中断(在下面的3.6节中说明),或者它从一个站点接收到了请求ACK(RA),该站点不是该接收机所参与的最后一个会话的发射机,那么就发送ACK_FAIL帧,而不是发送ACK帧。
发送站点在接收到ARQ响应后所采取的动作列于下面的表3。
表3传输响应解决方案响应 解释 动作(s)ACK 传输成功结束会话NACK 在接收机检测到出重新发送所需的数据帧错帧,表示坏信道无或搀杂 推断的碰撞或可能等待ACK_Timeout的时间,并且假设ACK 是坏的信道 所有的帧都没有接收到,发送带有计算出的预留的RA帧无对RA的 推断的碰撞或可能将RA重新发送RA_retries次,然后响应 是坏的信道 发送RA_Fail以释放信道图9示出了表示本发明的MAC协议的ACK过程以及重新发送过程的图。ACK响应时间开始于最后一个数据帧的传输结束之后。在这个实例中,目的地节点发送‘00010001’的ACK位,这表示对数据帧0和4的NACK。作为响应,源节点向目的地重新发送数据帧0和4。在重新发送后的ACK响应时间内,目的地节点发送剩余的ACK,例如,‘00000000’,它向源节点指示重新发送过程中没有错误。
注意,使用最大的功率水平以及最小的发送速率发送ACK帧,以便实现源正确接收的高可靠性。广播传输不使用MAC层重新发送。多路广播传输使用MAC层重新发送,包括上文中2.1.3节中说明的来自多路广播组中的每个站点的ACK/NACK响应。
在图10中示出了表示本发明的MAC协议的ACK方法的流程图。在最后一个分段被发送(步骤40)后,源等待ACK(步骤42)。接收到ACK或是ACK_FAIL(步骤44)。如果接收到了ACK,则将AckBits与0进行比较(步骤48)并且如果相等(也就是正的ACK),所述的方法成功地终止。如果AckBits不是0(也就是NACK),则重新发送受损的分段(步骤50),并且所述的方法继续到步骤42。如果接收到了ACK_FAIL(步骤44),则宣布链路失败(步骤46)。
在图11中示出了表示图10中说明的ACK过程中的等待ACK方法部分的流程图。首先,将timeout变量设置为当前的ACK_timeout值(步骤60)。如果timeout没有届满(步骤62),就减少timeout(步骤64),否则执行发送请求ACK方法(步骤68)。如果成功地接收到了ACK(步骤66),则所述的方法终止,否则过程重复步骤62。
在图12中示出了表示图10中说明的ACK过程中的请求ACK(RA)方法部分的流程图。通常,在传输完会话中的最后一个帧后,发送站点等待接收ACK帧(步骤70)。如果发送站点没有接收到ACK帧,则发送站点向接收站点重复发送ACK请求(请求ACK或RA帧)并且等待接收ACK。在发送完RA帧后,发送站点检查重试的次数是否超过了预定的最大值(max_RA_retries)(步骤72)。如果超过了,就宣布发送失败并且结束所述的方法(步骤76)。如果没有超过,发送站点向接收站点发送RA帧(步骤74),然后该站点等待ACK(步骤70)。将这些步骤重复max_RA_retries次或是直到接收到了ACK。
3.6会话中断在成功地捕获了信道后,接收机可以响应表4中列出的以下事件中断会话。
表4会话中断事件事件说明行动/职责会话超时 在Session_Timeout 在发送NACK之前,接收机确定发送剩余的之后信道不可捕获 帧所需的时间是否将超过Session_Timeout。
如果是,其发送ACK_Fail,表示会话中断。
发射机可通过再次捕获信道重试发送该会话。
分组超时 分组在MAC层被延 在发送之前,发射机确定发送剩余的帧所需迟的时间超过了 的时间是否超过了分组超时。如果是,其丢Packet_Timeout 弃该分组。
太多的重 在发送NACK之前,接收机检查是否超过了新发送Data_Retries_Threshold,如果是,其发送ACK_Fail,表示该会话中断。发射机应激活PLR过程(见8.2节),在此之后,它可以通过再次捕获信道重试发送该会话。
当站点确定信道可以被释放时,站点也可以发送介质释放消息。可以当虚拟载波侦听(VCS)信号指示通信信道忙(即通过预留计算),但是不再需要该信道或该信道不能再使用时确定可以释放信道。介质释放消息包括预留计数器的更新的值。发送所述的介质释放消息的站点可以(1)如果发现当前的预留时间太短,则增加预留计数器的值;(2)如果发现当前的预留时间太长,则减少预留计数器的值;或者(3)如果发现不再需要该信道或是该信道不能使用时,将预留计数器的值设置为0以便立即释放信道。
4.第二层转发器所述的MAC协议适于提供第二层转发,第二层转发是指使用中间站点传输的会话。所述的中间站点称为转发器。转发器从初始源站点(OS)接收整个会话,并且随后将会话重新发送到初始的目的地站点(OD)。
在图13中示出了表示本发明的MAC协议的转发器建立过程的示意图。当源站点检测到链路失败时,它可以通过发送称为转发器搜索(RS)管理帧的专门的广播消息,来搜索作为第二层转发器的站点,所述的转发器搜索(RS)管理帧的重新发送至成功的跳数被设置为0。所述的RS消息包括对转发器站点的质量要求。接收RS帧并且能够以高于或等于RS帧中定义的要求的功率水平和速率(PLR)状态与初始源(OS)站点以及初始目的地(OD)站点连接的站点可以以转发器搜索响应(RSR)帧进行响应。
OS等待长为Repeater_Search_Timeout的时间后,选择以最高PLR状态响应的站点作为其转发器。在下面的步骤中,建立两个新的链路地址(LA)一个在OS和转发器之间,一个在转发器和OD之间。这些LA仅用于通过所述的转发器的会话传输。OS向选出的转发器发送在OS和转发器之间分配新的LDA的LAS帧。转发器向OD发送第二LAS帧,该第二LAS帧在转发器和OD之间分配新的LDA。
OD站点以给转发器分配新的LSA的LASR帧响应。当转发器接收到LASR帧时,它向OS站点发送作为响应给OS分配新的LSA的LASR帧,这样就完成了转发器建立过程。如果转发器在LASR_Timeout时间后没有从OD站点接收到LASR帧,它就向OS发送指示连接失败的失败连接(FC)帧。
当转发器检测到与OD站点间的链路失败时,它就向OS和OD发送指示链路失败和终止链路地址定义的RF帧。然后OS可以启动新的转发器搜索过程以便通过不同的转发器站点建立连接。如果OS检测到与转发器之间的链路失败,它就向所述的转发器发送源取消转发器(SCR)帧,并且重新启动转发器搜索过程。
OS每隔LE_interval就向OD站点发送链路存在(LE)帧。如果源接收到了链路存在响应(LER)帧,则源作为响应向转发器站点发送源取消转发器(SCR)帧,并且直接与目的地通信,这是因为现在存在有源和目的地之间的直接连接。
注意,可能因为可以用作转发器的站点在以前既没有与OS通信也没有和OD通信,所以OS可能在RSR_Timeout时间后没有接收到RSR响应帧。在这种情况下,OS广播一个带有信道检测请求(CSR)的新的RS帧,所述新的RS帧的重新发送至成功的跳数(hops to live)字段被设置为0。接收具有等于或高于所要求的质量的新的RS帧的站点,向OD站点发起CSR并且以RSR帧响应OS,所述的RSR帧包括OD的信道检测过程的结果。OS等待长为Extended_Repeater_Search_Timeout的时间,此后它选择有最好的信道检测的站点,并且启动转发器建立过程。
图14中示出了表示在源站点执行的本发明的转发器方法的流程图。由检测到链路失败的站点触发所述的转发器过程(步骤90)。然后发送转发器搜索帧(步骤92)并且执行等待LASR/RSR方法(步骤94)。如果接收到了RSR,则将LAS发送给所选出的转发器(步骤96)。然后执行等待建立连接(EC)方法(步骤98)。如果接收到了EC,则开始与转发器之间的会话(步骤100)。如果没有接收到EC,那么如果repeater_retries超过了max_repeater_retries(步骤108),就选择新的转发器(步骤110)并且该方法继续到步骤96,否则尝试另一个RS重试并且该方法继续到步骤92。
如果没有接收到RSR(步骤94),那么如果重试超过了max_RS_retries(步骤102),则宣布链路失败(步骤106),否则增加重试数(步骤104),并且尝试另一个RS重试,并且该方法继续到步骤92。
图15示出了表示在转发器上执行的本发明的转发器方法的流程图。首先接收RS帧(步骤120)。如果源和目的地上的PLR状态不高于最小值(步骤122),则终止所述的方法。否则,发送RSR(步骤124)。如果没有接收到LAS(步骤126),该站点可以象上述解释的那样尝试广播CSR。否则发送RC帧(步骤128),并且执行等待LASR/RSR方法(步骤130)。如果没有接收到LASR,那么如果重试没有超过max_RC_retries(步骤142),则增加重试(步骤144)并且尝试另一个RC发送,继续到步骤128。否则向源发送EC被设置为1的EC帧(步骤146),并且终止所述的方法。
如果接收到了LASR帧(步骤130),则向目的地发送LAS帧(步骤132),并且向源发送EC被设置为0的EC帧(步骤134)。然后从源接收会话(步骤136),并且与目的地进行所述的会话(步骤138)。如果没有发生链路失败(步骤140),则所述的方法返回,否则向源发送EC被设置为1的EC帧(步骤146)并且该方法返回。
图16示出了表示本发明的等待LASR/RSR方法的流程图。timeout首先被设置为RSR/LASR_Timeout的值(步骤150)。如果timeout届满(步骤152),则所述的方法返回没有接收到LASR/RSR(步骤160)。否则减少timeout(步骤154)并且然后检查是否接收到了LASR或RSR帧(步骤156)。如果接收到了,则该方法返回接收到的LASR/RSR(步骤158)。
图17示出了表示本发明的等待建立连接方法的流程图。timeout首先被设置为EC_Timeout的值(步骤170)。如果timeout届满(步骤172),则所述的方法返回没有接收到EC(步骤180)。否则,减少timeout(步骤174),并且然后检查是否接收到了EC帧(步骤176)。如果接收到了,则该方法返回接收到的EC(步骤178)。
5.网络同步所述的MAC协议适于使用下述的方案来可选择地提供网络同步。每个站点都维护全局时间(GT)计数器以记数到下一个滴答的时间。滴答的时间长度是Tick_Interval秒长。如果GT从下一个滴答开始小于Sync_Interval,则站点在信道访问期间将使用长RTS/CTS帧,由此发送站点用GT-RTS_Transmit_time-CTS_Transmit_Time值更新长RTS帧的time to tick(TTT)字段。目的地站点用包含相同TTT值的长CTS帧响应。接收到所述的长RTS的站点用TTT+CTS_Transmit_Time更新它们的GT。接收到长CTS的站点用接收到的TTT值更新它们的GT。注意,TTT的值是从所述的控制帧的最后一位开始测量的。
在初始化后,站点等待1秒钟以便接收GT更新,此后,站点使用请求GT更新(RGTU)管理帧发送请求以便接收GT更新。如果该帧有有效的LA,则该帧使用单播传输来发送。否则,其就使用重新发送至成功的跳数(hops to live)被设置为0的广播传输。接收站点(单播或广播)以GT更新响应(GTUR)管理帧响应。
6.介质共享按照本发明,使用一种修改过的带有随机后退的CSMA/CA机制实现介质共享。由MAC协议实现的介质共享使用下述的机制虚拟载波侦听(VCS)以及物理载波侦听(PCS)、信道预留、后退和帧间隙。下面的节中将详细说明每种机制。
注意,信道可以处于下面的3种状态之一(1)忙-指示由VCS或PCS指示正在处理会话,(2)竞争期间-指示会话已经结束且信道不忙(站点可以以递减的优先级的顺序竞争信道)以及(3)空闲-如果在竞争期间结束时没有开始发送,则信道被定义为处于空闲状态。
6.1虚拟载波侦听机制MAC协议使用物理和虚拟载波侦听功能来确定信道的状态。信道可以处于3种状态之一忙、竞争或空闲。物理载波侦听(PCS)是由PHY层提供的。虚拟载波侦听(VCS)是由MAC层提供的。当PCS或VCS指示信道忙时,就认为该信道忙。否则该信道就处于竞争或空闲状态。
在当前传输会话期间,可以根据由发射机或接收机发送的帧中所指示的预留时间来增加或减少VCS。站点可以仅当VCS是0(也就是介质不忙)并且物理载波侦听为空闲时开始发送过程,这指示信道不忙。
每个接收站点为每个与它没有参与的会话相关联的LA对记录预留计数器,并且在会话过程中适当地更新所述的计数器。VCS被设置为所有预留计数器的最大值。
表5列出了一些帧,这些帧使VCS按照它们中所规定的预留时间进行更新。
表5设置VCS计时器接收帧类型新的预留计时器的值SST数据帧 该帧中的预留字段RTS RTS中的预留字段CTS CTS中的预留字段-CTS传输时间ACK ACK帧中的预留字段RA RA帧中的预留字段LST的第一数据帧 数据帧中的预留字段-帧传输时间第一个重新发送的数据帧 数据帧中的预留字段-帧传输时间没接收到RTS、CTS帧或第一数据(会话中数据帧的个数-帧索引)*数帧的LST的数据帧 据帧的长度+CIFS站点叫醒EIFSCRC8错误的帧不变CRC16错误且没有来自规定的LA EIFS的预留帧6.2信道竞争期间所述的MAC协议实现了基于优先级的信道访问方法,所述的方法可以使用任意数量的优先级等级实现。所述的方法具有能够适应信道上的业务内容的优点。下面是对分优先级的信道访问方法的详细说明。仅仅是出于说明的目的,使用包含4个优先级等级的实例说明该方法。注意,本发明并不旨在限于该实例,因为本领域技术人员可以使用在此公开的原理和方法实现任何数量的优先级等级。
图18示出了表示被分成多个分优先级的竞争窗口的竞争期间的图。所述的竞争期间被划分为4个竞争窗口。站点在被分配给等于或小于等待发送的分组的优先级的优先级类别的竞争窗口期间竞争对信道的控制。按照下面说明的后退算法实现对信道的竞争。在较高优先级的竞争期间内,站点并不激活它们的后退过程并且并不减少它们的后退计数器。所述的竞争窗口按递减的优先级顺序排序,由此优先级3最高而优先级0最低。这种技术确保按照递减的优先级的顺序发送分组。
每个优先级等级的竞争窗口的大小取决于(1)在同一优先级等级中发送的站点的数量,以及(2)信道上发生的碰撞的数量。每个站点按照6.4节中说明的方法计算每个优先级等级的竞争窗口的大小。
注意,上面说明的方法是有效的并且是健壮的,它并不需要网络中的站点间的全局同步。在站点使用不同的竞争窗口大小的情况下,较低优先级的帧被先于较高优先级的帧发送的可能性是非常低的,这是因为站点仅在等于或小于它们自身的优先级的优先级类别期间减少它们的后退计数器。这种特性在基于PLC的网络中尤其重要,在这种网络中物理介质包括大量的、使用同一信道的、部分重叠的小区。通过使得站点间有微小的差别,可以提供从一个小区到下一个小区的逐渐的变化。
在当前会话结束后,信道从忙转变到竞争期间CIFS,这是由从忙转变到空闲的VCS和PCS或是由该站点刚刚参与的会话的结束所指示的。
在优先级与等待发送的帧相关联的竞争窗口开始的时候,启动下面说明的后退算法。当后退计数器达到0时,站点开始竞争信道。站点通过尝试为发送预留信道而竞争信道。如果要进行会话发送,并且当前竞争窗口的优先级比该会话的优先级低,则立刻启动所述的后退算法。如果到达了优先级比当前要进行的会话的优先级高的新会话,则新的会话取代要进行的会话竞争信道。
6.3信道访问后退算法在可以将会话发送到信道上之前,启动在此说明的后退过程。如果当启动所述的后退算法时信道是空闲的,则站点立刻开始发送。否则站点在0到CWPX之间随机产生后退,这是在与该站点的优先级相应的竞争窗口的开始时启动的。当后退达到0并且信道不忙时开始发送。通过如下面6.5节中说明的那样尝试预留信道开始会话的发送。
仅当信道不忙并且在优先级等于或小于要进行的发送的优先级的竞争窗口期间,站点才减少后退值。如果在后退倒计数期间检测到了发送,站点将推迟发送,直到下一个循环中的具有等于或小于它的优先级的优先级的竞争窗口为止,并且从其以前的值开始减少后退计数器的值。
如果没有检测到帧(也就是错误的检测)而停止了物理载波侦听,则竞争窗口从其以前的状态开始并且后退从其以前的值继续倒数。
如背景技术部分中说明的,为后退时隙(也称为后退间隙或时隙)选择的时间宽度可能会构成大部分信道访问机制的开销。在另一方面,时隙不能太小使得站点不能够识别出另一个站点已经开始了发送。所述的MAC协议包括使用两个由物理层提供的信号,即快速载波检测(FCD)以及载波检测(CD)来设置该时隙的宽度到一个大大小于现有技术的算法的时间的机制。
FCD信号是从物理层到MAC层的信号,它指示可能正在开始一个发送。该信号在发送开始之后非常快地到达,但是有相对高的伪报警率。CD信号也从物理层到MAC层,它以很高的可能性指示正在开始发送。这个信号在发送开始之后相对长的一段时间后到达,但是有非常低的伪报警率。
现有技术的后退算法将时隙设定为CD时间。本发明的后退算法将时隙的宽度设定为FCD时间,这样大大地降低了开销。选择FCD时间作为时隙(也就是后退时隙)具有这样的优点,即所述的时隙足够大以使得使用随机后退时间的站点不会碰撞,同时它也大大短于物理层以高的可能性识别出发送已经开始所用的时间。在此处给出的示例性实施例中,FCD时间和CD时间之间的比值最小为1∶6,这样就提供了优于传统算法的很多优点。
图19示出了表示被划分为多个分优先级的竞争窗口的竞争期间的图。所示的竞争窗口196被分成多个CD时间194。然后每个CD时间进一步分为多个FCD时间192。按照本发明,用于随机选择后退时间的时隙是FCD时间而不是CD时间。这大大地减少了站点获得信道所需的时间。
本发明的后退算法旨在防止站点在同一时间竞争信道。在当前发送结束之后,站点可以开始竞争信道。所述的竞争期间被分成时隙。站点随机地选择在尝试竞争信道之前它必须推迟多少个时隙。如果在推迟的时间期间,另一个站点开始了发送,则站点等待下一次信道空闲。时隙的大小被这样确定,以使得随机选择不同的推迟期间的站点不会在信道上碰撞。这意味着随机选择了一段较长的推迟期间的站点将检测到第二个站点已经开始发送了。时隙的大小通常被设置为站点同步到信道上的分组所用的时间。然而时隙越大,后退算法加在信道访问机制上的开销就越多。
下面是后退算法的说明。图20A和20B示出了表示本发明的MAC协议的后退机制的流程图。在向信道发送新的会话之前,在与会话的优先级对应的竞争窗口的开始启动后退算法。首先,站点从主机接收发送请求(步骤200)。然后将竞争窗口(CW)设置成CWMin的值(步骤202)。在竞争期间开始时,站点将后退时间随机地选择为多个时隙宽度,也就是从0到CWPX之间的值(步骤204)。如果在信道为空闲时启动后退算法,则站点可以立即开始发送,否则发送站点随机选择后退。
当信道处于竞争期间内时(步骤206),在等待更高的优先级CWMin时间后(步骤208),站点减少所述的后退时间(步骤210)。当后退计数器不为0时(步骤212),所述的方法检查VPC以及PCS看信道是否空闲,并且减少后退计数器。当后退计数器达到0时(步骤212),如下面6.5节说明的那样通过尝试预留(或获得)信道来进行发送。通过发送RTS或RA帧实现预留信道(步骤214)。所述的协议实现了两个被设计用于捕获信道的专门的控制分组请求发送(RTS)以及清除发送(CTS)。源站点和接收站点使用所述的RTS和CTS分组捕获并预留信道。
如果RTS/RA帧超时(步骤216),那么如果重试的次数小于RTS/RZ_first_retry(步骤220),则按下面6.4节的说明调整CW的大小并且产生新的随机后退(步骤232)。否则,调整CW的大小并且产生新的随机后退(步骤224)。如果没有达到max_RTS/RA_retries,则所述的方法继续到在步骤206中检查空闲信道状态。否则,宣布链路失败(步骤228)。
如果RTS/RA帧没有超时(步骤216),则站点检查帧的接收(步骤218)。如果接收到了帧,则该方法返回,否则该方法继续到步骤216。
这样,按照所述的MAC协议,如果到达了FCD信号,则站点停止减少后退计数器。如果在接收到FCD信号后的CD时间内没有到达CD信号,这指示FCD信号是伪报警。然后站点继续从接收到该FCD信号之前的时间点减少所述的后退计数器。如果CD信号到达了,则站点推迟发送并且等待下一个竞争期间。
站点仅当信道不忙并且在优先级等于或小于等待发送的会话的优先级的竞争窗口期间减少所述的后退值。如果在后退倒计数期间检测到了发送,则站点将发送推迟到下一个循环当到达了与其优先级对应的竞争窗口时为止。在那个时刻,该站点从它先前的后退计数器的值继续减少该后退计数器的值。
在后退计数器届满并且竞争信道成功之后才进行发送。一旦完成了当前的发送,站点就再次随机地选择后退的间隔。注意,后退时间的作用是使每个站点等待一个不同的时间,以将站点竞争信道的时间分散开。因此按照站点和竞争事件的数目设置后退时间。
6.4竞争窗口大小的自适应调整每个优先级类别的竞争窗口的大小都会被改变以便适应网络业务的当前特性。按照本发明,每个站点所等待的后退时间开始于最后一个发送之后的一个随机的时间。在0和竞争窗口的大小之间选择所述的随机时间。
注意,竞争窗口的大小在确定碰撞的可能性中起主要作用。另一个影响碰撞的可能性的因素是尝试访问信道的站点的数目。例如,考虑有20个站点等待在同一时间发送。如果每个站点在大小为10的竞争窗口内选择了一个随机数,那么可能将有许多碰撞。另一方面,如果竞争窗口被扩展到60,则可能仅有很少的碰撞。本发明提供了一种动态地调整竞争窗口的大小到任意给定的时间希望发送的站点的数目的机制。
图21示出了表示估计的信道开销时间相对于竞争窗口的大小的图。信道访问过程的开销包括下述部分的组合(1)静寂期间,其中所有的站点都推迟发送,直到后退时间届满,以及(2)碰撞,此时两个或多个站点尝试在同一时间发送。如果减少竞争窗口的大小,则碰撞的可能性就增加,反之亦然。这样就存在一个最小化信道开销的最优的CW大小。这在图中由被表示为‘A’的CW的大小来表示。
注意,图中A点左侧的坡度比A点右侧的坡度陡。向A点左侧移动,碰撞的概率增加,直到最后信道开销逐渐达到无穷大。向A点右侧移动,由于静寂期间的增加,信道开销逐渐增加。为了考虑到出于下述原因的误差容限,取在A点右侧的B点为最优点。
不能准确地估计最佳的CW大小主要是因为(1)估计过程的精确性和可靠性的限制,以及(2)需要花费时间进行调整的负荷随时间动态变化。
按照本发明,提供了一种用于调整竞争窗口的大小的方法。使用估计出的要在信道上以同一优先级类别进行发送的站点数利用下述公式调整竞争窗口的大小CW=α·N 3≤α≤10 (7)其中α=K·1λ·Time_of_colliding_packetTime_slot--(8)]]>并且其中后退值值是每个站点在竞争信道之前等待的随机时间;CW是竞争窗口,每个站点在其中随机地选择后退值;α是由模拟确定的因子;N是在任意给定的时间竞争信道的站点的数目。N是实际数,并且E(N)是期望的站点的数目;K是由模拟确定的因子;Time_of_colliding_packet是竞争分组期望的发送时间。它可以包括数据分组本身或包括控制分组;1/λ表示站点有分组要发送的概率。
注意,α和K被作为部分网络规范固定下来,并且通过对每种特定的网络实现进行计算、测量和/或模拟来确定。
N的值可以使用下式之一估计 其中t的期望值为
E[t]=CWN+1--(10)]]>并且其中t是从允许站点发送的时刻到一个站点开始发送的时刻之间的实际时间;E[t]是t的期望值;每个站点发送它的CW。所有的站点通过测量从最后一次发送到当前发送时间之间的时间来确定t。每个站点使用被发送的CW以及t计算估计的N。然后,每个站点使用下式计算新的NN新=(1-β)·N1H+β·N估计(11)其中加权因子β通过模拟确定。然后站点使用公式(7)按下述的方式计算新的CW。
注意,可以给加权因子β分配两个不同的值当N新<N估计时为β1,以及当N新>N估计时为β2。在启动以及当每个新的站点进入网络时,站点被赋予大的初始的N0,站点从这个初始的N0开始计算它们的第一个CW值。然而,此后,CW值被快速地调整为实际网络的特性。
6.4.1考虑了隐藏节点问题的调整方法在两种情况下可能在信道上发生碰撞(1)两个或多个站点选择了相同的随机后退时间,以及(2)两个站点相对于彼此隐藏。在第二种情况下,这两个站点相互之间听不到对方,但是可以听到在网络上的其他站点。在这种情况下,有可能一个站点在另一个站点结束发送之前就开始发送。
在第一种碰撞的情况下,发生碰撞的站点希望进行重新发送,并且这样一来就成为了想要竞争信道的一组站点中的一部分。这是CSMA/CA方法的常规行为,而本发明的自适应的CW大小的算法被设计以优化该CW大小参数。
因为隐藏的节点将无法接收到确认并且将希望进行重新发送,所以第二种碰撞的情况更加复杂。这种模式将重复到重新发送的数目已完毕时为止。上层的通信层将被通知,并且作为结果将再次产生分组,这将导致无限循环,直到上层的通信层关闭该连接为止。
按照本发明,可以通过允许有限次数的竞争,此后在其之后站点宣布它怀疑那是隐藏的站点,也就是对某一数量的确认的接收失败表明这个失败不是由于通常的碰撞而产生的,来避免无限循环的产生。
当一个站点在第二个节点开始其发送之前结束了它的发送时,就避免了无限的循环。如果两个站点使用大小为碰撞分组的大小或者更大的时隙来选择随机的后退时间,就可以确保这一点。在怀疑有隐藏节点情形的情况下,所有涉及到的站点都以碰撞分组的大小或者更大的大小为单位选择随机的后退数。在这种情况下,CW将是Y×colliding_packet_time_units,其中Y是预定的或者动态设置的因子。因此,这些站点选择了比网络上其余站点相对要大的后退值。然而,最终两个站点将互不碰撞地进行发送。
6.5预留信道如上所述,当后退计数器达到0时,站点尝试通过使用LST中的控制帧或SST中的SST帧发送带有预留计数器更新信息的帧来预留信道。在发送过程中,在重新发送或会话中断的情况下对信道的预留进行必要的更新。
6.5.1在长会话传输中的信道预留站点通过发送请求发送(RTS)控制帧来尝试预留信道。RTS帧包括新的发送所需要的预留时间,该新的发送包括来自目的地的ACK分组。目的地站点在RTS帧结束后的RIFS秒内以清除发送(CTS)帧响应。CTS帧包括从RTS分组中复制来的预留时间。
图22示出了表示本发明的RTS/CTS过程的图。如果接收机没有足够的资源来处理到来的发送,那么它就以CTS_Fail帧响应。另外,使用发射机的最大功率水平以及最小发送速率发送RTS和CTS帧以便获得最大的传输可靠性。
在发送站点接收到CTS帧后,它就在CTS帧结束之后的最长为RIFS的时刻开始发送会话数据帧。在重新发送的情况下,ACK、RA以及第一帧更新信道的预留。下文中的6.5.3节中说明了预留计算。在会话中断的情况下,如下文3.6节中说明的那样释放信道。如果发射机在CTS_Timeout之后没有接收到对RTS的CTS响应,则发射机认为发生了碰撞,并且调用在6.6节中说明的预留重试过程。
6.5.2短会话传输中的信道预留SST中的信道预留只在带有ACK的SST中有效。源站点发送包括预留值的SST帧。目的地站点以ACK帧响应,如果需要,所述的ACK帧包括等于重新发送时间的预留时间。如果没有接收到ACK帧,则源站点认为发生了碰撞,并且调用在6.6节中说明的预留重试过程。
6.5.3预留计算在发送前所有的预留时间都被压缩以适合一个字节的大小。这个字节用RES字段表示。每个接收站点将RES字段解压缩,并且使用解压缩的预留时间更新VCS计时器。从帧的被接收到的最后一位开始计数预留时间,该预留时间也被用来更新VCS计时器。可以使用任何适合的压缩和解压缩技术,使用何种技术对本发明的操作来说是不重要的。如下表中所述的那样计算预留时间。
表6预留字段的值帧类型 发送预留字段RTSCTS_Time+(DATA_Time*DataNum)+ACK_Time+RA_Time+RIFS*4CTS复制RTS字段第一个数据帧/第一个重试复制CTS字段或ACKACK(DataNumRetries*DATA_Time)+ACKTime+RA_Time+RIFS*3+CIFSRA 复制最后一个RTS或ACK6.6预留重试过程如果源站点没有接收到对预留帧的响应或者接收到了CRC8或CRC16错误的帧(RTS或SST帧),则该站点认为发生了碰撞并且调用预留重试过程。如果源站点接收到了不是响应的有效的帧,则该站点推迟发送并且等待下一个竞争期间。
图23示出了表示本发明的RTS方法的流程图。第一步是将预留帧重新发送RTS_First_retries次(步骤240,242,244,246)。如果在RTS_First_retries之后没有接收到响应(步骤246),则该站点随机选择新的后退并且重新发送所述的预留帧(步骤248,250,252,254,256)。这个步骤重复MAX_RTS_Retries次。
如果在MAX_RTS_Retries之后没有接收到响应(步骤256),则源站点发送RTS_Fail帧并且调用新的LA分配过程(步骤258,260)。如果LA分配过程失败了,则该站点宣布与目的地站点之间的链路失败(步骤262)并且所述的方法返回。如果源站点接收到了CTS帧(步骤242或252),则开始要进行的会话的数据帧的发送(步骤264)。
注意,在第一个RTS/RA_First_retries次重试中,在重新发送之前,发射机随机选择Backoff_slotTime或Backoff_SlotTime*2的后退值。在下一个MAX_RTS/RA_Retries次重试期间,发射机将CWPX值增加到两倍并且在每个重新发送之前随机选择新的后退值。CWPX的值不应超过CWPX-MAX。
对每个成功的信道预留,将CWPX值减少一半,并且当每次所述的竞争窗口已过去且没有发送开始,将CWPX值初始化到由6.2节中说明的公式计算出的值。
图24示出了表示本发明的CTS方法的流程图。首先将timeout设置为CTS_Timeout的值(步骤270)。当没有发生超时时(步骤272),减少timeout(步骤274)并且执行是否接收到了CTS帧的检查(步骤276)。如果接收到了,方法返回接收到的CTS(步骤280),否则方法继续到步骤272的超时检查。当超时后,该方法返回超时(步骤278)。
6.7帧间隙介质上的帧之间的时间间隔构成了帧间隙,并且由于信号传播与站点处理时间,帧间隙是必须的。如下所述,为MAC协议定义了三种帧间隙值。图25示出了表示被插入在发送会话间的帧间隙的图。
竞争帧间隙(CIFS)定义为前一个会话的结束与新的竞争期间的开始之间的间隔。在具有最高优先级以及0后退的情况下,新的会话至少要在前一个会话结束后的不小于CIFS的时间开始。
响应帧间隙(RIFS)定义为帧发送的结束和其相关响应的开始之间的时间。注意,如果不期望有响应,则CIFS是无效的。
对于当站点没有对介质状态的完全了解时的情形,定义了扩展帧间隙(EIFS)。这可发生在站点仅仅收听到了帧的一部分、接收到的帧中的错误使得很难解码或是当该站点初次接入网络时。EIFS优选地大大长于其他的帧间隙以避免引起正在进行的会话的碰撞。
7帧格式7.1帧类型所述的MAC协议定义了两种帧结构类型数据帧和控制帧。两种帧类型都由PHY报头(帧控制)部分、净负荷部分和帧校验序列(FCS)(也就是CRC)以及状态部分构成。下面的节中给出了两种帧类型的具体结构、内容以及功能。
7.2位顺序数据被以最重要字节在前、最重要位在前的方式传递给物理层,其中位号7是字节的MSB。在此给出的图在左边表示了最重要位或字节。
7.3帧结构控制帧的帧格式包括帧控制以及其后的净负荷和帧校验序列(FCS)/状态。所述的帧控制包括在下面说明的控制信息,该控制信息被接收机用于将净负荷解码。所述的净负荷具有在3到2048字节之间的按照帧的类型而变化的字节容量。
7.3.1帧控制报头对于控制帧和数据帧,帧控制报头具有不同的大小和内容属性。控制帧使用24位的帧控制,而数据帧使用40位的帧控制。
7.3.2净负荷对于控制帧和数据帧,净负荷具有不同的大小和内容。控制帧具有固定的3字节的净负荷而数据帧具有可以在4-2048字节之间变化的可变的净负荷。
7.4控制帧图26示出了表示控制帧的结构的图。控制帧有固定的长度,并且其格式包括24位的帧控制,其后是3字节的净负荷和8位的帧校验序列(FCS)/状态。
7.4.1帧控制报头(控制帧)帧控制提供了由PHY层使用的关于该帧的参数。目的地站点使用帧控制信息识别帧类型以及帧参数。帧控制是长为24位的字段。下面的表7中示出了位字段的定义。
表7帧控制字段字段位号位 定义值CT 23 1 有条件发送 0PL20-223 功率水平DC 19 1 数据/控制帧 1R 18 1 速率FT16-172帧类型TxW 10-156 Tx等待时间4-9 6 预留‘00XXXX’NID1-3 3网络IDC 0 1 确认7.4.1.1有条件发送如果有条件发送位(CT)是‘1’,则站点仅当最后一个接收到的分组的CRC无错误时才进行发送。如果该位被设置为‘0’,那么站点不管最后一个分组的CRC是什么都进行发送。该位被设置为‘0’。
7.4.1.2数据/控制帧类型如果数据/控制帧位(DC)设置为‘0’,则表示数据帧,而‘1’表示控制帧。该位被设置为‘1’以表示控制帧。
7.4.1.3速率速率位表示用于发送该帧的速率。速率位为‘0’表示全速(也就是4μs的码元持续时间),而速率位为‘1’表示半速(也就是8μs的码元持续时间)。
7.4.1.4帧类型帧类型(FT)字段表示将要发送哪一种控制帧。下面的表8中列出了帧类型字段的值。
表8帧类型字段FT值 解释00请求ACK帧(RA)01请求发送帧(DTS)10请求发送帧(CTS)11确认帧(ACK)7.4.1.5Tx等待时间Tx等待时间是6位长的字段,表示在发送请求后,在开始发送之前的延迟时间。Tx等待时间的分辨率是4μs。
7.4.1.6网络ID3位的网络ID字段表示调制解调器的网络ID。这个字段是可由MAC配置的。网络ID的默认值为‘000’。
7.4.1.7确认位确认位向源站点指明前一个帧的接收是否正常。该位由目的地站点上的PHY层设置。值‘0’表示最后一帧受损,而值‘1’表示已经正确地接收到了最后一帧。确认位仅在接收时有效。该位由源站点的MAC层设置为‘0’。
7.4.2控制帧净负荷结构7.4.2.1RTS、CTS、RA图27示出了表示RTS、CTS和RA控制帧的净负荷结构的图。该3个字节的净负荷包括1个字节的链路目的地地址(LDA),1个字节的链路源地址(LSA)以及1个字节的预留字段。帧校验序列(FCS)/状态在净负荷之后。
7.4.2.2ACK结构图28示出了表示ACK帧格式的图。ACK帧包括1个字节的XMAC地址、1个字节的确认位(AckBits)字段以及1个字节的预留字段。帧校验序列(FCS)/状态在净负荷之后。
XMAC字段是6个字节的源站点MAC地址的异或(XOR)结果。XMAC的第1位是6个字节的源站点MAC地址中的每个字节的位0的XOR。XMAC的第2位是6个字节的源站点MAC地址中的每个字节的位1的XOR,依此类推。
AckBits字段用于确认数据帧的接收。AckBits字段中的每一位对应于对一个分段的ACK。ACK位在AckBits字段中的位置对应于在会话中的帧索引。‘0’表示正的ACK而‘1’表示NACK。
所述的预留字段用于为受损的数据帧的重新发送预留信道。
7.4.2.3失败控制帧每个控制帧都有连接失败指示选项。失败控制帧与所有的RES位设置为‘0’的常规控制帧相同。
7.4.3帧校验序列以及状态在发送方向,帧校验序列(FCS)是8位的字段,该包括8位的循环冗余校验(CRC)。使用下面的标准的8次生成多项式计算所述的FCS。
P8(x)=X8+X7+X2+1 (13)该P8生成多项式不是最大长度的生成多项式。在接收方向,状态字节如以下的下表9中说明的那面。
表9状态字段描述位# 描述解释7 ACK ‘1’-发射机接收到的最后一个分组正常4-6 信道质量 0-3发现错误4-7没有发现错误3 报头 ‘1’-无效的报头或是没有发现报头2 网络ID ‘1’-错误的网络ID1 CRC8 ‘1’-检测到CRC8错误0 CRC16 ‘1’-检测CRC16错误
7.5数据帧图29示出了表示数据帧的结构的图。所述的数据帧格式包括40位的帧控制报头,其后为可变的4到2048字节的净负荷以及8/16位的FCS/状态字段。
7.5.1帧控制报头(数据帧)帧控制报头除了包括关于目的地站点的地址的信息之外还包括被目的地站点用于识别帧的类型的信息。帧控制报头是40位的字段。下面的表10中列出了帧控制报头的位字段定义。
表10帧控制字段定义字段 位# 位 定义CT391 有条件发送(见7.4.1.1节)PL36-38 3 功率水平DC351 数据/控制,对于数据设置为‘0’(见7.4.1.2节)R 341 速率(见7.4.1.3节)PP32-33 2 每个码元的位TxW 26-31 6 Tx等待时间(见7.4.1.5节)Reserved 24-25 2 设置为‘00’DR231 双倍速率LEN MSB 20-22 3 长度字段的MSBNID 17-19 3 网络ID(见7.4.1.6节)C 161 确认=‘0’(见7.4.1.7节)LEN LSB 8-15 8 长度字段的LSBFCS 0-7 8 帧校验序列(见7.4.2.3节)7.5.1.1每个码元的位PP字段表示每个码元的位数目。‘00’的PP值表示每个码元有4位;‘01’表示每个码元有5位;‘10’表示每个码元有6位;以及‘11’表示每个码元有7位。
7.5.1.2双倍速率双倍速率(DR)位表示是否使用双倍速率发送该帧。在使用这种速率操作时可使用每个码元最多6位。‘0’值表示该速率是按照R和PP字段的。‘1’值表示双倍速率操作,PP字段不能是‘11’。
7.5.1.3净负荷长度净负荷长度字段以字节的形式指示净负荷字段的长度。该字段被分成两个字段MSB LEN,表示数据长度的3个MSB位;以及LSB LEN字段,表示8个数据长度的LSB位。这11位的净负荷长度字段允许净负荷最长有2048个字节的长度。
7.5.2数据帧净负荷结构图29示出了表示数据帧的结构的图。数据帧的净负荷部分包括4-20字节的净负荷报头,可变长度的会话报头以及0-2043字节的数据字段。净负荷前面是40位的帧控制,其后是8/16位的帧校验序列(FCS)/状态字段。
7.5.2.1数据帧净负荷报头图30示出了表示数据帧的净负荷报头部分的结构的图。净负荷报头的长度可变并且可以在4个字节(对于VLA=1的SST)到19个字节(对于VLA=0并利用转发器的SST)之间变化。净负荷报头包括下面这些字段16位的帧信息字段,8位的LDA(仅在VLA=1时),8位的LSA(仅在VLA=1时),8位的帧索引字段(仅在LST会话中),48位的目的地MAC地址(仅在VLA=0的SST帧中),48位的源MAC地址(仅在VLA=0的SST帧中,并且仅在第一帧或SST帧中),8位的预留(RES)字段(仅在第一帧中或第一个重新发送中或SST帧中),16位的分组超时字段(仅在会话被发送到转发器时),1字节的会话报头长度字段(仅在LSHV=1时)以及2个字节的发射机时间戳字段(仅在TSE=1时)。
7.5.2.1.1帧信息图31示出了表示数据帧的帧信息字段的结构的图。16位的帧信息字段包括列于下面表11中的字段。
表11帧信息字段字段 位# 位 定义PV14-152 协议版本=‘00’L/S 13 1 LST或SSTTxT 11-122 传输类型DT10 1 数据类型P 8-9 2 帧优先级在LST中-第一帧指示FF/ACK71 在SST中-ACK/没有ACK指示LSHV 61 长会话报头有效TSE 51 时间戳存在有效的LA-在SST会话中有效(为LST预留)Reserved 0-3 4 预留位协议版本字段表示正在使用的MAC的版本。假设仅有1个版本正在使用,发射机将这些位设置为‘00’。如果PV不是‘00’,则接收机丢弃该帧。L/S类型字段表示该帧是否包括LST或SST会话。‘0’表示LST会话而‘1’表示SST会话。传输类型字段如下面所述的那样表示传输的类型‘00’表示单播传输;‘10’表示多播数据帧;‘11’表示广播数据帧(‘01’预留)。
数据类型字段如下所述的那样表示数据帧的类型‘0’表示数据帧,而‘1’表示管理帧。优先级位确定当前数据会话的优先级,其中‘00’是最低的优先级,‘11’是最高的优先级。
对于LST和SST会话,first frame/ACK字段有不同的含义。对于LST会话,这个字段如下述的那样表示该帧是为第一帧或是第一个重新发送‘0’表示第2到第8个帧,‘1’表示第一帧或第一个重新发送。对于SST会话,这个字段表示是否需要来自目的地站点的ACK。‘0’表示不需要ACK,‘1’表示需要ACK。
LSHV字段表示该会话报头是否包括多于一个分组。如果该会话报头包括多于一个分组,那么净负荷报头就包括会话报头长度字段。LSHV值为0表示该会话报头包括一个分组,而LSHV值为1表示会话包括2个或多个分组。TSE字段起表示是否有时间戳字段的作用。TSE的值为0表示没有时间戳,而TSE的值为1表示有时间戳。
有效的LA(VLA字段)仅在SST帧中有效。在LST帧中,该位被发射机设置为‘0’,并且被接收机忽略掉。在帧信息字段中的VLA位用于表示LA地址是否有效。‘0’表示LA无效,‘1’表示LA有效。如果LA无效,则使用源和目的地的MAC地址。
7.5.2.1.2帧索引8位的帧索引字段包括两个子字段4位的总计帧字段以及4位的帧索引。总帧表示会话中的帧的总数,帧索引表示会话中的帧的索引。
7.5.2.2帧校验序列/状态在发射机,有两个FCS(1)报头FCS,包括帧控制报头的最后8位,以及(2)在净负荷字段后面的数据FCS。在接收机,状态字节被插入在如上面7.4.2节中规定的净负荷字段的后面。报头CRC与控制帧的8位CRC是相同的(见7.4.2节)。数据FCS是包括16位循环冗余校验(CRC)的16位的字段。使用下面的标准的16次生成多项式计算数据FCS。
P16(X)=X16+X15+X2+1(16)7.5.3广播净负荷结构广播净负荷与常规的数据净负荷类似,不同之处为其净负荷报头包括两个另外的字段广播ID(BID)以及重新发送至成功的跳数(HTL)字段。见3.3.2节。
7.5.4多路广播净负荷结构图32示出了表示多路广播数据帧的净负荷结构的图。多路广播净负荷包括两个字节的帧信息(见7.5.2.1.1节)、1个字节的帧编号(仅存在于LST会话中)(见7.5.2.1.1节)、1个字节的RES(仅存在于第1个帧中或是笫一个重新发送中或是SST中)、1个字节的会话报头字段、表示在多路广播组中的站点的数目的1个字节的NumOfLA、对于目的地‘x’的16位的LDAx、LSAx字段、净负荷数据、其后的从目的地‘x’请求ACK的1个字节的AckBits。注意,所述的AckBits以0填充以便成为一个完整的字节。注意,帧信息字段中的传输类型TxT字段被设置为‘10’以指示是多路广播传输。所述的帧信息字段还包括2位的PV、1位的L/S、1位的DT、1位的FF、2位的P以及7位的预留字段。
8.层管理8.1链路地址分配过程如上所述,使用6个字节的MAC地址识别网络上的每个站点。必须为每个站点使用6个字节是因为MAC地址不仅是逻辑网络中的站点的唯一标识,而且还是作为物理实体的站点的唯一标识。然而在逻辑网络中,可以分配逻辑地址以便减小地址空间的大小。例如,如果逻辑网络最多有256个站点,则一个字节的逻辑地址就足够了,这样就减少了多于80%的地址的大小。如上所述,在RTS和CTS帧中使用站点地址,这样就减少了地址的开销并且由此大大减少了MAC层的总开销。
在中央控制的网络中部署逻辑地址如下所述。由中央控制器为每个加入该网络的站点分配一个逻辑地址。在分布式网络中,分配逻辑地址的过程也必须以分布式的方式进行。在分布式网络中分配逻辑地址的主要问题是确保站点不会选择已经被使用的逻辑地址。
为了确保逻辑地址是唯一的,本发明提供了一种在站点间执行的接合过程。本发明还使在存储器分配和地址搜索时间方面能非常有效地实现链路地址。按照本发明的MAC协议,不是使用包括1个字节的源地址和1个字节的目的地地址的2个字节的逻辑地址,而是使用2个字节的链路地址(LA)。在每个发送中仅使用与2个字节的逻辑地址有相同开销的单个2个字节的LA。与表示网络中的站点的唯一地址的逻辑以及MAC地址相对,LA是识别两个站点间的链路的唯一地址。使用链路地址的优点(与站点地址相比)是在保持相同的地址大小和开销(也就是2字节)的同时,获得了大得多的地址空间,也就是与使用逻辑地址的28相比,其为216。
当要建立在网络中的两个站点间的新的连接时,建立在这两个站点间的新的LA。LA包括两个1字节的部分分别为链路源地址(LSA)以及链路目的地地址(LDA)。LSA与发送站点相关联,LDA与接收站点相关联。每个站点从每个站点维护的地址表中存储的未使用的值中随机地选择LSA与LDA。该值可以在0x00和0xFD之间变化。注意,值0xFF对于LSA和LDA都是非法的,并且只用于BLA广播传输中。
每个站点用与其他站点相关联的所有被分配的LA维护所述的地址表。当使用一个或多个转发器时,可能有多于1个的LA与每个站点相关联。接收到与已经与之建立了LA的站点建立新的LA的请求的站点,丢弃旧的LA并且建立新的LA。
所述的链路地址用于一对站点间的所有传输。每个站点都维护包含已定义的LSA和LDA对的地址表,每条链路有一个项。每个站点还例如通过维护双重链路列表来维护存储有MAC地址与链路地址间的双向映射的表。通常,使用链路地址表建立链路地址。所述的链路地址表的长度为256,其中每个记录适于存储8位的链路地址以及各种与统计相关的数据,例如成功的以及失败的帧传输的数目,错误接收的帧的数目,发送和接收的ACK的数目,重新发送的数目等等。存储在该表中的值0xFF表示该链路地址是可用的。在加电时或复位后,该表的内容被初始化为0xFF。每个站点将具有0xFFFF的广播链路地址的消息识别为广播传输。这样,第256个项被预留并且不能用于单播消息。
发送源站点从链路地址表中的可用的地址项中随机地选择地址。选出的地址用作在表中的查找,并且是源站点的LDA。该站点将选出的LDA发送给目的地接收站点。然后目的地从其链路地址表内的可用的地址项中随机地选择项。目的地站点将接收到的LDA存储在该表中。存储LDA的地址为LSA,并且将LSA返回给源站点。当接收到LSA后,源站点将接收到的LSA存储在所述的表的LDA地址处。
当发送消息时,源站点通过首先使用目的地MAC地址查找LA来形成LA。然后使用LDA(也就是表中的查找地址)以及LSA(也就是表中LDA地址处的内容)形成所述的LA。
在目的地,检查LA以确定该消息是否是发给这个站点的。这是通过使用后半个LA(也就是由源发送的LSA)作为在其表中的查找地址并且将该内容与所述消息中的前半个LA(也就是由源发送的LDA)进行比较来实现的。
可以使用长RST以及长CTS帧或是通过使用两个管理帧,即链路地址设置(LAS)以及链路地址设置响应(LASR)实现链路地址分配过程。所述的LAS帧由发起站点发送,并且包括LA的LDA部分。所述的LASR帧由目的地站点发送,并且包括LA的LSA部分。下面的小节中说明了建立链路地址的过程。
8.1.1使用管理帧的链路地址建立按照本发明,两个站点使用链路地址相互间通信。下面的过程用于在两个站点间使用LAS和LASR管理分组建立链路地址。然而,在建立链路地址之前,使用带有ACK以及VLA=0的SST分组进行通信。
图33示出了表示发送站点的链路地址分配方法的流程图。首先,发送站点随机地从一列未用过的LDA中选择新的LDA(步骤290)。然后向接收站点发送具有所述的新的LDA的LAS帧(步骤292)。然后,发送站点等待从目的地站点接收LASR帧(步骤294)。如果接收到了LASR帧,则用接收到的LSA更新地址表(步骤302)。否则,如果达到了LSAR超时(步骤296),则将此过程重复MAX_LAS_retries次(步骤298)。如果在最大次数的重试后还没有接收到LASR帧,则宣布链路失败(步骤300)。
图34示出了表示接收站点的链路地址分配方法的流程图。从发送站点接收LAS帧(步骤310)。然后,目的地站点从可用的LSA池(pool)中随机地选择新的LSA(步骤312)。然后目的地站点用接收到的LDA更新它的地址表,这样就完成了LA(步骤314)。然后它将所选出的LSA在ARLS帧中发送给发送站点(步骤316),此后该选出的LSA被记录在发送站点的地址表中。
注意,如果LASR没有被确认,则目的地站点将所述的新的LA标记为“有问题的”,但是并不从其LA表中删除它的项。如果发送站点使用该新的LA发起会话,则接收站点将该LA的状态改变为“已建立”。如果接收站点必须发起与发射机的新的会话,不用该“有问题的”LA而是建立新的LA。
8.1.2使用长RTSCTS帧的链路地址建立使用长RTS和长CTS控制帧捕获信道。发送站点使用长RTS的LDA字段分配LDA,接收站点通过使用长CTS中的LSA字段分配LSA来进行响应,这样就完成了新的LA。使用长RTS和CTS帧的优点是不需要在发送主机数据分组之前等待,直到建立了LA为止。
8.1.3链路地址重复的解决方案上述的结合大的链路地址空间(216个可能的链路地址)的LA算法显著地减少了碰撞的可能性。然而在某些极端的情况下,可能会出现重复的链路地址。本发明的MAC协议包括解决重复的链路地址的机制。出现重复的链路地址可以产生下面的影响之一(1)来自两个站点的CTS响应帧发生碰撞,阻止了在源站点对任一个的接收,或(2)仅接收到一个CTS响应帧,但是该响应帧来自错误的站点,(3)两个站点都以CTS响应,在源站点正确地接收到了这两个响应。
因为源不能向目的地站点进行发送,所以第一种情况易于引起链路失败。为了解决这种类型的重复地址问题,源站点在宣布链路失败之前尝试建立新的链路地址(使用管理帧的方法)。
第二种和第三种情况易于引起分组被错误的站点所接收。为了解决这种类型的重复地址问题,源站点将目的地站点的MAC地址插入到分组中。接收到该分组后,目的地站点检查该MAC地址,如果不匹配,则目的地丢弃这个包并且建立新的LA。否则,按上述进行处理。
8.2功率和速率的自适应功率和速率自适应过程假设物理层适于在传输会话期间改变其功率和速率的设置。该算法适用于实现为包括具有这种能力的物理层的收发信机。所述的MAC协议适于改变正在进行的连接的功率水平和速率以便增强网络中的连接性和可靠性。MAC层使用从信道上收集的统计信息来管理速率和功率。
功率水平和速率的组合定义为功率水平和速率(PLR)状态。PLR状态的范围是从1到m,PLR状态1对应于最小的功率水平和最大的速率,而PLR状态m对应于最大的功率水平和最小的速率。对于每条链路,发射机使用下面给出的公式11动态地计算受损数据帧的百分比PrErrData。
在会话期间并不改变PLR状态。增加、降低或不改变PLR状态的决定是由发射机在会话的第一RTS帧的发送之前进行的。分段的长度FragmentLength是按照发送速率确定的。如果MaxFragNumber的数据帧的传输超过了Session_Timeout,则减少该分段的长度以便符合Session_Timeout的限制(见3.3节)。
按照发射机使用的发送速率计算ACK帧中的预留字段。当会话结束后,发射机记录发送中使用的功率水平和速率。所述的功率水平和速率记录将用于同一链路上的下一个发送。
按照本发明,每个站点都维护称作NeighboredStations的数据库,这个数据库用于存储收集到的统计信息。该NeighboredStations数据库包括对于该站点所维护的每条链路的项。每个项包括下面的字段LastPL在这条链路上使用的最后一个功率水平;LastRate在这条链路上使用的最后一个速率;PrErrData受损数据帧的百分比;注意,LastPL和LastRate字段在站点结束发送会话时被更新。使用两个计数器如下计算量PrErrDatePrErrDat[%]=((1-α)×ErrDateFrameTotalNumOfRecData+α×PrErrData/100)*100--(17)]]>其中TotalNumOfRecData是从该链路上接收到的数据帧的总数(包括错误的数据帧);ErrDataFrame是从这条链路上接收到的错误的数据帧的数目;α是分配给统计历史的权值;当该站点接收和发送会话时,更新TotalNumOfRecData和ErrDataFrame量。在PLR状态变化后,量PrErrDat复位为0。
PLR状态按如下方式变化。如果PrErrDat比DecPLRThreshold高,则发射机降低PLR状态。对于PLR状态1到n,DecPLRThreshold与PLIncThreshold相等。对于PLR状态n+1到m,DecPLRThreshold与RDecThreshold相等。在降低了特定链路的速率后,发射机将该链路的所有计数器复位。
如果PrErrDat比IncPLRThreshold低NumOfGoodSessions次,则发射机增加PLR状态。对于PLR状态1到n,NumOfGoodSessions与PLDecThreshold相等。对于PLR状态n+1到m,NumOfGoodSessions与RIncThreshold相等。在增加了链路的速率后,发射机将该链路的所有计数器复位。
为了适用于TCP协议,初始的PLR水平被设置为最低的水平,以便确保连接性,IncPLRThreshold和DecPLRThreshold从小的数值开始,并且随着每个PLR状态的增加而增加,直到达到它们的最终值。
8.3统计信息按照本发明,站点使用对收集的统计信息的请求(RGS)帧从其他站点接收统计信息。收到该请求的站点使用收集的统计信息响应(GSR)帧响应。GSR帧被作为MAX_HTL被初始化为0的广播会话发送。可选地,每个站点适于周期性地每隔StatInterval广播MAX_HTL等于0的GSR帧。另外,每个站点广播管理帧,所述的管理帧包括该站点在过去的StatInterval秒内所发送的会话的优先级类型。站点将接收到的信息加入它们的统计信息中,并且据此计算CWMin值。
9.层管理帧所述的MAC协议适于提供一些不同类型的管理帧。图35示出了表示管理帧的结构的图。管理帧的格式基于SST数据帧的格式并且包括28位的帧控制报头、其后是11/15字节的管理报头、可变长度的管理项(净负荷)以及16位的FCS。
9.1帧控制报头(管理帧)帧控制报头的格式与上文7.5.1节中更详细说明的数据帧的报头格式是相同的。
9.2管理报头图36示出了表示管理帧的头部的结构的图。管理报头包括具有被设置以指示SST报头的标志的10/14字节的净负荷报头,其后是1字节数目的管理项字段。上面的7.5.1节中对SST报头进行了说明。
9.3管理项图37示出了表示管理帧的管理项部分的结构的图。每个管理项包括1字节的管理类型(MT)字段,其后是可变长度的管理数据(MD)字段。
9.3.1管理类型下面的表12中列出了管理类型(MT)字段的可能的值。
表12管理类型字段的值MT值 帧类型0x00 LAS帧0x01 LASR帧0x02 RS帧0x03 SCR帧0x04 LE帧0x05 LER帧0x06 FC帧0x07 长RTS0x08 长CTS0x09 RSR帧0x0A RCS帧0x0B CSR帧0x0C RGS帧0x0D GSR帧0x0E RGTU帧0x0F GTUR帧0x10-xFF预留9.3.2管理数据9.3.2.1链路地址设置(LAS)
LAS项用于在两个站点之间分配链路地址(LA)(见8.1节)。LAS项包括含有链路目的地地址(LDA)的1个字节的管理项。
9.3.2.2链路地址设置响应(LASR)接收站点在链路地址分配过程期间使用LASR项确认LAS帧(见8.1节)。LASR项是包括链路源地址(LSA)的1个字节的管理项。
9.3.2.3转发器搜索(RS)源站点将RS项作为广播会话发送以搜索可能的转发器站点(见4节)。RS项是12个字节的管理项,包括6个字节的初始目的地MAC(ODM)地址,其后是6个字节的初始源MAC(OSM)地址。
9.3.2.4源取消转发器(SCR)初始源向转发器发送SCR项以便终止其作为转发器的作用。SCR项是6个字节的管理项,包括6个字节的初始目的地MAC地址(ODM)。
9.3.2.5链路存在(LE)初始源站点向初始目的地站点发送LE项以检查在这两个站点之间是否有直接的链路存在。LE项没有管理数据。
9.3.2.6链路存在响应(LER)接收机发送LER项以指示接收到了LE。LER项没有管理数据。
9.3.2.7失败的连接(FC)转发器向初始源站点发送FC项以指示与初始目的地站点间的通信失败了,并且可能会也可能不会产生传输。FC是1字节的管理项,它包括6字节的初始目的地MAC地址。
9.3.2.8长RTS/CTS如上所述,出于同步以及分配链路地址的目的,所述的MAC协议适于提供长RTS和CTS帧发送。如下面的表13所示,长RTS/CTS项包括LDA/LSA的4字节的管理项,其后是RES以及TTT。
表13长RTS/CTS管理项字段位# 位 定义LDA/LSA 24-31 8 如果发送长RTS则为LDA如果发送长CTS则为LSA如RTS和CTS控制帧中的预留RES16-23 8 字段TTT0-15 16 滴答时间9.3.2.9转发器搜索响应(RSR)作为对RS帧的确认,转发器发送RSR项。RSR项是14个字节的管理项,包括目的地MAC地址、其后的源MAC地址、转发器与OS站点之间的PLR状态以及转发器与OD站点之间的PLR状态。下面的表14中给出了RSR管理项字段的定义。
表14RSR管理项字段 位# 位定义DM 64-11148 初始目的地站点的MAC地址SM 16-63 48 初始源站点的MAC地址PLR_OS112-15 4 OS和转发器之间的PLR状态PLR_OS2 8-11 4 转发器和OS之间的PLR状态PLR_OD1 4-7 4 转发器和OD之间的PLR状态PLR_OD2 0-3 4 OD和转发器之间的PLR状态9.3.2.10请求信道检测(RCS)站点发送RCS项以便请求信道检测参数。RCS没有管理数据。
9.3.2.11信道检测响应(CSR)站点作为对RCS帧的响应发送CSR项。CSR帧是2个字节的管理项,如下面的表15所示,它包括CQ、AvgCQ、CS_TxDataCounter以及CS_TxFailCounter(见1.11节)。
表15CSR管理项字段位# 位 定义CQ 12-15 4接收到的RCS的信道质量AvgCQ 8-11 4平均信道质量PrErrData 0-7 8当前链路中的失败数据帧的百分比9.3.2.12对收集统计信息的请求(RGS)站点发送RGS项以便从其他站点请求统计参数。RCS没有管理数据。
9.3.2.13收集的统计信息的响应(GSR)站点发送GSR项作为对RGS帧的响应(见1.12节)。GSR是19个字节的管理项,它包括下面的表16中示出的统计参数。
表16QSR管理项字段位#位定义TxPrCounter00 136-151 16 具有00优先级的已发送数据帧的数目TxPrCounter01 120-135 16 具有01优先级的已发送数据帧的数目TxPrCounter10 104-119 16 具有10优先级的已发送数据帧的数目TxPrCounter11 88-103 16 具有11优先级的已发送数据帧的数目TxPrCounter00 72-87 16 具有00优先级的已接收数据帧的数目TxPrCounter01 56-71 16 具有01优先级的已接收数据帧的数目TxPrCounter10 40-55 16 具有10优先级的已接收数据帧的数目TxPrCounter11 24-39 16 具有11优先级的已接收数据帧的数目来自发送RGS的站点的失效的数据帧PrErrData 16-23 8的百分比来自发送RGS的站点的发送的平均信AvgCQ8-15 8道质量TxRate 5-74发送RGS的站点的发送速率TxPowerLevel 0-44发送RGS的站点的发送功率水平9.3.2.14请求全局时间更新(RGTU)站点发送RGTU项以请求全局时间(见1.10节)。RGTU没有管理数据。
9.3.2.15全局时间更新响应(GTUR)站点发送GTUR项作为对RGTU帧的响应(见1.10节)。GTUR是2个字节的管理项,它包括16位的滴答时间(TTT)字段。
9.3.3管理帧优先级为在会话之前发送的管理帧分配一个比该会话更高的优先级(如果存在有这样的优先级等级的话)。这些帧包括LAS、LASR、长RTS/CTS、RS、RSR、SCR、LE、LER以及FC。由站点作为响应而发送的、包含立即使用的重要信息的管理帧分配有最高的优先级。这些帧包括RCS、CSR、RGTU以及GTUR。请求或者包括用作站点的一般用途以及继续的操作的信息的管理帧分配有最低的优先级。这些帧包括RGS以及GSR。
包含介质访问控制器的站点现在说明本发明的包含介质访问控制器(MAC)的节点设备的实例性实施例。图38示出了表示适于执行本发明的MAC协议的机制的实例站点的框图。被总体地以320表示的站点表示可以独立运行或者被引入如交换机、路由器、集线器、宽带调制解调器、电缆调制解调器、基于PLC的调制解调器等等的用于执行通信功能(也就是实现包括MAC功能的OSI协议栈功能)的网络设备中站点。所述的节点设备包括应用处理器330,该应用处理器330具有与该处理器通信的相关联的静态的、动态的、易失的和/或非易失的存储器(未示出)。所述的应用处理器还通过主机接口332与主机计算设备334通信。所述的主机可适于在一个或多个其他网络上通信。
所述的站点还包括介质耦合电路322,它的作用是作为站点到共享介质340的接口。发送电路324以及接收电路326通过所述的介质耦合电路在介质上通信。Rx电路不仅适于提供接收到的数据,还适于提供在信道竞争期间由MAC所使用的FCD以及CD载波检测信号。在一端,所述的介质访问控制器(MAC)328起向发送电路提供发送数据以及从接收电路接收数据的作用。在处理器端,它与所述的应用处理器进行接口。所述的MAC适于实现本发明的MAC协议层的功能,该功能包括使用上述的方法和技术控制对共享介质的访问。
注意,所述的介质访问控制可以用软件加以实现,并且适于存在计算机可读介质中,例如在磁盘、软盘、闪存卡、基于EEROM的存储器、磁泡存储器、RAM存储器、ROM存储器等等中。所述的软件还可以整个地或是部分地存在于计算机系统的静态的或动态的主存储器中或处理器内的固件中。所述的处理器可以包括任何适合的处理装置,包括微控制器、微型计算机、微处理器、数字信号处理器、FPGA核心,ASIC核心等等。特别是,所述的介质访问控制软件包括指令序列,当处理器在执行该指令序列时,该指令序列使计算机系统执行上述MAC层方法中的任一个的步骤。
在另一个实施例中,本发明可以适用于在集成电路中实现上述的方法和装置,特别是在专用集成电路(ASIC)、现场可编程门阵列(FPGA)或芯片组、无线调制解调器实现方案、电力线调制解调器实现方案、交换系统产品以及传输系统产品中实现。注意,还可以实现软件和硬件的组合,前者执行复杂的操作而后者执行对时间有严格要求的操作。
同于本文的目的,用术语交换系统产品来指代专用小型交换机(PBX)、互连用户的中央局交换系统、长途电话/汇接交换中心、位于服务提供商网络的中心的、可由宽带边缘交换机或接入多路复用器馈入的宽带核心交换机以及相关信令和支持系统及服务。用术语传输系统产品来指代被服务提供商用来在其用户及其如环形系统的网络之间提供互连、并在跨广泛区域的服务提供商的交换系统之间提供复用、汇聚和传输的产品以及相关信令和支持系统及服务。
所附的权利要求书旨在覆盖落在本发明的精神和范围内的本发明的所有这些特征和优点。因为本领域技术人员可以容易地作出许多修改和变化,所以本发明并不旨在局限于在此说明的有限数量的实施例。因此,应当理解,所有可以采用的适当的变形、修改以及等同的方案都落在本发明的精神和范围内。
权利要求
1.一种在与通信信道相连的通信收发信机中访问信道的方法,所述的收发信机适于提供载波侦听信号,所述的载波侦听信号包括在发送开始后相对短的时刻产生的快速载波检测(FCD),所述的快速载波检测具有高的伪报警率,并指示发送可能正在开始,所述的载波侦听信号还包括在发送开始后的相对长的时刻产生的载波检测(CD)信号,所述的载波检测信号具有低的伪报警率,并且指示发送正在开始,所述方法包括下述步骤在当前发送会话终止后,建立信道竞争期间,所述的信道竞争期间被分成多个时隙,每个时隙的宽度大体上与所述的FCD信号的时间相等;用与随机数目个时隙相等的后退值初始化后退计数器;当所述的介质空闲时,减少所述的后退计数器;当接收到FCD信号后,暂停所述的后退计数器;当在CD时间内没有CD信号到达后,继续减少所述的后退计数器;当接收到CD信号后,将发送推迟到下一个竞争期间;以及当所述的后退计数器届满后,开始发送。
2.如权利要求1所述的方法,其中由所述信道的状态从忙到竞争的变化指示所述的当前发送会话的终止。
3.如权利要求1所述的方法还包括在前一个发送会话的末尾与所述的信道竞争期间的开始之间插入竞争帧间隙(CIFS)。
4.如权利要求1所述的方法还包括当所述的后退计数器届满后尝试预留所述的信道的步骤。
5.如权利要求1所述的方法还包括通过向目的地站点发送含有预留时间的请求发送(RTS)帧来预留所述信道的步骤。
6.如权利要求1所述的方法还包括通过从目的地站点向源站点发送含有预留时间的清除发送(CTS)帧来预留所述信道的步骤。
7.如权利要求1所述的方法,其中每个竞争期间进一步分成多个竞争窗口,每个竞争窗口对应于一个不同的优先级。
8.如权利要求7所述的方法,其中按照所述网络中的站点数目的函数动态地调整每个竞争窗口的大小。
9.如权利要求8所述的方法,其中使用管理帧确定所述的站点数目。
10.如权利要求8所述的方法,其中通过按照竞争窗口的当前大小和从当站点被允许发送到当该站点实际开始发送之间的时间的函数来计算所述网络中的站点数目的估计值确定所述站点数目。
11.如权利要求1所述的方法,其中将所述的后退计数器暂停,直到优先级与将要发送的发送的优先级对应的竞争窗口到来为止。
12.如权利要求1所述的方法,其中所述的初始化步骤包括在0和竞争窗口的大小之间选择随机数目个时隙。
13.如权利要求1所述的方法,其中所述的后退计数器从在接收到最近一个FCD信号之前的值开始继续。
14.如权利要求1所述的方法,其中在接收到了FCD信号的CD时间内没有接收到CD信号指示所述的FCD信号是伪报警。
15.如权利要求1所述的方法,其特征在于进一步包括在链路失败的情况下释放所述的曾经被预留的信道或减少预留计数器的步骤。
16.如权利要求15所述的方法,其中通过适于指示CTS失败的帧指示所述的链路失败。
17.如权利要求15所述的方法,其中通过适于指示RTS失败的帧指示所述的链路失败。
18.如权利要求1所述的方法,其中进一步包括在分配给会话的最大时间届满的情况下释放所述的信道的步骤。
19.如权利要求1所述的方法,还包括减少一个或多个预留计数器的步骤,每个预留计数器保持预留时间,其中为由站点检测到的每个会话维护单独的预留计数器,并且其中仅当具有最大预留时间的预留计数器届满时,才认为已释放了所述的信道。
20.一种在与通信信道相连的通信收发信机中访问信道的方法,所述方法包括以下步骤在当前发送会话终止后建立一个或多个竞争窗口,为每个竞争窗口分配一优先级,并且将每个竞争窗口细分为多个后退时隙;推迟0或多个竞争窗口,直到优先级与特定发送的优先级对应的竞争窗口到达为止;使用与随机数目个后退时隙相等的后退值初始化后退计数器;在所述的介质空闲时减少所述的后退计数器;以及在所述的后退计数器届满后,尝试预留所述的信道。
21.如权利要求20所述的方法,其中所述的后退时隙的宽度是载波检测(CD)信号的倍数。
22.如权利要求21所述的方法,其中在发送开始后相对长的时刻产生所述的CD信号,所述的CD信号具有低的伪报警率并且指示发送正在开始。
23.如权利要求20所述的方法,其中所述后退时隙的宽度是快速载波检测(FCD)信号的倍数。
24.如权利要求23所述的方法,其中在发送开始后相对较短的时刻产生所述的FCD信号,所述的FCD信号具有高的伪报警率并且指示发送可能正在开始。
25.如权利要求20所述的方法,还包括如下步骤当接收到快速载波检测(FCD)信号后,暂停所述的后退计数器;当在CD时间内没有载波检测(CD)信号到达后,继续减少所述的后退计数器;以及当接收到CD信号后,推迟发送,直到随后的发送完成后为止。
26.如权利要求20所述的方法,其中所述的尝试预留所述信道的步骤包括向目的地站点发送包含有预留时间的请求发送(RTS)帧。
27.如权利要求20所述的方法,还包括在进行了预定次数的对预留所述信道的尝试后,宣布链路失败的步骤。
28.如权利要求20所述的方法,还包括当预留所述的信道失败后增加竞争窗口的大小的步骤。
29.如权利要求20所述的方法,还包括步骤如果成功地预留了信道,则将所述的竞争窗口的大小减少到达到最小的竞争窗口的大小。
30.如权利要求20所述的方法,还包括按照所述网络中的站点数目的函数调整每个竞争窗口的大小的步骤。
31.一种基于载波侦听多路访问(CSMA)的通信系统,其中在发送之前是竞争阶段,在竞争阶段期间一个或多个发射机竞争对信道的访问,所述系统包括用于建立一个或多个竞争窗口的装置,每个竞争窗口分配有优先级;用于将每个竞争窗口分成多个后退时隙的装置,其中在一个时隙期间检测到载波侦听信号潜在地指示所述的信道忙;适用于使用后退计数器计数与多个所述的后退时隙相等的随机选择的后退时间的后退装置;以及适于在所述的后退计数器届满后尝试预留所述信道并且在成功地预留了所述信道后能够进行发送的预留装置。
32.如权利要求31所述的系统,其特征在于所述的后退装置包括用于在检测到了快速载波检测(FCD)信号的后退时隙期间暂停所述的后退计数器的装置;在没有接收到FCD信号的后退时隙期间继续所述的后退计数器;以及在没有接收到了FCD信号的CD时间内接收到了载波检测(CD)信号后,将发送推迟到下一个竞争阶段。
33.如权利要求31所述的系统,其中所述的FCD信号快于所述的CD信号而被检测。
34.如权利要求31所述的系统,其中所述的FCD信号的伪报警率比所述的CD信号高。
35.如权利要求31所述的系统,其中所述的后退装置包括用于当接收到了CD信号后重新开始发送会话的装置。
36.如权利要求31所述的系统,其中所述的后退计数器适于响应所述的被推迟的发送会话以产生新的随机后退时间。
37.如权利要求31所述的系统,其中所述的后退计数器适于当继续所述的发送会话后,从所述的后退计数器先前停止的时刻开始继续计数。
38.如权利要求31所述的系统,其中所述的预留装置适于向目的地站点发送包含有预留时间的请求发送(RTS)帧。
39.如权利要求31所述的系统,其中所述的预留装置适于从目的地站点向源站点发送包含有预留时间的清除发送(CTS)帧。
40.如权利要求31所述的系统,其中所述的用于划分每个竞争窗口的装置包括适于按照在所述的竞争窗口内竞争信道的站点数目的函数来调整每个竞争窗口的大小的调整装置。
41.如权利要求40所述的系统,其中使用管理帧确定所述的站点数目。
42.如权利要求40所述的系统,其中使用用于按照竞争窗口的当前大小和从当站点被允许发送到当该站点实际开始发送之间的时间的函数来计算所述网络中的站点数目的估计值的装置确定所述站点数目。
43.如权利要求31所述的系统,还包括用于在链路失败的情况下释放所述的曾经预留的信道的装置。
44.如权利要求43所述的系统,其中通过适于指示CTS失败的帧指示所述的链路失败。
45.如权利要求43所述的系统,其中通过适于指示RTS失败的帧指示所述的链路失败。
46.如权利要求43所述的系统,其中通过适于指示ACK失败的帧指示所述的链路失败。
47.如权利要求31所述的系统,还包括用于在分配给会话的最大时间届满的情况下释放所述信道的装置。
48.如权利要求31所述的系统,还包括用于减少一个或多个预留计数器的装置,每个预留计数器保持预留时间,其中为由站点检测到的每个会话维护单独的预留计数器,并且其中仅当具有最大预留时间的预留计数器届满时才认为释放了所述的信道。
49.一种用于在基于载波侦听多路访问(CSMA)帧的通信网络上发送和接收的通信收发信机,其中通过竞争帧间隙(CIFS)将帧的发送分隔开,在所述的竞争帧间隙期间,一个或多个节点竞争对所述网络的访问,所述收发信机包括用于产生在所述的网络上接收到的接收信号和用于输出发送信号到所述网络上的耦合电路;发射机适于按照调制方案调制要被发送的数据以便从中产生所述的发送信号;接收机适于按照所述的调制方案解调所述的接收信号以便从中产生接收数据信号,并适于产生载波侦听信号,所述的载波侦听信号包括在传输开始后相对短的时刻产生、具有高的伪报警率且指示发送可能正在开始的快速载波检测(FCD),以及在发送开始后相对长的时刻产生、具有低的伪报警率且指示发送正在开始的载波检测(CD)信号;介质访问控制(MAC),所述的介质访问控制包括适于如下方面的装置在当前发送会话终止后,建立一个或多个竞争窗口,每个竞争窗口分配有优先级并且被细分为多个后退时隙;推迟0或多个竞争窗口,直到优先级与特定的发送的优先级对应的竞争窗口到来时为止;用与随机数目个后退时隙相等的后退值初始化后退计数器;当所述的介质空闲时减少所述的后退计数器;当所述的后退计数器届满后,尝试预留所述的信道;当成功地预留了所述的信道后,发送到所述信道上;以及适于控制所述的发射机、接收机以及MAC的操作并适于在所述的MAC和外部主机之间提供接口的处理器。
50.如权利要求49所述的收发信机,其中由所述信道状态从忙变成空闲的变化指示所述的当前发送会话的终止。
51.如权利要求49所述的收发信机,其中所述的MAC装置适于在前一个发送会话的末尾与所述的信道竞争期间的开始之间插入竞争帧间隙(CIFS)。
52.如权利要求49所述的收发信机,其中预留所述信道包括向目的地站点发送包含有预留时间的请求发送(RTS)帧。
53.如权利要求49所述的收发信机,其中所述网络中的站点数目的函数动态地调整每个所述的一个或多个竞争窗口的大小。
54.如权利要求53所述的收发信机,其中使用管理帧确定所述的站点数目。
55.如权利要求53所述的收发信机,其中使用这样的装置确定所述的站点数目,所述的这样的装置用于按照竞争窗口的当前大小和从当站点被允许发送到站点实际开始发送之间的时间的函数来计算所述网络上的站点数目的估计值。
56.如权利要求49所述的收发信机,其中暂停所述的后退计数器,直到优先级与将被发送的发送的优先级对应的竞争窗口到来为止。
57.如权利要求49所述的收发信机,其中所述的初始化步骤包括在0和竞争窗口的大小之间选择随机数目个时隙。
58.如权利要求49所述的收发信机,其中所述的后退计数器从在接收到最近一个快速载波检测(FCD)信号之前的值开始继续。
59.如权利要求49所述的收发信机,其中在接收到了快速载波检测(FCD)信号的CD时间内没有接收到载波检测(CD)信号指示所述的FCD信号是伪报警。
60.一种计算机可读存储介质,所述的计算机可读存储介质具有其上嵌入的计算机程序,所述的计算机程序用于使适当编程的系统在基于载波侦听多路访问(CSMA)帧的通信系统中访问信道,其中通过竞争帧间隙(CIFS)将帧发送分隔开,在所述的帧间隙期间,当在所述的系统上执行这种程序时,一个或多个发射机通过执行下面的步骤竞争对所述的信道的访问当当前发送会话终止后建立一个或多个竞争窗口,每个竞争窗口分配有优先级,并且每个竞争窗口被细分为多个后退时隙;推迟0或多个竞争窗口,直到优先级与特定发送的优先级对应的竞争窗口到达为止;用与随机数目个后退时隙相等的后退值初始化后退计数器;当所述的介质空闲时减少所述的后退计数器;当所述的后退计数器届满后,尝试预留所述的信道;以及当成功地预留了所述的信道后,发送到所述的信道上。
61.如权利要求60所述的计算机可读存储介质,其中所述的后退时隙的宽度是载波检测(CD)信号的倍数。
62.如权利要求61所述的计算机可读存储介质,其中发送开始后的相对长的时刻产生所述的CD信号,所述的CD信号具有低的为报警率并且指示发送正在开始。
63.如权利要求60所述的计算机可读存储介质,其中所述的后退时隙的宽度是快速载波检测(FCD)信号的倍数。
64.如权利要求63所述的计算机可读存储介质,其中在发送开始后相对短的时刻产生所述的FCD信号,所述的FCD信号具有高的报警率并且指示发送可能正在开始。
65.如权利要求60所述的计算机可读存储介质,还包括如下步骤在接收到快速载波检测(FCD)信号后,暂停所述的后退计数器;当在CD时间内没有载波检测(CD)信号到来后继续减少所述的后退计数器;以及当接收到CD信号后,将发送推迟到紧接着的发送之后。
66.如权利要求60所述的计算机可读存储介质,其中在发送之后,所述的FCD信号快于所述的CD信号而产生。
67.如权利要求60所述的计算机可读存储介质,其中所述的FCD信号具有比所述的CD信号更高的伪报警率。
68.如权利要求60所述的计算机可读存储介质,其中所述的FCD信号有比所述的CD信号更高的检测可能性。
69.如权利要求60所述的计算机可读存储介质,还包括当接收到载波检测(CD)信号后接着重新开始发送会话的步骤。
70.如权利要求60所述的计算机可读存储介质,其中按照所述网络中的站点数目的函数动态地调整每个所述的一个或多个竞争窗口的大小。
71.如权利要求70所述的计算机可读存储介质,其中使用管理帧确定所述的站点数目。
72.如权利要求70所述的计算机可读存储介质,其中使用这样的装置确定所述的站点数目,所述的这样的装置用于按照竞争窗口的当前大小和从当站点被允许发送到当站点实际开始发送之间的时间的函数来计算所述网络中的站点数目的估计值。
73.如权利要求60所述的计算机可读存储介质,其中所述的传输步骤包括向目的地站点发送包含有预留时间的请求发送(RTS)帧的步骤。
74.如权利要求60所述的计算机可读存储介质,其中所述的发送步骤包括从目的地站点向源站点发送包含有预留时间的清除发送(CTS)帧。
75.如权利要求60所述的计算机可读存储介质,还包括在链路失败的情况下释放所述的曾经预留的信道的步骤。
76.如权利要求75所述的计算机可读存储介质,其中通过适于指示CTS失败的帧指示所述的链路失败。
77.如权利要求75所述的计算机可读存储介质,其中通过适于指示RTS失败的帧指示所述的链路失败。
78.如权利要求60所述的计算机可读存储介质,还包括在分配给会话的最大时间届满的情况下释放所述的信道的步骤。
79.如权利要求60所述的计算机可读存储介质,还包括减少一个或多个预留计数器的步骤,每个预留计数器保持预留时间,其中为由站点检测到的每个会话维护单独的预留计数器,并且其中仅当具有最大预留时间的预留计数器届满时,才认为释放了所述的信道。
80.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;为所述的一个或多个竞争窗口的每一个分配不同的优先级;用与随机数目个后退时隙相等的后退值初始化后退计数器;等待,直到优先级与特定站点的发送的优先级对应的竞争窗口到来,并且当其到来后,在所述的介质为空闲时,减少所述的后退计数器;以及当所述的后退计数器届满后尝试预留所述的通信信道。
81.如权利要求80所述的方法,其中当站点预留所述的通信信道失败后,增加所述的竞争窗口的大小。
82.如权利要求80所述的方法,其中当站点成功地预留了所述的通信信道后,减少所述的竞争窗口的大小。
83.一种在包括多个站点的网络中,访问通信信道的方法,所述方法包括如下步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;为所述的一个或多个竞争窗口的每一个分配优先级;用与随机数目个后退时隙相等的后退值初始化后退计数器;等待,直到优先级与特定站点的发送的优先级相对应的竞争窗口的到来为止,并且当其到来后,在所述的介质为空闲时,减少所述的后退计数器;当所述的后退计数器届满后,尝试预留所述信道;以及按照在所述的竞争窗口内竞争所述的通信信道的站点数目的函数调整竞争窗口的大小。
84.如权利要求83所述的方法,其中当站点预留所述的通信信道失败后,增加所述的竞争窗口的大小。
85.如权利要求83所述的方法,其中当站点成功地预留了所述的通信信道后,减少所述的竞争窗口的大小。
86.如权利要求83所述的方法,其中按照下式计算所述的站点数目 其中t的期望值为E[t]=CWN+1]]>其中CW是竞争窗口,每个站点在CW内随机地选择后退值,N是在任意给定的时刻竞争所述的通信信道的站点数目,t是从站点被允许进行发送的时刻到一个站点开始发送的时刻的实际时间,E(t)是t的期望值。
87.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;按照当前竞争窗口的大小以及为从站点被允许发送的时刻直到一个站点开始发送的实际时间的时间t的函数估计所述网络中的站点数目;按照估计的所述网络中的站点数目的函数调整所述的一个或多个竞争窗口的每一个的大小;以及每个站点将对所述通信信道的预留的尝试推迟到特定发送相关联的竞争窗口到达为止。
88.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤每个站点产生指示所述的通信信道忙的虚拟载波侦听信号;以及当所述的虚拟载波侦听信号指示所述的通信信道当前忙,并且目前正在预留所述通信信道的站点确定将要更新与其会话相关联的预留计数器时,将包含更新的预留计数器时间的消息发送到所述网络上。
89.如权利要求88所述的方法,其中减少所述的更新的预留计数器。
90.如权利要求88所述的方法,其中增加所述的更新的预留计数器。
91.如权利要求88所述的方法,其中所述的更新的预留计数器设置为0以便使所述的通信信道被释放。
92.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤检测在所述的网络中的站点间建立的一个或多个会话;在每个站点中为由特定站点检测到的每个会话维护预留计数器,所述的预留计数器保持预留时间;周期性地减少每个预留计数器;以及当具有最大的预留时间的预留计数器届满后,就认为所述的通信信道被释放。
93.一种在包括多个站点的基于电力线载波的网络中,访问通信信道的方法,所述方法包括如下步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;为所述的一个或多个竞争窗口的每一个分配不同的优先级;每个站点侦听所述通信信道看是否有载波信号;每个想要发送的站点选择随机的后退时间;每个站点等待,直到与其相关的优先级与特定站点的发送的优先级对应的竞争窗口到来为止;在具有匹配的优先级的竞争窗口内,等待随机的后退时间;当所述的后退时间届满后,尝试预留所述的通信信道;以及如果检测到了载波信号的存在,就暂停所述的后退时间的倒数。
94.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;用与随机数目个后退时隙相等的后退值初始化后退计数器;等待,直到与特定发送对应的竞争窗口的到来为止,并且当其到来后,在所述的介质空闲时,减少所述的后退计数器;当所述的后退计数器届满后,尝试预留所述的信道;在进行了预定次数的失败的对所述通信信道的预留尝试后,宣布存在隐藏的站点;以及由此增加所述的后退时隙的宽度并且重复所述的初始化步骤,等待并尝试预留所述的通信信道。
95.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤将发送会话分段成多个帧;建立一个或多个竞争窗口,所述的多个站点在所述的竞争窗口内竞争对所述的通信信道的访问;用与随机数目个后退时隙相等的后退值初始化后退计数器;等待,直到与特定发送对应的竞争窗口的到来为止,并且当其到来后,在所述的介质空闲时,减少所述的后退计数器;当所述的后退计数器届满后,尝试预留所述的信道一段足够发送所述的多个帧的时间;从发送站点向接收站点发送所述的多个帧;以及所述的接收站点向所述的发送站点发送ACK应答,所述的ACK应答包括多个ACK位,每个ACK位指示是否要重新发送所述的帧中的一个。
96.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤按照下式估计在所述的通信网络中的站点数目 其中t的期望值为E[t]=CWN+1]]>并且其中CW表示一个或多个竞争窗口之一的宽度,在CW内每个站点随机地选择后退时隙,N是在任意给定的时间竞争信道的站点数目,t是从站点被允许发送的时刻直到一个站点开始发送的时刻的实际的时间,并且E(t)是t的期望值。
97.一种在包括多个站点的网络中访问通信信道的方法,所述方法包括如下步骤从发送站点向接收站点发送消息;所述的接收站点在接收到消息后发送确认消息;当所述的发送站点没有接收到所述的确认消息后,所述的发送站点向所述的接收站点发送请求确认(RA)消息;以及当所述的发送站点一直没有接收到所述的确认消息后,所述的发送站点反复地向所述的接收站点发送RA消息。
98.如权利要求97所述的方法,其中重复所述的反复地向所述的接收站点发送RA消息的步骤,直到所述的发送站点接收到确认为止。
99.如权利要求97所述的方法,其中所述的反复地向所述的接收站点发送RA消息的步骤被重复max RA retries次。
全文摘要
一种旨在用于有噪声的共享介质信道上的新颖及有用的介质访问控制(MAC)协议。所述的MAC协议在使用共享介质的网络上提供第二层功能,包括用于CSMA.CA信道访问的后退机制、减少长的MAC地址开销的链路编址、用于广播传输的具有受控的风险的扩散方案、使用可选择的ACK的多路广播传输、使用自适应后退方案的业务优先级的实现方案、第二层转发器的建立过程以及用于短分组的多分组传输和用于长分组传输的分段。
文档编号H04B3/54GK1533643SQ02814500
公开日2004年9月29日 申请日期2002年6月18日 优先权日2001年6月18日
发明者D·拉斐利, M·穆什基, R·加齐特, Y·卡琴, A·埃雷兹, D 拉斐利, 不 , 胩, 鬃 申请人:伊特兰通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1