CN114389967A - 链路检测方法、装置、设备和存储介质 - Google Patents
链路检测方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114389967A CN114389967A CN202011118176.9A CN202011118176A CN114389967A CN 114389967 A CN114389967 A CN 114389967A CN 202011118176 A CN202011118176 A CN 202011118176A CN 114389967 A CN114389967 A CN 114389967A
- Authority
- CN
- China
- Prior art keywords
- sending node
- node
- icmp
- response message
- sending
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 141
- 230000004044 response Effects 0.000 claims abstract description 206
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 19
- 230000000977 initiatory effect Effects 0.000 description 16
- 230000006855 networking Effects 0.000 description 10
- 230000009977 dual effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 239000003999 initiator Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- 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/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开一种链路检测方法、装置、设备和存储介质。该方法包括:接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
Description
技术领域
本申请涉及通信技术领域,尤其涉及链路检测方法、装置、设备和存储介质。
背景技术
虚拟机数量的快速增长与虚拟机迁移业务的日趋频繁,给传统的“二层+三层”数据中心网络带来了新的挑战。VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,采用MAC-in-UDP的报文封装模式,将二层报文用三层协议进行封装,可实现二层网络在三层范围内进行扩展,同时满足数据中心大二层虚拟迁移和多租户的需求。
VTEPGROUP组网场景在数据中心应用场景上一直是比较热门的解决方案。在该工作模式下,将原有的一个VTEP节点,物理上分散为两个实体节点,逻辑上依然对外表现为一个节点。两个VTEP节点同时为用户提供服务,当某个VTEP节点出现问题时,由另一个VTEP节点来持续的提供服务。VTEPGROUP双活组网最大的特点是:一、充分利用资源,避免了一个VTEP常年处于闲置状态而造成浪费。通过资源整合,VTEPGROUP的服务能力是双倍的。二、双活组网中如果一个VTEP节点故障,另外一个VTEP节点还在运行,对用户来说是不可感知的。
在VTEPGROUP双活组网场景中,由于本端VTEPGROUP与对端节点之间建立的是VXLAN虚隧道,导致ICMP报文在回程时出现了歧义性。比如:发起Ping/Trace检测的是VTEPGROUP中的一个VTEP节点,而对端返回的ICMP应答报文回到了另一个VTEP节点,而没有回到发起检测的VTEP节点,从而使得Ping/Trace检测失败,无法达到检测网络连接状况的目的。
发明内容
为解决上述技术问题,本申请提供链路检测方法、装置、设备和存储介质。
第一方面,本申请实施例提供一种链路检测方法,应用于第二设备,包括:
接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;
根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;
将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
第二方面,本申请实施例提供一种链路检测方法,应用于第一设备,所述第一设备包括发送节点和非发送节点,所述非发送节点包括至少一个VTEP节点,所述发送节点为任意VTEP节点,包括:
所述发送节点向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
第三方面,本申请实施例提供一种链路检测装置,设置于第二设备,包括:
第一接收模块,用于接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;
生成模块,用于根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;
第一发送模块,用于将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
第四方面,本申请实施例提供一种链路检测装置,设置于第一设备,包括:发送节点和非发送节点;所述发送节点包括:
第二发送模块,用于向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;
所述非发送节点包括:
第二接收模块,用于若接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
第五方面,本申请提供了一种终端设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例提供的链路检测方法。
第六方面,本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中的任意一种链路检测方法。
关于本申请的以上实施例和其他方面以及其实现方式,在附图说明、具体实施方式和权利要求中提供更多说明。
附图说明
图1是本申请提供的一种链路检测方法的流程示意图;
图1a是本申请提供的VTEPGROUP双活组网物理拓扑示意图;
图1b是本申请提供的VTEPGROUP双活组网逻辑拓扑示意图;
图1c是本申请提供的ICMP请求报文和ICMP应答报文扩展字段示意图;
图1d是本申请提供的ICMP应答报文回报路线正确的转发示意图;
图1e是本申请提供的一种ICMP应答报文回报路线错误的转发示意图;
图1f是本申请提供的另一种ICMP应答报文回报路线错误的转发示意图;
图2是本申请提供的另一种链路检测方法的流程示意图;
图3为本申请提供的一种链路检测装置的结构示意图;
图4为本申请提供的另一种链路检测装置的结构示意图;
图5为本申请提供的一种终端设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一个示例性实施方式中,图1为本申请提供的一种链路检测方法的流程示意图,该方法可以适用于在VTEPGROUP(VXLAN Tunnel Endpoints group,VTEP组)双活组网场景中链路检测的情况,在双活组网场景下,将原有的一个VTEP节点,物理上分散为至少两个实体节点,逻辑上依然对外表现为一个节点。两个VTEP节点同时为用户提供服务,当某个VTEP节点出现问题时,由另一个VTEP节点来持续的提供服务。双活组网场景的系统架构包括:第一设备和第二设备,所述第一设备和所述第二设备通过ecmp路由进行数据交互,所述第一设备包括至少两个VTEP节点,所述第二设备包括:至少一个VTEP节点,如图1a所示,图1a为VTEPGROUP双活组网物理拓扑示意图,图中,所述第一设备包括:VTEP1和VTEP2,所述第二设备包括:VTEP3,所述VTEP1和VTEP2的虚地址相同,所述VTEP1和VTEP2的企业地址相同,VTEP1和VTEP2通过备份链路相连,该方法可以由链路检测装置执行,该链路检测装置可以由软件和/或硬件实现,并集成在终端设备上,所述终端设备可以为计算机。
如图1所示,本申请提供的链路检测方法,包括S110、S120和S130。
S110、接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点。
其中,所述第一设备包括至少两个VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)节点,所述至少两个VTEP节点中发送ICMP(Internet Control Message Protocol,Internet控制报文协议)请求报文的节点为发送节点。
其中,ICMP是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。经常用于判断网络连接状况是否正常可达。方式为Ping或者Trace。
其中,VTEP为VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,VXLAN报文的封装、解封装是在这个节点上执行的。VTEP既可以是独立的网络设备(比如交换机或者路由器),也可以是虚拟机所在的服务器。
其中,所述发送节点的身份信息可以为发送节点的MAC地址,也可以为其他用于表征发送节点身份的信息,本发明实施例对此不进行限制。
示例性的,第一设备中的发送节点向第二设备发送ICMP请求报文,第二设备接收发送节点的ICMP请求报文,ICMP请求报文中携带所述发送节点的身份信息。
S120、根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息。
其中,所述ICMP应答报文为第二设备根据接收到的ICMP请求报文生成的,所述ICMP应答报文中的发送节点的身份信息为将ICMP请求报文中的发送节点的身份信息拷贝至ICMP应答报文中的身份信息。例如可以是,若ICMP应答报文中的发送节点的身份信息为A,则将A拷贝至ICMP请求报文中。
S130、将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
其中,所述第一设备包括至少两个VTEP节点,根据节点是否发送应答报文,可以将第一设备中的节点分为发送节点和非发送节点,所述目标节点可以为发送节点,也可以为非发送节点。
其中,所述目标节点的确定方式可以为经过hash选路得到的,也可以为通过其他节点分配方式得到,本发明实施例对此不进行限制。
其中,所述目标节点与所述发送节点是否一致的判断方式可以为在目标节点接收到ICMP应答报文后,根据ICMP应答报文中携带的发送节点的身份信息和目标节点本地存储的身份信息进行匹配,若ICMP应答报文中携带的发送节点的身份信息和目标节点本地存储的身份信息匹配,则说明目标节点和发送节点一致,若ICMP应答报文中携带的发送节点的身份信息和目标节点本地存储的身份信息不匹配,则说明目标节点和发送节点不一致。
示例性的,第二设备将所述ICMP应答报文发送至所述第一设备中的目标节点,若所述目标节点为发送节点,则发送节点在接收到ICMP应答报文后,根据ICMP应答报文中的发送节点的身份信息和所述发送节点在本地存储的身份信息进行匹配,若ICMP应答报文中的发送节点的身份信息和所述发送节点在本地存储的身份信息匹配,则确定所述发送节点和所述第二设备之间的链路检测成功,若所述目标节点为非发送节点,则非发送节点在接收到ICMP应答报文后,根据ICMP应答报文中的发送节点的身份信息和所述非发送节点在本地存储的身份信息进行匹配,若ICMP应答报文中的发送节点的身份信息和所述非发送节点在本地存储的身份信息不匹配,则说明所述目标节点与所述发送节点不一致,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
本申请提供的一种链路检测方法,通过接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,根据报文中携带的发送节点的身份信息找到发送节点,进而由发送节点确定发送节点与所述第二设备之间的链路检测,能够解决由于本端VTEPGROUP与对端节点之间建立的是VXLAN虚隧道,导致ICMP报文在回程时出现了歧义性。比如发起Ping/Trace检测的是VTEPGROUP中的一个VTEP节点,而对端返回的ICMP应答报文回到了另一个VTEP节点,而没有回到发起检测的VTEP节点,从而使得Ping/Trace检测失败的问题,能够由发送节点对发送节点与第二设备之间的链路进行检测。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在一个实施例中,将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,包括:
将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点根据所述发送节点的身份信息确定发送节点,并将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
其中,所述目标节点与所述发送节点不一致的确定方式可以为在目标节点接收到ICMP应答报文后,根据ICMP应答报文中携带的发送节点的身份信息和目标节点本地存储的身份信息进行匹配,若ICMP应答报文中携带的发送节点的身份信息和目标节点本地存储的身份信息不匹配,则说明目标节点和发送节点不一致。
其中,所述发送节点的确定方式可以为根据所述发送节点的身份信息查询预先建立的数据库表,得到与所述发送节点信息对应的发送节点,或者可以为,根据所述发送节点的身份信息查询预先建立的数据库表,得到与所述发送节点信息对应的出端口信息和节点信息,或者可以为根据所述发送节点的身份信息查询预先建立的数据库表,得到与所述发送节点信息对应的出端口信息和节点上的接口,本发明实施例对此不进行限制。
示例性的,第二设备将所述ICMP应答报文发送至所述第一设备中的目标节点,若所述目标节点与所述发送节点不一致,则所述目标节点根据所述发送节点的身份信息确定发送节点,并将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
在一个实施例中,还包括:
将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点一致,则确定所述发送节点与所述第二设备之间的链路检测成功。
其中,所述目标节点与所述发送节点一致的判断方式可以为在目标节点接收到ICMP应答报文后,根据ICMP应答报文中携带的发送节点的身份信息和目标节点本地存储的身份信息进行匹配,若ICMP应答报文中携带的发送节点的身份信息和目标节点本地存储的身份信息匹配,则说明目标节点和发送节点一致。
示例性的,第二设备将所述ICMP应答报文发送至所述第一设备中的目标节点,若所述目标节点与所述发送节点一致,则确定所述发送节点与所述第二设备之间的链路检测成功。
在一个实施例中,在将所述ICMP应答报文发送至所述第一设备中的目标节点之前,还包括:
将所述ICMP应答报文发送至等价路由,经过等价路由的hash选路,确定目标节点。
示例性的,如图1b所示,VTEPGROUP的anycast ip地址与VTEP3节点的anycast ip地址建立VXLAN隧道。从VTEP3节点的角度看,指向VTEPGROUP的anycast ip地址的路由,为ecmp路由,一个成员指向VTEP1节点,另一个成员指向VTEP2节点。两个节点的虚ip都是anycast ip地址,但是两个节点的MAC地址各不相同。
在一个实施例中,所述发送节点的身份信息包括:所述发送节点的MAC地址。
在一个实施例中,所述至少两个VTEP节点的虚地址相同,且所述至少两个VTEP节点的企业地址相同,所述至少两个VTEP节点通过备份链路相连。
其中,所述至少两个VTEP节点之间的备份链路,可以为underlay的peerlink链路,也可以是overlay的VXLAN bypass隧道。区别在于,至少两个VTEP节点的本地MAC地址,在对方VTEP节点MAC表里的存储出口不同。前者MAC表出口指向peerlink口,后者MAC表出口指向VXLAN bypass隧道,由此决定了至少两个VTEP节点之间的报文封装格式。
在一个示例的例子中,如图1a所示,在双活VTEPGRPUP(VXLAN Tunnel Endpointsgroup,VTEP组)组网场景中,两个VTEP节点组成VTEP组,实现了故障冗余备份和流量负载分担的特性。VTEP1和VTEP2组成了VTEPGROUP系统,为了将两个VTEP节点虚拟为一个VTEP节点,需要在VTEP1和VTEP2上分别配置相同的anycast ip地址作为VTEP ip地址。同时为了让VTEPGROUP对外呈现出同一业务节点,也需要在VTEP1和VTEP2上配置相同的企业地址Gateway ip1。两个VTEP节点之间,通过peerlink备份链路相连。与VTEPGROUP建立VXLAN隧道的对端VTEP节点,既可以是单独节点,也可以是VTEPGROUP,为简化环境说明,假设对端为VTEP3节点,使用企业地址Gateway ip2。VXLAN隧道就是将原始报文进行封装,让它可以在承载网络(比如IP网络)上透输,在对端VTEP上解封装后还原出原始报文。也就是说,“VXLAN隧道”便是用来传输经过VXLAN封装的报文的,它是建立在两个VTEP之间的一条虚拟通道。VTEPGROUP的anycast ip地址与VTEP3节点的ip地址建立VXLAN隧道。由于VTEPGROUP是由VTEP1节点和VTEP2节点组合而成的逻辑节点,无法直接用于Ping/Trace这种链路检测。实际应用中,只能从具体的实际物理VTEP节点作为发起Ping/Trace链路检测的主体。比如从VTEP1的Gateway ip1向VTEP3的Gateway ip2发起Ping/Trace链路检测,出口是VTEPGROUP跟VTEP3之间的VXLAN隧道。发出的报文分两层,外层为VXLAN隧道,内层为ICMP请求报文。当VTEP3节点收到该ICMP请求报文后,发现目的ip为Gateway ip2,是自己的企业地址,则会重新封装Ping/Trace应答报文,出口是VTEP3跟VTEPGROUP之间的VXLAN虚隧道。VXLAN虚隧道使用VTEPGROUP自身anycast IP虚地址与对端VTEP节点或者VTEPGROUP建立VXLAN隧道,通常称为VXLAN虚隧道。发出的报文分两层,外层为VXLAN虚隧道,内层为ICMP应答报文。由于VXLAN虚隧道的出口为ecmp路由,经过hash选路,如果选出的路径是指向VTEP1节点的,那么由VTEP1节点发起的Ping/Trace结果是成功。如果选出的路径是指向VTEP2节点的,那么由VTEP1发起的Ping/Trace结果是失败,因为ICMP应答报文并没有回到VTEP1节点。
在普通EVPN(Ethernet Virtual Private Network,以太网VPN)场景下,EVPN通过扩展MP-BGP协议来传递网络节点的MAC和ARP等信息,通过生成的MAC表项和路由表项进行二/三层报文转发,以实现广域网互联的目的,通过Ping/Trace检测overlay IP地址连通性,由于本端VTEP节点为单一节点,ICMP报文在回程时不会出现歧义性,Ping/Trace检测可以正常进行,但是,在VTEPGROUP双活组网场景中,由于本端VTEPGROUP与对端节点(可能是VTEP节点,也可能是同为VTEPGROUP)之间建立的是VXLAN虚隧道,导致ICMP报文在回程时出现了歧义性。比如发起Ping/Trace检测的是VTEPGROUP中的一个实VTEP节点,而对端返回的ICMP应答报文回到了另一个实VTEP节点,而没有回到发起检测的VTEP节点,从而使得Ping/Trace检测失败,无法达到检测网络连接状况的目的。因此,提出在ICMP请求报文中携带发送节点的身份信息,在ICMP应答报文中添加发送节点的身份信息,目标节点在接收到ICMP应答报文后,根据发送节点的身份信息判断目标节点是否为发送节点,若为发送节点,则由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,若非发送节点,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
本发明实施例在ICMP请求报文和ICMP应答报文中,增加发起者本地MAC字段,如图1c所示,ICMP请求报文中的MAC字段为发送节点的本地MAC地址。ICMP应答报文中的MAC字段是从ICMP请求报文直接拷贝到ICMP应答报文中的。当ICMP应答报文到到目标节点时,目标节点需要判断报文中携带的MAC地址,是否为本节点的MAC地址。如果是,则说明本节点是Ping/Trace链路检测的发送节点,链路检测成功。如果否,则说明本节点不是Ping/Trace链路检测的发送节点,真正的发送节点是跟本VTEP节点同属于一个VTEPGROUP的另一个VTEP节点。而两个VTEP节点的本地MAC,是可以通过peerlink口相互学习的,此时通过MAC表查询ICMP应答报文中的MAC地址,得到出端口信息和vlan信息,查到的出端口就是peerlink口,vlan就是在对端VTEP节点上的接口vlan。根据查MAC表的结果封装报文,通过peerlink口发送出去。对端VTEP节点收到后,检测ICMP应答报文中的MAC,就是本地MAC,则此次Ping/Trace链路检测成功。
本发明实施例对ICMP请求报文和ICMP应答报文字段进行了扩展,增加了标识发送节点的MAC地址字段,明确记录了本次Ping/Trace链路检测的发送节点位置。在ICMP应答报文接收端对报文中的MAC地址进行校验,确认发送节点是否是自己,如不是,则查MAC表,将报文转发给发送节点。VTEPGROUP内部,兼容两个VTEP节点之间的不同连接方式,协议层面上,兼容V4的ICMP和V6的ICMPv6协议。
在另一个实例的例子中,如图1d所示,ICMP应答报文回报路线正确的转发示意图。步骤S401、由VTEP1发起Ping/Trace链路检测,源ip是Gateway ip1,目的ip是Gateway ip2,出口为VTEPGROUP与VTEP3节点建立的VXLAN虚隧道。内层ICMP请求报文中,增加了发送节点的本地MAC地址0000.0000.0001,用于标识发送节点。步骤S402、VTEP3节点收到了ICMP请求报文后,回复ICMP应答报文,应答报文中的MAC字段,由ICMP请求报文直接拷贝。经过ecmp路由的hash选路,确定指向VTEP1节点的成员路由,目的MAC是0000.0000.0001。VTEP1节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址0000.0000.0001,发现属于本地,则本次Ping/Trace链路检测成功。
由于在VTEP3上回复的ICMP应答报文目的地是VTEP1,也就是本次链路检测的发起者,VTEP1不需要再将ICMP应答报文进行转发,直接处理即可。
在另一个实例的例子中,如图1e所示,图1e为一种ICMP应答报文回报路线错误的转发示意图。
步骤S501、由VTEP1发起Ping/Trace链路检测,源ip是Gateway ip1,目的ip是Gateway ip2,出口为VTEPGROUP与VTEP3节点建立的VXLAN虚隧道。内层ICMP请求报文中,增加了本地MAC地址0000.0000.0001,用于标识发送节点。
步骤S502、VTEP3节点收到了ICMP请求报文后,回复ICMP应答报文,ICMP应答报文中的MAC字段,由ICMP请求报文直接拷贝。经过ecmp路由的hash选路,确定指向VTEP2节点的成员路由,目的MAC是0000.0000.0002。
步骤S503、VTEP2节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址,发现不属于本地,则通过MAC表查询发送节点的MAC地址0000.0000.0001的出接口为peerlink口,报文发往peerlink口。VTEP1节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址0000.0000.0001,发现属于本地,则本次Ping/Trace链路检测成功。
由于在VTEP3上回复的ICMP应答报文目的地是VTEP2,不是本次链路检测的发送节点,VTEP2需要再将ICMP应答报文进行MAC转发,发送给真正的链路检测发送节点VTEP1。
在另一个实例的例子中,如图1f所示,图1f为另一种ICMP应答报文回报路线错误的转发示意图。
步骤S601、由VTEP1发起Ping/Trace链路检测,源ip是Gateway ip1,目的ip是Gateway ip2,出口为VTEPGROUP与VTEP3节点建立的VXLAN虚隧道。内层ICMP请求报文中,增加了本地MAC地址0000.0000.0001,用于标识发送节点。
步骤S602、VTEP3节点收到了ICMP请求报文后,回复ICMP应答报文,ICMP应答报文中的MAC字段,由ICMP请求报文直接拷贝。经过ecmp路由的hash选路,确定指向VTEP2节点的成员路由,目的MAC是0000.0000.0002。
步骤S603、VTEP2节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址,发现不属于本地,则通过MAC表查询发起者MAC地址0000.0000.0001的出接口为VXLANbypass隧道,报文发往VXLAN bypass隧道。VTEP1节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址0000.0000.0001,发现属于本地,则本次Ping/Trace链路检测成功。
由于在VTEP2上查找MAC表,出接口为VXLAN bypass隧道,所以报文还需要进行VXLAN bypass隧道的封装,才能正确发送到VTEP1节点。
在一个示例性实施方式中,图2为本申请提供的另一种链路检测方法的流程示意图,该方法可以适用于在VTEPGROUP(VXLAN Tunnel Endpoints group,VTEP组)双活组网场景中链路检测的情况,该方法应用于第一设备,所述第一设备包括发送节点和非发送节点,所述非发送节点包括至少一个VTEP节点,所述发送节点为任意VTEP节点,该方法可以由链路检测装置执行,该链路检测装置可以由软件和/或硬件实现,并集成在终端设备上,所述终端设备可以为计算机。
如图2所示,本申请提供的链路检测方法,包括S210、S220和S230。
S210、所述发送节点向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息。
其中,所述发送节点为发送ICMP请求报文的节点。
其中,所述发送节点的身份信息可以为发送节点的MAC地址,也可以为其他用于表征发送节点身份的信息,本发明实施例对此不进行限制。
示例性的,第一设备中的发送节点向第二设备发送ICMP请求报文,ICMP请求报文中携带所述发送节点的身份信息。
S220、若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
其中,所述第二设备包括至少一个VTEP节点。
其中,所述发送节点的确定方式可以为根据所述发送节点的身份信息查询预先建立的数据库表,得到与所述发送节点信息对应的发送节点,或者可以为,根据所述发送节点的身份信息查询预先建立的数据库表,得到与所述发送节点信息对应的出端口信息和节点信息,或者可以为根据所述发送节点的身份信息查询预先建立的数据库表,得到与所述发送节点信息对应的出端口信息和节点上的接口,本发明实施例对此不进行限制。
其中,非发送节点将所述ICMP应答报文转发给所述发送节点的方式可以为非发送节点根据ICMP应答报文中携带的发送节点的身份信息确定发送节点,非发送节点将所述ICMP应答报文转发给所述发送节点,也可以为非发送节点根据ICMP应答报文中携带的发送节点的身份信息确定出端口信息和节点信息;或者可以为非发送节点根据ICMP应答报文中携带的发送节点的身份信息确定备份链路接口和发送节点上的接口,本发明实施例对此不进行限制。
示例性的,若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,例如可以是,第一设备包括发送节点A和非发送节点B,若非发送节点B接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点A的身份信息和所述非发送节点B的身份信息不匹配,则根据CMP应答报文中携带的发送节点A的身份信息确定发送节点A,非发送节点B将所述ICMP应答报文转发给所述发送节点A。
本申请提供的一种链路检测方法,所述发送节点向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,根据报文中携带的发送节点的身份信息找到发送节点,进而由发送节点确定发送节点与所述第二设备之间的链路检测,能够解决由于本端VTEPGROUP与对端节点之间建立的是VXLAN虚隧道,导致ICMP报文在回程时出现了歧义性。比如发起Ping/Trace检测的是VTEPGROUP中的一个VTEP节点,而对端返回的ICMP应答报文回到了另一个VTEP节点,而没有回到发起检测的VTEP节点,从而使得Ping/Trace检测失败的问题,能够由发送节点对发送节点与第二设备之间的链路进行检测。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在一个实施例中,还包括:若所述发送节点接收所述第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述发送节点的身份信息匹配,则确定所述发送节点与所述第二设备之间的链路检测成功。
其中,所述ICMP应答报文为第二设备根据接收到的ICMP请求报文生成的,所述ICMP应答报文中的发送节点的身份信息为将ICMP请求报文中的发送节点的身份信息拷贝至ICMP应答报文中的身份信息。例如可以是,若ICMP应答报文中的发送节点的身份信息为A,则将A拷贝至ICMP请求报文中。
示例性的,若所述发送节点接收所述第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述发送节点的身份信息匹配,则确定所述发送节点与所述第二设备之间的链路检测成功,例如可以是,第一设备包括:发送节点A和非发送节点B,若发送节点A接收到第二设备发送的ICMP应答报文,且ICMP应答报文中携带的发送节点A的身份信息和发送节点A本地存储的身份信息匹配,则确定发送节点A与第二设备之间的链路检测成功。
在一个具体的例子中,由VTEP1发起Ping/Trace链路检测,源ip是Gateway ip1,目的ip是Gateway ip2,出口为VTEPGROUP与VTEP3节点建立的VXLAN虚隧道。内层ICMP请求报文中,增加了发送节点的本地MAC地址0000.0000.0001,用于标识发送节点。VTEP3节点收到了ICMP请求报文后,回复ICMP应答报文,ICMP应答报文中的MAC字段,由ICMP请求报文直接拷贝。经过ecmp路由的hash选路,确定指向VTEP1节点的成员路由,目的MAC是0000.0000.0001。VTEP1节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址0000.0000.0001,发现属于本地,则本次Ping/Trace链路检测成功。
在一个实施例中,若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,包括:
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则获取所述发送节点的身份信息对应的出端口信息和节点信息;
所述非发送节点根据所述出端口信息和节点信息将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
其中,所述端口信息可以为peerlink口,也可以为VXLAN bypass隧道,本发明实施例对此不进行限制。
其中,所述节点信息可以为VTEP节点上的接口vlan,也可以为其他表征发送节点位置的信息,本发明实施例对此不进行限制。
在一个实施例中,所述发送节点的身份信息包括:所述发送节点的MAC地址。
在一个实施例中,若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则获取所述发送节点的身份信息对应的出端口信息和节点信息,包括:
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的MAC地址和所述非发送节点的MAC地址不匹配,则根据所述发送节点的身份信息查询MAC表,得到所述发送节点的身份信息对应的出端口信息和节点信息。
在一个具体的例子中,在一个实施例中,若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的MAC地址和所述非发送节点的MAC地址不匹配,则根据所述发送节点的身份信息查询MAC表,得到所述发送节点的身份信息对应的出端口信息和节点信息,包括:
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的MAC地址和所述非发送节点的MAC地址不匹配,则根据所述发送节点的身份信息查询MAC表,得到所述发送节点的身份信息对应的备份链路接口和发送节点上的接口。
在一个实施例中,所述第二设备包括:至少一个VTEP节点。
在一个示例的例子中,由VTEP1发起Ping/Trace链路检测,源ip是Gateway ip1,目的ip是Gateway ip2,出口为VTEPGROUP与VTEP3节点建立的VXLAN虚隧道。内层ICMP请求报文中,增加了本地MAC地址0000.0000.0001,用于标识发送节点。VTEP3节点收到了ICMP请求报文后,回复ICMP应答报文,ICMP应答报文中的MAC字段,由ICMP请求报文直接拷贝。经过ecmp路由的hash选路,确定指向VTEP2节点的成员路由,目的MAC是0000.0000.0002。VTEP2节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址,发现不属于本地,则通过MAC表查询发送节点的MAC地址0000.0000.0001的出接口为peerlink口,报文发往peerlink口。VTEP1节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址0000.0000.0001,发现属于本地,则本次Ping/Trace链路检测成功。由于在VTEP3上回复的ICMP应答报文目的地是VTEP2,不是本次链路检测的发送节点,VTEP2需要再将ICMP应答报文进行MAC转发,发送给真正的链路检测发送节点VTEP1。
在另一个示例的例子中,由VTEP1发起Ping/Trace链路检测,源ip是Gateway ip1,目的ip是Gateway ip2,出口为VTEPGROUP与VTEP3节点建立的VXLAN虚隧道。内层ICMP请求报文中,增加了本地MAC地址0000.0000.0001,用于标识发送节点。VTEP3节点收到了ICMP请求报文后,回复ICMP应答报文,ICMP应答报文中的MAC字段,由ICMP请求报文直接拷贝。经过ecmp路由的hash选路,确定指向VTEP2节点的成员路由,目的MAC是0000.0000.0002。VTEP2节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址,发现不属于本地,则通过MAC表查询发起者MAC地址0000.0000.0001的出接口为VXLAN bypass隧道,报文发往VXLAN bypass隧道。VTEP1节点收到了ICMP应答报文后,检测里面携带的发送节点的MAC地址0000.0000.0001,发现属于本地,则本次Ping/Trace链路检测成功。由于在VTEP2上查找MAC表,出接口为VXLAN bypass隧道,所以报文还需要进行VXLAN bypass隧道的封装,才能正确发送到VTEP1节点。
本申请提供了一种链路检测装置,图3为本申请提供的一种链路检测装置的结构示意图,该装置配置于终端设备,参见图3,该链路检测装置设置于第二设备,该链路检测装置包括:第一接收模块310、生成模块320和第一发送模块330。
其中,第一接收模块310,用于接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;
生成模块320,用于根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;
第一发送模块330,用于将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
本实施例提供的链路检测装置用于实现本申请实施例的链路检测方法,本实施例提供的链路检测装置实现原理和技术效果与本申请实施例的链路检测方法类似,此处不再赘述。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在一个实施例中,所述第一发送模块具体用于:
将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点根据所述发送节点的身份信息确定发送节点,并将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
在一个实施例中,还包括:
第一确定模块,用于将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点一致,则确定所述发送节点与所述第二设备之间的链路检测成功。
在一个实施例中,还包括:
第二确定模块,用于在将所述ICMP应答报文发送至所述第一设备中的目标节点之前,将所述ICMP应答报文发送至等价路由,经过等价路由的hash选路,确定目标节点。
在一个实施例中,所述发送节点的身份信息包括:所述发送节点的MAC地址。
在一个实施例中,所述至少两个VTEP节点的虚地址相同,且所述至少两个VTEP节点的企业地址相同,所述至少两个VTEP节点通过备份链路相连。
本申请提供的一种链路检测装置,包括:第一接收模块,用于接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;生成模块,用于根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;第一发送模块,用于将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,根据报文中携带的发送节点的身份信息找到发送节点,进而由发送节点确定发送节点与所述第二设备之间的链路检测,能够解决由于本端VTEPGROUP与对端节点之间建立的是VXLAN虚隧道,导致ICMP报文在回程时出现了歧义性。比如发起Ping/Trace检测的是VTEPGROUP中的一个VTEP节点,而对端返回的ICMP应答报文回到了另一个VTEP节点,而没有回到发起检测的VTEP节点,从而使得Ping/Trace检测失败的问题,能够由发送节点对发送节点与第二设备之间的链路进行检测。
本申请提供了一种链路检测装置,图4为本申请提供的另一种链路检测装置的结构示意图,该装置配置于终端设备,参见图4,该链路检测装置设置于第一设备,该链路检测装置包括:发送节点和非发送节点;所述发送节点包括:第二发送模块410,所述非发送节点包括:第二接收模块420;
其中,第二发送模块410,用于向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;
所述非发送节点包括:
第二接收模块420,用于若接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
本实施例提供的链路检测装置用于实现本申请实施例的链路检测方法,本实施例提供的链路检测装置实现原理和技术效果与本申请实施例的链路检测方法类似,此处不再赘述。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在一个实施例中,还包括:第三接收模块,用于若接收所述第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述发送节点的身份信息匹配,则确定所述发送节点与所述第二设备之间的链路检测成功;
在一个实施例中,所述第二接收模块具体用于:
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则获取所述发送节点的身份信息对应的出端口信息和节点信息;
所述非发送节点根据所述出端口信息和节点信息将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
在一个实施例中,所述发送节点的身份信息包括:所述发送节点的MAC地址。
在一个实施例中,所述第二接收模块具体用于:
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的MAC地址和所述非发送节点的MAC地址不匹配,则根据所述发送节点的身份信息查询MAC表,得到所述发送节点的身份信息对应的出端口信息和节点信息。
在一个实施例中,所述第二接收模块具体用于:
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的MAC地址和所述非发送节点的MAC地址不匹配,则根据所述发送节点的身份信息查询MAC表,得到所述发送节点的身份信息对应的备份链路接口和发送节点上的接口。
在一个实施例中,所述第二设备包括:至少一个VTEP节点。
本申请提供的一种链路检测装置,应用于第一设备,包括:发送节点和非发送节点;所述发送节点包括:第二发送模块,用于向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;第二接收模块,用于若接收所述第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述发送节点的身份信息匹配,则确定所述发送节点与所述第二设备之间的链路检测成功;所述非发送节点包括:第三接收模块,用于若接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,根据报文中携带的发送节点的身份信息找到发送节点,进而由发送节点确定发送节点与所述第二设备之间的链路检测,能够解决由于本端VTEPGROUP与对端节点之间建立的是VXLAN虚隧道,导致ICMP报文在回程时出现了歧义性。比如发起Ping/Trace检测的是VTEPGROUP中的一个VTEP节点,而对端返回的ICMP应答报文回到了另一个VTEP节点,而没有回到发起检测的VTEP节点,从而使得Ping/Trace检测失败的问题,能够由发送节点对发送节点与第二设备之间的链路进行检测。
本申请提供了一种终端设备,图5为本申请提供的一种终端设备的结构示意图,如图5所示,本申请提供的终端设备,包括一个或多个处理器51和存储装置52;该终端设备中的处理器51可以是一个或多个,图5中以一个处理器51为例;存储装置52用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器51执行,使得所述一个或多个处理器51实现如本申请实施例中图1所述的方法。
终端设备还包括:通信装置53、输入装置54和输出装置55。
终端设备中的处理器51、存储装置52、通信装置53、输入装置54和输出装置55可以通过总线或其他方式连接,图5中以通过总线连接为例。
输入装置54可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的按键信号输入。输出装置55可包括显示屏等显示终端设备。
通信装置53可以包括接收器和发送器。通信装置53设置为根据处理器51的控制进行信息收发通信。信息包括但不限于上行授权信息。
存储装置52作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请实施例图1所述链路检测方法对应的程序指令/模块(例如,链路检测装置中的第一接收模块310、生成模块320和第一发送模块330);或者本申请实施例图2所述链路检测方法对应的程序指令/模块(例如,链路检测装置中的第二发送模块410和第二接收模块420)。存储装置52可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储装置52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例所述的链路检测方法,该方法包括:
接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;
根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;
将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
或者,所述计算机程序被处理器执行时实现本申请实施例所述的链路检测方法,该方法包括:
所述发送节点向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
本领域内的技术人员应明白,术语用户终端设备涵盖任何适合类型的无线用户终端设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(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)以及基于多核处理器架构的处理器。
通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本申请的范围。因此,本申请的恰当范围将根据权利要求确定。
Claims (10)
1.一种链路检测方法,其特征在于,应用于第二设备,包括:
接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;
根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;
将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
2.根据权利要求1所述的方法,其特征在于,所述发送节点的身份信息包括:所述发送节点的MAC地址。
3.根据权利要求1所述的方法,其特征在于,所述第一设备中至少两个VTEP节点的虚地址相同,且所述至少两个VTEP节点的企业地址相同,所述至少两个VTEP节点通过备份链路相连。
4.一种链路检测方法,其特征在于,应用于第一设备,所述第一设备包括发送节点和非发送节点,所述非发送节点包括至少一个VTEP节点,所述发送节点为任意VTEP节点,包括:
所述发送节点向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
5.根据权利要求4所述的方法,其特征在于,若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功,包括:
若所述非发送节点接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则获取所述发送节点的身份信息对应的出端口信息和节点信息;
所述非发送节点根据所述出端口信息和节点信息将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
6.根据权利要求5所述的方法,其特征在于,所述发送节点的身份信息包括:所述发送节点的MAC地址。
7.一种链路检测装置,其特征在于,设置于第二设备,包括:
第一接收模块,用于接收第一设备中发送节点的ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息,所述第一设备包括至少两个VTEP节点,其中,所述发送节点为任意VTEP节点;
生成模块,用于根据所述ICMP请求报文生成ICMP应答报文,其中,所述ICMP应答报文包括所述发送节点的身份信息;
第一发送模块,用于将所述ICMP应答报文发送至所述第一设备中的目标节点,以使如果所述目标节点与所述发送节点不一致,则所述目标节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
8.一种链路检测装置,其特征在于,设置于第一设备,包括:发送节点和非发送节点;所述发送节点包括:
第二发送模块,用于向第二设备发送ICMP请求报文,其中,所述ICMP请求报文中携带所述发送节点的身份信息;
所述非发送节点包括:
第二接收模块,用于若接收到第二设备发送的ICMP应答报文,且所述ICMP应答报文中携带的发送节点的身份信息和所述非发送节点的身份信息不匹配,则所述非发送节点将所述ICMP应答报文转发给所述发送节点,由所述发送节点确定所述发送节点与所述第二设备之间的链路检测成功。
9.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6任一所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011118176.9A CN114389967A (zh) | 2020-10-19 | 2020-10-19 | 链路检测方法、装置、设备和存储介质 |
PCT/CN2021/124555 WO2022083563A1 (zh) | 2020-10-19 | 2021-10-19 | 链路检测方法、链路检测装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011118176.9A CN114389967A (zh) | 2020-10-19 | 2020-10-19 | 链路检测方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114389967A true CN114389967A (zh) | 2022-04-22 |
Family
ID=81192970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011118176.9A Pending CN114389967A (zh) | 2020-10-19 | 2020-10-19 | 链路检测方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114389967A (zh) |
WO (1) | WO2022083563A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378816A (zh) * | 2022-08-02 | 2022-11-22 | 深信服科技股份有限公司 | 网络配置检测方法、装置及存储介质 |
CN116170304A (zh) * | 2022-12-09 | 2023-05-26 | 广州通则康威智能科技有限公司 | 网络设备配置文件检查方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978942B (zh) * | 2022-05-13 | 2024-05-24 | 深信服科技股份有限公司 | 一种路由器检测方法、装置及电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330605A (zh) * | 2016-08-23 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种报文处理方法及装置 |
CN111130982A (zh) * | 2019-12-31 | 2020-05-08 | 迈普通信技术股份有限公司 | 报文转发方法、装置、网关设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014179533A1 (en) * | 2013-05-01 | 2014-11-06 | Adc Telecommunications, Inc. | Enhanced route tracing |
US9800497B2 (en) * | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
CN106559325B (zh) * | 2015-09-25 | 2020-06-09 | 华为技术有限公司 | 路径检测方法和装置 |
CN107517116B (zh) * | 2016-06-16 | 2022-07-15 | 中兴通讯股份有限公司 | 一种多段伪线检测方法和网元 |
-
2020
- 2020-10-19 CN CN202011118176.9A patent/CN114389967A/zh active Pending
-
2021
- 2021-10-19 WO PCT/CN2021/124555 patent/WO2022083563A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330605A (zh) * | 2016-08-23 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种报文处理方法及装置 |
CN111130982A (zh) * | 2019-12-31 | 2020-05-08 | 迈普通信技术股份有限公司 | 报文转发方法、装置、网关设备及可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378816A (zh) * | 2022-08-02 | 2022-11-22 | 深信服科技股份有限公司 | 网络配置检测方法、装置及存储介质 |
CN115378816B (zh) * | 2022-08-02 | 2024-02-23 | 深信服科技股份有限公司 | 网络配置检测方法、装置及存储介质 |
CN116170304A (zh) * | 2022-12-09 | 2023-05-26 | 广州通则康威智能科技有限公司 | 网络设备配置文件检查方法、装置、设备及存储介质 |
CN116170304B (zh) * | 2022-12-09 | 2023-08-08 | 广州通则康威智能科技有限公司 | 网络设备配置文件检查方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022083563A1 (zh) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574616B (zh) | 一种处理路由的方法、设备及系统 | |
EP3993347A1 (en) | Method and device for application migration | |
US8549286B2 (en) | Method and system for forwarding data between private networks | |
EP3437259B1 (en) | Interworking between physical network and virtual network | |
CN103685022B (zh) | 报文转发方法及服务提供商网络边缘设备 | |
WO2017197885A1 (zh) | 用于虚拟可扩展局域网的通信方法和装置 | |
CN114389967A (zh) | 链路检测方法、装置、设备和存储介质 | |
CN113098770B (zh) | 报文发送方法、路由表项的生成方法、装置及存储介质 | |
CN112491701B (zh) | 转发报文方法和装置 | |
CN113872845B (zh) | 建立vxlan隧道的方法及相关设备 | |
CN110445702B (zh) | 一种报文转发方法及设备 | |
WO2019080592A1 (zh) | 一种发送报文的方法和设备 | |
EP4191966A1 (en) | Method and device for processing data message, storage medium, and electronic device | |
EP4092974A1 (en) | Method and device for segment routing service processing, routing equipment, and storage medium | |
US12068955B2 (en) | Method for controlling traffic forwarding, device, and system | |
CN111614505B (zh) | 报文处理的方法和网关设备 | |
CN111132170A (zh) | 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 | |
CN113162779B (zh) | 一种多云互联的方法及设备 | |
US12068887B2 (en) | Data transmission method, apparatus, and network device | |
EP3767900B1 (en) | Method for discovering forwarding path, and related device thereof | |
CN114553707B (zh) | 网络的拓扑信息的生成和网络故障的定界方法、装置 | |
EP3503484A1 (en) | Message transmission method, device and network system | |
CN112187584A (zh) | 路径故障探测方法、系统、服务器及存储介质 | |
CN116566897A (zh) | 一种寻址路由方法、装置、设备及介质 | |
CN112994928B (zh) | 一种虚拟机的管理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |