路径跟踪方法、设备和存储介质与流程

文档序号:31690934发布日期:2022-09-30 23:08阅读:54来源:国知局
路径跟踪方法、设备和存储介质与流程

1.本技术涉及通信领域,具体涉及一种路径跟踪方法、设备和存储介质。


背景技术:

2.基于ipv6段路由(segment routing with ipv6,srv6)技术的ip虚拟专用网络(virtual private network,vpn)使用ip-in-ipv6的报文封装方式。其中,内层ip(比如,ipv4或ipv6)地址使用的是通过srv6公网互联在一起的ip私网中的地址,外层ipv6地址使用的是srv6公网中的地址。目前,从本地私网中的客户边缘设备(customer edge device,ce,比如主机、路由器或交换机)发起针对远端私网中设备的路径跟踪(traceroute)的情况下,srv6公网中的公网节点无法对本地ce发出的ip traceroute报文进行拦截和解析,使得本地ce无法获取srv6公网中traceroute报文所经过的公网节点信息。


技术实现要素:

3.有鉴于此,本技术实施例提供一种路径跟踪方法、设备和存储介质,实现了获取srv6公网中路径跟踪报文所经过的公网节点信息。
4.本技术实施例提供一种路径跟踪方法,应用于第一类型网络节点,包括:
5.接收第二类型网络节点发送的第一ipv6段路由srv6功能信息,所述第一srv6功能信息用于指示所述第一类型网络节点对接收到的双层ip报文所对应的内层ip路径跟踪报文进行解析;
6.根据所述第一srv6功能信息构建本地处理功能表;
7.在接收到第三类型网络节点转发的双层ip报文的情况下,根据所述本地处理功能表拦截所述双层ip报文,并执行所述第一srv6功能信息指示的本地处理功能,所述本地处理功能包括:对所述双层ip报文所对应的内层ip路径跟踪报文进行解析,并查看所述ip路径跟踪报文的ipv4生存时间或ipv6跳数限制字段。
8.本技术实施例提供一种路径跟踪装置,应用于第一类型网络节点,包括:
9.第一接收器,配置为接收第二类型网络节点发送的第一ipv6段路由srv6功能信息,所述第一srv6功能信息用于指示所述第一类型网络节点对接收到的双层ip报文所对应的内层ip路径跟踪报文进行解析;
10.第一构建器,配置为根据所述第一srv6功能信息构建本地处理功能表;
11.第一执行器,配置为在接收到第三类型网络节点转发的双层ip报文的情况下,根据所述本地处理功能表拦截所述双层ip报文,并执行所述第一srv6功能信息指示的本地处理功能,所述本地处理功能包括:对所述双层ip报文所对应的内层ip路径跟踪报文进行解析,并查看所述ip路径跟踪报文的ipv4生存时间或ipv6跳数限制字段。
12.本技术实施例提供一种路径跟踪设备,包括:通信模块,存储器,以及一个或多个处理器;
13.所述通信模块,配置为在各个网络节点之间进行通信交互;
14.所述存储器,配置为存储一个或多个程序;
15.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
16.本技术实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。
附图说明
17.图1是现有技术中提供的一种基于srv6技术的ip vpn网络结构示意图;
18.图2是现有技术中提供的一种基于mpls技术的ip vpn网络结构示意图;
19.图3是现有技术中提供的一种基于mpls技术的ip vpn网络中路径跟踪过程示意图;
20.图4是现有技术中提供的一种基于srv6技术的ip vpn网络中路径跟踪过程示意图;
21.图5是本技术实施例提供的一种路径跟踪方法的流程图;
22.图6是本技术实施例提供的另一种路径跟踪方法的流程图;
23.图7是本技术实施例提供的一种路径跟踪装置的结构框图;
24.图8是本技术实施例提供的一种路径跟踪设备的结构示意图。
具体实施方式
25.下文中将结合附图对本技术的实施例进行说明。以下结合实施例附图对本技术进行描述,所举实例仅用于解释本技术,并非用于限定本技术的范围。
26.ip虚拟专用网络(virtual private network,vpn)是一种应用十分广泛的网络类型,通过电信运营商所管理的公网把电信客户的多个ip私网连接起来,使得电信客户位于本地的ip私网和位于远端的ip私网能够相互通信,共同组成了一个大的ip私网。
27.ip vpn的公网转发面技术有两种,分别是多协议标签交换(multiprotocol label switching,mpls)技术和ipv6段路由(segment routing with ipv6,srv6)技术。相比来说,mpls技术作为ip vpn的公网转发技术较为成熟,srv6技术作为ip vpn的新兴公网转发技术则不够成熟,仍处于快速发展阶段。图1是现有技术中提供的一种基于srv6技术的ip vpn网络结构示意图,如图1所示,基于srv6技术的ip vpn网络中包含三种不同类型的网络设备,分别是ce设备(customer edge device)、pe设备(provider edge device)和p设备(provider device),其中,ce设备是私网中的客户设备,比如主机、路由器或交换机,pe设备是公网中的边缘设备,p设备是公网中的中间设备,pe设备和p设备都是路由器。在基于srv6技术的ip vpn网络中,本地pe设备把本地ce设备发过来的单层ip(ipv4或ipv6)报文封装为携带vpn标识的双层ip(ip-in-ipv6)报文,其中,内层ip(ipv4或ipv6)地址使用的是通过srv6公网互联在一起的ip私网中的地址,外层ipv6地址使用的是srv6公网中的地址。然后本地pe设备和p设备通过srv6转发方式把双层ip报文转发到远端pe设备,最后远端pe设备把接收到的双层ip报文解封装为单层ip报文,并基于双层ip报文中的vpn标识把单层ip报文发往正确的远端ce。
28.图2是现有技术中提供的一种基于mpls技术的ip vpn网络结构示意图。如图2所
示,与基于srv6技术的ip vpn网络一样,基于mpls技术的ip vpn网络中也包含ce设备、pe设备和p设备三种不同类型的网络设备,区别之处在于,基于mpls技术的ip vpn网络中,本地pe设备把本地ce设备发过来的单层ip(ipv4或ipv6)报文封装为携带vpn标识的mpls(ip-in-mpls)报文,其中,内层ip(ipv4或ipv6)地址使用的是通过mpls公网互联在一起的ip私网中的地址,外层mpls标签使用的是mpls公网中分配的标签。然后本地pe设备和p设备通过mpls转发方式把mpls报文转发到远端pe设备,最后远端pe设备把接收到的mpls报文解封装为单层ip报文,并基于mpls报文中的vpn标识把单层ip报文发往正确的远端ce。
29.基于mpls技术的ip vpn网络中,从本地ce发起针对远端ce的ip路径跟踪(traceroute)时,mpls公网中的节点能够对本地ce发出的ip traceroute报文进行拦截和解析,使得本地ce能够获取mpls公网中traceroute报文所经过的每一跳p节点的信息。图3是现有技术中提供的一种基于mpls技术的ip vpn网络中路径跟踪过程示意图,如图3所示,ce1发出的ip traceroute报文到达pe1后,被pe1在外层增加mpls标签而封装为mpls报文,封装过程中,pe1把ip traceroute报文中的跳数限制字段(ipv4报文中的ttl或ipv6报文中的hop limit)复制到外层mpls标签的ttl字段,于是,mpls网络中的p1和p2节点能够基于外层mpls标签的ttl来拦截ce1发出的ip traceroute报文。根据mpls技术所规定的转发平面解析规则,p1和p2节点在接收到ttl等于1的mpls报文后,剥去mpls标签,对位于mpls标签内部的ip traceroute报文进行解析,这样p1和p2能够根据解析的结果作出正确的响应,使得ce1能够获取mpls公网中traceroute报文所经过的p1和p2节点的信息。
30.基于srv6技术的ip vpn网络中,从本地ce发起针对远端ce的路径跟踪(traceroute)时,无法采用类似mpls公网中的方法,达到srv6公网中的节点对本地ce发出的ip traceroute报文进行拦截和解析的目的。图4是现有技术中提供的一种基于srv6技术的ipvpn网络中路径跟踪过程示意图,如图4所示,ce1发出的ip traceroute报文到达pe1后,被pe1在外层增加ipv6报头而封装为双层ip报文,封装过程中,如果采用类似mpls公网中的方法,由pe1把ip traceroute报文中的跳数限制字段(ipv4报文中的ttl或ipv6报文中的hop limit)复制到外层ipv6报头的hop limit字段,则srv6网络中的p1和p2节点虽然也能够基于外层ipv6报头的hop limit来拦截ce1发出的ip traceroute报文,但是,根据ipv6技术所规定的转发平面解析规则,p1和p2节点在接收到外层ipv6报头的hop limit等于1的双层ip报文后,直接向外层ipv6报头中ipv6源地址所指向的pe1发送icmpv6报文,而不会对位于外层ipv6报头内部的ip traceroute报文进行解析,这样p1和p2也就无法根据解析的结果作出正确的响应,导致ce1无法获取srv6公网中traceroute报文所经过的p1和p2节点的信息。
31.有鉴于此,本技术实施例提供一种基于srv6的ip vpn的路径跟踪方法,用于基于srv6技术的ip vpn网络中,使得从本地ce发起针对远端ce的路径跟踪时,srv6公网中的节点能够对本地ce发出的ip traceroute报文进行拦截和解析,达成本地ce能够获取srv6公网中traceroute报文所经过的每一跳p节点的信息的目的。
32.在一实施例中,图5是本技术实施例提供的一种路径跟踪方法的流程图。本实施例可以由第一类型网络节点执行。其中,第一类型网络节点指的是srv6网络中的公网节点。示例性地,第一类型网络节点可以为srv6网络中的p节点。如图5所示,本实施例包括s110-s130。
33.s110、接收第二类型网络节点发送的第一ipv6段路由srv6功能信息。
34.其中,第一srv6功能信息用于指示第一类型网络节点对接收到的双层ip报文所对应的内层ip路径跟踪报文进行解析。其中,第二类型网络节点指的是远端pe,即图4中所示的pe2节点。在实施例中,第二类型网络节点通过域内路由协议在网络中通告自身节点的srv6功能信息。其中,将第二类型网络节点的srv6功能信息作为第一srv6功能信息。在实施例中,第一srv6功能信息用于指示第一类型网络节点对双层ip报文的内层ip路径跟踪报文进行解析。具体的,第一srv6功能信息用于指示第一类型网络节点查看外层ipv6报头内部的ip跟踪报文的ipv4生存时间或ipv6跳数限制字段。
35.s120、根据第一srv6功能信息构建本地处理功能表。
36.在实施例中,在第一类型网络节点接收到第二类型网络节点通告的第一srv6功能信息之后,根据第一srv6功能信息构建本地处理功能表。
37.s130、在接收到第三类型网络节点转发的双层ip报文的情况下,根据本地处理功能表拦截双层ip报文,并执行第一srv6功能信息指示的本地处理功能。
38.其中,本地处理功能包括:对双层ip报文所对应的内层ip路径跟踪报文进行解析,并查看ip路径跟踪报文的ipv4生存时间或ipv6跳数限制字段。其中,第三类型网络节点指的是本地pe节点,即图4所示的pe1节点。在实施例中,在第二类型网络节点接收到第三类型网络节点转发的双层ip报文之后,根据本地处理功能表将双层ip报文拦截下来,并执行第一srv6功能信息所指示的本地处理功能,即查看外层ipv6报头内部的ip跟踪报文的ipv4生存时间或ipv6跳数限制字段是否为1,如果为1,则终止该双层ip报文的转发,并对内层ip跟踪报文中ip源地址指向的本地ce节点发送响应报文;如果不为1,则对ipv4生存时间或ipv6跳数限制字段执行减一操作,并根据预先创建的转发表将双层ip报文向远端pe节点转发。本实施例中,通过对第一srv6功能信息的配置,使得srv6公网中的节点能够对本地ce发出的ip跟踪报文进行拦截和解析,达成本地ce能够获取srv6公网中路径跟踪报文所经过的每一跳公网节点信息的目的。
39.在一实施例中,应用于第一类型网络节点的路径跟踪方法,还包括:接收第二类型网络节点发送的第一路由前缀信息;构建以第一路由前缀信息为匹配键值的转发表。在实施例中,第一路由前缀信息指的是第二类型网络节点的路由前缀信息。在实施例中,第一类型网络节点接收到第二类型网络节点通告的第一路由前缀信息之后,构建以第一路由前缀信息为匹配键值的转发表。在实施例中,第一类型网络节点接收到第二类型网络节点通告的第一srv6功能信息和第一路由前缀信息之后,构建以第一路由前缀信息加上第一srv6功能信息为外层ipv6目的地址的封装表。表1是本技术实施例提供的一种构建的封装表的格式示意图。如表1所示,封装表的匹配字段(即上述实施例中的匹配键值)为ip跟踪报文的特征字段,封装操作包括:执行ip-in-ipv6封装,把ip路径跟踪报文封装为内层ip报文,以及外层添加ipv6包头,并把外层ipv6目的地址设置为第一路由前缀信息加上第一srv6功能信息。
40.表1一种构建的封装表的格式示意图
[0041][0042]
在一实施例中,在接收到第三类型网络节点转发的双层ip报文的情况下,应用于第一类型网络节点的路径跟踪方法,还包括:根据转发表将双层ip报文转发至第二类型网络节点。
[0043]
在一实施例中,根据第一srv6功能信息构建本地处理功能表,包括:构建以第一路由前缀信息和第一srv6功能信息为匹配键值的本地处理功能表。在实施例中,第一类型网络节点接收到第二类型网络节点通告的第一路由前缀信息和第一srv6功能信息之后,构建以第一路由前缀信息和第一srv6功能信息为匹配键值的本地处理功能表。表2是本技术实施例提供的一种第一类型网络节点构建的本地处理功能表的格式示意图。如表2所示,本地处理功能表的匹配字段为外层ipv6目的地址,其中,外层ipv6目的地址为第一路由前缀信息和第一srv6功能信息。在一实施例中,本地处理功能,包括:在ipv4生存时间或ipv6跳数限制字段为第一数值的情况下,终止双层ip报文的转发,并对内层ip路径跟踪报文中ip源地址指向的第四类型网络节点发送响应报文;在ipv4生存时间或ipv6跳数限制字段不为第一数值的情况下,对ipv4生存时间或ipv6跳数限制字段执行减一操作,并根据转发表将双层ip报文转发至第二类型网络节点。在实施例中,表2中的本地处理功能包括:执行第一srv6功能信息对应的本地处理功能,对双层ip报文的内层ip路径跟踪报文进行解析,查看ip路径跟踪报文的ipv4生存时间或ipv6跳数限制字段;在ipv4生存时间或ipv6跳数限制字段为1的情况下,则终结该双层ip报文的转发,并对内层ip路径跟踪报文中ip源地址指向的本地ce节点发送响应报文;在ipv4生存时间或ipv6跳数限制字段不为1的情况下,则对该ipv4生存时间或ipv6跳数限制字段执行减一操作,并继续转发该双层ip报文。
[0044]
表2一种第一类型网络节点构建的本地处理功能表的格式示意图
[0045][0046]
在一实施例中,ip路径跟踪报文包括下述之一:ipv4的互联网控制消息协议(internet control message protocol,icmp)回声请求报文;ipv6的icmp回声请求报文;采用用户数据报协议(user datagram protocol,udp)作为传输层协议的ipv4报文;采用
udp作为传输层协议的ipv6报文。
[0047]
在一实施例中,在双层ip报文携带ipv6段路由头的情况下,ipv6段路由头至少包括:第一类型网络节点的ipv6地址;第二类型网络节点的ipv6地址。在实施例中,在第三类型网络节点封装的双层ip报文携带ipv6段路由头的情况下,ipv6段路由头中至少包含两个条目,分别为第一类型网络节点的ipv6地址以及第二类型网络节点的ipv6地址。当然,在第三类型网络节点与第一类型网络节点之间可以有第五类型网络节点,第一类型网络节点与第二类型网络节点之间也可以存在第五类型网络节点。其中,第五类型网络节点与第一类型网络节点的节点类型相同,均为srv6网络中的公网节点。
[0048]
在一实施例中,在双层ip报文携带ipv6段路由头的情况下,应用于第一类型网络节点的跟踪方法,还包括:在当前所在网络中通告第一类型网络节点的第二路由前缀信息和第二srv6功能信息。在实施例中,第二路由前缀信息指的是第一类型网络节点的路由前缀信息;第二srv6功能信息指的是第一类型网络节点的srv6功能信息。在实施例中,根据srv6技术的规定,包含第一类型网络节点的ipv6地址和第二类型网络节点的ipv6地址这两个条目的ipv6段路由头指示报文需先到达第一类型网络节点;然后再由第一类型网络节点根据段路由头将ipv6目的地址从第一类型网络节点的ipv6地址修改为第二类型网络节点的ipv6地址;然后再把报文转发至第二类型网络节点。可以理解为,为了能够通过第一类型网络节点将报文转发至第二类型网络节点,在第二类型网络节点通过域内路由协议在网络中通告自身的路由前缀信息和srv6功能信息的同时,第一类型网络节点也通过域内路由协议在网络中通告自身的路由前缀信息和srv6功能信息。
[0049]
在一实施例中,在双层ip报文携带ipv6段路由头的情况下,应用于第一类型网络节点的路径跟踪方法,还包括:接收第五类型网络节点转发的包含外层ipv6段路由头的双层ip报文;其中,外层ipv6段路由头包括:第一类型网络节点的第二路由前缀信息和第二srv6功能信息,以及第二类型网络节点的第一路由前缀信息和第一srv6功能信息;第五类型网络节点与第一类型网络节点的节点类型相同。在实施例中,第五类型网络节点和第一类型网络节点可以为srv6网络中的公网节点,比如,p节点。在实施例中,在第五类型网络节点接收到第二类型网络节点和第一类型网络节点通告的路由前缀信息和srv6功能信息之后,分别构建以第五类型网络节点的第二路由前缀信息和第二srv6功能信息,以及第二类型网络节点的第一路由前缀信息和第一srv6功能信息为匹配键值的本地处理功能表,并分别构建以第五类型网络节点的第二路由前缀信息和第二srv6功能信息,以及第二类型网络节点的第一路由前缀信息和第一srv6功能信息为匹配键值的转发表。在第三类型网络节点接收到本地ce节点发送的ip源地址指向本地ce节点、ip目的地址指向第二类型网络节点的ip或udp路径跟踪报文之后,判断ip或udp路径跟踪报文中的ipv4生存时间或ipv6跳数限制字段是否为1,在不为1的情况下,以第一类型网络节点的第二路由前缀信息和第二srv6功能信息为外层ipv6目的地址,以第一类型网络节点的第二路由前缀信息和第二srv6功能信息,以及第二类型网络节点的第一路由前缀信息加上第一srv6功能信息为外层ipv6段路由头的封装表,将ip或udp路径跟踪报文封装为外层ipv6目的地址设置为第一路由前缀信息和第一srv6功能信息,外层ipv6段路由头包含第一类型网络节点的第二路由前缀信息和第二srv6功能信息,以及第二类型网络节点的第一路由前缀信息和第一srv6功能信息这两个条目的双层ip报文,并根据以第一类型网络节点的第一路由前缀信息为匹配健值的转发
表,将双层ip报文转发至第一类型网络节点。
[0050]
在一实施例中,应用于第一类型网络节点的路径跟踪方法,还包括:根据外层ipv6段路由头对双层ip报文执行外层ipv6目的地址的替换操作。在实施例中,根据srv6技术的规定,包含第一类型网络节点的ipv6地址和第二类型网络节点的ipv6地址这两个条目的ipv6段路由头指示报文需先到达第一类型网络节点;然后再由第一类型网络节点根据段路由头将ipv6目的地址从第一类型网络节点的ipv6地址修改为第二类型网络节点的ipv6地址;然后再把报文转发至第二类型网络节点。
[0051]
在一实施例中,图6是本技术实施例提供的另一种路径跟踪方法的流程图。本实施例中,以第一类型网络节点为p节点,第二类型网络节点为远端pe节点,第三类型网络节点为本地pe节点为例,对路径跟踪过程进行说明。本实施例中,将第一路由前缀信息记为第一locator信息,第一srv6功能信息记为第一function信息。如图6所示,本实施例实施例中的路径跟踪方法包括s210-s250。
[0052]
s210、通过igp通告第一locator和第一function。
[0053]
在实施例中,网络节点通过域内路由协议(igp)在网络中通告该节点的第一路由前缀(locator)信息和第一srv6功能(function)信息。其中,第一function信息用于指示节点对双层ip报文的内层ip traceroute报文进行解析,具体来说,第一function信息用于指示节点查看外层ipv6报头内部的ip traceroute报文的跳数限制字段(比如,ipv4报文中的ttl或ipv6报文中的hop limit)是否为1,如果为1,则终结此双层ip报文的转发,并对内层ip traceroute报头中ip源地址指向的本地ce节点发送响应报文;如果不为1,则对该跳数限制字段执行减1操作,并继续转发此双层ip报文。
[0054]
s220、本地pe节点根据通告的第一locator和第一function构建封装表和转发表,以及p节点根据通告的第一locator和第一function构建本地处理功能表和转发表。
[0055]
在实施例中,本地pe节点接收到网络节点通告的第一locator信息和第一function信息后,构建以ip traceroute报文的特征字段为匹配键值、以第一locator信息加上第一function信息为外层ipv6目的地址的封装表,并构建以第一locator信息为匹配键值的转发表。其中,本地pe构建的封装表的格式示意表如上述实施例中的表1所示。p节点接收到网络节点通告的第一locator信息和第一function信息后,构建以第一locator信息和第一function信息为匹配键值的本地处理功能表,并构建以第一locator信息为匹配键值的转发表。其中,p节点构建的本地处理功能表的格式示意表如上述实施例中的表2所示。
[0056]
s230、本地pe节点接收到本地ce节点发送的ip traceroute报文后,如果跳数限制字段不为1,则对该跳数限制字段执行减1操作,根据封装表把ip traceroute报文封装为双层ip报文,然后根据转发表对双层ip报文进行转发。
[0057]
在实施例中,本地pe节点接收到本地ce节点发送的ip源地址指向本地ce节点、ip目的地址指向远端ce节点的ip traceroute报文后,先判断ip traceroute报文中的跳数限制字段是否为1,如果为1,则本地pe终结此ip traceroute报文,并对ip traceroute报头中ip源地址指向的本地ce节点发送响应报文;如果不为1,则对该跳数限制字段执行减1操作,然后根据以ip traceroute报文特征为匹配键值、以第一locator信息加上第一function信息为外层ipv6目的地址的封装表,把ip traceroute报文封装为外层ipv6目的地址设置为第一locator信息加上第一function信息的双层ip报文,并根据以第一locator信息为匹配
键值的转发表把双层ip报文向远端pe节点转发。表3是本技术实施例提供的一种本地pe节点封装ip traceroute报文后形成的双层ip报文的格式示意表,如表3所示,双层ip报文的外层ipv6跳数限制设置为255,srv6段路由头(segment routing header,srh)是可选携带的。
[0058]
表3一种本地pe节点封装ip traceroute报文后形成的双层ip报文的格式示意表
[0059][0060]
s240、p节点接收到本地pe转发过来的双层ip报文之后,根据本地处理功能表拦截ip traceroute报文,执行第一function所指示的查看和处理内层ip traceroute报文的跳数限制字段。
[0061]
在实施例中,p节点接收到本地pe转发过来的双层ip报文后,根据以第一locator信息和第一function信息为匹配键值的本地处理功能表拦截双层ip报文,执行第一function信息所指示的本地处理功能,也即查看外层ipv6报头内部的ip traceroute报文的跳数限制字段是否为1,如果为1,则终结此双层ip报文的转发,并对内层ip traceroute报头中ip源地址指向的本地ce节点发送响应报文;如果不为1,则对该跳数限制字段执行减1操作,然后根据以locator信息为最长匹配键值的转发表把双层ip报文向远端pe节点转发。
[0062]
s250、远端pe节点接收到p节点转发的双层ip报文之后,对双层ip报文执行解封装操作,剥去外层ipv6报头,以查看和处理ip traceroute报文的跳数限制字段。
[0063]
在实施例中,远端pe节点接收到p节点转发过来的双层ip报文后,对双层ip报文执行解封装操作,剥去外层ipv6报头并解析内层的ip traceroute报文,查看ip traceroute报文的跳数限制字段是否为1,如果为1,则终结双层ip报文的转发,并对ip traceroute报头中ip源地址指向的本地ce节点发送响应报文;如果不为1,则对该跳数限制字段执行减1操作,然后根据ip traceroute报头中ip目的地址指向的远端ce节点转发。
[0064]
在一实施例中,以第一类型网络节点为p节点,第二类型网络节点为远端pe节点,第三类型网络节点为本地pe节点为例,对路径跟踪过程进行说明。本实施例中,将第一路由前缀信息记为第一locator信息,第一srv6功能信息记为第一function信息。在实施例中,本实施例在图6的基础上,以本地pe节点封装的双层ip报文未携带ipv6段路由头,ip traceroute报文为ipv4的icmp回声请求(icmp echo request)报文,对路径跟踪过程进行说明。本实施例包括如下步骤:
[0065]
步骤11、远端pe节点通过域内路由协议(igp)在网络中通告该节点的第一路由前缀(记为第一locator)信息和第一srv6功能(第一function)信息。
[0066]
在实施例中,第一function信息用于指示节点查看外层ipv6报头内部的icmp回声请求报文的ttl字段是否为1,如果为1,则终结此双层ip报文的转发,并对内层icmp回声请求报头中ip源地址指向的本地ce节点发送icmp回声响应(icmp echo reply)报文;如果不为1,则对该ttl字段执行减1操作,并继续转发此双层ip报文。
[0067]
步骤12、本地pe节点接收到远端pe节点通告的第一locator信息和第一function信息后,构建以icmp回声请求报文特征字段为匹配键值、以第一locator信息加上第一function信息为外层ipv6目的地址的封装表,并构建以第一locator信息为最长匹配键值的转发表。中间p节点在接收到远端pe节点通告的第一locator信息和第一function信息后,构建以第一locator信息和第一function信息为匹配键值的本地处理功能表,并构建以第一locator信息为最长匹配键值的转发表。
[0068]
步骤13、本地pe节点接收到本地ce节点发送的ip源地址指向本地ce节点、ip目的地址指向远端ce节点的icmp回声请求报文后,先判断icmp回声请求报文中的ttl是否为1,如果为1,则本地pe终结此icmp回声请求报文,并向本地ce节点发送icmp回声响应报文;如果不为1,则对该ttl执行减1操作,然后根据以icmp回声请求报文特征字段为匹配键值、以第一locator信息和第一function信息为外层ipv6目的地址的封装表,把icmp回声请求报文封装为外层ipv6目的地址设置为第一locator信息和第一function信息的双层ip报文,并根据以远端pe节点的第一locator信息为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0069]
步骤14、中间p节点接收到本地pe转发过来的双层ip报文后,根据以第一locator信息和第一function信息为匹配键值的本地处理功能表拦截双层ip报文,执行第一function信息所指示的本地处理功能。
[0070]
在实施例中,执行第一function信息所指示的本地处理功能,也即查看外层ipv6报头内部的icmp回声请求报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp回声响应报文,该icmp回声响应报文先被p节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp回声响应报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的icmp回声请求报文的ttl执行减1操作,然后根据以远端pe节点的第一locator信息为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0071]
步骤15、远端pe节点接收到p节点转发过来的双层ip报文后,对双层ip报文执行解封装操作,剥去外层ipv6报头并解析内层的icmp回声请求报文,查看icmp回声请求报文的ttl是否为1,如果为1,则终结报文的转发,并向本地ce节点发送icmp回声响应报文,该icmp回声响应报文先被远端pe节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp回声响应报文后再向本地ce节点发送;如果不为1,则对icmp回声请求报文的ttl执行减1操作,然后向远端ce节点转发。
[0072]
在一实施例中,以第一类型网络节点为p节点,第二类型网络节点为远端pe节点,第三类型网络节点为本地pe节点为例,对路径跟踪过程进行说明。本实施例中,将第一路由前缀信息记为第一locator信息,第一srv6功能信息记为第一function信息。在实施例中,
本实施例在图6的基础上,以本地pe节点封装的双层ip报文未携带ipv6段路由头,ip traceroute报文为使用用户数据报协议(user datagram protocol,udp)作为传输层协议的ipv4报文,且该报文使用的是特殊的udp目的端口号,对路径跟踪过程进行说明。本实施例包括如下步骤:
[0073]
步骤21、远端pe节点通过域内路由协议(igp)在网络中通告该节点的第一路由前缀(记为第一locator)信息和第一srv6功能(记为第一function)信息。
[0074]
在实施例中,第一function信息用于指示节点查看外层ipv6报头内部的ip或udp路径跟踪报文的ttl字段是否为1,如果为1,则终结此双层ip报文的转发,并对内层ip/udp报头中ip源地址指向的本地ce节点发送icmp超时(icmp time exceeded)报文;如果不为1,则对该ttl字段执行减1操作,并继续转发此双层ip报文。
[0075]
步骤22、本地pe节点接收到远端pe节点通告的第一locator信息和第一function信息后,构建以特殊的udp目的端口号为匹配键值、以第一locator信息加上第一function信息为外层ipv6目的地址的封装表,并构建以第一locator信息为最长匹配键值的转发表。中间p节点接收到远端pe节点通告的第一locator信息和第一function信息后,构建以第一locator信息和第一function信息为匹配键值的本地处理功能表,并构建以第一locator信息为最长匹配键值的转发表。
[0076]
步骤23、本地pe节点接收到本地ce节点发送的ip源地址指向本地ce节点、ip目的地址指向远端ce节点的ip或udp路径跟踪报文后,先判断ip或udp路径跟踪报文中的ttl是否为1,如果为1,则本地pe终结此ip或udp路径跟踪报文,并向本地ce节点发送icmp超时报文;如果不为1,则对该ttl执行减1操作,然后根据以特殊的udp目的端口号为匹配键值、以第一locator信息加上第一function信息为外层ipv6目的地址的封装表,把ip或udp路径跟踪报文封装为外层ipv6目的地址设置为第一locator信息加上第一function信息的双层ip报文,并根据以远端pe节点的第一locator信息为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0077]
步骤24、中间p节点接收到本地pe转发过来的双层ip报文后,根据以第一locator信息和第一function信息为匹配键值的本地处理功能表拦截双层ip报文,执行第一function信息所指示的本地处理功能,也即查看外层ipv6报头内部的ip或udp路径跟踪报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp超时报文,该icmp超时报文先被p节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp超时报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的ip/udp路径跟踪报文的ttl执行减1操作,然后根据以远端pe节点的第一locator信息为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0078]
步骤25、远端pe节点接收到p节点转发过来的双层ip报文后,对双层ip报文执行解封装操作,剥去外层ipv6报头并解析内层的ip或udp路径跟踪报文,查看ip或udp路径跟踪报文的ttl是否为1,如果为1,则终结报文的转发,并向本地ce节点发送icmp超时报文,该icmp超时报文先被远端pe节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp超时报文后再向本地ce节点发送;如果不为1,则对ip或udp路径跟踪报文的ttl执行减1操作,然后向远端ce节点转发。
[0079]
在一实施例中,以第一类型网络节点为中间p1节点,第二类型网络节点为远端pe
节点,第三类型网络节点为本地pe节点,第四类型网络节点为本地ce节点,第五类型网络节点为p节点为例,对路径跟踪过程进行说明。本实施例中,将第一路由前缀信息记为第一locator信息,第一srv6功能信息记为第一function信息,第二路由前缀信息记为第二locator信息,以及第二srv6功能信息记为第二function信息。在实施例中,本实施例在图6的基础上,以本地pe节点封装的双层ip报文携带ipv6段路由头,段路由头中包含两个条目,分别是中间p1节点的ipv6地址和远端pe节点的ipv6地址,本地pe节点与p1节点之间有p节点,p1节点与远端pe节点之间也有p节点,对路径跟踪过程进行说明。根据srv6技术的规定,包含p1地址和远端pe地址两个条目的ipv6段路由头指示报文必须先到达中间p1节点,然后由p1节点根据段路由头,把ipv6目的地址从p1节点的ipv6地址修改为远端pe节点的ipv6地址,再把报文转发到远端pe节点。ip traceroute报文为ipv4的icmp回声请求(icmp echo request)报文。
[0080]
本实施例包括如下步骤:
[0081]
步骤31、远端pe节点通过域内路由协议(igp)在网络中通告该节点的第一路由前缀(第一locator)信息和第一srv6功能(第一function)信息,中间p1节点也通过域内路由协议(igp)在网络中通告该节点的第二路由前缀(第二locator)信息和第二srv6功能(第二function)信息。
[0082]
在实施例中,第一function信息和第二function信息均用于指示节点查看外层ipv6报头内部的icmp回声请求报文的ttl字段是否为1,如果为1,则终结此双层ip报文的转发,并对内层icmp回声请求报头中ip源地址指向的本地ce节点发送icmp回声响应(icmp echo reply)报文;如果不为1,则对该ttl字段执行减1操作,并继续转发此双层ip报文。
[0083]
步骤32、本地pe节点接收到远端pe节点通告的第一locator信息和第一function信息,以及中间p1节点通告的第二locator信息和第二function信息后,构建以icmp回声请求报文特征字段为匹配键值、以中间p1节点的的第二locator信息和第二function信息为外层ipv6目的地址、以中间p1节点的第二locator信息加上第二function信息,以及远端pe节点的第一locator信息加上第一function信息为外层ipv6段路由头两个条目的封装表,并构建以中间p1节点的第一locator信息为最长匹配键值的转发表。中间p节点接收到远端pe节点通告的第一locator信息和第一function信息,以及中间p1节点通告的第二locator信息和第二function信息后,分别构建以中间p1节的第二locator信息和第二function信息,以及远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表,并分别构建以中间p1节点的第二locator信息和远端pe节点的第一locator信息为最长匹配键值的转发表。中间p1节点接收到远端pe节点通告的第一locator信息和第一function信息后,构建以远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表,并构建以远端pe节点的第一locator信息为最长匹配键值的转发表。
[0084]
步骤33、本地pe节点接收到本地ce节点发送的ip源地址指向本地ce节点、ip目的地址指向远端ce节点的icmp回声请求报文后,先判断icmp回声请求报文中的ttl是否为1,如果为1,则本地pe终结此icmp回声请求报文,并向本地ce节点发送icmp回声响应报文;如果不为1,则对该ttl执行减1操作,然后根据以icmp回声请求报文特征为匹配键值、以中间p1节点的第二locator信息和第二function信息为外层ipv6目的地址、以中间p1节点的第二locator信息加上第二function信息,以及远端pe节点的第一locator信息加上第一
function信息为外层ipv6段路由头的封装表,把icmp回声请求报文封装为外层ipv6目的地址设置为locator信息和function信息、外层ipv6段路由头包含中间p1节点的第二locator信息和第二function信息以及远端pe节点的第一locator信息和第一function信息两个条目的双层ip报文,并根据以中间p1节点的第二locator信息为最长匹配键值的转发表,把双层ip报文向中间p1节点转发。
[0085]
步骤34、本地pe节点与p1节点之间的p节点接收到本地pe转发过来的双层ip报文后,根据以中间p1节点的第二locator信息和第二function信息为匹配键值的本地处理功能表把双层ip报文拦截下来,执行第二function信息所指示的本地处理功能,也即查看外层ipv6报头内部的icmp回声请求报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp回声响应报文,该icmp回声响应报文先被p节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp回声响应报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的icmp回声请求报文的ttl执行减1操作,然后根据以中间p1节点的第二locator信息为最长匹配键值的转发表,把双层ip报文向中间p1节点转发。
[0086]
步骤35、p1节点接收到p节点转发过来的双层ip报文后,根据外层ipv6段路由头对双层ip报文执行替换外层ipv6目的地址的操作,把外层ipv6目的地址从中间p1节点的第二locator信息和第二function信息替换为远端pe节点的第一locator信息和第一function信息。然后,根据以远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表拦截双层ip报文,执行第一function信息所指示的本地处理功能,也即查看外层ipv6报头内部的icmp回声请求报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp回声响应报文,该icmp回声响应报文先被p1节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp回声响应报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的icmp回声请求报文的ttl执行减1操作,然后根据以远端pe节点的第一locator信息为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0087]
步骤36、p1节点与远端pe节点之间的p节点接收到p1节点转发过来的双层ip报文后,根据以远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表拦截双层ip报文,执行第一function所指示的本地处理功能,也即查看外层ipv6报头内部的icmp回声请求报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp回声响应报文,该icmp回声响应报文先被p节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp回声响应报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的icmp回声请求报文的ttl执行减1操作,然后根据以远端pe节点的第一locator信息为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0088]
步骤37、远端pe节点接收到p节点转发过来的双层ip报文后,对双层ip报文执行解封装操作,剥去外层ipv6报头并解析内层的icmp回声请求报文,查看icmp回声请求报文的ttl是否为1,如果为1,则终结报文的转发,并向本地ce节点发送icmp回声响应报文,该icmp回声响应报文先被远端pe节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp回声响应报文后再向本地ce节点发送;如果不为1,则对icmp回声请求报文的ttl执行减1操作,然后向远端ce节点转发。
[0089]
在一实施例中,以第一类型网络节点为中间p1节点,第二类型网络节点为远端pe节点,第三类型网络节点为本地pe节点,第四类型网络节点为本地ce节点,第五类型网络节点为p节点为例,对路径跟踪过程进行说明。本实施例中,将第一路由前缀信息记为第一locator信息,第一srv6功能信息记为第一function信息,第二路由前缀信息记为第二locator信息,以及第二srv6功能信息记为第二function信息。在实施例中,本实施例在图6的基础上,以本地pe节点封装的双层ip报文携带ipv6段路由头,段路由头中包含两个条目,分别是中间p1节点的ipv6地址和远端pe节点的ipv6地址,本地pe节点与p1节点之间有p节点,p1节点与远端pe节点之间也有p节点,对路径跟踪过程进行说明。根据srv6技术的规定,包含p1地址和远端pe地址两个条目的ipv6段路由头指示报文必须先到达中间p1节点,然后由p1节点根据段路由头,把ipv6目的地址从p1节点的ipv6地址修改为远端pe节点的ipv6地址,再把报文转发到远端pe节点。ip traceroute报文为使用用户数据报协议(user datagram protocol,udp)作为传输层协议的ipv4报文,且该报文使用的是特殊的udp目的端口号。
[0090]
本实施例包括如下步骤:
[0091]
步骤41、远端pe节点通过域内路由协议(igp)在网络中通告该节点的第一路由前缀(第一locator)信息和第一srv6功能(第一function)信息,中间p1节点也通过域内路由协议(igp)在网络中通告该节点的第二路由前缀(第二locator)信息和第二srv6功能(第二function)信息。
[0092]
在实施例中,第一function信息和第二function信息均用于指示节点查看外层ipv6报头内部的ip或udp路径跟踪报文的ttl字段是否为1,如果为1,则终结此双层ip报文的转发,并对内层ip/udp路径跟踪报头中ip源地址指向的本地ce节点发送icmp超时报文;如果不为1,则对该ttl字段执行减1操作,并继续转发此双层ip报文。
[0093]
步骤42、本地pe节点接收到远端pe节点通告的第一locator信息和第一function信息,以及中间p1节点通告的第二locator信息和第二function信息之后,构建以特殊的udp目的端口号为匹配键值、以中间p1节点的第二locator信息和第二function信息为外层ipv6目的地址、以中间p1节点的第二locator信息加上第二function信息,以及和远端pe节点的第一locator信息加上第一function信息为外层ipv6段路由头两个条目的封装表,并构建以中间p1节点的第二locator信息为最长匹配键值的转发表。中间p节点接收到远端pe节点通告的第一locator信息和第一function信息,以及中间p1节点通告的第二locator信息和第二function信息后,分别构建以中间p1节的第二locator信息和第二function信息,以及远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表,并分别构建以中间p1节点的第二locator信息和远端pe节点的第一locator信息为最长匹配键值的转发表。中间p1节点接收到远端pe节点通告的第一locator信息和第一function信息后,构建以远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表,并构建以远端pe节点的第一locator信息为最长匹配键值的转发表。
[0094]
步骤43、本地pe节点接收到本地ce节点发送的ip源地址指向本地ce节点、ip目的地址指向远端ce节点的ip或udp路径跟踪报文后,先判断ip或udp路径跟踪报文中的ttl是否为1,如果为1,则本地pe终结此ip或udp路径跟踪报文,并向本地ce节点发送icmp超时报文;如果不为1,则对该ttl执行减1操作,然后根据以特殊的udp目的端口号为匹配键值、以
中间p1节点的第二locator信息和第二function信息为外层ipv6目的地址、以中间p1节点的第二locator信息和第二function信息,以及远端pe节点的第一locator信息加上第一function信息为外层ipv6段路由头的封装表,把ip或udp路径跟踪报文封装为外层ipv6目的地址设置为locator信息加上function信息、外层ipv6段路由头包含中间p1节点的第二locator信息和第二function信息,以及远端pe节点的第一locator信息和第一function信息两个条目的双层ip报文,并根据以中间p1节点的第二locator信息为最长匹配键值的转发表,把双层ip报文向中间p1节点转发。
[0095]
步骤44、本地pe节点与p1节点之间的p节点接收到本地pe转发过来的双层ip报文后,根据以p1节点的第二locator信息和第二function信息为匹配键值的本地处理功能表把双层ip报文拦截下来,执行function所指示的本地处理功能,也即查看外层ipv6报头内部的ip/udp路径跟踪报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp超时报文,该icmp超时报文先被p节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp超时报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的ip或udp路径跟踪报文的ttl执行减1操作,然后根据以p1节点的第二locator为最长匹配键值的转发表,把双层ip报文向中间p1节点转发。
[0096]
步骤45、p1节点接收到p节点转发过来的双层ip报文后,根据外层ipv6段路由头对双层ip报文执行替换外层ipv6目的地址的操作,把外层ipv6目的地址从p1节点的第二locator信息和第二function信息替换为远端pe节点的第一locator信息和第一function信息。然后,根据以远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表拦截双层ip报文,执行第一function信息指示的本地处理功能,也即查看外层ipv6报头内部的ip或udp路径跟踪报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp超时报文,该icmp超时报文先被p1节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp超时报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的ip或udp路径跟踪报文的ttl执行减1操作,然后根据以远端pe节点的locator为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0097]
步骤46、p1节点与远端pe节点之间的p节点接收到p1节点转发过来的双层ip报文后,根据以远端pe节点的第一locator信息和第一function信息为匹配键值的本地处理功能表拦截双层ip报文,执行第一function信息所指示的本地处理功能,也即查看外层ipv6报头内部的ip或udp路径跟踪报文的ttl是否为1,如果为1,则终结此双层ip报文的转发,并向本地ce节点发送icmp超时报文,该icmp超时报文先被p节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp超时报文后再向本地ce节点发送;如果不为1,则对外层ipv6报头内部的ip/udp路径跟踪报文的ttl执行减1操作,然后根据以远端pe节点的第一locator信息为最长匹配键值的转发表,把双层ip报文向远端pe节点转发。
[0098]
步骤47、远端pe节点接收到p节点转发过来的双层ip报文后,对双层ip报文执行解封装操作,剥去外层ipv6报头并解析内层的ip或udp路径跟踪报文,查看ip或udp路径跟踪报文的ttl是否为1,如果为1,则终结报文的转发,并向本地ce节点发送icmp超时报文,该icmp超时报文先被远端pe节点封装在双层ip报文中向本地pe节点发送,然后由本地pe节点解封装为icmp超时报文后再向本地ce节点发送;如果不为1,则对ip或udp路径跟踪报文的ttl执行减1操作,然后向远端ce节点转发。
[0099]
在一实施例中,图7是本技术实施例提供的一种路径跟踪装置的结构框图。本实施例应用于第一类型网络节点。其中,第一类型网络节点可以为srv6网络中的公网节点。示例性地,第一类型网络节点可以为中间p节点。如图7所示,本实施例包括:第一接收器310、第一构建器320和第一执行器330。
[0100]
其中,第一接收器310,配置为接收第二类型网络节点发送的第一ipv6段路由srv6功能信息,第一srv6功能信息用于指示第一类型网络节点对接收到的双层ip报文所对应的内层ip路径跟踪报文进行解析;
[0101]
第一构建器320,配置为根据第一srv6功能信息构建本地处理功能表;
[0102]
第一执行器330,配置为在接收到第三类型网络节点转发的双层ip报文的情况下,根据本地处理功能表拦截双层ip报文,并执行第一srv6功能信息指示的本地处理功能,本地处理功能包括:对双层ip报文所对应的内层ip路径跟踪报文进行解析,并查看ip路径跟踪报文的ipv4生存时间或ipv6跳数限制字段。
[0103]
在一实施例中,应用于第一类型网络节点的路径跟踪装置,还包括:
[0104]
第二接收器,配置为接收第二类型网络节点发送的第一路由前缀信息;
[0105]
第二构建器,配置为构建以第一路由前缀信息为匹配键值的转发表。
[0106]
在一实施例中,在接收到第三类型网络节点转发的双层ip报文的情况下,应用于第一类型网络节点的路径跟踪装置,还包括:
[0107]
转发器,配置为根据转发表将双层ip报文转发至第二类型网络节点。
[0108]
在一实施例中,第一构建器,包括:
[0109]
构建以第一路由前缀信息和第一srv6功能信息为匹配键值的本地处理功能表。
[0110]
在一实施例中,本地处理功能,还包括:
[0111]
在ipv4生存时间或ipv6跳数限制字段为第一数值的情况下,终止双层ip报文的转发,并对内层ip路径跟踪报文中ip源地址指向的第四类型网络节点发送响应报文;
[0112]
在ipv4生存时间或ipv6跳数限制字段不为第一数值的情况下,对ipv4生存时间或ipv6跳数限制字段执行减一操作,并根据转发表将双层ip报文转发至第二类型网络节点。
[0113]
在一实施例中,ip路径跟踪报文包括下述之一:ipv4的互联网控制消息协议icmp回声请求报文;ipv6的icmp回声请求报文;采用用户数据报协议udp作为传输层协议的ipv4报文;采用udp作为传输层协议的ipv6报文。
[0114]
在一实施例中,在双层ip报文携带ipv6段路由头的情况下,ipv6段路由头至少包括:第一类型网络节点的ipv6地址;第二类型网络节点的ipv6地址。
[0115]
在一实施例中,在双层ip报文携带ipv6段路由头的情况下,应用于第一类型网络节点的跟踪装置,还包括:
[0116]
通告模块,配置为在当前所在网络中通告第一类型网络节点的第二路由前缀信息和第二srv6功能信息。
[0117]
在一实施例中,在双层ip报文携带ipv6段路由头的情况下,应用于第一类型网络节点的路径跟踪装置,还包括:
[0118]
第三接收器,配置为接收第五类型网络节点转发的包含外层ipv6段路由头的双层ip报文;其中,外层ipv6段路由头包括:第一类型网络节点的第二路由前缀信息和第二srv6功能信息,以及第二类型网络节点的第一路由前缀信息和第一srv6功能信息;第五类型网
络节点与第一类型网络节点的节点类型相同。
[0119]
在一实施例中,应用于第一类型网络节点的路径跟踪装置,还包括:
[0120]
第二执行器,配置为根据外层ipv6段路由头对双层ip报文执行外层ipv6目的地址的替换操作。
[0121]
本实施例提供的路径跟踪装置设置为实现图5所示实施例的路径跟踪方法,本实施例提供的路径跟踪装置实现原理和技术效果类似,此处不再赘述。
[0122]
图8是本技术实施例提供的一种路径跟踪设备的结构示意图。如图8所示,本技术提供的设备,包括:处理器410、存储器420和通信模块430。该设备中处理器410的数量可以是一个或者多个,图8中以一个处理器410为例。该设备中存储器420的数量可以是一个或者多个,图8中以一个存储器420为例。该设备的处理器410、存储器420和通信模块430可以通过总线或者其他方式连接,图8中以通过总线连接为例。在该实施例中,该设备为可以为第一类型网络节点。示例性地,第一类型网络节点可以为srv6公网中的p节点。
[0123]
存储器420作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本技术任意实施例的设备对应的程序指令/模块(例如,路径跟踪装置中的第一接收器310、第一构建器320和第一执行器330)。存储器420可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0124]
通信模块430,配置为用于在各个同步节点进行通信交互。
[0125]
在通信设备为第一类型网络节点的情况下,上述提供的设备可设置为执行上述任意实施例提供的应用于第一类型网络节点的通信方法,具备相应的功能和效果。
[0126]
本技术实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种应用于第一类型网络节点的路径跟踪方法,该方法包括:接收第二类型网络节点发送的第一ipv6段路由srv6功能信息,第一srv6功能信息用于指示第一类型网络节点对接收到的双层ip报文所对应的内层ip路径跟踪报文进行解析;根据第一srv6功能信息构建本地处理功能表;在接收到第三类型网络节点转发的双层ip报文的情况下,根据本地处理功能表拦截双层ip报文,并执行第一srv6功能信息指示的本地处理功能,本地处理功能包括:对双层ip报文所对应的内层ip路径跟踪报文进行解析,并查看ip路径跟踪报文的ipv4生存时间或ipv6跳数限制字段。
[0127]
本领域内的技术人员应明白,术语用户设备涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
[0128]
一般来说,本技术的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本技术不限于此。
[0129]
本技术的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇
编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
[0130]
本技术附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(read-only memory,rom)、随机访问存储器(random access memory,ram)、光存储器装置和系统(数码多功能光碟(digital video disc,dvd)或光盘(compact disk,cd))等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、可编程逻辑器件(field-programmable gate array,fgpa)以及基于多核处理器架构的处理器。
[0131]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1