专利名称:与以太网兼容的实时介质访问控制方法
技术领域:
本发明涉及一种实时介质访问控制方法,尤其是一种与以太网兼容的实时介质访问控制方法,用于通信技术领域。
背景技术:
以太网在设计之初主要针对提高数据传输吞吐量并最小化平均传输时延,采用了一种称为1-持续的载波侦听冲突检测多址访问(CSMA/CD)技术,信道中发生冲突时,参与冲突的节点根据截断式二进指数退避算法(BEB)决定一个随机退避时间,重传被破坏的数据帧,网络最大传输时延具有不确定性;而且以太网的共享信道中并没有定义优先级机制,这些因素限制了以太网在实时性要求严格的分布式网络环境下的应用,如网络控制系统。分布式实时系统中的消息一般具有时间约束,系统的运行同时取决于任务执行结果和时间逻辑的正确性,网络通信的不确定性是影响时间逻辑一个关键因素。
针对以太网通信的实时性问题,提出的典型的实时介质层协议如VT-CSMA虚时钟协议、CSMA-DCR树协议、窗协议等。但这些协议与以太网标准不兼容,现有以太网设备无法在新的通信系统中继续应用,也限制了他们的推广。基于软件的解决方案在介质层的上层进行实时性改进,不需要修改以太网协议,很好的保证了兼容性,如虚令牌RETHER协议、流量平滑协议、TEMPRA协议等。这种方案通常需要对操作系统内核或标准协议栈进行适当的修改,使通信系统的复杂性提高,移植性降低,而且它们并没有消除实质上由介质层带来的不确定问题。
经文献检索发现,G.Shen提出一个与以太网协议互相兼容的实时介质访问控制协议(G.Shen,and X.M.Xu,A New Persistent Contention-Based Real-TimeEthernet MAC Protocol,in Proceedings of the American Control Conference,Anchorage,AK May,20022455-2456.(美国控制会议,一种新的基于持续竞争的实时以太网MAC协议),信道发生冲突后,通过发送长度不同的阻塞信号作为竞争帧,参与冲突的高优先级节点取得信道的访问权,然后通过适当缩短以太网标准定义的帧间隙时间,实时数据最终获得优先发送。由于帧间隙缩短,网络的规模需要适当缩小。这个协议实现了静态优先级机制,每个实时节点优先级固定。
发明内容
本发明的目的在于针对现有技术方案的不足,提供一种与以太网兼容的实时介质访问控制方法。使其在充分保留现有以太网技术特征的基础上,实现动态优先级传输机制,同时在满足一定前提条件下为网络中的重要数据提供确定性传输信道。现有以太网节点直接挂接在总线系统中,不需要经过任何中间转换设备与实时节点直接进行相互通信。
本发明是通过以下技术方案实现的,本发明介质访问控制方法,首先基于标准以太网数据帧具有长度可变的内在特征,在不改变帧结构的基础上定义动态优先级机制,通过消息的长度映射优先级,实现消息的优先级在应用层动态的分发管理,并经过标准协议栈中间各层随同消息进行透明传输。然后,利用标准以太网接口芯片本身具有的载波侦听能力,通过进行连续的信道载波侦听判决,实时介质访问控制方法在动态优先级定义的基础上建立“阻塞”信道模式和抢占式工作机制,实现对各种实时信息优先级传输。
以下对本发明方法作进一步的限定,包括两个基本步骤(1)、定义实时消息的动态优先级根据以太网标准IEEE802.3的定义,以太网帧的数据字段具有可变长度,最小长度定义为46字节,用以支持正常的CSMA/CD操作,最大长度定义为1500字节。利用这个特点,本发明通过数据字段的长度来映射实时消息的优先级,而不改变以太网数据帧的结构。当消息长度处于标记为不同优先级的实时数据字段范围之内时定义其为实时消息。不同优先级的数据对应不同的长度字段范围,而且互不相交。基于这种优先级机制,网络接口电路可以通过连续侦听载波、比较载波持续的时间获得信道上正在传输数据的优先级信息。考虑到实时数据发生冲突时,本发明规定实时节点在发送阻塞信号之后并不停止传输,而是根据节点的当前优先级继续发送竞争信号,竞争结果导致最大冲突帧从传统以太网中的1个时隙扩展为几个时隙,为了同样根据载波长度检测冲突及由冲突引起的竞争状态,在实时数据字段的起始保留一个称为竞争同步的长度范围,组成元素定义为1)冲突数据同步字段用于同步相距最远的以太网帧之间发生冲突时引起的最大载波,包括同步46字节的最小冲突数据及4字节的帧校验序列;2)阻塞信号同步字段用于同步32位的阻塞强化信号;3)竞争帧字段同步最大竞争帧,由几个具有相同长度的单个竞争帧组成,单个竞争帧的长度为64个字节,用于提供每次竞争时最小冲突检测时间,最大竞争帧长度决定于最大优先级数;4)检验隔离字段8位隔离区间,位于竞争字段和实时数据范围之间,用于避免由于定时不精确或者信道错误导致的冲突状态和成功传输状态的错误检测;基于上面的定义,当节点侦听到载波长度处于竞争同步范围之内时,认为信道上发生了冲突,进一步比较竞争帧长度的范围,所有实时节点可以获得参与冲突的实时数据的优先级信息。在实际的分布式实时应用,如网络控制系统,实时控制指令、传感器等数据通常具有较短长度,而非实时的系统监测、管理、统计数据具有较大的长度范围,鉴于这个特点,本发明中规定实时数据的长度随着优先级的升高逐渐减小。非实时以太网数据分配在实时数据字段后面一个较大的长度范围之内。不同优先级的实时数据范围进行线性等量划分。
(2)、实时的介质访问控制系统初始化之后,所有实时节点开始连续的侦听信道。当一个消息到达介质层后,介质层首先检查数据的长度以确定其合法性,因为本发明规定长度小于最大竞争帧的载波被视为冲突载波,相应的数据帧直接做丢弃处理,以避免成功发送到信道后导致信道的虚假冲突状态,引起其它节点的误阻塞。否则,介质层根据数据长度计算节点当前的优先级。介质访问控制方法包括下面三个组成部分1)基本的优先级传输控制介质层准备发送数据时,与普通以太网协议只检查当前发送延迟变量不同,实时介质层检查一个新定义的信道状态变量,这个逻辑变量记录了信道当前是否处于由于解析冲突引起的阻塞状态。本发明规定,信道上首次发生冲突时,即信道状态变量为0时检测到冲突,除参与冲突的节点之外,其它实时节点立即进入发送阻塞模式,将信道状态变量设置为1,阻止任何新到达数据的传输,把信道留给当前冲突的实时数据帧进行冲突解析。另一方面,如果介质层准备发送数据时检测到信道状态变量为0,则根据发送延迟变量进行帧间隙延迟后立即开始发送数据帧。
在发送过程中,如果检测到冲突,在发送32位阻塞强化信号之后,实时节点并不停止发送,而是继续发送竞争帧,发送竞争帧的最大次数由节点当前的优先级决定,优先级越高,发送竞争帧的最大次数越多。竞争方法如下①一个节点在竞争的过程中发现冲突消失,那么这个节点是唯一的参与冲突的高优先级节点,通过竞争获得了信道的访问控制权,节点在发送当前竞争帧结束后,等待一个帧间隙时间,立即重传被破坏的数据帧;②竞争的次数达到了当前优先级决定的最大值,冲突仍然存在,节点停止发送竞争帧,开始侦听后续载波持续的时间间隔,如果载波消失时,时间间隔大于一个时隙,说明信道上仍存在高优先级节点在发送竞争帧,当前节点放弃信道访问控制权,设置信道状态变量为1,转入阻塞模式;③如果后续载波持续时间间隔小于一个时隙,说明信道上全部竞争结束,但是竞争发生在相同优先级的实时节点之间,节点仍然取得信道的访问控制权,同时设置新的访问状态逻辑变量为1,根据BEB算法退避重传。退避重传状态的节点具有相同的优先级,为了提高信道利用率,如果退避节点再次发生冲突,规定发送竞争帧的次数为1;④最后,当某一节点通过竞争成功的发送了一个实时数据帧后,当前冲突解析过程结束,信道上所有节点检测到相应载波后,重新设置信道状态变量和访问状态变量为0,阻塞节点被唤醒并启动新一轮介质访问仲裁。
2)兼容传输控制为了保证以太网和实时节点能够相互交换信息,本发明规定以太网节点不能发送位于数据字段中以太网数据范围之外的短数据帧,此外以太网接节点则依据原有协议规则访问信道。但是由于并不清楚信道的阻塞状态,以太网节点实际获得了与通过竞争取得信道访问控制权的实时节点相同的优先权,为了保证冲突发生时实时节点仍然具有优先发送权,如果实时节点在退避重传期间检测到与以太网数据帧发生冲突,即仅在发送一个竞争帧的过程中检测到冲突消失,介质访问控制规定①实时节点的冲突计数器保持不变,而以太网节点则按照原有协议规定冲突计数器增加1,即实时节点在对以太网节点的冲突中不进行退避,以太网则进行指数退避,于是实时节点将很快成功的完成数据帧的重传;②实时节点发送一个额外的竞争帧,通知处于退避等待状态的其它实时节点,由于一定存在一个当前参与冲突的实时节点即刻重传,为了提高信道的利用率,其它退避节点通过转入阻塞模式让出当前信道;③以太网节点之间引起的数据冲突,或者以太网数据帧的成功传输不改变处于退避状态的实时节点的当前操作。
3)抢占传输控制在很多情况下,实时通信系统需要为重要的消息提供确定的传输时延保证,但是由于相同优先级的实时节点为了能够公平的访问信道而采用了随机方法进行退避重传,冲突解析时间的随机性成为决定高优先级节点在其数据获得发送前随机等待的主要因素。为了提供一个具有确定时延的传输信道,本发明规定高优先级实时节点对低优先级节点引起的阻塞模式具有抢占权,即当一个最具有高优先级的实时数据帧到达时,介质层重新设置信道状态变量为0,立即介入当前的退避重传状态,启动数据帧的发送过程。
本发明充分利用了以太网自身的技术特点,新的实时介质访问控制方法完全与以太网标准兼容,实时节点和现有以太网节点之间可以直接相互通信,本发明的硬件实现可以充分利用现有以太网协议接口芯片。而且本发明中实时消息的优先级在应用层进行管理,实时通信直接面向应用,可以灵活的用于多种实时应用环境。
图1本发明应用实例的总线通信系统结构图;a)总线通信系统基本原理图其中,RTn1pi表示在某一时刻系统中存在n1个优先级为pi的实时通信节点,i=0,1,…m-1,m为协议支持的最大优先级数;NRTn表示系统中存在n个以太网节点。
b)实时节点的协议栈模型图2本发明的实时数据帧结构图;a)标准帧结构;b)实时数据字段结构;c)竞争同步字段结构;图3本发明的实时数据发送流程图;a)实时数据发送主流程;b)冲突解析子流程;
具体实施例方式
如图所示,为了更好理解本发明的技术方案,下面结合具体的实例做进一步说明。网络控制系统是一种典型的分布式实时系统,由控制器、执行器和大量传感器节点组成,以太网节点为现场级控制网络和工厂级信息网络提供通信接口。通常控制指令的传输需要遵循严格的传输时延限制,属于硬实时信息,这类信息的延误传输会导致系统严重的后果;另一类信息称为软实时信息,如传感器的周期采集数据,虽然信息仍然要求进行实时传输,但是系统能够容忍个别信息的传输超时;来自上层信息网络的监测、管理和数据统计信息通常属于非实时信息,因此,一个典型的网络控制系统需要提供具有两级优先级传输的实时总线通信系统。应用图1所示的分布式实时总线系统,下面详细说明实现过程中的技术细节1实时数据规划计算不同优先级数据长度范围。假定协议支持最多m级优先级,那么根据发明内容部分实时优先级的定义,竞争字段长度ContentionSizeContentionSize=46+4+m*64+1单位为字节,对实时数据范围进行线性等量划分,记相邻优先级的数据范围增量BlockSize,则优先级i对应的实时数据的长度范围RTDataRangePi为,RTDataRangePi=[ContentionSize+i*BlockSize,ContentionSize+(i+1)*BlockSize]优先级i=0,1,…,m-1,并且规定0代表最高优先级,以太网数据字段范围EthDataRange为EthDataRange=[ContentionSize+m*BlockSize,1500]于是,对于两级优先级的实时网络控制系统,m=2,根据需要适当选取BlockSize,如以4个字节为例,可得到各优先级的数据长度范围,如表1所示。
表1两级优先级网络控制系统数据范围规划单位字节
表1中的数据范围隶属于介质层,由于数据在经过协议栈的中间各层传递时会增加不同的协议控制信息,导致介质层接收到的数据长度大于应用层实际发送的数据,因此,根据采用的不同协议栈模型,介质层的数据范围去除相应协议控制信息增量后才能得到应用层上对应的各优先级数据长度范围。以采用最简单的三层协议栈模型的网络控制系统为例,包括应用层、数据链路层和物理层,位于应用层和介质层之间的逻辑链路控制子层LLC将为应用层数据带来3个字节的附加协议信息,因此,表格1中的数据范围减去3字节后得到对应的应用层数据长度范围。
2确定传输时延上界假定在一个拥有最高优先级的消息获得成功发送前没有其它相同优先级的消息等待发送,并且在某一时间间隔内以太网节点没有消息发送。当这个实时消息到达介质层时,发现信道可以被抢占,理想情况下由于其他节点的退避此时信道刚好空闲,那么这个数据帧立刻得到发送,于是不存在任何等待时延;如果信道当前存在由于竞争而产生的载波,节点则必须等到载波消失后才能开始发送数据;而且节点在发送数据的过程中可能会与退避重传的低优先级节点发生冲突,根据发明内容的介质访问方法,至多经过一次竞争,高优先级的节点取得唯一的信道访问权,而低优先级退避节点由于侦听到竞争载波长度超过一个竞争帧范围而转入阻塞模式。高优先级节点成功发送数据最大传输时间为MaxPreemptDelay=MaxContentionSizeP1+InterFrameSize++MaxContentionSizeP0+InterFrameSize+MaxRTDataSizeP0其中,InterFrameSize是以太网标准定义的96比特帧间隙;MaxRTDataSizeP1为优先级i的实时数据范围的上界;MaxContentionSizePi是优先级为i的节点由于检测到冲突后持续发送最多m-i个竞争帧而产生的最大竞争帧长度,记标准以太网帧结构中data字段前所有字段的长度之和为FrontDataSizeMaxContentionSizePi=FrontDataSize+ContentionSize-i*64如果最高优先级的数据到达时,信道刚刚由低优先级节点启动一次数据传输,则节点必须等待传输结束后才能启动数据发送过程,等待时间取决于正在传输的数据帧的长度,同样,消息在经过最多一次竞争后获得成功发送,此时最大传输时延为MaxWaitDelay=MaxRTFrameSizeP1+InterFrameSize+MaxContentionSizeP0+InterFrameSize+MaxRTDataSizeP0综合上面两个传输时延中的最大值,得到最高优先级的实时信息的最大传输时延上界为MaxWaitDelay。于是对于新的分布式实时总线系统,如果在一个时间间隔内以太网节点没有数据发送,且最高优先级的数据到达时间间隔大于MaxWaitDelay,则系统为最高优先级数据提供确定性传输时延上界MaxWaitDelay。对实例中网络控制系统,时延上界为5176比特时,约0.52毫秒。
权利要求
1.一种与以太网兼容的实时介质访问控制方法,其特征在于,首先基于标准以太网数据帧具有长度可变的内在特征,在保持原有帧结构的基础上定义动态优先级机制,通过消息的长度映射优先级,实现消息的优先级在应用层动态的分发管理,并经过标准协议栈中间各层随同消息进行透明传输;然后,利用标准以太网接口芯片具有的载波侦听能力,在动态优先级定义的基础上,实时介质访问控制方法通过进行连续的信道载波侦听判决,建立阻塞信道模式和抢占式工作机制,实现对实时信息优先级传输。
2.根据权利要求1所述的与以太网兼容的实时介质访问控制方法,其特征是,以下通过两个基本步骤作进一步的限定,(1)、定义实时消息的动态优先级根据以太网标准IEEE802.3的定义,以太网帧的数据字段具有可变长度,最小长度定义为46字节,最大长度定义为1500字节,通过数据字段的长度进行映射实时消息的优先级,只有当消息长度处于标记为一定优先级的实时数据字段范围之内时定义为实时消息,各级优先级的数据对应多个相邻的长度字段范围。基于这种优先级定义,网络接口电路通过连续侦听载波、比较载波持续的时间来获得信道上正在传输数据的优先级信息;为了同样根据载波长度检测冲突及由冲突引起的竞争状态,在实时数据字段的起始保留一个竞争同步长度范围,当节点侦听到载波长度处于竞争同步范围之内时,信道上发生了冲突,进而通过比较竞争帧长度的范围,实时节点获得参与冲突的实时数据的优先级信息;规定实时数据的长度随着优先级的升高逐渐减小,以太网数据分配在实时数据字段后面一个较大的长度范围之内,并且各种优先级长度范围进行线性等量划分;(2)、实时的介质访问控制系统初始化后,所有实时节点开始连续的侦听信道,当一个消息到达介质层后,介质层首先检查数据的长度以确定其合法性,长度小于最大竞争帧的载波被视为冲突载波,相应的数据帧直接做丢弃处理,否则,介质层根据数据长度计算节点当前的优先级,介质访问控制方法包括下面三个组成部分1)基本的优先级传输控制介质层准备发送数据时,实时介质层检查记录阻塞模式的信道状态变量,如信道状态变量为1,则信道上存在其它实时节点正在进行的冲突解析,实时节点立即进入发送阻塞模式,阻止当前及任何新到达数据的传输;另一方面,如果介质层准备发送数据时检测到信道状态变量为0,则根据发送延迟变量进行帧间隙延迟后立即开始发送数据帧,在发送过程中,如果检测到冲突,在发送32位阻塞强化信号之后,实时节点进入竞争阶段,继续发送竞争帧,发送竞争帧的最大次数由节点当前的优先级决定,优先级越高,发送竞争帧的最大次数越多;通过竞争,高优先级的节点取得信道的访问权,低优先级的实时节点转入阻塞模式;最终,当竞争解析结束后,实时节点的阻塞状态被唤醒,启动新的数据发送过程;2)兼容传输控制以太网节点仅发送位于数据字段中以太网数据范围之内的数据帧,此外以太网接节点则依据原有协议规则访问信道,并实际获得了与通过竞争取得信道访问控制权的实时节点相同的优先权,为了保证冲突发生时实时节点仍然具有优先发送权,如果实时节点在退避重传期间检测到与以太网数据帧发生冲突,在信道上的载波消失后立即重传被破坏的数据帧,并通过发送一个额外的竞争帧通知处于退避状态的其它实时节点结束退避转入阻塞模式来进一步提高信道的利用效率,所有处于退避的实时节点将忽略以太网节点之间的数据帧冲突及以太网数据帧的成功发送;3)抢占传输控制高优先级实时节点对低优先级节点引起的阻塞模式具有抢占权,当一个具有高优先级的实时数据帧到达时,介质层重新设置其信道状态变量为0,立即介入当前的退避重传状态,启动数据帧的发送过程。
3.根据权利要求2所述的与以太网兼容的实时介质访问控制方法,其特征是,步骤(1)中,竞争同步的长度范围,组成元素定义为1)冲突数据同步字段用于同步相距最远的以太网帧之间发生冲突时引起的最大载波,包括同步46字节的最小冲突数据及4字节的帧校验序列;2)阻塞信号同步字段用于同步32位的阻塞强化信号;3)竞争帧字段同步最大竞争帧,由几个具有相同长度的单个竞争帧组成,单个竞争帧的长度为64个字节,用于提供每次竞争时最小冲突检测时间,最大竞争帧长度决定于最大优先级数;4)检验隔离字段8位隔离区间,位于竞争字段和实时数据范围之间,用于避免由于定时或者信道错误导致的冲突状态和成功传输状态的混淆检测。
4.根据权利要求2所述的与以太网兼容的实时介质访问控制方法,其特征是,步骤(2)中,竞争方法如下①一个节点在竞争的过程中发现冲突消失,那么这个节点是唯一的参与冲突的高优先级节点,通过竞争获得了信道的访问控制权,节点在发送当前竞争帧结束后,等待一个帧间隙时间,立即重传被破坏的数据帧;②竞争的次数达到了当前优先级决定的最大值,冲突仍然存在,节点停止发送竞争帧,开始侦听后续载波持续的时间间隔,如果载波消失时,时间间隔大于一个时隙,说明信道上仍存在高优先级节点在发送竞争帧,当前节点放弃信道访问控制权,设置信道状态变量为1,转入阻塞模式;③如果后续载波持续时间间隔小于一个时隙,说明信道上全部竞争结束,但是竞争发生在相同优先级的实时节点之间,节点仍然取得信道的访问控制权,同时设置访问状态变量为1,根据BEB算法退避重传,退避重传期间的节点具有相同的优先级,为了提高信道利用率,如果退避节点再次发生冲突,规定发送竞争帧的次数为1;④最后,当某一节点通过竞争成功的发送了一个实时数据帧后,当前冲突解析过程结束,信道上所有节点检测到相应载波后,重新设置信道状态变量和访问状态变量为0,阻塞节点被唤醒并启动新一轮介质访问仲裁。
全文摘要
一种用于通信技术领域的与以太网兼容的实时介质访问控制方法,首先基于标准以太网数据帧具有长度可变的内在特征,在保持原有帧结构的基础上定义动态优先级机制,通过消息的长度映射优先级,实现消息的优先级在应用层动态的分发管理,并经过标准协议栈中间各层随同消息进行透明传输;然后,利用标准以太网接口芯片具有的载波侦听能力,在动态优先级定义的基础上,实时介质访问控制方法通过进行连续的信道载波侦听判决,建立阻塞信道模式和抢占式工作机制,实现对实时信息优先级传输。本发明为重要信息提供具有确定时延上界的传输信道,可直接应用于对网络通信时延具有严格要求的分布式实时环境。
文档编号H04L29/06GK1602017SQ200410054209
公开日2005年3月30日 申请日期2004年9月2日 优先权日2004年9月2日
发明者尹汝泼, 吴健珍, 蔡云泽, 张卫东, 沈钢 申请人:上海交通大学