一种以太网时延计算方法及装置与流程

文档序号:11253814阅读:1436来源:国知局
一种以太网时延计算方法及装置与流程

本发明涉及工业以太网技术领域,尤其涉及一种以太网时延计算方法及装置。



背景技术:

长期以来,由于现场总线的标准制式争议不休,互通与互操作问题很难解决,于是人们开始从现场总线转向使用以太网。经过近几年的努力,以太网技术已经被工业自动化系统广泛接受。

传统的实时工业以太网,为了保证数据的实时有效的传输,基本上是采用以下两种策略。一种是基于主从方式,所有的通讯都是客户端与主机的通讯,由主机负责各个客户端的调度,由主机保证调度的实时性。

这是一种类似基于传统的现场总线的工作策略。在采用这种方式时,主机的开销非常大,自动化控制系统的可扩展性差,每次增减一个客户端都需要对主机的调度进行调整,而且客户端之间不能直接通讯。

另一种是基于时间片的工作策略,实时的数据在分配的时间片中发送,可以有效地保证数据传输的实时性。但是由于存在时间片的分配,会导致数据传输效率的降低。

随着技术的发展和时代的进步,以太网技术以及得到极大的普及和提高,速率从10m到百兆,千兆。现在10g和100g以太网也已经得到了广泛的应用。由原来的半双工技术,csma/cd碰撞检测,进化到全双工,点对点互联。

从现在的角度看,全双工,点对点互联以及千兆速率以太网接口,可以看成是一个最基本的配置。在这样的以太网物理基础之上,如何来保证数据传输的实时性是一个值得探究的问题。

在一些情况下,由于以太网的带宽的富余,可以采用牺牲以太网的带宽换取传输的实时性的策略。以下详细陈述这样的过程:

首先,根据工业以太网的模型,可以确定数据传输的时延由电缆或光纤的时延以及交换机内部交换的时延所造成。其中,交换机内部交换的时延则主要由数据处理时延和数据在出端口排队时延构成。

对于一个以及固定布线的以太网交换系统来说,光缆或电缆的走线时延是固定的,交换机对数据处理的时间,基本也可以看作是一个固定值,唯有交换机内部数据队列排队的时延不固定,受队列排队的影响。

如果在这个以太网系统设计的时候,充分保证可用带宽的富裕,比如,可用带宽是实际平均需要带宽的十倍,也就是说,拿千兆以太网当百兆来用。其一般工作情况的实验数据如下:

数据经过一级交换机(千兆端口,无队列阻塞的情况下)的时延是5-10us(64字节的报文)到20-30us(1500字节的报文),在最坏情况下,队列里每多排队多一个1500长度的报文。交换机增加12us的时延,排队多出4个1500的报文,将会带来48us的时延。

那么,对于一个平均10%流量的端口来说,从概率的角度,队列里出现一个1500报文的几率是10%,出现两个的几率是1%,出现4个1500报文的几率是0.01%。也就是说,在10%流量模型下,数据经过一级交换机的转发,除了交换机处理和线缆的固定延时外,带来的不大于50us的额外延时的几率不大于0.01%。

同理,如果系统需要经过5级交换机的构成完成数据的交换。(5级交换机的系统还是比较大的)在最坏情况下,还是可以保证不大于50us的额外延时的几率不大于0.05%。虽然发生的几率非常小,但是,在这种模型下,仍然有数据在转发的时延超过50us的可能,这对于数据的稳定传输仍然是不足够的。



技术实现要素:

鉴于上述现有技术的不足之处,本发明的目的在于提供一种以太网时延计算方法及装置,旨在解决现有技术中以太网实时性能无法保证,系统复杂度高的问题。

为了达到上述目的,本发明采取了以下技术方案:

一种以太网时延计算方法,应用于交换机,其中,包括:

在报文中设置预定的标识,生成用于记录以太网时延的实时报文以及用于获取线缆时延的线缆时延检测报文;

由所述交换机的输入端口接收所述实时报文并在所述实时报文中添加内部时戳;

在所述实时报文发送前,确定第二时戳;

根据所述内部时戳、第二时戳以及线缆时延,更新所述实时报文的以太网时延;

在所述交换机的输出端口发送所述更新以太网时延后的实时报文。

所述的方法,其中,通过定时计数器确定所述内部时戳以及第二时戳。

所述的方法,其中,所述根据所述内部时戳、第二时戳以及线缆时延信息,更新所述实时报文的以太网时延,具体包括:

计算所述内部时戳和第二时戳之间的差值,作为交互机处理时延;

将所述交换机处理时延与所述线缆时延相加,作为新增时延;

将所述实时报文中记录的以太网时延与所述新增时延相加,获得总时延;

删除所述实时报文的内部时戳并将所述总时延记录到所述实时报文中。

所述的方法,其中,所述实时报文使用4字节字段记录所述以太网时延。

所述的方法,其中,所述方法还包括:

在所述输出端口发送线缆时延检测报文并记录出向时戳;

对端接收所述线缆时延检测报文后,通过环回通路,将所述线缆时延检测报文从接收端口输出;所述线缆时延检测报文记录有对端的环回通路时延;

通过所述输出端口接收所述线缆时延检测报文并记录入向时戳;

根据所述入向时戳、出向时戳以及环回通路时延,计算所述线缆时延。

一种以太网时延计算装置,应用交换机的输入和输出端口,其中,包括:

处理单元,用于在报文中设置预定的标识,生成用于记录以太网时延的实时报文以及用于获取线缆时延的线缆时延检测报文;

入向报文识别单元,用于由所述交换机的输入端口接收所述实时报文;

入向时戳修改单元,用于在所述实时报文中添加内部时戳;

计时单元,用于在所述实时报文发送前,确定第二时戳;

出向时戳修改单元,用于根据所述内部时戳、第二时戳以及线缆时延,更新所述实时报文的以太网时延;

出向报文识别单元,用于以及在所述交换机的输出端口发送所述更新以太网时延后的实时报文。

所述的装置,其中,所述计时单元为定时计数器,用于确定所述内部时戳以及第二时戳。

所述的装置,其中,所述出向时戳修改单元具体用于:计算所述内部时戳和第二时戳之间的差值,作为交互机处理时延;将所述交换机处理时延与所述线缆时延相加,作为新增时延;将所述实时报文中记录的以太网时延与所述新增时延相加,获得总时延;以及删除所述实时报文的内部时戳并将所述总时延记录到所述实时报文中。

所述的装置,其中,所述实时报文使用4字节字段记录所述以太网时延。

所述的装置,其中,所述出向时戳修改单元还用于:在所述输出端口发送线缆时延检测报文并记录出向时戳;通过所述输出端口接收所述线缆时延检测报文并记录入向时戳;以及根据所述入向时戳、出向时戳以及环回通路时延,计算所述线缆时延;

所述装置还包括一环回模块,所述环回模块用于在接收所述线缆时延检测报文后,通过环回通路,将所述线缆时延检测报文从接收端口输出;所述线缆时延检测报文记录有对端的环回通路时延。

有益效果:本发明提供的一种以太网时延计算方法及装置,能够实时的计算当前节点(交换机)存在的时延,并作为报文的其中一部分信息提供给用户,使用户可以根据自身情况来判断数据是否可用,从而以最小的代价实现对于以太网数据的控制。

附图说明

图1为本发明具体实施例的报文转发模型示意图。

图2为本发明具体实施例的以太网时延计算装置的功能框图;

图3为本发明具体实施例的以太网时延计算方法的方法流程图;

图4为本发明具体实施例的线缆时延检测方法的方法流程图;

图5为本发明具体实施例的报文格式示意图;

图6为本发明具体实施例的另一报文格式示意图。

具体实施方式

本发明提供一种以太网时延计算方法及装置。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

为详细的陈述本发明实施例提供的以太网时延计算方法及装置。以下结合图1所示的本发明具体实施例的报文转发模型进行详细陈述。

如图1所示,在完整的报文转发流程中,包括用户1、用户2、交换机a-d。当用户1需要向用户2发送一个报文时,报文在转发路径上的时延由:交换机a到交换机d的线缆延时,交换机d的交换延时,交换机d到交换机c的线缆延时,交换机c的交换延时以及交换机c到用户2的线缆延时组成。

可以在所述交换机a-d中设置本发明实施例提供的以太网延时装置,计算每个报文的时延并向用户报告。用户可以根据具体的时延自行判断数据是否可靠,能够满足使用需求,从而确保数据的稳定性。

图2为本发明实施例提供的以太网时延计算装置的功能框图。如图2所示,该装置设置在交换机的输入端口、输出端口以及交换处理系统之间,其可以包括:处理单元100,入向报文识别单元200,计时单元300出向报文识别单元400,入向时戳修改单元600以及出向时戳修改单元700。

其中,所述处理单元100是一个额外的功能模块。其用于在报文中设置预定的标识,生成用于记录以太网时延的实时报文以及用于获取线缆时延的线缆时延检测报文。亦即,为实现这样的以太网延时计算,需要使用一些具有特定字段的报文。

所述入向报文识别单元200用于由所述交换机的输入端口接收所述实时报文。所述入向时戳修改单元600在所述实时报文中添加内部时戳。所述计时单元300用于在所述实时报文发送前,确定第二时戳;所述出向时戳修改单元700用于根据所述内部时戳、第二时戳以及线缆时延,更新所述实时报文的以太网时延;以及所述出向报文识别单元400用于在所述交换机的输出端口发送所述更新以太网时延后的实时报文。在一些实施例中,所述线缆时延可以存储在时延寄存器800中。

在本实施例中,如图2所示,所述计时单元300具体可以采用定时计数器。其可以用于确定所述内部时戳以及第二时戳。另外,所述实时报文可以使用4字节字段记录所述以太网时延。

更具体的,所述出向时戳修改单元700具体用于:计算所述内部时戳和第二时戳之间的差值,作为交互机处理时延;将所述交换机处理时延与所述线缆时延相加,作为新增时延;将所述实时报文中记录的以太网时延与所述新增时延相加,获得总时延;以及删除所述实时报文的内部时戳并将所述总时延记录到所述实时报文中。

在一些实施例中,如图2所示,所述装置还包括一环回模块500。通过所述环回模块500来实现线缆延时的计算。

在进行线缆延时计算时,所述出向报文识别单元400用于:在所述输出端口发送线缆时延检测报文并记录出向时戳;通过所述输出端口接收所述线缆时延检测报文并记录入向时戳。所述出向时戳修改单元700用于根据所述入向时戳、出向时戳以及环回通路时延,计算所述线缆时延。所述环回模块500则用于在接收所述线缆时延检测报文后,通过环回通路,将所述线缆时延检测报文从接收端口输出;所述线缆时延检测报文记录有对端的环回通路时延。

由于以太网收发路径的对称性,可以理解,出向线缆的线缆延时等于入向时戳减去出向时戳,再减去环回通路时延的二分之一,其可以记录在寄存器800中。

图3为本发明实施例提供的,与图2所示的装置相对应的以太网时延计算方法。所述时延计算方法可以应用于交换机,由具有对应功能模块的交换机执行。如图3所示,所述方法包括如下步骤:

301、在报文中设置预定的标识,生成用于记录以太网时延的实时报文以及用于获取线缆时延的线缆时延检测报文。

在一些实施例中,所述实时报文可以使用4字节字段记录所述以太网时延,单位为毫秒,字段为32bit,总计最大可以记录到大约4s的时延。

302、由所述交换机的输入端口接收所述实时报文并在所述实时报文中添加内部时戳。

303、在所述实时报文发送前,确定第二时戳。在本实施例中,具体可以通过定时计数器确定所述内部时戳以及第二时戳。

304、根据所述内部时戳、第二时戳以及线缆时延,更新所述实时报文的以太网时延。具体的,所述步骤304可以包括:首先,计算所述内部时戳和第二时戳之间的差值,作为交互机处理时延。然后,将所述交换机处理时延与所述线缆时延相加,作为新增时延。并且,将所述实时报文中记录的以太网时延与所述新增时延相加,获得总时延。最后,删除所述实时报文的内部时戳并将所述总时延记录到所述实时报文中。

305、在所述交换机的输出端口发送所述更新以太网时延后的实时报文。

进一步的,在所述方法中,还可以包括使用线缆时延检测报文进行线缆时延检测的步骤。其具体如图4所示:

401、在所述输出端口发送线缆时延检测报文并记录出向时戳。

402、对端接收所述线缆时延检测报文后,通过环回通路,将所述线缆时延检测报文从接收端口输出;所述线缆时延检测报文记录有对端的环回通路时延。

403、通过所述输出端口接收所述线缆时延检测报文并记录入向时戳。

404、根据所述入向时戳、出向时戳以及环回通路时延,计算所述线缆时延。

为了进一步的阐述或者解释上述以太网时延计算方法和装置,本发明实施例还提供了基于vlan两层协议实现的以太网时延计算方法,其具体如下:

首先,可以利用特殊vlan标签分别标识实时报文和线缆时延检测报文。假设,当vlan=4093的报文为实时报文,vlan=4094的报文为线缆时延检测报文,相对应的实时报文和线缆时延检测报文格式可以如图5所示。

如图5所示,在两个特殊的报文中增加了一个4字节字段“时延累加”。该字段可以用来记录从用户1发送到用户2所有时延的累加值,单位为ns。该字段32bit,初值为零,最大可以记录约4秒多点的时延。

当一个vlan=4093的实时报文从某个以太网端口进入的时候,在入向报文识别模块中首先被识别出来。同时记录下收到该报文时内部定时计数器(32bit,单位是ns),并将信息传递给报文修改加时戳模块。当报文修改加时戳模块根据vlan信息,确定为实时报文时,将在实时报文的时延累加的字段后面增加一个4字节的内部时戳字段(如图6所示)。

然后,该实时报文经过交换机的交换系统处理后,从输出端口发出。在输出端口发送的过程如下:

首先,出向报文识别模块识别出vlan=4093的报文并标记,通知出向报文修改去时戳模块。出向报文修改去时戳收到该报文的同时,分别向内部定时计数器模块和出向线缆补偿寄存器模块获取当前数据和线路时延补偿数据。并且进行计算。可以理解的是,交换系统处理的时间等于出向报文修改去时戳模块获取的时戳减报文内部带来的内部时戳。因此出向报文的时延累加字段等于原时延累加字段加两个内部时戳之差再加上线缆补偿值。同时出向报文修改去时戳模块删除内部时戳4字节后,将实时报文向下一级交换机发送。

其中,所述出向线缆补偿寄存器可以记录从本端口发出到对接端口的时延数据(即线缆时延),其可以通过线缆时延检测报文获得。

所述线缆时延的计算方法具体可以包括如下步骤:本端主动发出线缆时延检测报文,时延累加字段设为零,对端收到线缆时延检测报文,需要在入向报文修改加时戳模块除了正常的时戳,同时完成目的mac和源mac的地址交换,并通过报文环回模块将线缆时延检测报文从原端口发回,所有打时戳都和实时报文一样。这时,我们在本端得到出向时戳和入向时戳以及环回报文带来的时延累加。

根据以太网收发路径的对称性,可以得知线缆时延等于(入向时戳—出向时戳—时延累加)/2。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及本发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1