CN115766561A - 探测公网转发设备的方法、公网转发设备和存储介质 - Google Patents
探测公网转发设备的方法、公网转发设备和存储介质 Download PDFInfo
- Publication number
- CN115766561A CN115766561A CN202111032801.2A CN202111032801A CN115766561A CN 115766561 A CN115766561 A CN 115766561A CN 202111032801 A CN202111032801 A CN 202111032801A CN 115766561 A CN115766561 A CN 115766561A
- Authority
- CN
- China
- Prior art keywords
- message
- public network
- trace
- source
- outer layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 131
- 238000005538 encapsulation Methods 0.000 claims abstract description 82
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 238000004806 packaging method and process Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 3
- 238000001514 detection method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信技术领域,公开了一种探测公网转发设备的方法、公网转发设备和存储介质。本发明中,该探测公网转发设备的方法,包括:接收基于预设协议进行了外层封装的TRACE报文,并从外层封装中解析出跳数限制HL值;若HL值表征已到达最后一跳,则对TRACE报文进行解析,并获取其中携带的源IP;生成应答报文,并将应答报文中的目的IP设置为TRACE报文中的源IP,应答报文中的源IP设置为公网转发设备的IP;基于预设协议对应答报文进行外层封装,将应答报文的外层封装中的源IP和目的IP分别设置为TRACE报文的外层封装中的源IP和目的IP,并发送进行了外层封装的应答报文。能够使TRACE报文的发送端探测到该公网转发设备,建立起清晰的数据传输拓扑图。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种探测公网转发设备的方法、公网转发设备和存储介质。
背景技术
在互联网协议地址(Internet Protocol Address,简称“IP地址”)隧道转发网络中,私网中的用户网络边缘设备(Customer Edge,简称“CE”)与服务提供商边缘设备(Provider Edge,简称“PE”)相连接,并通过PE接入公网。公网中的PE之间部署有服务提供商网络的骨干设备(Provider,“P”)作为公网的转发设备。CE期望通过向远端CE的私网IP地址发送路由跟踪(TRACEROUTE,简称“TRACE”)报文,来获取公网中转发设备的IP地址,从而达到建立清晰的CE与远端CE之间进行数据传输的网络拓扑图的目的。
然而,私网TRACE报文请求的应答报文只能发送到公网IP隧道的首节点,也就是与TRACE报文的发送端(源CE)相连的PE,而无法抵达源CE。源CE无法收到应答报文,即无法探测公网转发设备,进而难以建立起清晰的数据传输网络拓扑图。
发明内容
本发明实施方式的目的在于提供一种探测公网转发设备的方法、公网转发设备和存储介质,用以使TRACE报文的发送端探测到公网转发设备,建立起清晰的私网间数据传输拓扑图。
为了解决上述问题,本发明的实施方式提供了一种探测公网转发设备的方法,应用于公网转发设备,包括:
接收基于预设协议进行了外层封装的TRACE报文,并从所述TRACE报文的外层封装中解析出跳数限制HL值;所述预设协议为所述公网转发设备所在公网支持的传输协议;若所述HL值表征已到达最后一跳,对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP;生成应答报文,并将所述应答报文中的目的IP设置为所述TRACE报文中的源IP,所述应答报文中的源IP设置为所述公网转发设备的IP;基于所述预设协议对所述应答报文进行外层封装,将所述应答报文的外层封装中的源IP和目的IP分别设置为所述TRACE报文的外层封装中的源IP和目的IP,并将进行了外层封装的所述应答报文发送出去。
本发明的实施方式还提供了一种公网转发设备,包括:
接收模块,用于接收基于预设协议进行了外层封装的TRACE报文;第一解析模块,用于从所述TRACE报文的外层封装中解析出跳数限制HL值;所述预设协议为所述公网转发设备所在网络支持的传输协议;第二解析模块,用于在所述HL值表征已到达最后一跳时,对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP;报文生成模块,用于生成应答报文,并将所述应答报文中的目的IP设置为所述TRACE报文中的源IP,所述应答报文中的源IP设置为所述公网转发设备的IP;封装模块,用于基于所述预设协议对所述应答报文进行外层封装,并将所述应答报文的外层封装中的源IP和目的IP分别设置为所述TRACE报文的外层封装中的源IP和目的IP;发送模块,用于将进行了外层封装的所述应答报文发送出去。
本发明的实施方式还提供了一种公网转发设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的探测公网转发设备的方法。
本发明的实施方式还提供了一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时实现上述的探测公网转发设备的方法。
本发明实施方式对于任何一个公网转发设备,当TRACE报文的外层封装中的HL的值表征已到达最后一跳时,对处于内层的TRACE报文进行解析以获取TRACE报文中携带的源IP,从而可以将生成的应答报文中的目的IP设置为TRACE报文中的源IP;同时,基于该预设协议对该应答报文进行外层封装,以使得该应答报文能够基于该预设协议进行传输并被反馈至该应答报文中的目的IP即该TRACE报文中的源IP,由于该TRACE报文中的源IP就是该TRACE报文的发送端的IP,从而使得该TRACE报文的发送端可以从该应答报文中解析出应答报文中的源IP即该公网转发设备的IP;因此,该TRACE报文的发送端探测到该公网转发设备。
附图说明
一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明一实施方式中的公网转发设备等设备的连接结构示意图;
图2是根据本发明一实施方式中的探测公网转发设备的方法流程图;
图3是根据本发明另一实施方式中的公网转发设备等设备的连接结构示意图;
图4是根据本发明一实施方式中的公网转发设备的结构示意图;
图5是根据本发明另一实施方式中的公网转发设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的一实施方式涉及一种探测公网转发设备的方法,应用于公网转发设备。本实施方式涉及的公网转发设备,用户网络边缘设备和服务提供商边缘设备等设备在IP隧道转发网络中的连接结构如图1所示。第一用户网络边缘设备(图中用CE1表示)通过第一服务提供商边缘设备(图中用PE1表示)接入公网,远端的第二用户网络边缘设备(图中用CE2表示)通过第二服务提供商边缘设备(图中用PE2表示)接入公网。PE1与PE2之间部署有服务提供商网络的骨干设备(图中用P表示)作为公网转发设备。
在IP隧道网络中,当私网TRACE报文传输至公网IP隧道的首节点即PE时,PE会对私网TRACE报文进行外层封装,此外层封装基于公网的通信协议。因此,私网TRACE报文在公网中传输时会包含两层IP地址:外层为隧道封装信息,外层封装的源IP地址和目的IP地址标识了公网隧道;内层为私网IP,其源IP地址和目的IP地址为TRACE报文的私网地址。私网TRACE报文请求的应答报文,默认是TRACE报文最外层IP的跳数限制(Hip Limit,简称“HL”)耗尽,而触发产生的控制报文协议(Internet Control Message Protocol,简称,差错报文。而该应答差错报文是根据私网TRACE报文外层的源IP指向的路由返回的,即应答差错报文的目的IP一般被设置为私网TRACE报文外层的源IP。
由于这种应答报文反馈机制,应答报文只能被发送到公网IP隧道的首节点,也就是与TRACE报文的发送端(源CE)相连的PE,而无法抵达源CE。源CE无法收到应答报文,即无法探测公网转发设备,进而难以建立起清晰的数据传输网络拓扑图。
在本实施方式中,公网转发设备接收基于预设协议进行了外层封装的TRACE报文,并从所述TRACE报文的外层封装中解析出跳数限制HL值;所述预设协议为所述公网转发设备所在公网支持的传输协议;若所述HL值表征已到达最后一跳,对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP;生成应答报文,并将所述应答报文中的目的IP设置为所述TRACE报文中的源IP,所述应答报文中的源IP设置为所述公网转发设备的IP;基于所述预设协议对所述应答报文进行外层封装,将所述应答报文的外层封装中的源IP和目的IP分别设置为所述TRACE报文的外层封装中的源IP和目的IP,并将进行了外层封装的所述应答报文发送出去。
下面对本实施例中的探测公网转发设备的方法的实现细节进行具体的说明,以下内容仅为方便理解本方案的实现细节,并非实施本方案的必须。具体流程如图2所示,可包括如下步骤:
步骤201,公网转发设备接收进行了外层封装的TRACE报文。
在本步骤中,公网转发设备接收TRACE报文,该TRACE报文从第一侧相邻网络设备接收。此处的第一侧相邻网络设备可以是另一公网转发设备或PE1。TRACE报文基于预设协议进行外层封装,此处涉及的预设协议为所述公网转发设备所在公网支持的传输协议。
此处的预设协议包括以下步骤中的预设协议可以是IPv6分段路由(IPv6 SegmentRouting,简称“SRV6”)协议、虚拟扩展局域网(Virtual extensible Local Area Network,简称“VxLAN”)协议和通用路由封装(General RoutingEncapsulation,简称“GRE”)协议中的一种。
步骤202,公网转发设备从TRACE报文的外层封装中解析出HL值。
具体地说,跳数限制(Hop Limit,简称“HL”)用于表征报文经过的剩余节点数,一般通过设置HL值来设置报文可以经过的路由器数。TRACE报文的外层封装中包含HL值。在本步骤中,公网转发设备从TRACE报文的外层封装中解析出HL值,用于根据此HL值判断在接下来的步骤中解析该TRACE报文,或是转发该TRACE报文。
步骤203,若HL值表征已到达最后一跳,公网转发设备解析该报文,并获取其中携带的源IP。
具体地说,若公网转发设备从TRACE报文的外层封装中解析出HL值,在一个例子中,可以预先约定HL值为1时表示最后一跳,如果检测到HL值为1,说明该TRACE报文已传输至最后一跳,则由公网转发设备对该TRACE报文进行解析,并获取其中携带的源IP。TRACE报文携带的源IP即为TRACE报文发送端。在一个例子中,TRACE报文由第一用户网络边缘设备发出,因此TRACE报文中携带的源IP为第一用户网络边缘设备的IP地址。若TRACE报文由第一服务提供商边缘设备发出,则TRACE报文中携带的源IP为第一服务提供商边缘设备的IP地址。
在一个例子中,公网转发设备还可以被配置为不同的模式,若所述HL值表征已到达最后一跳,且所述公网转发设备被配置为支持解析内层报文的模式,则公网转发设备对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP。
具体地说,公网转发设备设有模式配置开关,若配置开关被开启,即公网转发设备被配置为支持解析内层报文的模式,且HL值表征该TRACE报文已传输至最后一跳,则对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP。若配置开关未被开启,则公网转发设备无法深入解析该TRACE报文。
步骤204,公网转发设备生成应答报文。
具体地说,公网转发设备生成应答报文,并为该应答报文设置目的IP和源IP。将所述应答报文中的源IP设置为该应答报文发送端的IP地址,即公网转发设备的IP地址。将所述应答报文中的目的IP设置为所述TRACE报文中的源IP即TRACE报文发送端的IP地址,以使得将此应答报文返回到TRACE报文的发送端,即实现使TRACE报文的发送端获取公网转发设备的IP地址。
步骤205,公网转发设备对应答报文进行外层封装。
具体地说,公网转发设备在生成应答报文后对对应答报文进行外层封装,此外层封装基于所述预设协议。公网转发设备为应答报文的外层封装设置源IP和目的IP。将应答报文外层封装的源IP设置为TRACE报文的外层封装中的源IP,将应答报文外层封装的目的IP设置为TRACE报文的外层封装中的目的IP。
在本步骤中,将应答报文外层封装的源IP和目的IP设置为与TRACE报文相同是为了使得应答报文继续向前传输至远端的第二侧相邻网络设备。此处,可以将应答报文外层封装的HL值设置为255,以使得公网转发设备在接收到该应答报文时不会对其进行解析,而是将其向前传输。
步骤206,公网转发设备将进行了外层封装的应答报文发送出去。在本步骤中,公网转发设备将进行了外层封装的所述应答报文发送至第二侧相邻网络设备。此处的第二侧相邻网络设备为另一公网转发设备或PE2。
在将进行了外层封装的所述应答报文发送给第二侧相邻网络设备之后,若从所述第二侧相邻网络设备接收到基于所述预设协议重新进行了外层封装的所述应答报文,公网转发设备还可以则公网转发设备将所述应答报文转发至所述第一侧相邻网络设备。
具体地说,在该应答报文被发送至第二侧相邻网络设备后,第二侧相邻网络设备会将该应答报文通过公网隧道向第一侧相邻网络设备发送,此时,公网转发设备从所述第二侧相邻网络设备接收到基于所述预设协议重新进行了外层封装的所述应答报文,进而将该应答报文向第一侧相邻网络设备发送。
在另一个例子中,在从所述TRACE报文的外层封装中解析出跳数限制HL值之后,检测到HL值不为1,即表征TRACE报文未到达最后一跳,不对TRACE报文进行解析。则基于所述预设协议对所述TRACE报文重新进行外层封装,具体包括设置外层封装的源IP和目的IP等。进一步地,在重新进行外层封装中将外层封装中的所述HL值减1;将重新进行外层封装的所述TRACE报文发送给第二侧相邻网络设备。
在一个具体示例中,CE1与CE2之间的连接结构示意图如图1所示。CE1向CE2发送四次TRACE报文,以探测出数据传输路径中的PE1、P、PE2和CE2节点,进而建立起CE1与CE2之间的数据传输的网络拓扑图。以下具体介绍四轮检测过程:
在第一轮探测中,CE1向CE2发送私网互联网通信协议第四版(Internet Protocolversion 4,简称“IPv4”)TRACE报文,于是将TRACE报文的目的IP设置为CE2的IP地址,源IP设置为CE1的IP地址。并且,设置该TRACE报文的生存时间值(Time ToLive,简称“TTL”)为1,以使得该TRACE报文能够在传输至传输路径上的第一个节点时得到应答差错报文,进而使得CE1能够在应答差错报文中获取PE1的IP。
PE1收到CE1发送的报文后,检测到TTL为1,因而产生ICMP差错应答报文。将此差错应答报文的源IP设置为此应答报文发送端的IP即PE1的IP地址。另外,为了能够将此差错应答报文返回CE1以使得CE1获取PE1的IP,将此差错应答报文的目的IP设置为CE1的IP地址。PE1根据CE1的IP地址查询私网路由将应答报文向CE1发送。
CE1收到PE1发送的应答报文。至此,CE1完成对PE1的探测。
在第二轮探测中,CE1向CE2发送IPv4 TRACE报文,目的IP设置为CE2的IP地址,源IP设置为CE1的IP地址。并且,设置该TRACE报文的TTL为2,以使得该TRACE报文能够在传输至传输路径上的第二个节点时得到应答差错报文,进而使得CE1能够在应答差错报文中获取P的IP。
PE1收到CE1发送的TRACE报文后,检测到TTL为2。为使得私网报文能够在公网中传输,需要将该TRACE报文进行SRv6封装后,再向远端PE2转发。具体封装行为:首先由于TRACE报文经过了一个节点,将收到的TRACE报文TTL减1。然后在TRACE报文外层封装IPv6头,设置IPv6头中的HL为内层TTL值即1。完成外层封装后,PE1将该报文根据SRv6隧道转发信息沿公网路径继续向前转发,即向P转发。
P收到PE1转发的报文,检测到外层IPv6头中HL为1,表征已到达最后一跳,于是P对报文进行解析,识别到内层报文为TRACE报文,检测到内层TTL为1,因而产生ICMP差错应答。将此差错应答报文的源IP设置为此应答报文发送端的IP即P的IP地址。另外,为了能够将此差错应答报文返回CE1以使得CE1获取P的IP,将此差错应答报文的目的IP设置为CE1的IP地址。P为该差错报文的外层封装与TRACE报文相同的IPv6头,以使得该差错报文能够继续在SRv6隧道中向前传输。同时修改外层IPv6头中的HL为255,以使得若有其他公网转发设备接收到该应答报文时,不会对其进行解析,而是将其向前传输。P根据报文外层IPv6头信息,将报文在SRv6隧道中继续向前进行转发,即将报文发送至PE2。
PE2收到P发送的报文后,会剥除外层SRv6头,根据内层应答报文查询私网路由转发,即报文向应答报文的目的IP(CE1的IP)发送。转发时应答报文外层会根据PE2至PE1的公网SRv6隧道封装新的IPv6头,向PE1转发,其中将外层IPv6头中的HL设置为255以使得报文不被传输路径中的P解析,而是能够向前传输。
P收到PE2发回的报文后,根据报文外层封装IPv6头,将报文转发向PE1。
PE1收到P转发的报文后,剥除外层的IPv6头,识别出内层应答报文的目的IP为CE1的地址,查询私网路由将报文向CE1转发。
CE1收到PE1转发的报文。至此,CE1完成对P的探测。
在第三轮探测中,CE1向CE2发送IPv4 TRACE报文,目的IP设置为CE2的IP地址,源IP设置为CE1的IP地址。并且,设置TTL为3,原因与第一二轮探测中原因类似,此处不再赘述。
PE1收到CE1发送的报文后,检测到TTL为3,将该TRACE报文进行SRv6封装,向远端PE2转发。具体封装行为:首先将收到的IPv4报文TTL减1设置为2,然后在TRACE报文外层封装SRv6头,设置IPv6头中的HL为内层TTL值即2。该报文根据PE1至PE2的SRv6隧道转发信息向P转发。
P收到PE1转发的报文后,检测到外层封装中的HL是2,将报文继续向前转发至PE2,其中内层TTL不变仍为2,由于外层封装过的报文传输经过了一个节点因而外层HL减1设置为1。
PE2收到P转发的报文后,剥除外层的SRv6头,同时内层TTL减1值变为1,因而产生ICMP差错应答。由于与一二轮探测中设置应答报文相同的原因,将应答报文的目的IP为CE1的IP地址,源IP为PE2的IP地址。并且,PE2为该报文根据PE2至PE1的公网SRv6隧道信息,封装新的IPv6头,其中外层HL设置为255。进而将报文向P发送。
P收到PE2发送的报文,在SRv6隧道中转发,将报文发送至PE1。
PE1收到P转发的报文,剥除外层的SRv6头,识别出内层应答报文的目的IP为CE1的地址,查询私网路由将报文向CE1转发。
CE1收到PE1转发的报文。至此,CE1完成对PE2的探测。
在第四轮探测中,CE1发送IPv4 TRACE报文,目的IP设置为CE2的IP地址,源IP设置为CE1的IP地址。并且,由于与一二轮探测中相似的原因,将TTL设置为4。
PE1收到CE1发送的报文后,检测到TTL为4,将该TRACE报文进行SRv6封装,向远端PE2转发。具体封装行为:首先将收到的IPv4报文TTL减1设置为3,然后在TRACE报文外层封装SRv6头,设置IPv6头中的HL为内层TTL值即3。该报文根据PE1至PE2的SRv6隧道转发信息向P转发。
P收到PE1转发的报文后,将报文转发至PE2,其中内层TTL不变仍为3,外层HL减1设置为2。
PE2收到P转发的报文后,剥除外层的SRv6头,同时内层TTL继承外层IPv6的HL设置为2。PE2识别出内层TRACE报文的目的IP为CE2的地址,查询私网路由将报文向CE2转发,同时内层TTL继续减1变为1。
CE2收到PE2转发的报文后,产生ICMP差错应答。由于与前述三轮探测中设置应答报文相同的原因,目的IP设置为CE1的IP地址,源IP设置为CE2的IP地址。该报文向目的IP方向传输,首先发送向PE2。
PE2收到CE2发送的报文后,该报文会根据PE2至PE1的公网SRv6隧道信息,封装新的IPv6头,其中外层的HL设置为255。进而将报文向P发送。
P收到PE2发送的报文,在SRv6隧道中转发,将报文发送至PE1。
PE1收到P转发的报文,剥除外层的SRv6头,识别出内层报文的目的IP为CE1的IP地址,查询私网路由将报文向CE1转发。
CE1收到PE1转发的报文,即CE1完成对CE2的探测。
至此,经过四轮探测,CE1探测出PE1、P、PE2、CE2节点,即获取了CE1至CE2数据传输路径中全部节点的IP地址。
在另一个具体示例中,PE1与PE2之间部署有两个公网转发设备P1和P2,CE1与CE2之间的连接结构示意图如图3所示。为使CE1能够探测出两个公网转发设备需对探测过程进行相应调整。第一轮探测的目的是探测出PE1,TRACE报文未经过P,因此本例中第一轮探测与上一例中第一轮探测过程相同,此处不再赘述。
在第二轮探测中,CE1向CE2发送IPv4 TRACE报文,目的IP设置为CE2的IP地址,源IP设置为CE1的IP地址。并且,设置该TRACE报文的TTL为2,以使得该TRACE报文能够在传输至传输路径上的第二个节点时得到应答差错报文,进而使得CE1能够在应答差错报文中获取P1的信息。因此经过与上一例子中的第二轮探测相同的步骤,CE1完成对P1的探测。
在第三轮探测中,CE1向CE2发送IPv4 TRACE报文,目的IP设置为CE2的IP地址,源IP设置为CE1的IP地址。并且,设置该TRACE报文的TTL为3。当TRACE报文经过P1时,外层IPv6头中HL不为1,因此报文继续向前传输,即向P2传输。
P2收到P1转发的报文,检测到外层IPv6头中HL为1,表征已到达最后一跳,于是P2对报文进行解析,识别到内层报文为TRACE报文,检测到内层TTL为1,因而产生ICMP差错应答。将此差错应答报文的源IP设置为此应答报文发送端的IP即P2的IP地址。另外,为了能够将此差错应答报文返回CE1以使得CE1获取P2的IP,将此差错应答报文的目的IP设置为CE1的IP地址。随后,经过与上一例子中相似的步骤,CE1完成对P2的探测。
在第四和第五轮探测中,分别将CE1向CE2发送的IPv4 TRACE报文的TTL为4和5。以使得该TRACE报文能够在传输至传输路径上的第四和第五个节点时得到应答差错报文,进而使得CE1能够在应答差错报文中获取PE2和CE2的IP。随后,经过第四和第五轮探测,CE1完成对PE2和CE2的探测。
上述探测以CE1发起IPv4 TRACE报文为例,本领域技术人员应该能够理解此探测方法对于CE1发起IPv6 TRACE报文同样适用,同时此探测方法对于PE1发起私网TRACE报文同样适用。
本实施方式对于任何一个公网转发设备,当TRACE报文的外层封装中的HL的值为1时,对处于内层的TRACE报文进行解析以获取TRACE报文中携带的源IP,从而可以将生成的应答报文中的目的IP设置为TRACE报文中的源IP;同时,基于该预设协议对该应答报文进行外层封装,以使得该应答报文能够基于该预设协议进行传输并被反馈至该应答报文中的目的IP即该TRACE报文中的源IP,由于该TRACE报文中的源IP就是该TRACE报文的发送端的IP,从而使得该TRACE报文的发送端可以从该应答报文中解析出应答报文中的源IP即该公网转发设备的IP;因此,该TRACE报文的发送端探测到该公网转发设备。
本发明的一实施方式涉及一种公网转发设备,如图4所示,包括:
接收模块401,用于接收基于预设协议进行了外层封装的TRACE报文;
第一解析模块402,用于从所述TRACE报文的外层封装中解析出跳数限制HL值;所述预设协议为所述公网转发设备所在网络支持的传输协议;
第二解析模块403,用于在所述HL值表征已到达最后一跳时,对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP;
报文生成模块404,用于生成应答报文,并将所述应答报文中的目的IP设置为所述TRACE报文中的源IP,所述应答报文中的源IP设置为所述公网转发设备的IP;
封装模块405,用于基于所述预设协议对所述应答报文进行外层封装,并将所述应答报文的外层封装中的源IP和目的IP分别设置为所述TRACE报文的外层封装中的源IP和目的IP;
发送模块406,用于将进行了外层封装的所述应答报文发送出去。
在一个例子中,封装模块405,还可以用于在所述HL值表征未到达最后一跳时,基于所述预设协议对所述TRACE报文重新进行外层封装,且在重新进行外层封装中将外层封装中的所述HL值减1;将重新进行外层封装的所述TRACE报文发送出去。
在一个例子中,第二解析模块403,还可以用于在所述HL值表征已到达最后一跳时,且所述公网转发设备被配置为支持解析内层报文的模式,则对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP。
在一个例子中,接收模块401,还可以用于从第一侧相邻网络设备接收基于预设协议进行了外层封装的TRACE报文;所述第一侧相邻网络设备为另一公网转发设备或第一服务提供商边缘设备。
在一个例子中,发送模块406,还可以用于将进行了外层封装的所述应答报文发送至第二侧相邻网络设备;所述第二侧相邻网络设备为又一公网转发设备或第二服务提供商边缘设备。
在一个例子中,公网转发设备还可以包括:转发模块(图中未示出),用于在所述将进行了外层封装的所述应答报文发送至第二侧相邻网络设备之后,若从所述第二侧相邻网络设备接收到基于所述预设协议重新进行了外层封装的所述应答报文,则将所述应答报文转发至所述第一侧相邻网络设备。
本实施方式提供的公网转发设备对于任何一个公网转发设备,当TRACE报文的外层封装中的HL的值为1时,对处于内层的TRACE报文进行解析以获取TRACE报文中携带的源IP,从而可以将生成的应答报文中的目的IP设置为TRACE报文中的源IP;同时,基于该预设协议对该应答报文进行外层封装,以使得该应答报文能够基于该预设协议进行传输并被反馈至该应答报文中的目的IP即该TRACE报文中的源IP,由于该TRACE报文中的源IP就是该TRACE报文的发送端的IP,从而使得该TRACE报文的发送端可以从该应答报文中解析出应答报文中的源IP即该公网转发设备的IP;因此,该TRACE报文的发送端探测到该公网转发设备。
值得一提的是,本发明上述实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明的实施例还提供一种公网转发设备,如图5所示,包括至少一个处理器501;以及,与所述至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述探测公网转发设备的方法。
其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请的实施例还提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述探测公网转发设备的方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可以在不脱离本申请的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该符合权利要求书所提到的创新性特征的最大范围。
Claims (10)
1.一种探测公网转发设备的方法,其特征在于,应用于公网转发设备,所述方法包括:
接收基于预设协议进行了外层封装的TRACE报文,并从所述TRACE报文的外层封装中解析出跳数限制HL值;所述预设协议为所述公网转发设备所在公网支持的传输协议;
若所述HL值表征已到达最后一跳,对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP;
生成应答报文,并将所述应答报文中的目的IP设置为所述TRACE报文中的源IP,所述应答报文中的源IP设置为所述公网转发设备的IP;
基于所述预设协议对所述应答报文进行外层封装,将所述应答报文的外层封装中的源IP和目的IP分别设置为所述TRACE报文的外层封装中的源IP和目的IP,并将进行了外层封装的所述应答报文发送出去。
2.根据权利要求1所述的方法,其特征在于,所述从所述TRACE报文的外层封装中解析出跳数限制HL值之后,还包括:
若所述HL值表征未到达最后一跳,基于所述预设协议对所述TRACE报文重新进行外层封装,且在重新进行外层封装中将外层封装中的所述HL值减1;
将重新进行外层封装的所述TRACE报文发送出去。
3.根据权利要求1所述的方法,其特征在于,所述若所述HL值表征已到达最后一跳,对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP,具体为:
若所述HL值表征已到达最后一跳,且所述公网转发设备被配置为支持解析内层报文的模式,则对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP。
4.根据权利要求1所述的方法,其特征在于,
所述接收基于预设协议进行了外层封装的TRACE报文,具体为:从第一侧相邻网络设备接收基于预设协议进行了外层封装的TRACE报文;所述第一侧相邻网络设备为另一公网转发设备或第一服务提供商边缘设备;
所述将进行了外层封装的所述应答报文发送出去,具体为:将进行了外层封装的所述应答报文发送至第二侧相邻网络设备;所述第二侧相邻网络设备为又一公网转发设备或第二服务提供商边缘设备。
5.根据权利要求4所述的方法,其特征在于,在所述将进行了外层封装的所述应答报文发送至第二侧相邻网络设备之后,还包括:
若从所述第二侧相邻网络设备接收到基于所述预设协议重新进行了外层封装的所述应答报文,则将所述应答报文转发至所述第一侧相邻网络设备。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述TRACE报文中携带的源IP为服务提供商边缘设备的IP或者用户网络边缘设备的IP。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述预设协议为SRV6协议、VxLAN协议和GRE协议中的一种。
8.一种公网转发设备,其特征在于,包括:
接收模块,用于接收基于预设协议进行了外层封装的TRACE报文;
第一解析模块,用于从所述TRACE报文的外层封装中解析出跳数限制HL值;所述预设协议为所述公网转发设备所在网络支持的传输协议;
第二解析模块,用于在所述HL值表征已到达最后一跳时,对所述TRACE报文进行解析,并获取所述TRACE报文中携带的源IP;
报文生成模块,用于生成应答报文,并将所述应答报文中的目的IP设置为所述TRACE报文中的源IP,所述应答报文中的源IP设置为所述公网转发设备的IP;
封装模块,用于基于所述预设协议对所述应答报文进行外层封装,并将所述应答报文的外层封装中的源IP和目的IP分别设置为所述TRACE报文的外层封装中的源IP和目的IP;
发送模块,用于将进行了外层封装的所述应答报文发送出去。
9.一种公网转发设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032801.2A CN115766561A (zh) | 2021-09-03 | 2021-09-03 | 探测公网转发设备的方法、公网转发设备和存储介质 |
PCT/CN2022/114622 WO2023030141A1 (zh) | 2021-09-03 | 2022-08-24 | 探测公网转发设备的方法、公网转发设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032801.2A CN115766561A (zh) | 2021-09-03 | 2021-09-03 | 探测公网转发设备的方法、公网转发设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115766561A true CN115766561A (zh) | 2023-03-07 |
Family
ID=85332535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111032801.2A Pending CN115766561A (zh) | 2021-09-03 | 2021-09-03 | 探测公网转发设备的方法、公网转发设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115766561A (zh) |
WO (1) | WO2023030141A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248941B (zh) * | 2017-06-30 | 2020-01-10 | 华为技术有限公司 | 一种检测路径的方法和装置 |
US11206204B2 (en) * | 2018-06-29 | 2021-12-21 | Itron Global Sarl | Traceroute method to identify devices in tunneled segment of routing path |
-
2021
- 2021-09-03 CN CN202111032801.2A patent/CN115766561A/zh active Pending
-
2022
- 2022-08-24 WO PCT/CN2022/114622 patent/WO2023030141A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023030141A1 (zh) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107248941B (zh) | 一种检测路径的方法和装置 | |
CN111682996B (zh) | 网络中报文转发的方法、网络节点、网络系统 | |
CN113595897B (zh) | 一种路径探测方法及装置 | |
EP3331205B1 (en) | Data packet transmission method utilized in ipv6 network and device utilizing same | |
CN110380959B (zh) | 转发报文方法和装置 | |
US20150033321A1 (en) | Construct large-scale dvpn | |
CN107317752B (zh) | 一种转发数据报文的方法及装置 | |
JP7124206B2 (ja) | パケット処理方法およびゲートウェイ・デバイス | |
CN107770072A (zh) | 一种发送和接收报文的方法和设备 | |
WO2022042503A1 (zh) | 一种报文传输方法、装置及系统 | |
EP4057576A1 (en) | Packet encapsulating method and apparatus, and packet decapsulating method and apparatus | |
US20040177146A1 (en) | Router apparatus, communication apparatus, network address management system, network address management method and network address management program | |
EP3767900B1 (en) | Method for discovering forwarding path, and related device thereof | |
CN114866470A (zh) | 发送报文的方法、装置、系统及存储介质 | |
US20230155933A1 (en) | BIER OAM Detection Method, Device, and System | |
CN114978600B (zh) | 异常流量处理方法、系统、设备及存储介质 | |
CN113810288B (zh) | 一种报文回程方法及装置 | |
CN115766561A (zh) | 探测公网转发设备的方法、公网转发设备和存储介质 | |
JP2020010315A (ja) | ネットワークトポロジー取得方法及び装置 | |
US20180159798A1 (en) | Packet relay apparatus and packet relay method | |
CN114765589A (zh) | 网络测试方法、装置及存储介质 | |
CN113315701A (zh) | 一种路径检测方法、电子设备及存储介质 | |
WO2023078144A1 (zh) | 报文处理方法、装置及系统 | |
CN111835644B (zh) | 报文转发方法及交换机 | |
US9537750B2 (en) | Multicast router topology discovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |