CN107872332A - 一种报文转发路径的探测方法及相关装置 - Google Patents

一种报文转发路径的探测方法及相关装置 Download PDF

Info

Publication number
CN107872332A
CN107872332A CN201610845775.8A CN201610845775A CN107872332A CN 107872332 A CN107872332 A CN 107872332A CN 201610845775 A CN201610845775 A CN 201610845775A CN 107872332 A CN107872332 A CN 107872332A
Authority
CN
China
Prior art keywords
messages
equipment
message
purpose equipment
source device
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.)
Granted
Application number
CN201610845775.8A
Other languages
English (en)
Other versions
CN107872332B (zh
Inventor
高满仓
李久勇
张新钢
朱明明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610845775.8A priority Critical patent/CN107872332B/zh
Priority to US15/708,760 priority patent/US10284461B2/en
Priority to EP17191953.3A priority patent/EP3300322B1/en
Publication of CN107872332A publication Critical patent/CN107872332A/zh
Application granted granted Critical
Publication of CN107872332B publication Critical patent/CN107872332B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种报文转发路径的探测方法及相关装置,能够探测任意两个设备之间的报文转发路径。该方法包括:控制器确定源设备和目的设备,源设备和目的设备之间包括至少一个中间设备;控制器向源设备发送包含探测标识的IP报文;探测标识位于IP报文的TCP头的确认ACK字段中;控制器接收目的设备发送的第一消息和中间设备发送的第二消息,第一消息包括所述目的设备根据探测标识捕获的IP报文以及IP报文的第一入接口标识;第二消息包括中间设备根据探测标识捕获的IP报文以及IP报文的第二入接口标识;控制器根据目的设备上送的IP报文和第一入接口标识、中间设备上送的IP报文和第二入接口标识以及网络拓扑确定IP报文的转发路径。

Description

一种报文转发路径的探测方法及相关装置
技术领域
本发明涉及通信领域,特别涉及一种报文转发路径的探测方法及相关装置。
背景技术
虚拟可扩展局域网(英文:Virtual eXtensible Local Area Network,简称:VXLAN)是一种网络虚拟化技术,用于改善大规模云计算部署所带来的扩展性问题。它应用于数据中心网络内部,使虚拟机(英文:virtual machine,简称:VM)可以在互相连通的三层网络范围内迁移,而不需要改变VM的因特网协议(英文:Internet Protocol,简称:IP)地址和媒体访问控制(英文:media access control,MAC)地址,保证业务的连续性。VXLAN通过在物理网络的边缘设置智能实体即VXLAN隧道终结点(英文:VXLAN Tunnel End Point,简称:VTEP),实现了虚拟网络和物理网络的隔离。VTEPs之间建立隧道,通过隧道在物理网络上传输虚拟网络的数据帧,物理网络不感知虚拟网络。
数据中心网络运维过程中,出于流量监控,故障定位等目的,需要了解数据中心网络中任意两个VTEPs之间报文的转发路径、数据中心网络中两个特定VMs之间特定流量(通过特定协议类型,特定源和目的端口号中的至少一个识别)的转发路径以及VM和传统网络中服务器或者主机之间特定流量的转发路径。
现有技术中,通过将VXLAN封装报文的VXLAN头的最后一个保留(英文:reserved)字节的最后一个比特位置1来作为探测标记,以识别探测报文。控制器通过数据包传出(英文:packet-out)消息将VXLAN封装的探测报文发送到源设备,源设备在发送该探测报文时,置VXLAN头里的reserved字段最后一个比特位为1,探测报文在数据中心网络中转发时,收到该探测报文的网络设备将该探测报文通过数据包传入(英文:packet-in)消息发送给控制器,由控制器根据接收的多个探测报文计算出该控制器发送的探测报文的实际转发路径。
上述方案中,由于探测报文的探测标识在VXLAN头里,因此只能确定探测报文在VXLAN网络转发时的路径,若探测报文的目的设备为VXLAN网络外的服务器,则探测报文到VXLAN网关处被剥离VXLAN头之后就无法再携带该探测标识了,所以上述方案只能探测源设备到网关的路径,而无法探测出源设备到目的设备的完整路径。即使网关可以为探测报文再次封装VXLAN头,但是由于网关不会为探测报文添加探测标识,导致跨子网的源设备和目的设备之间的报文转发路径的探测在网关处就会被截断,也无法探测出源设备和目的设备之间的完整路径。
发明内容
本申请提供了一种报文转发路径的探测方法及相关装置,能够探测任意两个设备之间的报文转发路径,提高网络运维效率。
本申请第一方面提供了一种报文转发路径的探测方法,该方法中,由控制器确定需要探测报文转发路径的源设备和目的设备,其中,该源设备和该目的设备之间包括至少一个中间设备,该中间设备用于转发报文;其中,该源设备和该目的设备属于不同的网段,例如该源设备属于第一网段,该目的设备属于第二网段;该中间设备所属的网段此处不作限定。
在确定源设备和目的设备后,该控制器向该源设备发送包含探测标识的IP报文,该源设备接收该IP报文后需要将该IP报文发往该目的设备;其中,该探测标识位于该IP报文的TCP头的确认ACK字段中;这样即使该IP报文转发到非源设备所属的网段中,该探测标识也能得到保留。因此,该目的设备以及该源设备和该目的设备之间的中间设备就可以根据该探测标识捕获该IP报文,该目的设备和该中间设备分别将各自捕获的该IP报文以及设备接收该IP报文的接口的接口标识承载于对应的消息中,并上送给该控制器。
该控制器接收该目的设备发送的第一消息和该中间设备发送的第二消息,由于该目的设备将捕获的该IP报文以及目的设备接收该IP报文的接的标识承载于第一消息中,该中间设备将捕获的该IP报文以及中间设备接收该IP报文的接口的标识承载于第二消息中,因此,该第一消息包括该目的设备根据该探测标识捕获的该IP报文以及该IP报文的第一入接口标识,所述第一入接口标识用于指示所述目的设备接收所述IP报文的接口;该第二消息包括该中间设备根据该探测标识捕获的该IP报文以及该IP报文的第二入接口标识,所述第二入接口标识用于指示所述中间设备接收所述IP报文的接口;该控制器根据该目的设备上送的该IP报文和该第一入接口标识、该中间设备上送的该IP报文和该第二入接口标识以及网络拓扑就可以确定该IP报文的转发路径,从而探测出该源设备和该目的设备之间的报文转发路径。该源设备和该目的设备为属于不同网段的任意两个设备,因此,通过该方法能够探测任意两个设备之间的报文转发路径,进而实现跨子网和跨VXLAN网络的报文转发路径的探测,提高网络运维效率。
结合本申请第一方面,在第一方面的第一种实现方式中,该控制器向该源设备发送包含探测标识的IP报文之前,该控制器在确定需要探测报文转发路径的源设备和目的设备后,进一步确定所述源设备的源端口号和所述目的设备的目的端口号;
在确定源端口号以及目的端口号后,该控制器进一步构造包含探测标识的该IP报文,该IP报文包含该源设备的IP地址、该目的设备的IP地址、该源端口号以及该目的端口号。
结合本申请第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,该IP报文的有效载荷部分包含校验字段;该校验字段用于使该目的设备或该中间设备过滤捕获的数据报文,以确定包含该探测标识的该IP报文。由于存在一定的概率除该IP报文之外的其他数据报文会被误捕获,所以通过在该IP报文的有效载荷部分设置校验字段,该目的设备或该中间设备可以通过进一步校验该IP报文的校验字段以过滤掉误捕获的其他数据报文,将真正的包含探测标识的该IP报文发送给控制器。
结合本申请第一方面或第一方面的第一种实现方式,在第一方面的第三种实现方式中,该源设备所属的第一网段为VXLAN,该目的设备所属的第二网段为接入该VXLAN的外部网络。因此,通过探测源设备和目的设备之间的报文转发路径就能实现跨VXLAN网络的报文转发路径的探测。
结合本申请第一方面或第一方面的第一种实现方式,在第一方面的第四种实现方式中,该源设备所属的第一网段为VXLAN中的第一子网,该目的设备所属的第二网段为该VXLAN中的第二子网。因此,通过探测源设备和目的设备之间的报文转发路径就能实现VXLAN网络中跨子网的报文转发路径的探测。
本申请第二方面提供了一种报文转发路径的探测装置,该装置包括:
处理单元,用于确定源设备和目的设备,该源设备和该目的设备之间包括至少一个中间设备,该源设备属于第一网段,该目的设备属于第二网段;
收发单元,用于向该源设备发送包含探测标识的IP报文,以使该源设备将该IP报文发往该目的设备;该探测标识位于该IP报文的TCP头的确认ACK字段中;
该收发单元,还用于接收该目的设备发送的第一消息和该中间设备发送的第二消息,该第一消息包括该目的设备根据该探测标识捕获的该IP报文以及该IP报文的第一入接口标识,所述第一入接口标识用于指示所述目的设备接收所述IP报文的接口;该第二消息包括该中间设备根据该探测标识捕获的该IP报文以及该IP报文的第二入接口标识,所述第二入接口标识用于指示所述中间设备接收所述IP报文的接口;
该处理单元,还用于根据该目的设备上送的该IP报文和该第一入接口标识、该中间设备上送的该IP报文和该第二入接口标识以及网络拓扑确定该IP报文的转发路径。
该装置中,由于该探测标识位于该IP报文头的确认ACK字段中;这样即使该IP报文转发到非源设备所属的网段中,该探测标识也能得到保留;因此,该目的设备以及该源设备和该目的设备之间的中间设备就可以根据该探测标识捕获该IP报文,该目的设备和该中间设备分别将各自捕获的该IP报文以及设备对应的接口信息承载于对应的消息中,并上送给该收发单元;该收发单元接收该目的设备和该中间设备分别上送的消息后,该处理单元根据每条消息中承载的IP报文和对应的入接口标识,以及网络拓扑就可以确定该IP报文的转发路径,从而实现探测任意两个设备之间的报文转发路径,进而实现跨子网和跨VXLAN网络的报文转发路径的探测,提高网络运维效率。
结合本申请第二方面,在第二方面的第一种实现方式中,该处理单元还用于:
确定所述源设备的源端口号和所述目的设备的目的端口号;
生成该IP报文,该IP报文还包含该源设备的IP地址、该目的设备的IP地址、该源端口号以及该目的端口号。
结合本申请第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,该IP报文的有效载荷部分包含校验字段;该校验字段用于使该目的设备或该中间设备过滤捕获的数据报文,以确定包含该探测标识的该IP报文。通过在该IP报文的有效载荷部分设置校验字段,该目的设备或该中间设备可以通过进一步校验该IP报文的校验字段以过滤掉误捕获的其他数据报文,将真正的包含探测标识的该IP报文发送给该装置。
结合本申请第二方面或第二方面的第一种实现方式,在第二方面的第三种实现方式中,该源设备所属的第一网段为VXLAN,该目的设备所属的第二网段为接入该VXLAN的外部网络。因此,通过探测源设备和目的设备之间的报文转发路径就能实现跨VXLAN网络的报文转发路径的探测。
结合本申请第二方面或第二方面的第一种实现方式,在第二方面的第四种实现方式中,该源设备所属的第一网段为VXLAN中的第一子网,该目的设备所属的第二网段为该VXLAN中的第二子网。因此,通过探测源设备和目的设备之间的报文转发路径就能实现VXLAN网络中跨子网的报文转发路径的探测。
本申请第三方面提供了一种控制器,该控制器包括处理器、收发器以及存储器,该存储器用于存储指令,该处理器用于执行所述指令以执行本申请第一方面或第一方面的任一种实现方式中提供的报文转发路径的探测方法。
本申请的第四方面,提供了一种存储介质,该存储介质中存储了程序代码,该程序代码被控制器运行时,执行第一方面或第一方面的任意一种实现方式提供的报文转发路径的探测方法。该存储介质包括但不限于快闪存储器(英文:flash memory),硬盘(英文:harddisk drive,简称:HDD)或固态硬盘(英文:solid state drive,简称:SSD)。
附图说明
图1为本申请提供的数据中心网络的架构示意图;
图2为本申请提供的通信系统的结构示意图;
图3为本申请提供的控制器的结构示意图;
图4为本申请提供的报文转发路径的探测方法的流程示意图;
图5为本申请提供的报文转发路径的探测装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请中描述的实施例能够以除了在下面图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本发明实施例应用于数据中心网络中,如图1所示,该数据中心网络中部署了VXLAN技术,该数据中心网络包括运营在服务器(图中未示出)上的多个VMs(图中示出了VM1~4),该多个虚拟机分别通过对应的VTEP接入VXLAN网络,例如,VM1通过VTEP1接入VXLAN网络。其中,为了提高网络可靠性,以VTEP1为例,图1中VTEP1配置两个VTEP设备,这两个VTEP设备的IP地址一致,通过端口聚合技术,对外展现为一个端口,VM1发送的报文则可以通过这两个VTEP设备中的任意一个转发。该VXLAN网络包括VXLAN技术标准中定义的VTEP、三层转发汇聚设备和VXLAN网关。该VTEP用于实现物理网络和虚拟网络的隔离,完成VXLAN报文的封装和解封装;对于接入VXLAN网络的多个VMs,该VXLAN网关用于实现多个VMs之间报文的转发。其中,VTEP、三层转发汇聚设备和VXLAN网关可以是部署在服务器上的虚拟交换机,也可以是物理交换机。图1中的交换机DSW1~DSW4为VXLAN网关或VTEP,交换机PSW1~PSW4为三层转发汇聚设备。此外,该数据中心网络还包括与VXLAN网络通信的其他设备,例如图1中的交换机LSW1、LSW2和服务器。
本申请提供了一种通信系统,该通信系统如图2所示,包括控制器200和数据中心网络100,该数据中心网络100的结构可参考图1,该控制器200能够和该数据中心网络100中的任意一台设备通信。
图2所示的控制器200,能够探测任意IP之间特定流量的转发路径和特定VTEP之间的所有转发路径,例如能够探测图1中VTEP1到VTEP2之间的所有转发路径、VM1和VM3之间特定流量的转发路径或VM和传统网络中服务器之间特定流量的转发路径等,该控制器200的结构示意图如图3所示,包括处理器202、存储器204和收发器206,还可以包括总线208。
其中,处理器202、存储器204和收发器206可以通过总线208实现彼此之间的通信连接,也可以通过无线传输等其他手段实现通信。
存储器204可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,简称:RAM);存储器204也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,简称:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,简称:HDD)或固态硬盘(英文:solid state drive,简称:SSD);存储器204还可以包括上述种类的存储器的组合。在通过软件来实现本申请提供的技术方案时,用于实现本申请图4提供的报文转发路径的探测方法中由控制器执行的程序代码保存在存储器204中,并由处理器202来执行。
控制器200通过收发器206与网络设备通信。
处理器202可以为中央处理器CPU。
该处理器202用于确定源设备和目的设备,所述源设备和所述目的设备之间包括至少一个中间设备,所述源设备属于第一网段,所述目的设备属于第二网段;
该收发器206,用于向所述源设备发送包含探测标识的IP报文,以使所述源设备将所述IP报文发往所述目的设备;所述探测标识位于所述IP报文的TCP头的确认ACK字段中;
该收发器206,还用于接收所述目的设备发送的第一消息和所述中间设备发送的第二消息,所述第一消息包括所述目的设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第一入接口标识,所述第一入接口标识用于指示所述目的设备接收所述IP报文的接口;所述第二消息包括所述中间设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第二入接口标识,所述第二入接口标识用于指示所述中间设备接收所述IP报文的接口;
该处理器202,还用于根据所述目的设备上送的所述IP报文和所述第一入接口标识、所述中间设备上送的所述IP报文和所述第二入接口标识以及网络拓扑确定所述IP报文的转发路径。
本申请实施例中,处理器202确定源设备和目的设备;通过收发器206向所述源设备发送包含探测标识的IP报文;由于该探测标识位于该IP报文头的确认ACK字段中;这样即使该IP报文转发到非源设备所属的网段中,该探测标识也能得到保留;因此,目的设备以及源设备和所述目的设备之间的中间设备就可以根据该探测标识捕获该IP报文,该目的设备和该中间设备分别将各自捕获的该IP报文以及设备对应的接口信息承载于对应的消息中,并上送给收发器206;该收发器206接收该目的设备和该中间设备分别上送的消息,该处理器202根据每条消息中承载的IP报文和对应的入接口标识,以及网络拓扑就可以确定该IP报文的转发路径,从而实现探测任意两个IP地址之间报文的转发路径,进而实现跨子网和跨VXLAN网络的报文转发路径的探测,提高网络运维效率。
可选的,该处理器202还用于:
确定所述源设备的源端口号和所述目的设备的目的端口号;
生成所述IP报文,所述IP报文还包含所述源设备的IP地址、所述目的设备的IP地址、所述源端口号以及所述目的端口号。
可选的,所述IP报文的有效载荷部分包含校验字段;所述校验字段用于使所述目的设备或所述中间设备过滤捕获的数据报文,以确定包含所述探测标识的所述IP报文。
可选的,所述第一网段为VXLAN,所述第二网段为接入所述VXLAN的外部网络。
可选的,所述第一网段为VXLAN中的第一子网,所述第二网段为VXLAN中的第二子网。
本申请还提供了一种报文转发路径的探测方法,图2或图3中的控制器200运行时执行该方法,其流程示意图如图4所示。
301、控制器确定源设备和目的设备,所述源设备和所述目的设备之间包括至少一个中间设备,所述源设备属于第一网段,所述目的设备属于第二网段。
需要说明的是,控制器首先需要确定源设备和目的设备,以进行后续IP报文转发路径的探测,其中,该源设备和该目的设备属于不同的网段,该源设备和该目的设备之间还存在至少一个中间设备,该中间设备能够以转发的形式将源设备发出的IP报文最后转发至目的设备,本实施例中,对该中间设备的数量不作限制,如果存在多个中间设备,那么相邻的中间设备之间可以进行IP报文的转发,最后将IP报文转发至目的设备。
该源设备和该目的设备可以属于不同的网络,可选的,该第一网段可以是VXLAN,该第二网段可以是接入该VXLAN的外部网络。
该源设备和该目的设备可以是同一网络下的不同子网,可选的,该第一网段可以是VXLAN中的第一子网,该第二网段可以是VXLAN中的第二子网。
302、所述控制器生成包含探测标识的IP报文,所述探测标识位于所述IP报文的TCP头的确认号ACK字段中。
可选的,该方法还包括:
所述控制器确定所述源设备的源端口号和所述目的设备的目的端口号;
所述控制器生成所述IP报文,所述IP报文还包含所述源设备的IP地址、所述目的设备的IP地址、所述源端口号以及所述目的端口号。
其中,所述源端口号和所述目的端口号可以是由网络维护人员指定,或者由所述控制器根据一定的规则确定。
需要说明的是,控制器构造包含探测标识的IP报文,将4字节的探测标识放在该IP报文TCP头的Acknowledgment number(简称ACK)字段里,并根据源设备和目的设备的端口信息将对应的源端口号、目的端口号、源IP以及目的IP写入该IP报文中。
可选的,所述IP报文的有效载荷部分包含校验字段;所述校验字段用于使所述目的设备或所述中间设备过滤捕获的数据报文,以确定包含所述探测标识的所述IP报文。
例如在该IP报文的有效载荷(英文:payload)里加上路径探测的其他字段,具体包括82字节的全0预留字节,4字节的全F探测标识,1字节的探测类型,3字节的保留字段,一个探测标识TLV(英文:Type-Length-Value),一个VPN名称TLV,通过packet-out消息发送给源设备(也即探测起始网络设备),具体payload格式如下表1所示:
表1
Payload报文
Payload Reserved
P_OAM_FLAG
OamType
P_OAM_RSV
P_TESTID_TYPE
P_TESTID_LEN
testID
P_VPN_NAME_TYPE
VPN_LEN
VPN Name
表1中的Payload报文部分包括102字节和VPN名称长度,具体包括82字节固定值为0的预留字节(表1中Payload Reserved);4字节固定值为0xFFFFFFFF的探测标识(表1中P_OAM_FLAG);1字节的探测类型(表1中OamType);3字节的预留字节P_OAM_RSV;2字节固定值为0xF001的探测标识type(表1中P_TESTID_TYPE);2字节固定值为4的探测标识length(表1中P_TESTID_LEN);4字节探测标识(表1中testID);2字节固定值为0xF002的VPN名称type(表1中P_VPN_NAME_TYPE);2字节VPN名称len(表1中VPN_LEN);VPN名称(表1中VPN Name)。
303、所述控制器向所述源设备发送所述IP报文,以使所述源设备将所述IP报文发往所述目的设备。
需要说明的是,该控制器将生成的该IP报文通过packet-out消息发送给源设备(即探测起始网络设备)。该源设备接收到该IP报文后,将该IP报文发送出去。
304、当所述IP报文发送至所述中间设备时,所述中间设备根据所述探测标识捕获所述IP报文,并向所述控制器发送第二消息。
中间设备根据该探测标识捕获该IP报文,例如具体通过硬件访问控制列表(英文:access control list,简称:ACL)规则捕获TCP头Acknowledgement字段内容是0x4f414d21的报文。由于存在一定的概率除该IP报文之外的其他数据报文会被误捕获,所以该中间设备还需要进一步校验该IP报文的payload中的信息(具体有payload中的探测标识,以及两个TLV)以过滤掉误捕获的其他数据报文,将真正的包含探测标识的该IP报文通过该第二消息(例如packet-in消息)发送给控制器。
该第二消息包括该IP报文以及该IP报文的第二入接口标识,所述第二入接口标识用于指示所述中间设备接收所述IP报文的接口;该第二消息为Openflow标准协议中规定的消息类型(例如packet-in消息),控制器通过该第二消息指定转发器发包。
305、当所述IP报文发送至所述目的设备时,所述目的设备根据所述探测标识捕获所述IP报文,并向所述控制器发送第一消息。
参照步骤304的理解,该步骤中目的设备根据该探测标识捕获该IP报文,也需要进一步校验该IP报文的payload中的信息,此处不再赘述。
该第一消息包括该IP报文以及该IP报文的第一入接口标识,所述第一入接口标识用于指示所述目的设备接收所述IP报文的接口;该第一消息与上述第二消息均为OpenFlow标准协议中规定的消息类型(例如packet-in消息)。
306、所述控制器接收所述目的设备发送的第一消息和所述中间设备发送的第二消息。
需要说明的是,控制器接收网络中每个参与转发该IP报文的网络设备上送的packet-in消息,该步骤中,参与转发该IP报文的网络设备对应为目的设备和中间设备,因此,该控制器接收的packet-in消息包括该目的设备发送的第一消息和该中间设备发送的第二消息。
307、所述控制器根据所述目的设备上送的所述IP报文和所述第一入接口标识、所述中间设备上送的所述IP报文和所述第二入接口标识以及网络拓扑确定所述IP报文的转发路径。
需要说明的是,上述第一消息和第二消息中包括该控制器确定该IP报文转发路径的一些参数,例如该第一消息中包括该IP报文以及该IP报文的第一入接口标识。该控制器根据参与转发该IP报文的各设备上送的packet-in消息以及各设备之间的连接关系确定该IP报文的转发路径。本实施例中,该控制器根据第一消息和第二消息中IP报文的生存时间(英文:time to live,简称:TTL)值获取该IP报文经过各网络设备的先后顺序,根据该IP报文进入网络设备的入接口标识(参与转发该IP报文的各设备上送的packet-in消息中会携带)和网络拓扑,就可以确定出该IP报文的整个转发路径。需要说明的是,该控制器可以预先获取网络拓扑,该网络拓扑包括数据中心网络中所有设备之间的连接关系。
本申请实施例中,控制器确定源设备和目的设备;所述控制器向所述源设备发送包含探测标识的IP报文;由于该探测标识位于该IP报文头的确认号ACK字段中;这样即使该IP报文转发到非源设备所属的网段中,该探测标识也能得到保留;因此,目的设备以及源设备和所述目的设备之间的中间设备就可以根据该探测标识捕获该IP报文,该目的设备和该中间设备分别将各自捕获的该IP报文以及设备对应的接口信息承载于对应的消息中,并上送给控制器;该控制器接收该目的设备和该中间设备分别上送的消息,根据每条消息中承载的IP报文和对应的入接口标识,以及网络拓扑就可以确定该IP报文的转发路径,从而实现探测任意两个IP地址之间报文的转发路径,进而实现跨子网和跨VXLAN网络的报文转发路径的探测,提高网络运维效率。
下面以一具体应用场景对本申请提供的方法加以说明。以图1所示的数据中心网络为例,例如需要探测VM1到VM3间,IP报文,四层源端口号为SPORT,目的端口号为DPORT的特定流量转发路径,则控制器构造源IP地址为VM1的IP地址,目的IP地址为VM3的IP地址,源端口号为SPORT,目的端口号为DPORT的IP报文,将探测标识放到该IP报文TCP头的ACK字段中,通过packet-out消息将包含该探测标识的IP报文发送到源设备VTEP1上,VTEP1设备将该IP报文发送出去,该IP报文经过PSW2、DSW2、PSW3,VTEP3设备时,分别被各个设备捕获,各个设备将该IP报文和该IP报文的入接口标识通过packet-in消息上送控制器,控制器根据该IP报文的TTL,在各个设备上的入接口,以及各个设备之间的连接关系,就可以计算出这条特定流量所经过的路径并展示出来。
再例如,如果需要探测VTEP1和VTEP2之间的所有转发路径,则控制器构造源IP地址为VTEP1,目的IP地址为VTEP2,源端口和目的端口号跳变的大量包含探测标识的IP报文,并通过packet-out消息将包含该探测标识的IP报文发送到VTEP1上,VTEP1发送这些IP报文,这些IP报文经过不同的转发路径时,被路径上的各网络设备捕获并上送控制器,控制器根据这些IP报文的源端口号,目的端口号,TTL,入接口标识等特征以及各个设备之间的连接关系,计算出这些IP报文经过的所有路径并展示出来。
本申请实施例还提供了报文转发路径的探测装置400,该报文转发路径的探测装置400可以通过图2或图3所示的控制器200实现,还可以通过专用集成电路(英文:application-specific integrated circuit,简称:ASIC)实现,或可编程逻辑器件(英文:programmable logic device,简称:PLD)实现。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,简称:CPLD),FPGA,通用阵列逻辑(英文:genericarray logic,简称:GAL)或其任意组合。该报文转发路径的探测装置400用于实现图4所示的报文转发路径的探测方法中由控制器执行的方法。通过软件实现图4所示的报文转发路径的探测方法时,该报文转发路径的探测装置400也可以为软件模块。
报文转发路径的探测装置400的结构示意图如图5所示,包括:处理单元402和收发单元404。
处理单元402用于确定源设备和目的设备,所述源设备和所述目的设备之间包括至少一个中间设备,所述源设备属于第一网段,所述目的设备属于第二网段;
收发单元404用于向所述源设备发送包含探测标识的IP报文,以使所述源设备将所述IP报文发往所述目的设备;所述探测标识位于所述IP报文的TCP头的确认ACK字段中;
所述收发单元404,还用于接收所述目的设备发送的第一消息和所述中间设备发送的第二消息,所述第一消息包括所述目的设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第一入接口标识,所述第一入接口标识用于指示所述目的设备接收所述IP报文的接口;所述第二消息包括所述中间设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第二入接口标识,所述第二入接口标识用于指示所述中间设备接收所述IP报文的接口;
所述处理单元402,还用于根据所述目的设备上送的所述IP报文和所述第一入接口标识、所述中间设备上送的所述IP报文和所述第二入接口标识以及网络拓扑确定所述IP报文的转发路径。
本申请实施例中,处理单元402确定源设备和目的设备;通过收发单元404向所述源设备发送包含探测标识的IP报文;由于该探测标识位于该IP报文头的确认ACK字段中;这样即使该IP报文转发到非源设备所属的网段中,该探测标识也能得到保留;因此,目的设备以及源设备和所述目的设备之间的中间设备就可以根据该探测标识捕获该IP报文,该目的设备和该中间设备分别将各自捕获的该IP报文以及设备对应的接口信息承载于对应的消息中,并上送给收发单元404;该收发单元404接收该目的设备和该中间设备分别上送的消息,该处理单元402根据每条消息中承载的IP报文和对应的入接口标识,以及网络拓扑就可以确定该IP报文的转发路径,从而实现探测任意两个IP地址之间报文的转发路径,进而实现跨子网和跨VXLAN网络的报文转发路径的探测,提高网络运维效率。
可选的,所述处理单元402还用于:
确定源端口号以及目的端口号;
生成所述IP报文,所述IP报文还包含所述源设备的IP地址、所述目的设备的IP地址、所述源端口号以及所述目的端口号。
可选的,所述IP报文的有效载荷部分包含校验字段;所述校验字段用于使所述目的设备或所述中间设备过滤捕获的数据报文,以确定包含所述探测标识的所述IP报文。
可选的,所述第一网段为VXLAN,所述第二网段为接入所述VXLAN的外部网络。
可选的,所述第一网段为VXLAN中的第一子网,所述第二网段为VXLAN中的第二子网。上述装置的相关描述可以对应参阅方法实施例部分的相关描述和效果进行理解,本处不做过多赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种报文转发路径的探测方法,其特征在于,包括:
控制器确定源设备和目的设备,所述源设备和所述目的设备之间包括至少一个中间设备,所述源设备属于第一网段,所述目的设备属于第二网段;
所述控制器向所述源设备发送包含探测标识的因特网协议IP报文,以使所述源设备将所述IP报文发往所述目的设备;所述探测标识位于所述IP报文的TCP头的确认号ACK字段中;
所述控制器接收所述目的设备发送的第一消息和所述中间设备发送的第二消息,所述第一消息包括所述目的设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第一入接口标识,所述第一入接口标识用于指示所述目的设备接收所述IP报文的接口;所述第二消息包括所述中间设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第二入接口标识,所述第二入接口标识用于指示所述中间设备接收所述IP报文的接口;
所述控制器根据所述目的设备上送的所述IP报文和所述第一入接口标识、所述中间设备上送的所述IP报文和所述第二入接口标识以及网络拓扑确定所述IP报文的转发路径。
2.根据权利要求1所述的方法,其特征在于,所述控制器向所述源设备发送包含探测标识的IP报文之前,所述方法还包括:
所述控制器确定所述源设备的源端口号和所述目的设备的目的端口号;
所述控制器生成所述IP报文,所述IP报文还包含所述源设备的IP地址、所述目的设备的IP地址、所述源端口号以及所述目的端口号。
3.根据权利要求1或2所述的方法,其特征在于,所述IP报文的有效载荷部分包含校验字段;所述校验字段用于使所述目的设备或所述中间设备过滤捕获的数据报文,以确定包含所述探测标识的所述IP报文。
4.根据权利要求1或2所述的方法,其特征在于,所述第一网段为虚拟可扩展局域网VXLAN,所述第二网段为接入所述VXLAN的外部网络。
5.根据权利要求1或2所述的方法,其特征在于,所述第一网段为虚拟可扩展局域网VXLAN中的第一子网,所述第二网段为所述VXLAN中的第二子网。
6.一种报文转发路径的探测装置,其特征在于,包括:
处理单元,用于确定源设备和目的设备,所述源设备和所述目的设备之间包括至少一个中间设备,所述源设备属于第一网段,所述目的设备属于第二网段;
收发单元,用于向所述源设备发送包含探测标识的因特网协议IP报文,以使所述源设备将所述IP报文发往所述目的设备;所述探测标识位于所述IP报文的TCP头的确认号ACK字段中;
所述收发单元,还用于接收所述目的设备发送的第一消息和所述中间设备发送的第二消息,所述第一消息包括所述目的设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第一入接口标识,所述第一入接口标识用于指示所述目的设备接收所述IP报文的接口;所述第二消息包括所述中间设备根据所述探测标识捕获的所述IP报文以及所述IP报文的第二入接口标识,所述第二入接口标识用于指示所述中间设备接收所述IP报文的接口;
所述处理单元,还用于根据所述目的设备上送的所述IP报文和所述第一入接口标识、所述中间设备上送的所述IP报文和所述第二入接口标识以及网络拓扑确定所述IP报文的转发路径。
7.根据权利要求6所述的装置,其特征在于,所述处理单元还用于:
确定所述源设备的源端口号和所述目的设备的目的端口号;
生成所述IP报文,所述IP报文还包含所述源设备的IP地址、所述目的设备的IP地址、所述源端口号以及所述目的端口号。
8.根据权利要求6或7所述的装置,其特征在于,所述IP报文的有效载荷部分包含校验字段;所述校验字段用于使所述目的设备或所述中间设备过滤捕获的数据报文,以确定包含所述探测标识的所述IP报文。
9.根据权利要求6或7所述的装置,其特征在于,所述第一网段为虚拟可扩展局域网VXLAN,所述第二网段为接入所述VXLAN的外部网络。
10.根据权利要求6或7所述的装置,其特征在于,所述第一网段为虚拟可扩展局域网VXLAN中的第一子网,所述第二网段为所述VXLAN中的第二子网。
CN201610845775.8A 2016-09-23 2016-09-23 一种报文转发路径的探测方法及相关装置 Expired - Fee Related CN107872332B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610845775.8A CN107872332B (zh) 2016-09-23 2016-09-23 一种报文转发路径的探测方法及相关装置
US15/708,760 US10284461B2 (en) 2016-09-23 2017-09-19 Method and related apparatus for probing packet forwarding path
EP17191953.3A EP3300322B1 (en) 2016-09-23 2017-09-19 Method and related apparatus for probing packet forwarding path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610845775.8A CN107872332B (zh) 2016-09-23 2016-09-23 一种报文转发路径的探测方法及相关装置

Publications (2)

Publication Number Publication Date
CN107872332A true CN107872332A (zh) 2018-04-03
CN107872332B CN107872332B (zh) 2020-12-22

Family

ID=59997065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610845775.8A Expired - Fee Related CN107872332B (zh) 2016-09-23 2016-09-23 一种报文转发路径的探测方法及相关装置

Country Status (3)

Country Link
US (1) US10284461B2 (zh)
EP (1) EP3300322B1 (zh)
CN (1) CN107872332B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110620728A (zh) * 2018-06-19 2019-12-27 中兴通讯股份有限公司 一种报文传输方法、装置及计算机可读存储介质
CN110851371A (zh) * 2018-08-20 2020-02-28 华为技术有限公司 报文处理方法及相关设备
CN110995583A (zh) * 2019-09-12 2020-04-10 华为技术有限公司 路径探测方法、装置及计算机存储介质
CN113300951A (zh) * 2020-02-21 2021-08-24 华为技术有限公司 一种发送报文的方法、设备及系统
CN113595897A (zh) * 2021-08-13 2021-11-02 新华三信息安全技术有限公司 一种路径探测方法及装置
CN113765788A (zh) * 2020-06-01 2021-12-07 阿里巴巴集团控股有限公司 网络路径探测方法、装置、数据中心及计算设备
CN114079627A (zh) * 2020-08-14 2022-02-22 华为技术有限公司 数据传输装置和方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495352B (zh) * 2018-12-27 2021-06-08 新华三技术有限公司 一种传输路径的确定方法和装置
CN111884859B (zh) * 2020-07-30 2022-10-21 国网重庆市电力公司电力科学研究院 一种网络故障诊断方法、装置及可读存储介质
CN114760216B (zh) * 2022-04-12 2023-12-05 国家计算机网络与信息安全管理中心 一种扫描探测事件确定方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000025B1 (en) * 2001-05-07 2006-02-14 Adaptec, Inc. Methods for congestion mitigation in infiniband
CN103401726A (zh) * 2013-07-19 2013-11-20 华为技术有限公司 网络路径探测方法及装置、系统
CN103716196A (zh) * 2012-09-28 2014-04-09 杭州华三通信技术有限公司 一种网络设备及探测方法
CN104243301A (zh) * 2013-06-08 2014-12-24 华为技术有限公司 一种生成业务路径的方法、设备及系统
CN105634836A (zh) * 2014-10-27 2016-06-01 香港理工大学 信息处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639625B2 (en) * 2007-03-02 2009-12-29 Cisco Technology, Inc. Tracing connection paths through transparent proxies
US8339973B1 (en) * 2010-09-07 2012-12-25 Juniper Networks, Inc. Multicast traceroute over MPLS/BGP IP multicast VPN
US9755969B2 (en) 2014-03-04 2017-09-05 International Business Machines Corporation Route tracing in software defined networks
US9419874B2 (en) * 2014-03-27 2016-08-16 Nicira, Inc. Packet tracing in a software-defined networking environment
CN106612211B (zh) 2015-10-23 2020-02-21 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000025B1 (en) * 2001-05-07 2006-02-14 Adaptec, Inc. Methods for congestion mitigation in infiniband
CN103716196A (zh) * 2012-09-28 2014-04-09 杭州华三通信技术有限公司 一种网络设备及探测方法
CN104243301A (zh) * 2013-06-08 2014-12-24 华为技术有限公司 一种生成业务路径的方法、设备及系统
CN103401726A (zh) * 2013-07-19 2013-11-20 华为技术有限公司 网络路径探测方法及装置、系统
CN105634836A (zh) * 2014-10-27 2016-06-01 香港理工大学 信息处理方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110620728A (zh) * 2018-06-19 2019-12-27 中兴通讯股份有限公司 一种报文传输方法、装置及计算机可读存储介质
CN110620728B (zh) * 2018-06-19 2022-07-15 中兴通讯股份有限公司 一种报文传输方法、装置及计算机可读存储介质
CN110851371A (zh) * 2018-08-20 2020-02-28 华为技术有限公司 报文处理方法及相关设备
US11616738B2 (en) 2018-08-20 2023-03-28 Huawei Technologies Co., Ltd. Packet processing method and related device
CN110851371B (zh) * 2018-08-20 2023-09-26 华为技术有限公司 报文处理方法及相关设备
CN110995583A (zh) * 2019-09-12 2020-04-10 华为技术有限公司 路径探测方法、装置及计算机存储介质
WO2021047668A1 (zh) * 2019-09-12 2021-03-18 华为技术有限公司 路径探测方法、装置及计算机存储介质
CN113300951A (zh) * 2020-02-21 2021-08-24 华为技术有限公司 一种发送报文的方法、设备及系统
CN113300951B (zh) * 2020-02-21 2023-10-24 华为技术有限公司 一种发送报文的方法、设备及系统
CN113765788A (zh) * 2020-06-01 2021-12-07 阿里巴巴集团控股有限公司 网络路径探测方法、装置、数据中心及计算设备
CN114079627A (zh) * 2020-08-14 2022-02-22 华为技术有限公司 数据传输装置和方法
CN113595897A (zh) * 2021-08-13 2021-11-02 新华三信息安全技术有限公司 一种路径探测方法及装置

Also Published As

Publication number Publication date
US10284461B2 (en) 2019-05-07
US20180091418A1 (en) 2018-03-29
EP3300322A1 (en) 2018-03-28
CN107872332B (zh) 2020-12-22
EP3300322B1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
CN107872332A (zh) 一种报文转发路径的探测方法及相关装置
EP3058687B1 (en) Configurable service proxy mapping
US8819267B2 (en) Network virtualization without gateway function
CN101160850B (zh) 一种转发报文的方法及装置
CN109873760A (zh) 处理路由的方法和装置、以及数据传输的方法和装置
EP3171545A1 (en) Data mirroring
CN107181663A (zh) 一种报文处理方法、相关设备及计算机可读存储介质
CN101286922B (zh) 一种信令控制的方法、系统及设备
WO2017054576A1 (zh) 单播隧道建立方法、装置和系统
JP2013070381A (ja) Pbtネットワークの中間ノードにおけるイーサネットoam
CN105162732B (zh) 创建扩展端口的方法、装置
CN105897465A (zh) 设备配置方法及装置
CN105991435B (zh) 用于获取端口路径的方法及装置
CN103067278B (zh) 一种数据帧的传输处理方法、设备及系统
KR20210151979A (ko) 메시지 검측 방법, 디바이스, 및 시스템
CN109120492B (zh) 一种存储单元、源交换机、报文转发方法及镜像系统
US11855888B2 (en) Packet verification method, device, and system
CN107659484A (zh) 从vlan网络接入vxlan网络的方法、装置及系统
CN104579973B (zh) 一种虚拟集群中的报文转发方法和装置
CN108075991B (zh) 报文转发方法及装置
CN110391961B (zh) 一种隧道绑定方法、设备及系统
CN109756419A (zh) 路由信息分发方法、装置以及rr
CN114690680A (zh) 数据处理的方法、控制器以及第一网络设备
KR20230017324A (ko) Bier 멀티캐스트 트래픽 통계 수집 방법, 디바이스 및 시스템
WO2021254454A1 (zh) Bier oam检测的方法、设备以及系统

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201222