本发明涉及网络芯片和网络系统的实现,尤其涉及一种ats功能在tsn网络直通转发模式下的实现方法及系统。
背景技术:
1、tsn(time-sensitive network)是时间敏感网络,是ieee 802.1tsn工作组制订的一系列协议规范的统称,用于指导开发低时延、低抖动的时间确定性以太网,是对传统以太网在汽车、工业等特定应用环境下的增强功能实现。
2、ats(asynchronous traffic shaping)异步流量整形是tsn协议族成员之一802.1qcr协议规范的简称。ats是基于报文长度对报文流量整形,即在给定限速r的情况下,通过报文长度l和速率r及其它相关参数如报文时戳arrivaltime、groupeligibletime等计算出报文应该发送的时间eligibletime,如果eligibletime超过了在设备中的最大驻留时间maxresidencetime,则报文丢弃。否则按发送时间eligibletime进行报文发送。
3、直通转发模式是网络设备路由器或交换机等在进行接收报文处理时常用方式之一,在接收报文时通常在网络设备端口处将整个报文全部接收完毕后,连同报文长度一起交给后续模块进行处理,但是在直通转发模式下,为减少报文的处理时延,在接收到报文的部分内容后报文长度未知的情况下即将报文交给后续模块进行处理。
4、直通模式下由于未获取到完整的报文长度信息,后续所有以报文长度作为输入的功能模块都需要做特定的处理才能实现其功能或者做功能互斥处理。依赖报文长度的ats功能在直通转发模式下使用时同样需要做特定的处理。
5、当前解决ats功能在直通转发模式下的实现方法,部分会做互斥处理,即在直通转发模式下禁用ats功能,部分可能会采用实时计算报文的平均长度作为当前进行流量整形的报文长度l,这种方式会因实时计算造成成本高,且在报文长度变化幅度比较大时存在限速不准确的问题。
技术实现思路
1、针对上述技术问题,本发明提出了一种ats功能在tsn网络直通转发模式下的实现方式,解决了异步流量整形ats在网络芯片工作在直通转发模式下的具体实现问题,在各种报文长度下,仍能保证限速准确。
2、为了达到上述目的,本发明的技术方案提供了一种ats功能在tsn网络直通转发模式下的实现方法,其包括如下步骤:s1:在端口接收到报文后,先后产生两个报文上下文消息,即报文头消息和报文尾消息,并依次送入异步流量整形器模块进行下一步处理,其中,报文头消息包含虚拟报文长度和时戳,报文尾消息包含真实报文长度和时戳;s2:对于报文头消息,异步流量整形器模块计算获得报文头丢弃状态,同时将报文头丢弃状态同步给报文尾消息,其中,报文头消息的计算结果不对异步流量整形器模块进行更新;s3:对于报文尾消息,异步流量整形器模块首先基于报文头丢弃状态判断是否需要进行异步流量整形器状态更新,然后基于计算获得的报文尾丢弃状态,确定是否更新异步流量整形器的groupeligibletime状态,以相应执行不同更新操作。
3、在进一步的技术方案中,步骤s3具体包括如下步骤:s31:异步流量整形器模块判断报文头丢弃状态是否为true,若为ture,则进行至步骤s32,否则进行至步骤s33;s32:无需更新异步流量整形器状态,并丢弃报文;s33:异步流量整形器模块基于报文尾消息计算获得报文尾丢弃状态,如果报文尾巴丢弃状态为true,则进行至步骤s34,否则进行至步骤s35;s34:对异步流量整形器的除groupeligibletime之外的状态进行更新;s35:对异步流量整形器的全部状态进行更新。
4、在进一步的技术方案中,在步骤s1中,报文头的虚拟报文长度设置为0或设置为相应报文已经接收到的可调度报文长度。
5、在进一步的技术方案中,若报文存储器使用buffer链表,所述可调度报文长度为第一个buffer实际的报文长度。
6、在进一步的技术方案中,在步骤s1中,报文头消息的时戳和报文尾消息的时戳相同。
7、在进一步的技术方案中,对于报文头消息和报文尾消息,通过如下方式计算获得相应丢弃状态:基于802.1qcr协议标准计算报文应该发送的时间eligibletime,如果eligibletime超过了在设备中的最大驻留时间maxresidencetime,则报文丢弃,并记录报文头丢弃状态或者报文尾丢弃状态为true,否则记录为false。
8、本发明的技术方案还提供了一种ats功能在tsn网络直通转发模式下的实现系统,其包括如下功能模块:报文接收端处理模块,用于在端口接收到报文后,先后产生两个报文上下文消息,即报文头消息和报文尾消息,并依次送入异步流量整形器模块进行下一步处理,其中,报文头消息包含虚拟报文长度和时戳,报文尾消息包含真实报文长度和时戳;报文头消息处理模块,用于针对报文头消息,由异步流量整形器模块计算获得报文头丢弃状态,同时将报文头丢弃状态同步给报文尾消息,其中,报文头消息的计算结果不对异步流量整形器模块进行更新;报文尾消息处理模块,用于针对报文尾消息,由异步流量整形器模块先基于报文头丢弃状态判断是否需要进行异步流量整形器状态更新,再基于计算获得的报文尾丢弃状态,确定是否更新异步流量整形器的groupeligibletime状态,以相应执行不同更新操作。
9、本发明的技术方案还提供了一种包含计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,用于执行如上所述的方法。
1.一种ats功能在tsn网络直通转发模式下的实现方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,步骤s3具体包括如下步骤:
3.根据权利要求2所述的方法,其特征在于,在步骤s1中,报文头的虚拟报文长度设置为0或设置为相应报文已经接收到的可调度报文长度。
4.根据权利要求3所述的方法,其特征在于,若报文存储器使用buffer链表,所述可调度报文长度为第一个buffer实际的报文长度。
5.根据权利要求4所述的方法,其特征在于,在步骤s1中,报文头消息的时戳和报文尾消息的时戳相同。
6.根据权利要求5所述的方法,其特征在于,对于报文头消息和报文尾消息,通过如下方式计算获得相应丢弃状态:
7.一种ats功能在tsn网络直通转发模式下的实现系统,其特征在于,包括如下功能模块:
8.一种包含计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,用于执行如权利要求1-6中任一项所述的方法。