通信方法、装置及系统与流程

文档序号:24730471发布日期:2021-04-20 13:12阅读:125来源:国知局
通信方法、装置及系统与流程

1.本申请涉及通信领域,特别涉及一种通信方法、装置及系统。


背景技术:

2.在电力行业中,电力设备之间的继电保护业务可以通过通信网络来传输。通信网络由转发节点组成,电力设备可以连接到通信网络中的转发节点上。对于需要传输继电保护业务的两个电力设备,为了便于说明称为第一电力设备和第二电力设备,与第一电力设备相连的第一转发节点和与第二电力设备相连的第二转发节点之间建立有第一传输隧道和第二传输隧道。第一传输隧道以第一转发节点为首节点且以第二转发节点为末节点,用于传输第一电力设备发送给第二电力设备的继电保护业务。第二传输隧道以第二转发节点为首节点且以第一转发节点为末节点,用于传输第二电力设备发送给第一电力设备的继电保护业务。
3.在电力行业中,继电保护业务在传输隧道中的传输时间的稳定性有很高的要求。该要求为:第一电力设备每次发送给第二电力设备的继电保护业务在第一传输隧道中的传输时间的变化值不超过预设阈值,同样第二电力设备发送给第一电力设备的继电保护业务也有此要求。为了满足该要求,第一转发节点和第二转发节点接收来自同一时钟源的时钟信号,二者基于该时钟信号进行时间同步。第一转发节点当接收到第一电力设备发送的属于继电保护业务的业务报文时,从本地时钟中获取时间戳并添加到该业务报文中,然后在第一传输隧道上向第二转发节点发送该业务报文。第二转发节点接收该业务报文,从本地时钟中获取时间戳,根据获取的时间戳和该业务报文包括的时间戳计算该业务报文在第一传输隧道上的传输时间。第二转发节点计算该传输时间与预设时间阈值之间的时间差,然后缓存该业务报文且在该业务报文缓存的时间达到该时间差时,向第二电力设备发送该业务报文。如此保证第二电力设备每次接收的业务报文在第一传输隧道上的传输时间等于预设时间阈值。同样,对于第二电力设备发送给第一电力设备的业务报文,也按上述方式保存该业务报文在第二传输隧道上的传输时间等于预设时间阈值。
4.在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
5.第一转发节点和第二转发节点需要接收同一时钟源的时钟信号才能达到时间同步,但是时钟源很容易受到攻击,导致发送给第一转发节点的时钟信号和发送给第二转发节点的时钟信号不同,使得第一转发节点和第二转发节点无法实现时间同步,这样第二转发节点计算出的业务报文的传输时间就不准确,进而无法保证电力设备每次接收的业务报文在传输隧道上的传输时间的变化值不超过预设阈值。


技术实现要素:

6.本申请实施例提供了一种通信方法、装置及系统,能够提高计算业务报文传输时间的准确性,以保证电力设备每次接收的业务报文在传输隧道上的传输时间的变化值不超过预设阈值,所述技术方案如下:
7.第一方面,本申请提供了一种通信方法,在所述方法中:第一转发节点接收第一业务报文,第一转发节点是传输隧道经过的除末尾节点以外的其他节点,传输隧道为用于传输第一业务报文的隧道;第一转发节点获取第一业务报文在第一转发节点中的滞留时间;第一转发节点发送第二业务报文,第二业务报文包括该滞留时间。由于第一转发节点能够准确地获取到该滞留时间,在第二业务报文中添加该滞留时间,这样该传输隧道的末尾节点在接收到第二业务报文时,根据第二业务报文中的各转发节点添加的滞留时间能够准确地获取到第二业务报文在传输隧道中的传输时间,从而提高计算业务报文的传输时间的准确性,以保证电力设备每次接收的业务报文在传输隧道上的传输时间的变化值不超过预设阈值。
8.在一种可能的实现方式中,第一转发节点获取第一业务报文的接收时间戳和当前时间戳;根据该接收时间戳和当前时间戳获取第一业务报文在第一转发节点中的滞留时间。由于接收时间戳和当前时间戳均是从第一转发节点的本地时钟中读取的时间戳,这样基于接收时间戳和当前时间戳可以准确地获取到滞留时间。
9.在另一种可能的实现方式中,第一转发节点在接收第一业务报文时,保存第一业务报文的报文标识信息与第一业务报文的接收时间戳之间的对应关系;第一转发节点根据第一业务报文的报文标识信息从报文标识信息与接收时间戳的对应关系中获取第一业务报文的接收时间戳。如此在第一转发节点确定发送第一业务报文时,可以获取到第一业务报文的接收时间戳,从而基于该接收时间戳可以准确获取到第一业务报文的滞留时间。
10.在另一种可能的实现方式中,第一转发节点在接收第一业务报文时,在第一业务报文中添加第一业务报文的接收时间戳;从第一业务报文中提取接收时间戳。将接收时间戳添加到第一业务报文,相比上述从第一业务报文中提取报文标识信息再保存该报文标识信息与接收时间戳的对应关系,实现方式简化,且可以减少对存储空间的占用。
11.在另一种可能的实现方式中,在第一转发节点是传输隧道的非首节点的情况,第一业务报文中包括滞留总时间,该滞留总时间是第一业务报文在已经过的各转发节点中的滞留时间之和;第一转发节点将第一业务报文包括的滞留总时间与该滞留时间进行累加得到累加值,将第一业务报文包括的滞留总时间替换为该累加值,得到第二业务报文。由于第二业务报文包括一个滞留总时间,可以减少第二业务报文中携带的数据量。
12.第二方面,本申请提供了一种通信方法,在所述方法中:第二转发节点接收第二业务报文,第二业务报文包括第二业务报文在第二转发节点之前的各转发节点上的滞留时间,第二转发节点是传输隧道的末尾节点,该传输隧道为用于传输第二业务报文的隧道,所述第二转发节点之前的各转发节点是所述传输隧道经过的节点。第二转发节点根据第二业务报文在各转发节点中的滞留时间和时间阈值,获取第二业务报文在第二转发节点中的允许滞留时间。第二转发节点在第二业务报文在第二转发节点中的滞留时间达到允许滞留时间时发送第二业务报文。由于第二业务报文包括第二业务报文在第二转发节点之前的各转发节点上的滞留时间,对于任一个转发节点,该转发节点能准确地获取到第二业务报文在自身上的滞留时间,这样第二转发节点根据各转发节点的滞留时间可以准确地获取第二业务报文在第二转发节点中的允许滞留时间,在第二业务报文在第二转发节点中的滞留时间达到允许滞留时间时发送第二业务报文,这样可以保证电力设备每次接收的业务报文在传输隧道上的传输时间的变化值不超过预设阈值。
13.在一种可能的实现方式中,第二转发节点获取第二业务报文已在第二转发节点中的滞留时间,第二业务报文已在第二转发节点中的滞留时间是指从第二转发节点接收到第二业务报文,到将第二业务报文缓存到抖动缓冲器时的时间,抖动缓冲器是第二转发节点中的缓存器。第二转发节点根据第二业务报文在各转发节点中的滞留时间、在第二转发节点中的滞留时间和时间阈值,获取允许第二业务报文在抖动缓冲器中的缓存时间。这样第二业务报文在抖动缓冲器中的存储时间达到允许的缓存时间时被发送,可以保证电力设备每次接收的业务报文在传输隧道上的传输时间的变化值不超过预设阈值。
14.在另一种可能的实现方式中,第二转发节点获取第二业务报文的接收时间戳以及获取在将第二业务报文缓存到抖动缓冲器时的第一时间戳。第二转发节点根据接收时间戳和第一时间戳,获取第二业务报文已在第二转发节点中的滞留时间。由于接收时间戳和第一时间戳均是第二转发节点的本地时钟中读取的时间戳,这样基于接收时间戳和第一时间戳可以准确地获取到滞留时间。
15.在另一种可能的实现方式中,第二转发节点在接收第二业务报文时,保存第二业务报文的报文标识信息与第二业务报文的接收时间戳之间的对应关系。第二转发节点根据第二业务报文的报文标识信息从报文标识信息与接收时间戳的对应关系中获取第二业务报文的接收时间戳。如此第二转发节点可以获取到第二业务报文的接收时间戳,从而基于该接收时间戳可以准确获取到第二业务报文的滞留时间。
16.在另一种可能的实现方式中,第二转发节点在接收第二业务报文时,在第二业务报文中添加第二业务报文的接收时间戳。第二转发节点从第二业务报文中提取接收时间戳。将接收时间戳添加到第二业务报文,相比上述从第二业务报文中提取报文标识信息再保存该报文标识信息与接收时间戳的对应关系,实现方式简化,且可以减少对存储空间的占用。
17.第三方面,本申请提供了一种通信装置,用于执行第一方面或第一方面的任意一种可能实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能实现方式的方法的单元。
18.第四方面,本申请提供了一种通信装置,用于执行第二方面或第二方面的任意一种可能实现方式中的方法。具体地,所述装置包括用于执行第二方面或第二方面的任意一种可能实现方式的方法的单元。
19.第五方面,本申请实施例提供了一种通信装置,所述装置包括:处理器、存储器和收发器。其中,所述处理器、所述存储器和所述收发器之间可以通过总线系统相连。所述存储器用于存储一个或多个程序,所述处理器用于执行所述存储器中的一个或多个程序,完成第一方面或第一方面的任意可能实现方式中的方法。
20.第六方面,本申请实施例提供了一种通信装置,所述装置包括:处理器、存储器和收发器。其中,所述处理器、所述存储器和所述收发器之间可以通过总线系统相连。所述存储器用于存储一个或多个程序,所述处理器用于执行所述存储器中的一个或多个程序,完成第二方面或第二方面的任意可能实现方式中的方法。
21.第七方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、第一方面的任意可能实现方式或第二方面的任意可能实现方式中的方法。
22.第八方面,本申请提供了一种包含程序的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、第一方面的任意可能实现方式或第二方面的任意可能实现方式中的方法。
23.第九方面,本申请提供了一种通信系统,所述系统包括:第三方面所述的装置和第四方面所述的装置,或者,所述第五方面所述的装置和第六方面所述的装置。
附图说明
24.图1是本申请实施例提供的一种网络架构示意图;
25.图2是本申请实施例提供的一种业务报文的结构示意图;
26.图3是本申请实施例提供的另一种业务报文的结构示意图;
27.图4是本申请实施例提供的一种转发节点的结构示意图;
28.图5是本申请实施例提供的另一种网络架构示意图;
29.图6是本申请实施例提供的一种通信方法流程图;
30.图7是本申请实施例提供的另一种业务报文的结构示意图;
31.图8是本申请实施例提供的另一种业务报文的结构示意图;
32.图9是本申请实施例提供的另一种业务报文的结构示意图;
33.图10是本申请实施例提供的另一种业务报文的结构示意图;
34.图11是本申请实施例提供的另一种业务报文的结构示意图;
35.图12是本申请实施例提供的另一种业务报文的结构示意图;
36.图13是本申请实施例提供的另一种业务报文的结构示意图;
37.图14是本申请实施例提供的一种通信装置结构示意图;
38.图15是本申请实施例提供的另一种通信装置结构示意图;
39.图16是本申请实施例提供的另一种通信装置结构示意图。
具体实施方式
40.参见图1,本申请实施例提供了一种通信架构,该通信架构包括多个转发节点1和多个终端2。通信网络包括多个转发节点1,每个终端2可以连接到该通信网络的转发节点1上。
41.终端2之间可以通过通信网络来传输业务报文。例如,对于需要传输业务的两个终端2,为了便于说明称该两个终端2为第一终端和第二终端,与第一终端相连的转发节点为第一转发节点,以及与第二终端相连的转发节点为第二转发节点。第一终端可以建立与第二终端之间的网络连接,该网络连接包括第一终端与第一转发节点之间的连接,第一转发节点与第二转发节点之间的传输隧道,以及第二转发节点与第二终端之间的连接。
42.第一转发节点和第二转发节点之间的传输隧道包括第一传输隧道和第二传输隧道。第一传输隧道的首节点为第一转发节点,末尾节点为第二转发节点。第一传输隧道用于传输第一终端向第二终端发送的业务报文。第二传输隧道的首节点为第二转发节点,末尾节点为第一转发节点。第二传输隧道用于传输第二终端向第一终端发送的业务报文。
43.第一传输隧道经过的转发节点和第二传输隧道经过的转发节点可以相同,也可以不同。对于第一传输隧道和第二传输隧道中任一传输隧道,该传输隧道经过的转发节点数
目大于或等于2。在该转发节点数目等于2时,表示该传输隧道经过的转发节点包括第一转发节点和第二转发节点。在该转发节点数目大于2时,表示该传输隧道经过的转发节点除了包括第一转发节点和第二转发节点外,还可以包括其他的转发节点,其他的转发节点是该传输隧道经过的中间节点。
44.图1所示的网络架构可以为因特网协议/多协议标签交换(internet protocol/multi-protocol label switching,ip/mpls)网络架构,在该架构下第一终端和第二终端之间传输的业务报文可以为mpls报文。或者,图1所示的网络架构可以为基于ipv6段路由技术(segment routing based on ipv6,srv6)网络架构,在该架构下第一终端和第二终端之间传输的业务报文可以为srv6报文。
45.参见图2,在ip/mpls网络架构中,该业务报文可以为mpls报文,包括报文头、净荷部分和帧校验序列(frame check sequence,fcs)。净荷部分位于报文头和fcs之间。报文头包括多个字段,该多个字段分别为源目的介质访问控制地址(destination and source medium access control address,innerl2)、虚拟局域网编号(virtual local area network tag,vlantag)、以太类型标识(thernet type,e-type)、内部的伪线标签值(inner pseudo wire multi-protocol label switching id,inner pw)、控制字(control word,cw)和实时传输协议(realtime transport protocol,rtp)。
46.接下来列举了mpls报文中的各字段长度的一种示例,当然各字段长度也不限于该示例,也可以是其他长度,在此不再一一列举。在该示例中,innerl2的长度可以为12个字节,vlantag的长度可以为4个字节,e-type的长度可以为2个字节,innerpw的长度可以为4个字节,cw的长度可以为4个字节,rtp的长度可以为12个字节。净荷部分的长度不是固定不变的,在不同业务报文中净荷部分的长度可以不同,也可以相同。fcs的长度可以为4字节。
47.参见图3,在srv6网络架构中,该业务报文可以为srv6报文,srv6报文的报文头包括如下字段,分别为下一层头部标识(next header)、段路由头部长度(header extended length,hdr ext len)、路由类型(routingtype)、剩余的srv6端个数(segment left)、最后一个段实体序列号(last entry)、段路由头部标识符(flags)、srv6报文的类型标识(tag)、srv6报文的类型标识(segment list)和可选择的类型长度值(optional type length value,otlv)等。segment list中包括n+1个128位的ipv6地址(128bits ipv6 address),n为大于0的整数。
48.可选的,转发节点2可以为路由器或交换机等。
49.第二终端可能要求第一终端每次发送的业务报文在第一传输隧道上的第一传输时间的变化值小于变化值阈值。第一终端也可能要求第二终端每次发送的业务报文在第二传输隧道上的第二传输时间的变化值小于变化值阈值。第一终端和第二终端还可能要求第一传输时间和第二传输时间相等或相差的差值不超过差值阈值。
50.例如,假设该通信架构为ip/mpls网络架构,该通信架构可以应用于电力行业。在电力行业中,第一终端和第二终端可以为电力设备。第一终端和第二终端之间传输的业务报文可以为属于继电保护业务的业务报文。
51.在电力行业,第一终端通过第一传输隧道向第二终端发送业务报文,第二终端每次接收到业务报文时测量该业务报文在第一传输隧道上的第一传输时间。同样,第二终端通过第二传输隧道向第一终端发送业务报文,第一终端每次接收到业务报文时测量该业务
报文在第二传输隧道上的第二传输时间。在第二终端每次测量的第一传输时间的变化值较大,或者,在第一终端每次测量的第二传输时间的变化值较大,或者,第一传输时间和第二传输时间之间的差值超过差值阈值,就可能导致电网停电事故的发生。所以在电力行业中,要求第一传输时间的变化值和第二传输时间的变化值均小于变化值阈值,以及要求第一传输时间和第二传输时间相等或相差的差值不超过差值阈值,该变化值阈值可以为200微秒、180微秒或160微秒等,该差值阈值可以为200微秒、180微秒或160微秒等。
52.对于第一传输隧道和第二传输隧道中的任一个传输隧道,当业务报文在该传输隧道中传输时,该传输隧道经过的转发节点对业务报文在该传输隧道上的传输时间有很大的影响。业务报文在转发节点中滞留时间的长短决定业务报文的传输时间的长短。转发节点在网络流量较大时,不能及时转发接收的业务报文,导致业务报文在该转发节点中的滞留时间变长,相应地导致业务报文的传输时间也随之变长。转发节点在网络流量较小时,能够及时转发业务报文,使业务报文在该转发节点上的滞留时间变短,相应地导致业务报文的传输时间也随之变短。
53.在通信网络中转发节点之间往往使用光纤等高速线缆连接,对于任两个转发节点之间的线缆,每个业务报文在该两个转发节点之间的线缆上传输速度均相同且所需要的时间很短。所以该传输隧道经过的各线缆,不同的业务报文在该传输隧道经过的各线缆上传输时所用的时间之和相同,但不同的业务报文在传输隧道经过的各转发节点上的滞留时间之和可能不同。因此业务报文在传输隧道中的传输时间受转发节点的影响较大,该传输时间的长短主要受该业务报文在该传输隧道经过的各转发节点上的滞留时间之和的影响。
54.由于业务报文在传输隧道经过的各转发节点上的滞留时间对该业务报文在该传输隧道上的传输时间有很大的影响,所以对于传输隧道经过的除末尾节点之外的每个转发节点,每个转发节点在接收到业务时可以在该业务报文中添加该业务报文在自身的滞留时间,然后转发添加滞留时间的业务报文。对于传输隧道的末尾节点,末尾节点接收到该业务报文后,根据该业务报文包括该业务报文在已经过的各转发节点上的滞留时间获取滞留总时间,然后根据时间阈值和该滞留总时间,获取该业务报文在该末尾节点中的允许滞留时间,在该业务报文在末节点中的滞留时间达到该允许滞留时间时向终端发送该业务报文。其中,该滞留总时间和该允许滞留时间之和等于该时间阈值,这样该终端测量该业务报文在该传输隧道上的传输时间等于该时间阈值加上该业务报文在该传输隧道经过的各线缆上所用的时间之和。其中,转发节点如何在业务报文中添加滞留时间以及该末尾节点如何获取该滞留总时间的详细实现过程将在后续图6所示实施例进行详细说明,在此先不介绍。
55.对于第一传输隧道的末尾节点,即第二转发节点每次接收到第一终端发送的业务报文时,按上述方式向对接收的业务报文进行处理后再发送给第二终端,可以保证第二终端每次接收到业务报文时测量的第一传输时间相同或测量的第一传输时间的变化值小于变化值阈值。同理,对于第二传输隧道的末尾节点,即第一转发节点每次接收到第二终端发送的业务报文时,按上述方式向对接收的业务报文进行处理后再发送给第一终端,可以保证第一终端每次接收到业务报文时测量的第二传输时间相同或测量的第二传输时间的变化值小于变化值阈值。
56.可选的,第一转发节点和第二转发节点在建立第一传输隧道和第二传输隧道时相互约定时间阈值,使得第一转发节点和第二转发节点使用相同的时间阈值,如此可以保证
第一传输时间和第二传输时间之间的差值不超过差值阈值。
57.需要说明的是,在第一传输隧道经过的转发节点和第二传输隧道经过的转发节点不同时,此时第一传输隧道经过的线缆长度和第二传输隧道经过的线缆长度可能不同。这样业务报文在第一传输隧道的线缆上传输所用的时间和业务报文在第二传输隧道的线缆上传输所用的时间不同。如果该两个时间之间的差值超过该差值阈值,则可能需要重新建立第一转发节点和第二转发节点之间的第一传输隧道和第二传输隧道,以使该两个时间之间的差值不超过该差值阈值。这样才可以尽量保证第一终端发送的业务报文在第一传输隧道上传输时所用的第一传输时间和第二终端发送的业务报文第二传输隧道上传输时所用的第二传输时间之间的差值不超过该差值阈值。
58.参见图4,本申请实施例提供了一种转发节点1,该转发节点1可以是图1所示网络架构中的转发节点,包括:
59.处理器21、存储器22、总线23和通信接口24。处理器21、存储器22和通信接口24通过总线23相连。
60.转发节点1包括多个通信接口24,转发节点1通过通信接口24与其他设备通信。例如,转发节点1可以通过通信接口24和其邻居转发节点通信。当该转发节点1还与终端通信时,该转发节点1通过其他通信接口24与终端通信。
61.可选的,通信接口24包括收发器和处理芯片等部件,该收发器具有收发报文的功能,该处理芯片具有处理报文等至少一个功能。在该通信接口24与终端相连时,该通信接口24还可以包括抖动缓冲器。
62.可选的,该处理芯片可以通过数字信号处理(digital signal processing,dsp)或现场可编程逻辑门阵列(field programmable gate array,fpga)等来实现。
63.可选的,在该转发节点1是ip/mpls网络架构中的转发节点的情况,该转发节点1与终端相连的通信接口24可以是e1接口或c37.94等低速接口。
64.存储器22中可以保存有转发表,该转发表用于保存索引信息与隧道信息的对应关系。对于转发表中的每条记录包括的索引信息和隧道信息,该索引信息可以是目的设备的设备标识或传输隧道的标签,该隧道信息包括指示信息和通信接口的接口标识,还可能包括传输隧道的标签,该指示信息可以为压标签指示、交换指示或弹标签指示。压标签指示用于指示处理器21向报文中添加标签,交换指示用于指示处理器21将报文中的标签替换为该隧道信息中的标签,弹标签指示用于指示处理器21去除报文中的标签。当处理器21通过一通信接口24接收到报文时,处理器21根据该报文包括的目的设备的设备标识或标签从存储器22的转发表中查询出对应的隧道信息,该隧道信息包括指示信息和通信接收口的接口标识,根据该指示信息对该报文进行处理,通过该接口标识对应的通信接口24发送处理后的报文。
65.该转发节点1可以是上述介绍的第一转发节点或第二转发节点,或者为上述第一传输隧道或第二传输隧道经过的中间节点。例如,参见图5,对于第一传输隧道,第一传输隧道用于传输第一终端发送给第二终端的业务报文。第一传输隧道的首节点为第一转发节点11,第一转发节点11通过一个通信接口241与第一终端通信,在第一传输隧道上通过另一个通信接口242与第一转发节点11的下游转发节点通信,在第一转发节点11的转发表中存在一条包括索引信息和隧道信息的记录,该记录中的索引信息包括第二终端的设备标识d2,
该记录中的隧道信息包括与该下游转发节点通信的通信接口242的接口标识u242、压标签指示和标签1。
66.对于第一传输隧道经过的任一个中间节点,称该中间节点为第三转发节点13,在第一传输隧道上,第三转发节点13通过一个通信接口243与第三转发节点13的上游转发节点相连,通过另一个通信接口244与第三转发节点13的下游转发节点相连。在第三转发节点13的转发表中存在一条包括索引信息和隧道信息的记录,该记录中的索引信息包括标签1,该记录中的隧道信息包括与该下游转发节点通信接口的接口标识u244、交换指示和标签2。
67.第一传输隧道经过的末尾节点为第二转发节点12,在第一传输隧道上,第二转发节点12通过一个通信接口245与第二转发节点12的上游转发节点相连,通过另一个通信接口246与第二终端相连。在第二转发节点12的转发表中存在一条包括索引信息和隧道信息的记录,该记录中的索引信息包括标签2,该记录中的隧道信息包括与第二终端相连的通信接口246的接口标识u246和弹标签指示。
68.仍参见图5,对于第二传输隧道,第二传输隧道用于传输第二终端发送给第一终端的业务报文。假设第二传输隧道经过的转发节点和第一传输隧道经过的转发节点相同,这样第二转发节点12通过通信接口246与第二终端相连,在第二传输隧道上通过通信接口245与第二转发节点12的下游转发节点相连,在第二转发节点12的转发表中存在一条包括索引信息和隧道信息的记录,该记录中的索引信息包括第一终端的设备标识d1,该记录中的隧道信息包括与该下游转发节点相连的通信接口245的接口标识u245、标签3和压标签指示。
69.对于第二传输隧道经过的任一个中间节点,例如对于第三转发节点13,在第二传输隧道上,第三转发节点13通过通信接口244与第三转发节点13的上游转发节点相连,通过通信接口243与第三转发节点13的下游转发节点相连。在第三转发节点13的转发表中存在一条包括索引信息和隧道信息的记录,该记录中的索引信息为标签3,该记录中的隧道信息包括与该下游转发节点相连的通信接口的接口标识u243、交换指示和标签4。
70.第二传输隧道经过的末尾节点为第一转发节点11,在第二传输隧道上第二转发节点12通过通信接口242与第一转发节点11的上游转发节点相连,通过通信接口241与第一终端相连。在第一转发节点11的转发表中存在一条包括索引信息和隧道信息的记录,该记录中的索引信息包括标签4,该记录中的隧道信息包括与第一终端相连的通信接口241的接口标识u241和弹标签指示。
71.可选的,存储器22还可以保存有至少一个应用程序代码,该转发节点1中的处理器21和/或通信接口24中的处理芯片可以从存储器22中调用并运行应用程序代码,来实现如下功能,该功能包括在该转发节点1接收的业务报文中添加该业务报文在该转发节点1中的滞留时间或获取该业务报文在该转发节点1上的允许滞留时间等。其中转发节点1实现这些功能的具体过程将在后续图6所示的实施例进行详细说明,在此先不详细介绍。
72.可选的,上述处理器21可以为通用中央处理器(central processing unit,cpu),网络处理器(network processor,np),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。该处理器还可以是指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
73.上述总线23可以为一通路,在上述组件之间传送信息。
74.上述存储器22可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
75.参见图6,本申请实施例提供了一种通信方法,该方法可以应用于如图1或图5所示的网络架构。在该方法中,以第一终端在第一传输隧道上向第二终端发送业务报文的过程为例进行说明,该方法包括:
76.步骤301:第一转发节点接收第一终端发送的第一业务报文,第一转发节点是第一传输隧道经过的首节点。
77.可选的,参见图5,第一终端与第二终端之间建立有网络连接,该网络连接包括第一终端与第一转发节点之间的连接、第一转发节点和第二转发节点之间的第一传输隧道和第二传输隧道以及第二转发节点与第二终端之间的连接。
78.第一终端可在该网络连接上向第二终端发送第一业务报文。由于第一转发节点通过一通信接口与第一终端相连,第一转发节点的该通信接口接收第一业务报文,为了便于说明,称该通信接口为第一通信接口。
79.可选的,第一业务报文包括目的设备地址字段,该目的设备地址字段携带第二终端的设备标识。在第一业务报文为mpls报文时,目的设备地址字段可以位于mpls报文的inner l2字段中。在第一业务报文为srv6报文时,目的设备地址字段可以为srv6报文的segment list字段,第二终端的设备标识可以为segment list字段中的最后一个ipv6地址。
80.可选的,第一转发节点接收到第一业务报文时,获取第一业务报文的接收时间戳。为了便于说明称该接收时间戳为第一接收时间戳,将第一接收时间戳添加到第一业务报文中。或者,从第一业务报文中获取第一业务报文的报文标识信息,将该报文标识信息和第一接收时间戳对应保存在报文标识信息与接收时间戳的对应关系中,该报文标识信息包括第一业务报文的源设备标识、源端口号、目的设备标识、目的端口号和第一业务报文的报文序号。
81.可选的,第一转发节点包括本地时钟,第一转发节点在接收到第一终端的第一业务报文时从本地时钟获取第一接收时间戳,并在第一业务报文中添加第一接收时间戳。
82.可选的,从本地时钟获取的第一接收时间戳可以是数值。此情况下本地时钟可以是用于计时的计数器,时间戳可以是数值形式的数值,计数器计数的数值为时间戳。例如,假设计数器每一毫秒计数一次,当前计数器计数的数值为5,表示当前的时间戳为第5毫秒。或者,
83.可选的,从本地时钟获取的第一接收时间戳也可以是时间格式的数据。例如,假设在接收到第一业务报文时,从本地时钟获取的第一接收时间戳为2019-8-15-11-2-15-35,第一接收时间戳为时间格式的数据。
84.可选的,第一通信接口可以包括收发器和处理芯片等部件,上述获取第一接收时间戳等操作可以由该处理芯片来执行。即在第一通信接口中的收发器接收第一终端发送的第一业务报文时,该处理芯片从第一转发节点的本地时钟中获取第一接收时间戳,将第一
接收时间戳添加到第一业务报文中;或者,从第一业务报文中获取第一业务报文的报文标识信息,将该报文标识信息和第一接收时间戳对应保存在报文标识信息与接收时间戳之间的对应关系中。
85.对于在第一业务报文中添加第一接收时间戳的方式,由于不需要保存报文标识信息与第一接收时间戳的对应关系,从而减小占用第一转发节点的存储资源。
86.可选的,可以在第一业务报文的第一字段中添加第一接收时间戳。第一字段可以为在第一业务报文中新增加的字段或者为第一业务报文的报文头中已存在的字段。
87.可选的,第一业务报文可以为mpls报文,在获取到第一接收时间戳时可以在第一业务报文的报文头中添加包括第一接收时间戳的第一字段。
88.在第一业务报文为mpls报文时,该通信方法可以应用于ip/mpls网络架构。在ip/mpls网络架构,第一终端和第二终端可以为电力设备,第一业务报文可以为属于继电保护业务的报文。
89.例如,参见图7,在获取到第一接收时间戳时,假设第一接收时间戳为t1,在第一业务报文的报文头中添加包括第一接收时间戳t1的第一字段。如图7所示第一字段可以位于innerpw和cw之间。
90.可选的,第一字段的长度可以x个字节,x的取值可以为4、5、6、7或8等数值。
91.可选的,在第一业务报文为srv6报文时,第一字段可以是第一业务报文的otlv中的部分。在获取到第一时间戳时,将第一业务报文的第一字段的内容设置为第一时间戳。
92.例如,参见图8,在获取到第一接收时间戳t1时,在第一业务报文的报文头中的otlv中选择部分比特作为第一字段,并将第一字段的内容设置为第一接收时间戳t1。
93.第一通信接口中的处理芯片将第一接收时间戳添加到第一业务报文后,可以向第一转发节点的处理器发送第一业务报文。
94.可选的,参见图7,第一通信接口的处理芯片在向第一转发节点的处理器发送第一业务报文之前,还可以在第一业务报文的报文头中增加1588指示字段和1588模式字段。然后再向第一转发节点的处理器发送第一业务报文。
95.在本申请中,第一转节点可以使用1588技术的透明时钟(transparent clock,tc)模式定义的技术来获取第一业务报文在第一转发节点上的滞留时间,所以处理芯片增加的1588指示字段中包括1588指示,增加的1588模式字段中包括tc模式,以触发第一转发节点的处理器使用1588技术的tc模式中定义的技术来执行操作。在使用1588技术的tc模式的时,第一转发节点的本地时钟是计数器,第一接收时间戳t1是数值。
96.当然第一转发节点也可以采用其他的方式来获取第一业务报文在第一转发节点中的滞留时间,在采用其他的方式时,第一通信接口的处理芯片可以不用在第一业务报文的报文头中增加1588指示字段和1588模式字段。
97.参见图5,第一转发节点中保存有转发表,第一转发节点的处理器接收到第一业务报文后,根据第一业务报文包括的第二终端的设备标识,假设第二终端的设备标识为d2,从第一转发节点保存的转发表中查询出与第二终端的设备标识id2相对应的接口标识u242、标签1和压标签指示。第一转发节点的处理器在第一报文中添加标签1,向该接口标识u242对应的通信接口发送第一业务报文。为了便于说明称该接口标识u242对应的通信接口为第二通信接口。
98.可选的,参见图7,在第一业务报文中包括1588指示字段和1588模式字段的情况,第一转发节点的处理器在向第二通信接口发送第一业务报文之前,在该1588指示字段中的1588指示和该1588模式字段中的tc模式的触发下,从第一业务报文的第一字段中提取第一接收时间戳t1,第一接收时间戳t1是数值,计算数值0与t1之间的差值为0-t1,该差值是一个负数值,将第一业务报文的第二字段的内容设置为该差值0-t1。
99.可选的,在第一业务报文为mpls报文的情况,参见图7,第一转发节点的处理器可以扩展第一业务报文中的第一字段的长度,得到长度为y的第二字段,y为大于x的整数值。例如,x=4,y=6;或者,x=6,y=8等,将第二字段包括的内容替换为该差值0-t1。
100.可选的,在第一业务报文为srv6报文的情况,第一业务报文的第二字段是oltv中除第一字段以外的部分,第一转发节点的处理器将第二字段的内容设置为该差值0-t1。
101.可选的,参见图7,第一转发节点的处理器在向第二通信接口发送第一业务报文之前,从第一业务报文中删除1588指示字段和1588模式字段。
102.可选的,在第一业务报文为mpls报文的情况,参见图7,第一转发节点的处理器在向第二通信接口发送第一业务报文之前,还可以在第一业务报文的报文头中添加一个字段,字段为标签交换路径(label switch path,lsp)。
103.步骤302:第一转发节点获取第一业务报文在第一转发节点中的滞留时间,将该滞留时间添加到第一业务报文中,得到第二业务报文。
104.在第一转发节点的第二通信接口接收到第一业务报文时,第一转发节点开始执行本步骤的操作。第二通信接口中包括处理芯片和收发器,即该处理芯片可以执行本步骤的操作,执行过程如下:
105.在本步骤中,可以获取第一业务报文的第一接收时间戳以及当前时间戳,为了便于说明称该当前时间戳为第二时间戳,根据第一接收时间戳和第二时间戳获取第一业务报文在第一转发节点中的滞留时间,将该滞留时间添加到第一业务报文中,得到第二业务报文。
106.可选的,可以从本地时钟中读取第二时间戳。由于第一业务报文的第一字段中包括第一接收时间戳,所以可以直接从第一业务报文的第一字段中提取第一接收时间戳。或者,从第一业务报文中提取第一业务报文的报文标识信息,从报文标识信息与接收时间戳的对应关系中获取第一接收时间戳。
107.又由于第一接收时间戳和第二时间戳均是从第一转发节点的本地时钟中获取的,所以基于第一接收时间戳和第二时间戳获取的在第一转发节点的滞留时间的精度很高。
108.在从报文标识信息与接收时间戳的对应关系中获取到第一接收时间戳的情况下,还可以在获取第一接收时间戳之后,从报文标识信息与接收时间戳的对应关系中删除包括第一业务报文的报文标识信息和第一接收时间戳的记录。
109.可选的,可以在第一业务报文的第二字段中添加该滞留时间,第二字段可以是对第一业务报文的报文头的第一字段进行扩展得到的字段,或者,第二字段可以是第一业务报文的报文头中已存在的字段。
110.可选的,在第一业务报文为mpls报文时,在获取到第一业务报文在第一转发节点中的滞留时间后,可以在第一业务报文中扩展第一字段的长度得到第二字段,将第二字段中的内容替换为该滞留时间。
111.例如参见图7,第二转发节点的第二通信接口的处理芯片从本地时钟中读取当前时间戳t2,即第二时间戳为t2,从第一业务报文的第一字段中提取第一接收时间戳t1,根据第一接收时间戳t1和第二时间戳t2获取第一业务报文在第一转发节点中的滞留时间t2-t1,在第一业务报文中扩展第一字段的长度得到第二字段,将第二字段中的内容替换为该滞留时间t2-t1。
112.可选的,在第一业务报文为srv6报文的情况,参见图9,第二字段可以是第一业务报文的otlv字段中除第一字段以外的部分。在获取到第一业务报文在第一转发节点中的滞留时间t2-t1后,将第一业务报文的otlv字段中除第一字段以外的部分作为第二字段,将第二字段的内容设置为该滞留时间t2-t1。
113.可选的,在第一转发节点采用了1588技术的tc模式的情况下,第二通信接口的处理芯片接收的第一业务报文中的第一字段已被扩展为第二字段,且第二字段中的内容是一个负数值0-t1。在本步骤中,从本地时钟获取的第二时间戳t2是本地时钟计数的数值t2,可以从第一业务报文的第二字段中提取该负数值0-t1,将该负数值0-t1与数值t2累加得到累加值t2-t1,将累加值t2-t1作为第一业务报文在第一转发节点中的滞留时间,将第二字段中的内容替换为该滞留时间t2-t1。
114.步骤303:第一转发节点发送添加该滞留时间的第二业务报文。
115.在本步骤中,第一转发节点的第二通信接口中的收发器发送添加该滞留时间的第二业务报文。
116.第一转发节点发送第二业务报文后,由第一传输隧道经过的中间节点接收并转发第二业务报文,为了便于说明称该中间节点为第三转发节点。第三转发节点可以执行如下操作。
117.步骤304:第三转发节点接收第二业务报文,第二业务报文包括第二业务报文在已经过的各转发节点中的滞留时间。
118.可选的,第二业务报文的第二字段中可以包括第二业务报文在已经过的各转发节点中的滞留时间,或者,第二业务报文的第二字段中可以包括滞留总时间,该滞留总时间为第二业务报文在已经过的各转发节点中的滞留时间之和。
119.在本步骤中,第三转发节点通过一个通信接口接收第二业务报文,为了便于说明称该通信接口为第三通信接口。
120.在本步骤中,第三转发节点接收到第二业务报文时,可以从本地时钟获取第二业务报文的接收时间戳,为了便于说明称此时获取的接收时间戳为第二接收时间戳,将第二接收时间戳添加到第二业务报文中。或者,从第二业务报文中获取第二业务报文的报文标识信息,将该报文标识信息和第一接收时间戳对应保存在报文标识信息与接收时间戳的对应关系中。
121.第三通信接口中包括处理芯片等部件,该处理芯片可以执行上述获取第二接收时间戳等操作。
122.第二接收时间戳可以是数值形式的数据或可以是时间格式的数据。
123.可选的,可以在第二业务报文的第一字段中添加第二接收时间戳。第一字段可以为在第二业务报文中新增加的字段或者为第二业务报文的报文头中已存在的字段。
124.可选的,第二业务报文可以为mpls报文,在获取到第二接收时间戳时可以在第二
业务报文中添加包括第二接收时间戳的第一字段。
125.例如,参见图10,在第三转发节点的第三通信接口接收到第二业务报文时,第三通信接口中的处理芯片从第三转发节点的本地时钟获取第二接收时间戳t3,在第二业务报文中添加包括第二接收时间戳t3的第一字段。如图10所示第一字段可以位于净荷部分和fcs之间。
126.可选的,第二业务报文可以为srv6报文,参见图11,第三转发节点的第三通信接口获取到第二接收时间戳t3后,将第二业务报文的otlv中的第一字段的内容替换为第二接收时间戳t3。
127.第三通信接口中的处理芯片将第二接收时间戳添加到第二业务报文后,可以向第三转发节点的处理器发送第二业务报文。
128.可选的,参见图10,第三通信接口的处理芯片在向第三转发节点的处理器发送第二业务报文之前,还可以在第二业务报文的报文头中增加1588指示字段和1588模式字段。
129.参见图5,第三转发节点中保存有转发表,第三转发节点的处理器根据第二业务报文包括的标签1,从第三转发节点保存的转发表中查询出与标签1相对应的接口标识u244、交换指示和标签2。为了便于说明称该接口标识u244对应的通信接口为第四通信接口,第三转发节点的处理器将第二业务报文中的标签1替换为标签2,向该接口标识u244对应的第四通信接口发送第二业务报文。
130.可选的,参见图10,在第二业务报文中包括1588指示字段和1588模式字段的情况,第三转发节点的处理器在向第四通信接口发送第二业务报文之前,在该1588指示字段中的1588指示和该1588模式字段中的tc模式的触发下,从第二业务报文的第一字段中提取第二接收时间戳t3以及从第二字段中提取滞留总时间,假设该滞留总时间为ts1。其中,该滞留总时间ts1和第二接收时间戳t3均为数值形式,也就是说该滞留总时间ts1和第二接收时间戳t3是两个数值。计算数值ts1与数值t3之间的差值,该差值等于ts1-t3,将第二业务报文中的第二字段中的内容替换为差值ts1-t3,然后删除第二业务报文中的1588指示字段和1588模式字段,再向第四通信接口发送第二业务报文。在第二业务报文为mpls报文时,第三转发节点的处理器从第二业务报文的第一字段中提取第二接收时间戳t3之后,还可以从第二业务报文中删除第一字段。
131.步骤305:第三转发节点获取第二业务报文在第三转发节点中的滞留时间,将该滞留时间添加到第二业务报文中。
132.在第三转发节点的第四通信接口接收到第二业务报文时,第三转发节点执行本步骤操作。第四通信接口中包括处理芯片等部件,该处理芯片可以执行本步骤的操作。执行过程如下:
133.在第四通信接口接收到第二业务报文时,可以获取第二业务报文的第二接收时间戳以及当前时间戳,为了便于说明称此时获取的当前时间戳为第三时间戳,根据第二接收时间戳和第三时间戳获取第二业务报文在第三转发节点中的滞留时间,将该滞留时间添加到第二业务报文中。
134.在本步骤中,可以从第三转发节点的本地时钟中读取第三时间戳。由于第二业务报文的第一字段中包括第二接收时间戳,所以直接从第二业务报文的第一字段中提取第二接收时间戳。或者,从第二业务报文中提取第二业务报文的报文标识信息,从报文标识信息
与接收时间戳的对应关系中获取第二接收时间戳。
135.在本步骤中,可以通过如下两种方式将该滞留时间添加到第二业务报文中。该两种方式分别为:
136.方式一,第二业务报文的第二字段中包括第二业务报文在经过的各转发节点上的滞留时间,本步骤中,直接将第二业务报文在第三转发节点中的滞留时间添加到第二业务报文的第二字段中。
137.方式二,第二业务报文的第二字段包括滞留总时间,在本步骤中,从第二业务报文的第二字段中提取该滞留总时间,将该滞留总时间与第二业务报文在第三转发节点中滞留的滞留时间进行累加得到累加值,将第二业务报文的第二字段包括的该滞留总时间替换为该累加值。
138.在方式二中,第二业务报文的第二字段包括滞留总时间,相比较方式一的实现方式,第二字段包括的数据量较小,这样可以减小第二字段的长度,以减小对网络资源的占用。
139.可选的,在从报文标识信息与接收时间戳的对应关系中获取第二接收时间戳之后,可以从报文标识信息与接收时间戳的对应关系中该删除包括第二业务报文的报文标识信息和第二接收时间戳的记录。
140.可选的,在第二业务报文为mpls报文时,在从第二业务报文的第一字段中提取出第二接收时间戳后,还可以删除第一字段,这样可以减小第二业务报文的大小,以减小对网络资源的占用。
141.可选的,参见图10,在第三转发节点采用了1588技术的tc模式的情况下,第三转发节点的处理器在向第四通信接口发送第二业务报文之前,将第二业务报文的第二字段包括的内容替换为差值ts1-t3,则在本步骤中,获取的第三时间戳t4是一个数值,从第二业务报文的第二字段中读取该差值ts1-t3,将该差值ts1-t3与该数值t4进行累加,得到累加值ts1+t4-t3,将第二业务报文的第二字段中的内容替换为该累加值。
142.步骤306:第三转发节点发送添加该滞留时间的第二业务报文。
143.在本步骤中,第三转发节点的第四通信接口发送添加该滞留时间的第二业务报文。
144.对于第一传输隧道经过的其他每个中间节点在接收到第二业务报文后,执行与上述第三转发节点相同的操作来发送第二业务报文,第二业务报文会被发送至第一传输隧道的末尾节点,即被发送至第二传输节点。
145.步骤307:第二转发节点接收第二业务报文,第二业务报文包括第二业务报文在第一传输隧道经过的除第二转发节点以外的其他各转发节点中的滞留时间。
146.可选的,第二业务报文的第二字段中可以包括第二业务报文在该其他各转发节点中的滞留时间,或者,第二业务报文的第二字段中可以包括滞留总时间,该滞留总时间为第二业务报文在该其他各转发节点中的滞留时间之和。
147.在本步骤中,第二转发节点通过一个通信接口接收第二业务报文,为了便于说明称该通信接口为第五通信接口。
148.第二转发节点在接收到第二业务报文时获取第二业务报文的接收时间戳,为了便于说明称此时获取的接收时间戳为第三接收时间戳,将第三接收时间戳添加到第二业务报
文中。或者,从第二业务报文中获取第二业务报文的报文标识信息,将该报文标识信息和第三接收时间戳对应保存在报文标识标识与接收时间戳的对应关系中。
149.第五通信接口中包括处理芯片等部件,该处理芯片可以执行上述获取第三接收时间戳等操作。执行过程如下:
150.在接收到第二业务报文时从第二转发节点包括的本地时钟获取当前时间戳作为第三接收时间戳,在第二业务报文中添加第三接收时间戳,或者,将第二业务报文的报文标识信息和第三接收时间戳对应保存在报文标识标识与接收时间戳的对应关系中。
151.可选的,第二转发节点的本地时钟可以是用于计时的计数器,所以第三接收时间戳可以是数值形式的数值。或者,第三接收时间戳也可以为时间格式的数据。
152.在本步骤中,可以在第二业务报文的第一字段中添加第三接收时间戳。第一字段可以为在第二业务报文中新增加的字段或者为第二业务报文的报文头中已存在的字段。
153.可选的,第二业务报文可以为mpls报文,参见图12,在接收到第二业务报文时获取当前的第三接收时间戳t5,在第二业务报文的报文头中添加包括第三接收时间戳t5的第一字段。如图12所示第一字段可以位于净荷部分和fcs之间。
154.可选的,第二业务报文可以为srv6报文。例如,参见图13,在接收到第二业务报文时获取第三接收时间戳t5,将第二业务报文的otlv中的第一字段包括的内容替换为第三接收时间戳t5。
155.第五通信接口的处理芯片将第三接收时间戳添加到第二业务报文或保存第二业务报文的报文标识信息与第三接收时间戳的对应关系后,可以向第二转发节点的处理器发送第二业务报文。
156.可选的,在第二业务报文为mpls报文的情况,第五通信接口的处理芯片在向第二转发节点的处理器发送第二业务报文之前,还删除第二业务报文中的lsp字段。
157.可选的,参见图12,第五通信接口的处理芯片在向第二转发节点的处理器发送第二业务报文之前,还可以在第二业务报文的报文头中增加1588指示字段和1588模式字段。
158.参见图5,第二转发节点保存有转发表,第二转发节点的处理器根据第二业务报文包括的第二终端的设备标识d2,从第二转发节点保存的转发表中查询出与第二终端的设备标识id2相对应的接口标识u246。为了便于说明称该接口标识u246对应的通信接口为第六通信接口,第二转发节点的处理器向该接口标识u246对应的第六通信接口发送第二业务报文。
159.可选的,参见图12,在第二业务报文中包括1588指示字段和1588模式字段的情况,第二转发节点的处理器在向第六通信接口发送第二业务报文之前,在该1588指示字段中的1588指示和该1588模式字段中的tc模式的触发下,从第二业务报文的第一字段中提取第三时间戳t5以及从第二字段中提取滞留总时间,假设该滞留总时间为ts2。其中,该滞留总时间ts2和第三接收时间戳t5均为数值形式,也就是说该滞留总时间ts2和第三接收时间戳t5是两个数值。计算数值ts2与数值t5之间的差值,该差值等于ts2-t5,将第二业务报文中的第二字段中的内容替换为该差值ts2-t5,然后再向第六通信接口发送第二业务报文。在第二业务报文为mpls报文时,第二转发节点的处理器从该业务报文的第一字段中提取第三接收时间戳t5之后,还可以从第二业务报文中删除第一字段。
160.步骤308:第二转发节点将第二业务报文缓存在抖动缓冲器中,根据第二业务报文
中包括在其他各转发节点中的滞留时间和时间阈值,获取第二业务报文在抖动缓冲器中的允许滞留时间。
161.第二转发节点的第六通信接口中包括处理芯片、收发器和抖动缓冲器等。在第六通信接口的处理芯片接收到该业务报文时,第六通信接口的处理芯片将第二业务报文缓存的抖动缓冲器中。本步骤的操作可以由第六通信接口中的处理芯片来执行。执行过程如下:
162.本步骤中可以通过如下3081至3082的操作来实现,该3081至3082的操作分别为:
163.3081:获取在将第二业务报文缓存到抖动缓冲器时第二业务报文已在第二转发节点中的滞留时间。
164.在本步骤中,获取接收第二业务报文的第三接收时间戳以及当前时间戳,为了便于说明称此时获取的当前时间戳为第一时间戳,根据第三接收时间戳和第一时间戳获取第二业务报文已在第二转发节点中的滞留时间。
165.在将该业务报文缓存到抖动缓冲器时可以从第二转发节点的本地时钟中读取第一时间戳。由于第二业务报文的第一字段包括第三接收时间戳,所以可以直接从第二业务报文的第一字段中提取第三接收时间戳。或者,从第二业务报文中获取第二业务报文的报文标识信息,从报文标识信息与接收时间戳的对应关系中获取第三接收时间戳。
166.可选的,从报文标识信息与接收时间戳的对应关系中获取第三接收时间戳,还从该报文标识信息与接收时间戳的对应关系中删除包括第二业务报文的报文标识信息和第三接收时间戳的记录。
167.可选的,在第二业务报文为mpls报文时,在从第二业务报文的第一字段中提取第三接收时间戳后,还可以从第二业务报文中删除第一字段。
168.3082:根据第二业务报文包括的在其他各转发节点中的滞留时间、在第二转发节点中的滞留时间和时间阈值,获取允许该业务报文在抖动缓冲器中的缓存时间。
169.可选的,在第二业务报文的第二字段中包括第二业务报文在其他各转发节点中的滞留时间的情况下,从第二业务报文的第二字段中提取所有滞留时间,将提取的所有滞留时间和第二业务报文在第二转发节点中的滞留时间进行累加,得到累加值,计算时间阈值和该累加值之间的差值,将该差值确定为允许第二业务报文在抖动缓冲器中的缓存时间。或者,
170.可选的,在第二业务报文的第二字段中包括滞留总时间的情况下,从第二业务报文的第二字段中提取该滞留总时间,将该滞留总时间和第二业务报文在第二转发节点中的滞留时间进行累加,得到累加值,计算时间阈值和该累加值之间的差值,将该差值确定为允许第二业务报文在抖动缓冲器中的缓存时间。
171.可选的,在第二业务报文mpls报文时,在从第二业务报文中的第二字段中提取出所有滞留时间或滞留总时间后,还可以从第二业务报文中删除第二字段。
172.可选的,参见图12,在第二转发节点采用了1588技术的tc模式的情况下,第二转发节点的处理器在向第六通信接口发送第二业务报文之前,将第二业务报文的第二字段的内容替换为差值ts2-t5。则在本步骤中,从本地时钟获取的第一时间戳是个数值,假设第一时间戳为t6,从第二业务报文的第二字段中读取该差值ts2-t5,将该差值ts2-t5与该数值t6进行累加,得到累加值为ts2+t6-t5。
173.步骤309:第二转发节点在第二业务报文在抖动缓冲器中缓存的时间达到允许的
缓存时间时,删除第二业务报文中的滞留时间得到第一业务报文,发送第一业务报文。
174.在本步骤中,第二转发节点的第六通信接口中的处理芯片检测出第二业务报文在抖动缓冲器中缓存的时间达到允许的缓存时间时,通过第六通信接口中的收发器向第二终端发送第二业务报文。
175.第二终端也可以向第一终端发送业务报文,第二终端发送的业务报文在第二传输隧道上传输的过程和第一终端发送的业务报文在第一传输隧道上传输的过程相同,在此不再详细说明。
176.在本申请实施例中,位于第一传输隧道的首节点位置的第一转发节点在接收到第一业务报文时获取接收第一业务报文的第一接收时间戳,在第一业务报文到达第一转发节点的第二通信接口时获取当前的第二时间戳,根据第一接收时间戳和第二时间戳获取第一业务报文在第一转发节点中的滞留时间。由于第一接收时间戳和第二时间戳均是基于第一转发节点的本地时钟获取的,不会受到攻击的影响,所以能够准确地获取到该滞留时间,这样可能将该滞留时间添加到第一业务报文中得到第二业务报文,再发送第二业务报文。位于第一传输隧道的中间节点位置的第三转发节点在接收到第二报文业务时获取接收第二业务报文的第二接收时间戳,在第二业务报文到达第三转发节点的第四通信接口时获取当前的第三时间戳,根据第二接收时间戳和第三时间戳获取第二业务报文在第三转发节点中的滞留时间。由于第二接收时间戳和第三时间戳均是基于第三转发节点的本地时钟获取的,也不会受到攻击的影响,所以能够准确地获取到该滞留时间,这样可能将该滞留时间添加到第二业务报文中,再发送第二业务报文。这样位于第一传输隧道的末尾节点位置的第二转发节点在接收到第二业务报文时,第二业务报文包括第二业务报文在已经过的每个转发节点上的滞留时间,从而基于该业务报文可以获取到滞留总时间,该滞留总时间等于第二业务报文在已经过的每个转发节点上的滞留时间之和,根据该滞留总时间和时间阈值,获取第二业务报文在第二转发节点上的允许滞留时间,在第二业务报文在第二转发节点上的滞留时间达到该允许滞留时间时向第二终端发送第二业务报文。其中,时间阈值等于该滞留总时间和该允许滞留时间之和,这样第二终端接收到第二业务报文后,测量得到的第二业务报文的在第一传输隧道上的第一传输时间等于该时间阈值加上第二业务报文在第一传输隧道经过的线缆上的传输时间。由于不同业务报文在第一传输隧道经过的线缆上的传输时间基本不变,这样第二终端接收不同的业务报文时,保证第二终端测量出的不同业务报文在第一传输隧道上的第一传输时间的变化值不超过变化值阈值。由于该时间阈值是第一转发节点和第二转发节点约定的,第一转发节点和第二转发节点使用相同的时间阈值,所以保证第二终端测量的业务报文在第一传输隧道上的第一传输时间和第一终端测量的业务报文在第二传输隧道上的第二传输时间之间的差值不超过差值阈值。
177.参见图14,本申请实施例提供一种通信装置400,所述装置400可以部署在上述第一转发节点中,包括:
178.接收单元401,用于接收第一业务报文,所述装置400是传输隧道经过的除末尾节点以外的其他节点,该传输隧道为用于传输第一业务报文的隧道;
179.处理单元402,用于获取第一业务报文在第一转发节点中的滞留时间;
180.发送单元403,用于发送第二业务报文,第二业务报文包括该滞留时间。
181.可选的,处理单元402获取滞留时间的详细实现过程,可以参见图6所示实施例的
步骤302和步骤305中的相关内容。
182.可选的,处理单元402,用于:
183.获取第一业务报文的接收时间戳和当前时间戳;
184.根据该接收时间戳和当前时间戳获取第一业务报文在第一转发节点中的滞留时间。
185.可选的,处理单元402获取接收时间戳和当前时间戳的详细实现过程,可以参见图6所示实施例的步骤302和步骤305中的相关内容。
186.可选的,处理单元402,用于在接收单元401接收第一业务报文时,在第一业务报文中添加第一业务报文的接收时间戳;从第一业务报文中提取接收时间戳。
187.可选的,处理单元,用于在接收单元401接收第一业务报文时,保存第一业务报文的报文标识信息与第一业务报文的接收时间戳之间的对应关系;根据第一业务报文的报文标识信息从报文标识信息与接收时间戳的对应关系中获取第一业务报文的接收时间戳。
188.可选的,在所述装置400是该传输隧道的非首节点的情况,第一业务报文中包括滞留总时间,滞留总时间是第一业务报文在已经过的各转发节点中的滞留时间之和;
189.处理单元402,还用于:
190.将第一业务报文包括的滞留总时间与该滞留时间进行累加得到累加值,将第一业务报文包括的滞留总时间替换为累加值,得到第二业务报文。
191.在本申请实施例中,接收单元接收第一业务报文,处理单元获取第一业务报文在第一转发节点中的滞留时间;发送单元发送第二业务报文,第二业务报文包括该滞留时间。由于处理单元能够准确地获取到该滞留时间,在第二业务报文中添加该滞留时间,这样该传输隧道的末尾节点在接收到第二业务报文时,根据第二业务报文中的各转发节点添加的滞留时间能够准确地获取到业务报文在传输隧道中的传输时间,从而提高计算业务报文的传输时间的准确性,以保证电力设备每次接收的业务报文在传输隧道上的传输时间的变化值不超过预设阈值。
192.参见图15,本申请实施例提供了一种通信装置500,所述装置500部署在上述第二转发节点中,包括:
193.接收单元501,用于接收第二业务报文,第二业务报文包括第二业务报文在所述装置500之前的各转发节点上的滞留时间,所述装置500是传输隧道的末尾节点,该传输隧道为用于传输第二业务报文的隧道,所述装置500之前的各转发节点是该传输隧道经过的节点;
194.处理单元502,用于根据第二业务报文在各转发节点中的滞留时间和时间阈值,获取第二业务报文在所述装置500中的允许滞留时间;
195.发送单元503,用于在第二业务报文在所述装置500中的滞留时间达到该允许滞留时间时发送第二业务报文。
196.可选的,处理单元502获取允许滞留时间的详细实现过程,可以参见图6所示实施例的步骤308中的相关内容。
197.可选的,处理单元502,用于:
198.获取第二业务报文已在所述装置500中的滞留时间,第二业务报文已在所述装置500中的滞留时间是指从接收单元501接收到第二业务报文,到将第二业务报文缓存到抖动
缓冲器时的时间,抖动缓冲器是所述装置500中的缓存器;
199.根据第二业务报文在各转发节点中的滞留时间、在所述装置500中的滞留时间和时间阈值,获取允许第二业务报文在抖动缓冲器中的缓存时间。
200.可选的,处理单元502获取允许第二业务报文在抖动缓冲器中的缓存时间的详细实现过程,可以参见图6所示实施例的步骤3081至3082中的相关内容。
201.可选的,处理单元502,用于:
202.获取第二业务报文的接收时间戳以及获取在将第二业务报文缓存到抖动缓冲器时的第一时间戳;
203.根据接收时间戳和第一时间戳,获取第二业务报文已在所述装置500中的滞留时间。
204.可选的,处理单元502,用于在接收单元501接收第二业务报文时,在第二业务报文中添加第二业务报文的接收时间戳;从第二业务报文中提取该接收时间戳。
205.可选的,处理单元502,用于在接收单元501接收第二业务报文时,保存第二业务报文的报文标识信息与第二业务报文的接收时间戳之间的对应关系;根据第二业务报文的报文标识信息从报文标识信息与接收时间戳的对应关系中获取第二业务报文的接收时间戳。
206.在本申请实施例中,接收单元接收第二业务报文,第二业务报文包括第二业务报文在该装置之前的各转发节点上的滞留时间,处理单元根据第二业务报文在各转发节点中的滞留时间和时间阈值,获取第二业务报文在第二转发节点中的允许滞留时间。发送单元在第二业务报文在该装置中的滞留时间达到允许滞留时间时发送第二业务报文。由于第二业务报文包括各转发节点上的滞留时间,对于任一个转发节点,该转发节点能准确地获取到第二业务报文在自身上的滞留时间,这样处理单元根据各转发节点的滞留时间可以准确地获取第二业务报文在该装置中的允许滞留时间,在第二业务报文在该装置中的滞留时间达到允许滞留时间时发送第二业务报文,这样可以保证电力设备每次接收的业务报文在传输隧道上的传输时间的变化值不超过预设阈值。
207.参见图16,本申请实施例提供了一种通信系统600,所述通信系统600包括:第一转发节点601和第二转发节点601,第一转发节点601可以为上述图14所述的装置,第二转发节点可以为上述图15所述的装置。
208.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
209.以上所述仅为本申请一个实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1