结合时间感知整形器的时间敏感网络帧抢占优化方法

文档序号:33637345发布日期:2023-03-29 01:03阅读:82来源:国知局
1.本发明属于网络通信领域,具体涉及一种结合时间感知整形器的时间敏感网络帧抢占优化方法。
背景技术
::2.工业界在标准以太网基础上提出了多种专属网络协议,如ttethernet,ethercat,profinet,sercoiii等称为工业实时以太网,逐步成为工业控制网络的主流总线协议。然而这些协议互不兼容导致了设备难兼容、互操作性差、不易移植且开发部署和运营维护成本高等问题。随着工业互联网的发展,在日益增长的互联互通和确定性网络标准化需求的驱动下,ieee802将原本致力于满足带宽预留业务需求的音视频桥接(audiovideobridging,avb)工作组升级为时间敏感网络(timesensitivenetwork,tsn)工作组,提出了一系列链路层增强机制与流量策略的标准和规范,主要包括时间同步、流量调度、可靠传输和网络管理。tsn遵循标准的以太网协议体系,天然具有更好的互联互通优势,可以在提供确定性延时以及带宽保证的同时,实现开放的链路层转发。近年来,tsn作为新一代实时以太网技术,在工业互联网、航空电子网络、车载网络、专业音视频等多个领域广泛应用,获得了学术界和工业界的持续关注。3.时间感知整形器(timesensitiveshaper,tas)是在ieee802.1qbv中针对于时间敏感流(scheduletraffic)的流量整形机制。各类输出帧(包括时间敏感帧以及非时间敏感帧,流由帧组成)根据ieee802.1q引入的优先级pcp保存在输出端口的8个队列中,每个队列都关联一个输出门gate,门的开关由静态门控列表控制,静态门控列表中的每一行内容代表该时间下输出门的状态,门状态由8个bit表示,分别对应8个队列,0表示队列关联的输出门关闭,1表示输出门打开,时间敏感帧被传输时,其余非时间敏感帧所在队列对应的输出门都关闭,为了防止非时间敏感帧对时间敏感帧的影响引入了保护带机制,保护带大小为基于当前端口带宽下传输以太网最大帧(1542字节)所需的时间,保护带保证在时间敏感帧传输期间不受到非时间敏感帧的影响,然而同样的,因为在保护带内不允许其他帧传输,会导致带宽浪费的情况,时间感知器与帧抢占结合可以将保护带缩短至127字节时间大小,一定程度上改善了带宽浪费的问题。4.ieee802.1qbu以及ieee802.3br标准共同定义了tsn经典帧抢占模型,其中ieee802.3br引入了两个mac独立子层,分别是可抢占帧mac子层pmac以及高速帧mac子层emac,被分配给pmac的帧叫做可抢占帧(preemptableframe),被分配给emac的帧叫做高速帧(expressframe),,帧抢占逻辑在mac合并子层执行,当前正在传输的可抢占帧将被切片,并且封装帧抢占信息之后等待一个帧间隙时间(ifg)再传输高速帧,其中包含了帧抢占开销,等待高速帧传输结束之后继续传输可抢占帧后续片段。充当高速帧的一般是有确定时延约束的控制流,要求端到端低延时及低抖动。5.经典抢占模型要求高速帧可以抢占可抢占帧帧,同类别的帧不能互相抢占,且要求已传输的可抢占帧首帧片段有效载荷(data)至少为42字节,可抢占帧后续片段的有效载荷至少为60字节即可抢占帧首帧片段和后续片段都需满足以太网最小帧大小(84字节),故最小可抢占帧的有效载荷为102字节,加上额外封装信息包括帧间隙ifg可计算得出最大不可抢占帧大小为143字节。这意味着在最坏情况下,当抢占条件不满足时,高速帧要等待最大143字节传输时间之后才能开始传输,这会给高速帧带来较大的时延。6.因此,目前亟需一种帧抢占优化方法解决在帧抢占条件不满足的情况下,由可抢占帧引起的高速帧延迟的问题。技术实现要素:7.本发明的目的在于提供一种结合时间整形器的时间敏感网络帧抢占优化方法,主要是为了解决在帧抢占条件不满足的情况下,由可抢占帧引起的高速帧延迟的问题。8.一种结合时间感知整形器的时间敏感网络帧抢占优化方法,包括如下步骤:9.s1:设置各待传输帧的帧结构中的帧优先级pcp的值;10.s2:根据帧优先级pcp的值将所述待传输帧分配到对应优先级的队列;11.所述队列是指:已部署时间感知整形器tas的网络通信节点在其输出端口设置的先入先出队列;12.每个队列对应一个传输门,所述传输门的开关由时间感知整形器的静态门控列表驱动;13.s3:将帧优先级pcp的值最高的所述待传输帧作为时间敏感帧,经过ieee802.3br标准中定义的mac层中的高速mac子层emac封装成高速帧,所述待传输帧中除时间敏感帧之外的其他帧经过ieee802.3br标准中定义的mac层中的可抢占mac子层pmac封装成可抢占帧;14.s4:通过时间感知整形器tas的全局时钟获取当前时间,获取将被传输的下一个所述时间敏感帧对应的时间窗口的开启时间,计算可传输帧大小allowedtransmitsize,基于可传输帧大小allowedtransmitsize执行高速帧抢占可抢占帧。15.作为优选,所述s4具体包括以下子步骤:16.s41:当mac合并子层监听到有可抢占帧需要传输或者mac合并子层中的帧缓存池不为空,且当前网络通信节点的输出端口空闲,通过时间感知整形器tas的全局时钟获取当前时间,通过用于规划时间敏感帧对应的时间窗口的静态门控列表获取将被传输的下一个所述时间敏感帧对应的时间窗口的开启时间,计算可传输帧大小allowedtransmitsize,计算方法如下,17.allowedtransmitsize=(tnext_window-tcurrent)*porttransmitrate18.其中porttransmitrate是端口带宽,allowedtransmitsize表示可传输帧大小,tnext_window是下一个时间敏感帧时间窗口的开启时间,tcurrent是当前时间;19.所述mac合并子层是指:ieee802.3br标准中定义的macmergesubslayer20.s42:获取当前待传输的可抢占帧的大小,当前待传输的所述可抢占帧为监听到的可抢占帧或mac合并子层中的帧缓存池保存的缓存帧;21.若所述可传输帧大小allowedtransmitsize不小于当前待传输的所述可抢占帧,执行s43,否则执行s44;22.s43:传输当前待传输的所述可抢占帧;23.s44:若当前可传输帧大小allowedtransmitsize不小于84字节,则传输当前待传输的所述可抢占帧,传输所述可抢占帧的过程中,若mac合并子层监听到帧抢占请求,执行s45;若当前可传输帧allowedtransmitsize小于84字节,将当前待传输的所述可抢占帧放入mac合并子层的帧缓存池作为缓存帧,执行s46;24.s45:将可抢占帧进行切片,首先获得首帧片段,包括7字节导言preemble,1字节可抢占帧起始分隔符smd-sx,6字节mac源地址macsa以及目的地址macda,2字节以太网帧类型ethertype,0到1500字节的有效载荷data;25.之后在上述片段基础上续接4字节帧片段校验符mcrc后进行传输,然后等待一个帧间隙ifg时间,高速帧时间窗口由静态门控列表驱动开启,并开始传输高速帧,后续剩余的可抢占帧片段,放入mac合并子层中的帧缓存池中作为缓存帧,若剩余的所述可抢占帧片段的大小小于84字节,则执行s46,否则执行s47;26.剩余的所述可抢占帧的后续片段包括可抢占帧中间片段和可抢占帧尾帧片段,若只有一次抢占,则该片段为可抢占帧尾帧片段,若出现多次抢占则为可抢占帧中间片段或可抢占帧尾帧片段;27.s46:判断缓存池中的缓存帧是否不小于84字节,若缓存池中的所述缓存帧不小于84字节,等待高速帧传输完成之后返回s41,否则执行s47;28.s47:将所述缓存帧填充至84字节,返回s41。29.作为优选,所述s47中,通过以下方式对所述缓存帧进行填充:所述缓存帧包括两类帧,一类是未被切片的可抢占帧,其帧结构包括7字节导言,1字节可抢占帧起始分隔符smd-sx,6字节mac源地址macsa以及目的地址macda,2字节ethertype,0到1500字节有效载荷data,4字节帧校验符fcs;30.另一类是已被切片的可抢占帧后续片段包括可抢占帧中间片段和尾帧片段,其帧结构包括6字节导言,1字节可抢占帧后续片段分隔符smd-cx,1字节片段计数fragcount,0到1500字节有效载荷data,4字节帧片段校验符mcrc或是帧校验符fcs;31.所述帧结构中的所述校验符为以下两者中的任意一个:帧片段校验符mcrc和帧校验符fcs,对于可抢占帧切片得到的首帧片段或可抢占帧中间片段,使用mcrc作为校验符,32.对于可抢占帧切片得到的尾帧片段、未切片的可抢占帧,和高速帧使用fcs作为校验符;33.在所述有效载荷data和所述校验符之间,设置padding填充字段;34.所述padding填充字段大小在0到42字节之间;通过向所述padding填充字段中填充预设内容,实现缓存帧填充。35.本发明所述帧抢占过程的开销以及帧间隙(ifg)已包含在已计算的可传输帧内,且所述阈值84字节是以太网允许传输的最小帧大小。36.本发明所述填充padding字段是在原ieee802.3标准基础上在后续帧分片结构中新增的字段,数据范围是0到42字节,如图4所示。37.本发明所述时间感知整形器符合ieee802.1qbv标准定义,所述帧抢占过程符合ieee802.1qbu标准定义。38.本发明的有益效果在于:通过结合时间整形器以及帧抢占机制,利用静态门控列表和全局时钟获取当前时间以及下一个时间敏感网络帧时间窗口的开启时间,计算当前可传输的帧大小,进而通过上述处理流程,在抢占条件不满足的情况下,避免高速帧受到可抢占帧的影响,同时时间感知器结合帧抢占机制也在一定程度上降低了保护带引起的带宽浪费的问题附图说明39.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单介绍,后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:40.图1为时间感知器与帧抢占机制结合的架构图。41.图2为ieee802.3br标准定义的高速帧以及可抢占帧结构图。42.图3为可抢占帧的切片结果图。43.图4为帧抢占优化流程图。具体实施方式44.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。45.s1:设置各传输帧的帧结构中的帧优先级pcp的值。46.所述传输帧包括时间敏感帧以及非时间敏感帧;所述帧优先级pcp是802.1q标签中的字段,802.1q标签在ieee802.1q标准中被引入,帧优先级pcp描述了各传输帧对应的优先级,优先级范围是0到7,在本发明中将,在汽车或者工业控制应用中携带控制数据的传输帧作为时间敏感帧,也就是将携带控制数据的传输帧对应的帧优先级pcp设置为7,携带其他非控制数据的传输帧作为非时间敏感帧(如音频流,视频流,尽力而为流等),这些不同类别的非时间敏感帧对应帧优先级pcp的设置范围在0到6之间。47.s2:根据ieee802.1qbv标准所述,已部署时间感知器tas的各网络通信节点(包括终端设备以及交换机)的每个输出端口包含8个先入先出队列,每个队列拥有对应的优先级,优先级范围为0到7,且各队列关联一个输出门gate,如图1所示。将各类传输帧映射到指定优先级的队列中,如时间敏感帧帧优先级为7,则该类传输帧会被分配到优先级为7的队列中。48.s3:根据ieee802.1qbv标准所述,已部署时间感知器tas的各网络通信节点拥有同步的全局时钟,故通过静态门控列表控制上述每个队列关联的输出门gate的开启以及关闭,每个静态门控列表包含不同时间下每个队列关联的输出门gate的状态,如10000000表示时间敏感帧所在的队列7关联的输出门gate开启,其余类别的非时间敏感帧所在队列关联的输出门gate关闭,如果输出状态为01100000表示时间敏感帧所在的队列7关联的输出门gate关闭,队列6以及队列5关联的输出门gate开启,此时将存在多个不同类别的非时间敏感帧,则需要通过传输选择层transmissionselection层的严格优先级算法进行调度;49.s4:时间敏感帧经过mac层中的高速mac子层emac封装成高速帧,也就是将帧起始分隔符sfd修改为高速帧起始分隔符smd-e。非时间敏感帧经过mac层中的可抢占mac子层pmac封装成可抢占帧,即将帧起始分隔符sfd修改为可抢占帧起始分隔符smd-sx,如图2所示。50.s5:如果监听到有可抢占帧需要传输或者mac合并子层中的帧缓存池不为空(如果帧缓存池不为空,那么优先传输缓存帧),且当前网络通信节点的输出端口空闲,那么通过时间感知整形器tas的全局时钟获取当前时间,通过静态门控列表获取将被传输的下一个时间敏感帧对应的时间窗口(如图1所示t1或t2)的开启时间,计算可传输帧allowedtransmitsize的大小,计算方法如下,其中porttransmitrate是端口带宽,allowedtransmitsize表示可传输帧大小,tnext_window是下一个时间敏感帧时间窗口的开启时间,tcurrent是当前时间51.allowedtransmitsize=(tnext_window-tcurrent)*porttransmitrate52.s6:获取当前待传输的可抢占帧(包括监听到的可抢占帧或mac合并子层中的帧缓存池保存的缓存帧)大小,若可传输帧allowedtransmitsize不小于当前待传输的可抢占帧,执行s7,否则执行s8;53.s7:说明当前待传输的可抢占帧不会影响到高速帧,所以直接传输。54.s8:说明当前待传输的可抢占帧会影响到高速帧,如果当前可传输帧allowedtransmitsize不小于84字节,则直接传输,传输过程中将会监听到高速帧的抢占信号并执行帧抢占操作,具体帧抢占操作如s9所示。如果当前可传输帧allowedtransmitsize小于84字节,则执行s10;55.s9:执行帧抢占操作,可抢占帧被切片,首帧片段包括7字节导言preemble,1字节可抢占帧起始分隔符smd-sx,6字节mac源地址macsa以及目的地址macda,2字节以太网帧类型ethertype,0到1500字节的有效载荷包data,之后续接4字节帧片段校验符mcrc后传输,之后等待一个帧间隙ifg时间,高速帧时间窗口由静态门控驱动开启,并开始传输高速帧,后续剩余的可抢占帧片段放入mac合并子层中的帧缓存池中,若该分片如果小于84字节,则执行s10,否则执行s11;56.s10:将上述待传输的可抢占帧或者可抢占帧后续片段放入mac合并子层的帧缓存池,等待高速帧传输完成之后,进入新一轮的流程即返回s5,此处在进入新一轮流程之前需要判断缓存池中的缓存帧是否不小于84字节,如果满足条件不做任何处理,说明缓存帧大小满足以太网最小帧要求,否则执行s11。57.s11:说明缓存帧大小不满足以太网最小帧要求,则通过帧结构中有效载荷data和帧片段校验符crc或者帧校验符fcs之间的padding填充字段将缓存帧填充至84字节。padding填充字段大小在0到42字节之间,默认情况下为0字节,如图3所示。58.所述剩余的可抢占帧后续片段包括可抢占帧中间片段或可抢占帧尾帧片段,若只有一次抢占,则该片段为可抢占帧尾帧片段,若出现多次抢占则可能为可抢占帧中间片段或可抢占帧尾帧片段。59.所述缓存帧包括两类帧,一类是未被切片的可抢占帧,其帧结构包括7字节导言,1字节可抢占帧起始分隔符smd-sx,6字节mac源地址macsa以及目的地址macda,2字节ethertype,0到1500字节有效载荷data,4字节帧校验符fcs;另一类是已被切片的可抢占帧后续片段包括可抢占帧中间片段和尾帧片段,其帧结构包括6字节导言,1字节可抢占帧后续片段分隔符smd-cx,1字节片段计数fragcount,0到1500字节有效载荷data,4字节帧片段校验符mcrc或是帧校验符fcs。60.所述帧结构中的所述校验符为以下两者中的任意一个:帧片段校验符mcrc和帧校验符fcs,对于可抢占帧切片得到的首帧片段或可抢占帧中间片段,使用mcrc作为校验符,对于可抢占帧切片得到的尾帧片段、未切片的可抢占帧,和高速帧使用fcs作为校验符;61.上述时间感知整形器结合帧抢占的架构如图1所示,可抢占帧切片后的各帧片段如图3所示。以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1