WO2017114181A1 - 链路检测方法、装置及网络设备、控制器 - Google Patents

链路检测方法、装置及网络设备、控制器 Download PDF

Info

Publication number
WO2017114181A1
WO2017114181A1 PCT/CN2016/110257 CN2016110257W WO2017114181A1 WO 2017114181 A1 WO2017114181 A1 WO 2017114181A1 CN 2016110257 W CN2016110257 W CN 2016110257W WO 2017114181 A1 WO2017114181 A1 WO 2017114181A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
link
network device
detection packet
network
Prior art date
Application number
PCT/CN2016/110257
Other languages
English (en)
French (fr)
Inventor
肖洪亮
张大成
Original Assignee
阿里巴巴集团控股有限公司
肖洪亮
张大成
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 阿里巴巴集团控股有限公司, 肖洪亮, 张大成 filed Critical 阿里巴巴集团控股有限公司
Priority to JP2018534545A priority Critical patent/JP2019500812A/ja
Priority to EP16880971.3A priority patent/EP3399699B1/en
Publication of WO2017114181A1 publication Critical patent/WO2017114181A1/zh
Priority to US16/022,576 priority patent/US10530633B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Definitions

  • the present application relates to the field of communications technologies, and in particular, to a link detection method and apparatus, and a network device and a controller.
  • VTEP tunnel terminals
  • the starting VTEP adds the source port in the outer UDP header of the encapsulated detection packet to the message sequence in order to achieve the purpose of traversing all the paths.
  • the source port number is included in the hash routing algorithm of the Node B.
  • the A node may forward the detection packet whose source port number is odd (the source IP address and the destination IP address are unchanged) to the Node B.
  • the source port number is The even-numbered detection packets are forwarded to the C-node, and the B-node forwards the detection packets whose source port number is odd to the C-node. Therefore, no packet is detected on the link from the Node B to the D-node. It can be seen that the prior art relies heavily on the hash routing algorithm of the node device, and cannot guarantee that all paths can be traversed.
  • a link detection method which is applied to a controller, and includes:
  • the detection packet carries the first source IP address on the detected link, a first destination IP address and a first identifier of the detection packet
  • the link state information carrying the first source IP address, the first destination IP address, the device IP address of the network device, and the first identifier
  • Matching the detection packet with the detected link according to the first source IP address, the first destination IP address, and the first identifier carried in the link state information, and according to The device IP address locates a network location of the network device on the detected link.
  • a link detection method which is applied to a network device, and includes:
  • the network packet is a detection packet, the first source IP address, the first destination IP address, the device IP address of the network device, and the detection packet of the detected link carried in the detection packet according to the detection packet
  • the first identifier of the text generates link state information and reports the link state information to the controller
  • a link detecting apparatus which is applied to a controller, and includes:
  • a first sending module configured to send the detection message to each network device on the detected link to the end network device through the initial network device, where the detection message carries the detected link a first source IP address, a first destination IP address, and a first identifier of the detection packet;
  • a first receiving module configured to receive link state information reported by the network device on the detected link according to the detection packet sent by the first sending module, where the link state information carries the a first source IP address, the first destination IP address, a device IP address of the network device, and the first identifier;
  • a matching module configured to send the detection report according to the first source IP address, the first destination IP address, and the first identifier carried in the link state information received by the first receiving module And matching the detected link, and locating a network location of the network device on the detected link according to the device IP address.
  • a link detecting apparatus which is applied to a controller, and includes:
  • a fourth determining module configured to determine whether the received network packet is a detection packet
  • a link information generating module configured to: if the fourth determining module determines that the network packet is a detection packet, according to the first source IP address and the first destination on the detected link carried in the detection packet The IP address, the device IP address of the network device, and the first identifier of the detection packet generate link state information, and report the link state information to the controller;
  • a locating module configured to parse a destination VTEP address from the detection packet determined by the fourth determining module, and search a forwarding table of the network device according to the destination VTEP address, if the network exists in the forwarding table At least one next hop of the device, and copying the detection packet according to the number of the at least one next hop;
  • a first encapsulating module configured to encapsulate a MAC header in the detection packet according to a MAC address of each next hop of the at least one next hop that is searched by the searching module, and forward the detection packet To the at least one next hop.
  • a controller comprising:
  • a first processor a first memory for storing the first processor executable instructions; a first network interface;
  • the first network interface is used for
  • the detection packet carries the first source IP address on the detected link, a first destination IP address and a first identifier of the detection packet
  • the network device On the detected link, the link state information reported by the detection packet, where the link state information carries the first source IP address, the first destination IP address, and the The device IP address of the network device and the first identifier;
  • the first processor is configured to: compare the detection packet with the first source IP address, the first destination IP address, and the first identifier carried in the link state information The detection link is matched, and the network location of the network device on the detected link is located according to the device IP address.
  • a network device where the network device includes:
  • a second processor a memory for storing the second processor executable instructions; a second network interface;
  • the second processor is configured to determine whether the received network packet is a detection packet.
  • the network packet is a detection packet
  • the first source IP address, the first destination IP address, the device IP address of the network device, and the detection packet of the detected link carried in the detection packet according to the detection packet The first identifier of the text generates link state information, and reports the link state information to the controller by using the second network interface;
  • the present application can traverse all paths on the detected link, so that the controller can learn link state information of all links on the detected link, so as to quickly identify and locate the failed link.
  • FIG. 1 is a network architecture diagram to which an exemplary embodiment of the present invention is applied;
  • FIG. 2 is a schematic flowchart diagram of a link detecting method according to an exemplary embodiment of the present invention
  • FIG. 3 is a flow diagram of a link detecting method according to an exemplary embodiment 2 of the present invention. Schematic diagram
  • FIG. 4 is a schematic flowchart diagram of a link detecting method according to an exemplary embodiment 3 of the present invention.
  • FIG. 5 is a schematic flowchart diagram of a link detecting method according to an exemplary embodiment 4 of the present invention.
  • FIG. 6 is a schematic flowchart diagram of a link detecting method according to an exemplary embodiment 5 of the present invention.
  • FIG. 7 is a schematic flowchart diagram of a link detecting method according to an exemplary embodiment 6 of the present invention.
  • FIG. 8 is a signaling flow diagram between systems according to an exemplary embodiment 7 of the present invention.
  • FIG. 9 is a block diagram showing the structure of a controller according to an exemplary embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a network device according to an exemplary embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment 3 of the present invention.
  • FIG. 14 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment 4 of the present invention.
  • first, second, third, etc. may be used to describe various information in this application, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as the second information without departing from the scope of the present application.
  • second information may also be referred to as the first information.
  • word "if” as used herein may be interpreted as "when” or “when” or “in response to a determination.”
  • FIG. 1 is a network architecture diagram according to an exemplary embodiment of the present invention.
  • the controller 10 when an administrator selects through the controller 10, it is required to do between a virtual machine (Virtual Machine, VM for short) 11 and VM12.
  • the controller 10 can extract the IP addresses of the VM11 and the VM12, and use the IP address of the VM11 as the first source IP address, and the IP address of the VM12 as the first destination IP address to generate the flag for detecting the packet.
  • An identifier (ID) is configured to detect a packet according to the first source IP address, the first destination IP address, and the first identifier.
  • the controller 10 sends a detection packet to the starting point VTEP13.
  • the detection message After the L3 device 14, the L3 device 151, and the L3 device 152 sequentially forward the detection message, the detection message reaches the end point VTEP16, wherein the starting point VTEP13, the L3 device 14, the L3 device 151, the L3 device 152, and the destination VTEP16 receive the detection.
  • the link state information is reported to the controller 10.
  • the controller 10 records the link state information reported by each device.
  • the controller 10 may be a software defined network (Software Defined Network, referred to as SDN) controller.
  • the detection packet is copied according to the number of next hops and forwarded to the corresponding path, for example, the L3 device 14 shown in FIG.
  • the next hop (L3 device 151, L3 device 152) having two equal-cost paths
  • the L3 device 14 will copy the detection message and forward it to the L3 device 151 and the L3 device 152.
  • the present application can manage the maintenance link through the controller and can traverse the link All the paths above solve the problem that the prior art cannot traverse all the paths on the link.
  • FIG. 2 is a schematic flowchart diagram of a link detecting method according to an exemplary embodiment of the present invention; it can be applied to the controller 10 shown in FIG. 1 , and the embodiment is exemplified in conjunction with the embodiment shown in FIG. 1 .
  • Step 201 The detection packet is sent to each network device on the detected link to the end network device through the initial network device, and the detection packet carries the first source IP address on the detected link. a destination IP address and a first identifier of the detection packet;
  • the detected link may be selected by the network administrator. As shown in FIG. 1, the controller 10 extracts the IP addresses of both ends of the detected link (for example, VM11 and VM12) and will be detected.
  • the IP address of one end of the link (for example, VM11) is used as the first source IP address, and the IP address of the other end (for example, VM12) is used as the first destination IP address.
  • the first identifier may be generated by sequentially numbering the detection packets, and the link detection period is performed on the detected link (set the period of 10 milliseconds to 1 second)
  • the controller 10 may send a detection message to the VTEP 13 interval, and sequentially add 1 to the first identifier, that is, ID+1 until the end of the detection period.
  • the uniqueness of the detection packet ID on the same detected link can be ensured, so that the controller 10 can conveniently report the chain reported by the network device on the detected link.
  • the state information is matched.
  • the controller 10 can conveniently count the number of detection packets sent on the detected link.
  • the VTEP 13 may search for the corresponding forwarding table according to the first destination IP address of the detection packet, according to the destination VNI and the destination VTEP address in the forwarding table.
  • the VXLAN encapsulation is performed on the detection packet, and the PD flag bit in the VXLAN header field is set to 1, so that the network device identifies whether the received network packet is a detection packet according to the PD flag, and the VXLAN encapsulates the packet.
  • the VXLAN Header field of the packet refer to the packet format description below.
  • the VTEP 13 can search for the next hop according to the destination VTEP address, and determine whether the detection packet needs to be copied and the detection packet to be copied according to the number of next hops. If there is only one next hop, the detection packet is encapsulated into the MAC header and then forwarded to the next hop of VTEP13. If there are multiple equivalent next hops, the replication according to the number of next hops has passed. The VXLAN encapsulates the detection packet, and then encapsulates the MAC header of the detection packet according to the MAC address of each next hop, and sends the encapsulated packet to the next hop corresponding to VTEP13.
  • the next hop L3 device 14 of the VTEP 13 reports the link state information to the controller 10, where the link state information may carry the device IP address of the L3 device 14, thereby enabling the controller 10
  • the device IP address can identify which network device the detection packet is from.
  • the L3 device 14 searches for the next hop according to the destination VTEP address in the detection packet, and determines whether it is necessary to copy the received detection packet and the number of the detection packet to be copied according to the number of the next hop.
  • the detection packet is directly encapsulated into a MAC header and then forwarded to the next hop; if there are multiple equivalent next hops (such as L3 device 151 and L3 device 152 shown in FIG. 1), according to the next hop
  • the number copies the detection message, and the L3 device 151 and the L3 device 152 perform the same actions as the L3 device 14 described above until the detection message is forwarded to the destination network device VTEP16.
  • Step 202 Receive link state information reported by the network device on the detected link according to the detection packet, where the link state information carries the first source IP address, the first destination IP address, the device IP address of the network device, and the An identification
  • Step 203 Match the detection packet with the detected link according to the first source IP address, the first destination IP address, and the first identifier, and locate the network location of the network device on the detected link according to the device IP address.
  • the controller 10 receives the link state information reported by the network device L3 device 14, and the controller 10 can receive the link state information from the received link state information. Extracting information such as the first source IP address, the first destination IP address, the L3 device 14 device IP address, and the first identifier of the detection packet, and the first source IP address in the link state information, The first destination IP address and the first identifier of the detection packet find the corresponding detected link, and locate the network location of the L3 device 14 on the detected link according to the device IP address.
  • the controller 10 can also record the link state information to the corresponding node of the topology map maintained by the controller 10, thereby It is convenient for the administrator to view the link status on the entire detected link.
  • FIG. 3 is a schematic flowchart diagram of a link detection method according to an exemplary embodiment of the present invention
  • FIG. 1 is a schematic diagram of how the controller passes the link state information on the detected link after receiving the link state information on the detected link.
  • the link state information is used to determine an invalid link as an example. As shown in FIG. 3, the following steps are included:
  • Step 301 Determine a timestamp of link state information from any one of the network devices on the detected link.
  • Step 302 Determine whether link state information reported by the network device of the next hop of any one of the network devices on the detected link is received within a set time after the timestamp;
  • Step 303 If the link state information of the network device of the next hop is not received within the set time, determine the device IP address of the network device of the next hop;
  • Step 304 Generate alarm information of a failed link that exists on the detected link according to the device IP address of the network device of the next hop;
  • Step 305 Refresh the forwarding table of the current network device according to the device IP address of the network device of the next hop, so that the current network device stops sending the network packet to the failed link according to the refreshed forwarding table.
  • the controller 10 may further extract, from the link state information, the network device receives the detection report.
  • the device 10 extracts, from the link state information, the timestamp of the L3 device 14 when receiving the detection packet, if If the link state information reported by the L3 device 152 is not received after the timestamp, the device IP address of the L3 device 152 is determined, and the device IP address is generated according to the device IP address of the L3 device 152.
  • the alarm information of the failed link existing on the detected link so that the administrator can know that the link between the L3 device 14 and the L3 device 152 has failed, and the controller 10 can also refresh the forwarding table of the L3 device 14, thereby enabling The L3 device 14 avoids sending traffic to the failed link between the L3 device 14 and the L3 device 152.
  • the embodiment can enable the administrator to learn the failed link between two adjacent network devices, and prevent the network device from sending traffic to the failed link, thereby improving the network device.
  • the efficiency of forwarding traffic can be enabled.
  • FIG. 4 is a schematic flowchart diagram of a link detecting method according to an exemplary embodiment of the present invention; the present embodiment is exemplarily described with reference to FIG. 1 , and as shown in FIG. 4 , the following steps are included:
  • Step 401 it is determined whether the received network packet is a detection packet, if the network packet is a detection packet, step 402 is performed, if it is a normal network packet, step 401 is continued;
  • the detection packet generated by the controller 10 is VXLAN encapsulated, and the detection packet generated by the controller 10 is VXLAN encapsulated, so that the detection packet can be forwarded on the VXLAN network through the network device.
  • the network packet is detected by the PD tag in the VXLAN-encapsulated detection packet. For example, the PD flag is 1, indicating that the network packet is a detection packet, and the PD flag is 0. Indicates that the network packet is an ordinary network packet.
  • Step 402 If the network packet is a detection packet, the first source IP address, the first destination IP address, the device IP address of the network device, and the first packet detection packet are detected according to the detected link carried in the detection packet. Identifying link state information and reporting the link state information to the controller;
  • the network device may extract the first source IP address and the first destination IP address on the detected link from the inner layer packet of the detection packet, and then use the device IP address of the network device as the second.
  • the source IP address is used as the second destination IP address of the controller, so that the link state information is reported by the network device to the controller.
  • the first source IP address and the first destination IP address are information encapsulated in the inner layer of the detection packet, which is part of the payload
  • the second source IP address is the actual source IP address of the link state information
  • the second The destination IP address is the actual destination IP address of the link state information, and is the outer layer of the following detection packet format. Information in the IP header.
  • step 403 the destination VTEP address is parsed from the detection packet, and the forwarding table of the network device is searched according to the destination VTEP address. If at least one next hop of the network device exists in the forwarding table, the detection report is copied according to the number of at least one next hop.
  • the destination VTEP address is encapsulated by the originating network device on the detected link in the destination IP address of the outer layer of the detection message.
  • the number of at least one next block may be determined by the number of outbound interfaces of the network device.
  • Step 404 Encapsulate the MAC header in the detection packet according to the MAC address of each next hop in the at least one next hop and forward the detection packet to the at least one next hop.
  • the current network device can copy the detection packet from the controller according to the number of at least one next hop, and ensure that the detection packet can be sent to all detected links.
  • the path thereby enabling traversal of all paths on the detected link, enables the controller to know the link state information of all links on the detected link, and facilitates the controller to maintain the link according to the link state information.
  • FIG. 5 is a schematic flowchart of a link detection method according to an exemplary embodiment of the present invention. This embodiment is described with reference to FIG. 1 and the forwarding of the detection packet by VTEP13 as an example.
  • the indication includes the following steps:
  • Step 501 Determine whether the received network packet is a detection packet. If it is a detection packet, go to step 502. If it is a normal network packet, continue to step 501.
  • step 501 For a detailed description of step 501, refer to the description of step 401 above, and details are not described herein.
  • Step 502 Search for a corresponding forwarding table according to the first destination IP address in the detection packet.
  • the detection packet if the detection packet is directly sent by the controller 10 to the VTEP 13, the detection packet carries the first source IP address on the detected link (the device IP address of the VTEP 13 shown in FIG. 1), A destination IP address (the device IP address of the VTEP 16 shown in FIG. 1) and a first identifier of the detection packet.
  • the detection packet if VTEP 13 receives a detection message from controller 10, it indicates that VTEP 13 is the origin device of the detected link.
  • Step 503 Perform VXLAN encapsulation on the detection packet according to the VXLAN network identifier and the destination VTEP address in the forwarding table.
  • VXLAN encapsulated detection packet can be referred to the following packet format description, which will not be described in detail herein.
  • Step 504 Mark the detection message in the packet header of the VXLAN.
  • a PD flag bit may be defined in a reserved field after the VNI field in the VXLAN Header.
  • the PD flag is 1, the network packet is a detection packet.
  • step 505 the current network device has multiple equal-cost next hops. If there are multiple next hops, step 506 is performed. If there is only one next hop, step 507 is performed.
  • the number of at least one next block may be determined by the number of outbound interfaces of the network device.
  • Step 506 Copy the detection packet according to the number of equivalent next hops.
  • Step 507 Encapsulate a corresponding MAC header for each detection packet and forward the detection packet to the next hop.
  • the encapsulated MAC header can be referred to the following packet format description, which will not be described in detail herein.
  • the VTEP 13 replicates the detection packet from the controller according to the number of at least one next hop, ensuring that the detection packet is sent to all paths on the detected link, thereby implementing traversing the detected link. All the paths corresponding to the VTEP13 enable the controller to know the link state information of the corresponding path of the VTEP13.
  • FIG. 6 is a schematic flowchart of a method for detecting a link according to an exemplary embodiment of the present invention. This embodiment is described with reference to FIG. 1 and the forwarding of the detected packet by the L3 device 14 as an example. As shown in 6, it includes the following steps:
  • step 601 it is determined whether the received network packet is a detection packet. If it is a detection packet, step 602 is performed. If it is an ordinary network packet, step 601 is continued.
  • step 601 For a detailed description of step 601, refer to the description of step 401 above, and details are not described herein.
  • Step 602 Extract the inbound interface index of the detection packet, the first source IP address in the detection packet, the first destination IP address, the first identifier of the detection packet, and the current timestamp.
  • Step 603 Generate link state information according to the first source IP address, the first destination IP address, the first identifier, and the current timestamp, and report the link state information to the controller.
  • Step 604 Find a forwarding table according to the destination VTEP address of the detection packet.
  • the method for searching the forwarding table by using the destination VTEP address can be referred to the related description in the prior art, and is not described in detail herein.
  • Step 605 Query whether the current network device has multiple equal-cost next hops according to the destination VTEP address of the detection packet. If there are multiple next hops, go to step 606. If there is only one next hop, go to step 607.
  • next hop can be searched according to the destination VTEP address, and the number of the next hops is determined to determine whether the detection packet needs to be copied and the number of the detection packets needs to be copied.
  • Step 606 Copy the detection packet according to the number of equivalent next hops.
  • Step 607 Encapsulate a corresponding MAC header for the detection packet and forward the detection packet.
  • the encapsulated MAC header can be referred to the following packet format description, which will not be described in detail herein.
  • the L3 device can copy the detection packet from the controller according to the number of at least one next hop, and ensure that the detection packet is sent to all paths on the detected link, thereby implementing the traversal of the detected chain. All the paths corresponding to the L3 devices on the road enable the controller to know the link state information of the corresponding path of the L3 device.
  • FIG. 7 is a schematic flowchart diagram of a link detection method according to an exemplary embodiment 6 of the present invention; this embodiment is exemplified by taking VTEP16 termination detection packet forwarding as an example, as shown in FIG. 7 .
  • the indication includes the following steps:
  • step 701 it is determined whether the received network packet is a detection packet. If it is a detection packet, step 702 is performed. If it is a normal network packet, step 701 is continued.
  • the first destination IP address encapsulated in the outer packet of the detection packet is parsed from the detection packet.
  • Step 702 Determine whether the destination VTEP address is the same as the device IP address of the local network device. If the destination VTEP address is the same as the device IP address of the local network device, go to step 703. If the destination VTEP address is different from the device IP address of the local network device.
  • the detection packet can be forwarded in the manner of the foregoing embodiment of FIG. 6, and will not be described in detail herein.
  • Step 703 If the destination VTEP address is the same as the device IP address of the local network device, determine the inbound interface index in the detection packet and the current timestamp of the local network device.
  • Step 704 Add the inbound interface index and the current timestamp to the link state information, and report the link state information to the controller.
  • step 705 the detection packet is discarded.
  • the destination network device after receiving the detection packet, discards the detection packet, thereby implementing the link detection of traversing all the paths on the detected link, which solves the problem that the prior art cannot traverse the link. Insufficient.
  • FIG. 8 is a signaling flow diagram between systems according to an exemplary embodiment 7 of the present invention, taking an example of how the controller 10 detects the link state between the VM 11 and the VM 12 and exemplarily in conjunction with FIG.
  • step 801 the controller 10 sends a detection packet to the VTEP 13 of the VXLAN tunnel that needs to perform link detection. If only one-way link detection is required, the detection packet can be sent only to the VTEP13 in the direction. If the two-way link detection is required, the VTEP can be sent to both ends of the tunnel. Message.
  • Step 802 After receiving the detection packet, the VTEP 13 searches the forwarding table according to the destination IP address of the detection packet, and performs VXLAN on the detection packet according to the information such as the destination VNI and the destination VTEP address (the IP address of the VTEP 16 in the present application) in the forwarding table. Encapsulate and set the PD flag in the VXLAN header to 1.
  • the VTEP 13 searches for the next hop according to the destination VTEP address. If there is only one next hop, the packet is directly encapsulated into a MAC header and then sent to the next hop; if there are multiple equivalent next hops, the next hop is obtained according to the next hop.
  • the number of packets that have been encapsulated by the VXLAN is encapsulated, and then the MAC header of the packet is encapsulated according to the MAC address of each next hop, and the encapsulated detection packet is sent to each corresponding next hop; the encapsulated VXLAN report VXLAN For details on the header field, see the following message format description.
  • Step 804 The next hop L3 device 14 of the VTEP receives the detection packet encapsulated by the VXLAN, and determines that the network packet is the detection packet according to the PD flag in the network packet, and reports the link state information to the controller 10, and the link state.
  • the information includes fields such as timestamps and packet inbound interfaces.
  • Step 805 The L3 device 14 searches for the next hop according to the destination VTEP address in the packet. If there is only one next hop, the detection packet is directly encapsulated into the MAC header and then forwarded to the next hop; if there are multiple equivalents, If the hop is repeated, the detection packet is copied according to the number of the next hop, and then the MAC header of the detection packet is encapsulated according to the MAC address of each next hop, and the detection packet is sent to the next hop L3 device 151 corresponding to the current L3 device.
  • the processing flow of the L3 device 151 is the same as that of the L3 device 14, and will not be described in detail herein.
  • Step 806 The terminal VTEP16 receives the detection packet, and determines that the packet is a detection packet according to the PD flag in the packet, and reports the link state information, where the link state information includes a timestamp, a packet inbound interface, and the like.
  • step 807 the destination VTEP 16 discards the detection message.
  • test packet The format of the test packet is as follows:
  • a PD flag is defined in the reserved field after the VXLAN Network Identifier (VNI) field.
  • VNI VXLAN Network Identifier
  • the format of the inner packet of the detection packet is as follows:
  • the controller 10 identifies a detection packet according to the first source IP address, the first destination IP address, and the detection packet ID, and the link state information reported by the intermediate network device on the detected link to the controller 10 includes the detection report.
  • the first source IP address, the first destination IP address, the second destination IP address, and the ID information of the detection packet so that the controller can associate the detected link with the detection packet and locate the device according to the IP address of the device.
  • the network device on the detected link is identifies a detection packet according to the first source IP address, the first destination IP address, and the detection packet ID, and the link state information reported by the intermediate network device on the detected link to the controller 10 includes the detection report.
  • the first source IP address, the first destination IP address, the second destination IP address, and the ID information of the detection packet so that the controller can associate the detected link with the detection packet and locate the device according to the IP address of the device.
  • the network device on the detected link is identifies a detection packet according to the first source IP address, the first destination IP address,
  • the controller is responsible for constructing the detection packet, and transmitting the detection packet to the link start point of the link to be detected (for example, VTEP 13 shown in FIG. 1) and the network intermediate node (for example, FIG. 1
  • the illustrated L3 device 14, L3 device 151, and L3 device 152) forward the detection message to the link end point (for example, VTEP 16 shown in FIG. 1) by looking up the respective corresponding forwarding table, and each node will be chained.
  • the status information of the path is reported to the controller, and the status of the detected link is recorded by the controller. If the starting point of the link or the forwarding table of any one of the network intermediate nodes on the detected link has multiple equal-cost paths, the next hop is obtained according to the next hop.
  • the number of duplicate detection packets is forwarded to the corresponding path, so the application can traverse all paths on the detected link.
  • the present application also proposes a schematic structural diagram of the controller according to an exemplary embodiment of the present application shown in FIG. 9.
  • the controller includes a first processor, an internal bus, a first network interface, a memory, and a storage
  • the first memory of a processor executable instruction may also include hardware required for other services.
  • the first network interface is configured to send the detection message to each network device on the detected link to the end network device through the initial network device, and the detection packet carries the number on the detected link. a source IP address, a first destination IP address, and a first identifier of the detection packet; and the link state information carried by the network device on the detected link according to the link state reported by the detection packet, where the link state information carries the first source IP address Address, first destination IP address, device IP address of the network device, and first identifier;
  • the first processor is configured to match the detection packet with the detected link according to the first source IP address, the first destination IP address, and the first identifier carried in the link state information, and locate the network according to the device IP address. The network location of the device on the detected link.
  • the present application also proposes a schematic structural diagram of the network device according to an exemplary embodiment of the present application shown in FIG.
  • the network device includes a second processor, an internal bus, a second network interface, a memory, and a second memory storing second processor executable instructions, and may of course include other services required. hardware.
  • the second processor is configured to determine whether the received network packet is a detection packet.
  • the link is generated according to the first source IP address, the first destination IP address, the device IP address of the network device, and the first identifier of the detection packet carried in the detection packet. Status information and report link state information to the controller through the second network interface;
  • the MAC header in the detection packet is encapsulated according to the MAC address of each of the at least one next hop and the detection packet is forwarded to the at least one next hop through the second network interface.
  • FIG. 11 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment of the present invention. As shown in FIG. 11, the link detecting apparatus may include: a first sending module 111, The first receiving module 112 and the matching module 113. among them:
  • the first sending module 111 is configured to send the detection message to each network device on the detected link to the end network device through the initial network device, and the detection packet carries the first on the detected link.
  • the first receiving module 112 is configured to receive the link state information reported by the network device on the detected link according to the detection packet sent by the first sending module 111, where the link state information carries the first source IP address, and the first Destination IP address, device IP address of the network device, and the first identifier;
  • the matching module 113 is configured to match the detection packet with the detected link according to the first source IP address, the first destination IP address, and the first identifier carried in the link state information received by the first receiving module 112, and The network location of the network device on the detected link is located according to the device IP address.
  • FIG. 12 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment of the present invention. As shown in FIG. 12, on the basis of the foregoing embodiment shown in FIG. 11, in an embodiment, the apparatus further Can include:
  • a first determining module 114 configured to determine, by the first receiving module 112, a timestamp of receiving link state information of any one of the network devices on the detected link;
  • the second determining module 115 is configured to determine whether the link reported by the network device of the next hop of any one of the network devices on the detected link is received within a set time after the timestamp determined by the first determining module 114 status information;
  • the third determining module 116 is configured to determine, if the second determining module 115 determines link state information of the network device that does not receive the next hop within the set time, determine a device IP address of the network device of the next hop;
  • the alarm information generating module 117 is configured to generate alarm information of the failed link in which the detected link exists according to the device IP address of the network device of the next hop determined by the third determining module 116.
  • the apparatus may further include:
  • the refreshing module 118 is configured to determine the network configuration of the next hop according to the third determining module 116.
  • the device IP address of the device is used to refresh the forwarding table of the current network device, so that the current network device stops sending network packets to the failed link according to the refreshed forwarding table.
  • the apparatus may further include:
  • the recording module 119 is configured to record the link state information determined by the third determining module 116 to the corresponding node of the topology map maintained by the controller.
  • FIG. 13 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment of the present invention. As shown in FIG. 13, the link detecting apparatus may include: a fourth determining module 131 and a link information generating module 132. The search module 133 and the first encapsulation module 134. among them:
  • the fourth determining module 131 is configured to determine whether the received network packet is a detection packet
  • the link information generating module 132 is configured to: if the fourth determining module 131 determines that the network packet is a detection packet, according to the first source IP address, the first destination IP address, and the network on the detected link carried in the detection packet.
  • the device IP address of the device and the first identifier of the detection packet generate link state information and report link state information to the controller.
  • the search module 133 is configured to parse the destination VTEP address from the detection packet determined by the fourth determining module 131, and search the forwarding table of the network device according to the destination VTEP address, if at least one next hop of the network device exists in the forwarding table, according to at least The number of one next hop is copied to the detection packet;
  • the first encapsulating module 134 is configured to encapsulate the MAC header in the detection packet according to the MAC address of each next hop in the at least one next hop searched by the searching module 133, and forward the detection packet to the at least one next hop. .
  • FIG. 14 is a schematic structural diagram of a link detecting apparatus according to an exemplary embodiment 4 of the present invention; as shown in FIG. 14, on the basis of the foregoing embodiment shown in FIG. 13, in an embodiment, the apparatus further Can include:
  • the second encapsulating module 135 is configured to perform VXLAN encapsulation on the detection packet according to the destination VXLAN network identifier and the destination VTEP address in the forwarding table found by the searching module 133.
  • the marking module 136 is configured to mark the detection message in the packet header of the VXLAN.
  • the searching module 133 performs the step of searching the forwarding table of the network device according to the first destination IP address of the detected message.
  • the device may further include:
  • the fifth determining module 137 is configured to determine an inbound interface index in the detection packet determined by the fourth determining module 131 and a current timestamp of the local network device;
  • the first adding module 138 is configured to add the inbound interface index and the current timestamp determined by the fifth determining module 137 to the link state information.
  • the apparatus may further include:
  • the sixth determining module 139 is configured to determine whether the destination VTEP address is the same as the IP address of the local network device.
  • the seventh determining module 140 is configured to determine, if the sixth determining module 139 determines that the destination VTEP address is the same as the IP address of the local network device, the inbound interface index in the detection packet and the current timestamp of the local network device;
  • the second adding module 141 is configured to add the inbound interface index and the current timestamp determined by the seventh determining module 140 to the link state information.
  • the apparatus may further include:
  • the discarding module 142 is configured to discard the fourth determining module 131 to determine the detecting message.
  • the fourth determining module 131 can include:
  • the first determining unit 1311 is configured to determine a flag in a VXLAN packet header in the received network packet.
  • the second determining unit 1312 is configured to determine, according to the flag in the VXLAN packet header determined by the first determining unit 1311, whether the network packet is a detection packet.
  • the controller is responsible for constructing the detection packet, and the detection packet is sent to the link start point of the link to be detected and the network intermediate node forwards the detection packet to the chain hop by hop by searching the corresponding forwarding table.
  • each node reports the link status information to the controller, and the controller records the status of the detected link. If the link origination or the forwarding table of any network intermediate node on the detected link has more The equal-cost path copies the detection packet according to the number of next hops and forwards the packet to the corresponding path. Therefore, the present application can traverse all the paths on the detected link.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请提供一种链路检测方法、装置及网络设备、控制器,该方法包括:将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,所述检测报文中携带有所述被检测链路上的第一源IP地址、第一目的IP地址以及所述检测报文的第一标识;接收被检测链路上的网络设备根据检测报文上报的链路状态信息;根据链路状态信息中携带的第一源IP地址、第一目的IP地址以及第一标识将检测报文与被检测链路进行匹配,以及,根据设备IP地址定位网络设备在被检测链路上的网络位置。本申请的技术方案可以使控制器能够获知被检测链路上的所有链路的链路状态信息,以便快速识别并定位失效链路。

Description

链路检测方法、装置及网络设备、控制器 技术领域
本申请涉及通信技术领域,尤其涉及一种链路检测方法、装置及网络设备、控制器。
背景技术
VXLAN网络中,两个隧道终端(VTEP)之间可能存在等价多路径,以用于负载分担。当等价路径中的某条链路出现故障时,为避免将流量发送到失效链路,需要快速检测到失效的链路。现有技术中,为了检测链路中间可能存在的等价多路径,起点VTEP将封装的检测报文外层UDP头中的源端口按报文顺序依次加1,以期达到遍历所有路径的目的。对于存在级联的等价多路径场景,例如,A节点下有两条等价路径分别到B节点和C节点,B节点下又有两条等价路径分别到D节点和E节点,A节点和B节点的哈希选路算法中都包含源端口号,则可能A节点将源端口号是奇数的检测报文(源IP、目的IP不变)都转发到B节点,将源端口号是偶数的检测报文都转发到C节点,而B节点将源端口号是奇数的检测报文都转发到C节点,因此B节点到D节点的链路上就没有检测报文通过。由此可知,现有技术对节点设备的哈希选路算法依赖很大,无法保证能够遍历所有路径。
发明内容
为实现上述目的,本申请提供技术方案如下:
根据本申请的第一方面,提出了一种链路检测方法,应用在控制器上,包括:
将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,所述检测报文中携带有所述被检测链路上的第一源IP地址、第一目的IP地址以及所述检测报文的第一标识;
接收所述被检测链路上的网络设备根据所述检测报文上报的链路 状态信息,所述链路状态信息中携带有所述第一源IP地址、所述第一目的IP地址、所述网络设备的设备IP地址以及所述第一标识;
根据所述链路状态信息中携带的所述第一源IP地址、所述第一目的IP地址以及所述第一标识将所述检测报文与所述被检测链路进行匹配,以及,根据所述设备IP地址定位网络设备在所述被检测链路上的网络位置。
根据本申请的第二方面,提出了一种链路检测方法,应用在网络设备上,包括:
确定接收到的网络报文是否为检测报文;
如果所述网络报文为检测报文,根据所述检测报文中携带的被检测链路的第一源IP地址、第一目的IP地址、所述网络设备的设备IP地址以及所述检测报文的第一标识生成链路状态信息并向控制器上报所述链路状态信息;
从所述检测报文中解析目的VTEP地址,根据所述目的VTEP地址查找所述网络设备的转发表,如果所述转发表中存在所述网络设备的至少一个下一跳,根据所述至少一个下一跳的个数复制所述检测报文;
根据所述至少一个下一跳中的每一个下一跳的MAC地址封装所述检测报文中的MAC头并将所述检测报文转发到所述至少一个下一跳。
根据本申请的第三方面,提出了一种链路检测装置,应用在控制器上,包括:
第一发送模块,用于将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,所述检测报文中携带有所述被检测链路上的第一源IP地址、第一目的IP地址以及所述检测报文的第一标识;
第一接收模块,用于接收所述被检测链路上的网络设备根据所述第一发送模块发送的所述检测报文上报的链路状态信息,所述链路状态信息中携带有所述第一源IP地址、所述第一目的IP地址、所述网络设备的设备IP地址以及所述第一标识;
匹配模块,用于根据所述第一接收模块接收到的所述链路状态信息中携带的所述第一源IP地址、所述第一目的IP地址以及所述第一标识将所述检测报文与所述被检测链路进行匹配,以及,根据所述设备IP地址定位网络设备在所述被检测链路上的网络位置。
根据本申请的第四方面,提出了一种链路检测装置,应用在控制器上,包括:
第四确定模块,用于确定接收到的网络报文是否为检测报文;
链路信息生成模块,用于如果所述第四确定模块确定所述网络报文为检测报文,根据所述检测报文中携带的被检测链路上的第一源IP地址、第一目的IP地址、所述网络设备的设备IP地址以及所述检测报文的第一标识生成链路状态信息并向控制器上报所述链路状态信息;
查找模块,用于从所述第四确定模块确定的所述检测报文中解析目的VTEP地址,根据所述目的VTEP地址查找所述网络设备的转发表,如果所述转发表中存在所述网络设备的至少一个下一跳,根据所述至少一个下一跳的个数复制所述检测报文;
第一封装模块,用于根据所述查找模块查找到的所述至少一个下一跳中的每一个下一跳的MAC地址封装所述检测报文中的MAC头并将所述检测报文转发到所述至少一个下一跳。
根据本申请的第五方面,提出了一种控制器,所述控制器包括:
第一处理器;用于存储所述第一处理器可执行指令的第一存储器;第一网络接口;
其中,所述第一网络接口,用于
将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,所述检测报文中携带有所述被检测链路上的第一源IP地址、第一目的IP地址以及所述检测报文的第一标识;
接收所述被检测链路上的网络设备根据所述检测报文上报的链路状态信息,所述链路状态信息中携带有所述第一源IP地址、所述第一目的IP地址、所述网络设备的设备IP地址以及所述第一标识;
所述第一处理器,用于根据所述链路状态信息中携带的所述第一源IP地址、所述第一目的IP地址以及所述第一标识将所述检测报文与所述被检测链路进行匹配,以及,根据所述设备IP地址定位网络设备在所述被检测链路上的网络位置。
根据本申请的第六方面,提出了一种网络设备,所述网络设备包括:
第二处理器;用于存储所述第二处理器可执行指令的存储器;第二网络接口;
其中,所述第二处理器,用于确定接收到的网络报文是否为检测报文;
如果所述网络报文为检测报文,根据所述检测报文中携带的被检测链路的第一源IP地址、第一目的IP地址、所述网络设备的设备IP地址以及所述检测报文的第一标识生成链路状态信息并通过所述第二网络接口向控制器上报所述链路状态信息;
根据所述检测报文的第一目的IP地址查找所述网络设备的转发表,如果所述转发表中存在所述网络设备的至少一个下一跳,根据所述至少一个下一跳的个数复制所述检测报文;
根据所述至少一个下一跳中的每一个下一跳的MAC地址封装所述检测报文中的MAC头并通过所述第二网络接口将所述检测报文转发到所述至少一个下一跳。
由以上技术方案可见,本申请可以遍历被检测链路上的所有路径,使控制器能够获知被检测链路上的所有链路的链路状态信息,以便快速识别并定位失效链路。
附图说明
图1为根据本发明的示例性实施例所适用的网络架构图;
图2为根据本发明的一示例性实施例一示出的链路检测方法的流程示意图;
图3为根据本发明的一示例性实施例二示出的链路检测方法的流 程示意图;
图4为根据本发明的一示例性实施例三示出的链路检测方法的流程示意图;
图5为根据本发明的一示例性实施例四示出的链路检测方法的流程示意图;
图6为根据本发明的一示例性实施例五示出的链路检测方法的流程示意图;
图7为根据本发明的一示例性实施例六示出的链路检测方法的流程示意图;
图8为根据本发明的一示例性实施例七示出的各系统之间的信令流程图;
图9示出了根据本发明的一示例性实施例的控制器的结构示意图;
图10示出了根据本发明的一示例性实施例的网络设备的结构示意图;
图11为根据本发明的一示例性实施例一示出的链路检测装置的结构示意图;
图12为根据本发明的一示例性实施例二示出的链路检测装置的结构示意图;
图13为根据本发明的一示例性实施例三示出的链路检测装置的结构示意图;
图14为根据本发明的一示例性实施例四示出的链路检测装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详 述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1为根据本发明的示例性实施例所适用的网络架构图,如图1所示,当管理员通过控制器10选择需要在虚拟机(Virtual Machine,简称为VM)11和VM12之间做链路检测时,控制器10可以提取出VM11和VM12的IP地址,将VM11的IP地址作为第一源IP地址,VM12的IP地址作为第一目的IP地址,生成用于标记检测报文的第一标识(ID),根据第一源IP地址、第一目的IP地址以及第一标识构造检测报文;控制器10向起点VTEP13下发检测报文。经过L3设备14、L3设备151、L3设备152将检测报文依次转发后,检测报文达到终点VTEP16,其中,起点VTEP13、L3设备14、L3设备151、L3设备152、终点VTEP16在接收到检测报文后向控制器10上报各自的链路状态信息,由控制器10记录各个设备上报的链路状态信息,在一实施例中,控制器10可以为软件定义网络(Software Defined Network,简称为SDN)控制器。如果链路起点或者某个网络中间节点的转发表具有多条等价路径,则根据下一跳的个数复制检测报文并转发到相应的路径上,例如,图1所示的L3设备14具有两个等价路径的下一跳(L3设备151、L3设备152),L3设备14会将检测报文复制后转发到L3设备151、L3设备152。由此,本申请可以通过控制器管理维护链路,并能遍历链路 上的所有路径,解决了现有技术不能遍历链路上的所有路径的不足。
为对本申请进行进一步说明,提供下列实施例:
图2为根据本发明的一示例性实施例一示出的链路检测方法的流程示意图;可以应用在图1所示的控制器10上,本实施例结合图1所示实施例进行示例性说明,如图2所示,包括如下步骤:
步骤201,将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,检测报文中携带有被检测链路上的第一源IP地址、第一目的IP地址以及检测报文的第一标识;
在一实施例中,被检测链路可以由网络管理员来选择,如图1所示,控制器10提取出被检测链路的两端(例如,VM11和VM12)的IP地址,将被检测链路的一端(例如,VM11)的IP地址作为第一源IP地址,将另一端(例如,VM12)的IP地址作为第一目的IP地址。在一实施例中,可以通过对检测报文进行顺次编号的方式来生成第一标识,在对被检测链路进行链路检测的设定周期(设定周期10毫秒到1秒的范围)内,控制器10可以向VTEP13间隔下发检测报文,并对第一标识进行顺次加1,即,ID+1,直至检测周期结束。通过对检测报文的第一标识加1,可以确保同一个被检测链路上的检测报文ID的唯一性,可以使控制器10能够方便地将被检测链路上的网络设备上报的链路状态信息进行匹配,通过对同一条被检测链路上的检测报文进行计数,可以使控制器10能够方便地统计出在该被检测链路上发送的检测报文的条数。
在一实施例中,如图1所示,VTEP13接收到检测报文之后,可以根据检测报文的第一目的IP地址查找其对应的转发表,根据转发表中目的VNI、目的VTEP地址等信息对检测报文进行VXLAN封装,同时将VXLAN头部字段(header)中的PD标志位设置为1,以使网络设备根据PD标记识别接收到的网络报文是否为检测报文,VXLAN封装后的检测报文的VXLAN Header字段内容可以参见下述的报文格式说明。在一实施例中,VTEP13可以根据目的VTEP地址查找下一跳,根据下一跳的个数来确定是否需要复制该检测报文以及需要复制的检测报文 的个数,如果只有一个下一跳,则直接将检测报文封装MAC头之后转发到VTEP13的下一跳;如果存在多个等价下一跳,则根据下一跳的个数复制已通过VXLAN封装的检测报文,之后根据每个下一跳的MAC地址封装检测报文的MAC头,将封装后的报文发送到VTEP13对应的下一跳。
例如,VTEP13的下一跳L3设备14接收到检测报文之后,向控制器10上报链路状态信息,其中,该链路状态信息可以携带有L3设备14的设备IP地址,从而可以使控制器10通过设备IP地址能够识别出该检测报文是来自哪台网络设备。L3设备14根据检测报文中的目的VTEP地址查找下一跳,根据下一跳的个数来确定是否需要复制接收到的检测报文以及需要复制该检测报文的个数,如果只有一个下一跳,则直接将检测报文封装MAC头之后转发到下一跳;如果存在多个等价下一跳(如图1所示的L3设备151和L3设备152),则根据下一跳的个数复制该检测报文,L3设备151和L3设备152执行与上述L3设备14相同的动作,直至将检测报文转发到终点网络设备VTEP16。
步骤202,接收被检测链路上的网络设备根据检测报文上报的链路状态信息,链路状态信息中携带有第一源IP地址、第一目的IP地址、网络设备的设备IP地址以及第一标识;
步骤203,根据第一源IP地址、第一目的IP地址以及第一标识将检测报文与被检测链路进行匹配,以及,根据设备IP地址定位网络设备在被检测链路上的网络位置。
在步骤203和步骤204中,在一实施例中,如图1所示,控制器10接收到了网络设备L3设备14上报的链路状态信息,控制器10可以从接收到的链路状态信息中提取出发送链路状态信息的第一源IP地址、第一目的IP地址、L3设备14设备IP地址和检测报文的第一标识等信息,根据链路状态信息中的第一源IP地址、第一目的IP地址以及检测报文的第一标识查找相应的被检测链路,根据设备IP地址定位L3设备14在被检测链路上的网络位置。在一实施例中,控制器10还可以将链路状态信息记录到控制器10所维护的拓扑结构图的相应节点上,从而 方便管理员查看整个被检测链路上的链路状态。
由上述描述可知,本发明实施例通过上述步骤201-步骤204可以遍历被检测链路上的所有路径,使控制器能够获知被检测链路上的所有链路的链路状态信息,以便快速识别并定位失效链路。
图3为根据本发明的一示例性实施例二示出的链路检测方法的流程示意图;本实施例结合图1以控制器在接收到被检测链路上的链路状态信息后,如何通过链路状态信息来确定无效链路为例进行示例性说明,如图3所示,包括如下步骤:
步骤301,确定来自被检测链路上的任意一台网络设备的链路状态信息的时间戳;
步骤302,确定在时间戳之后的设定时间内是否接收到被检测链路上的任意一台网络设备的下一跳的网络设备上报的链路状态信息;
步骤303,如果在设定时间内未接收到下一跳的网络设备的链路状态信息,确定下一跳的网络设备的设备IP地址;
步骤304,根据下一跳的网络设备的设备IP地址生成被检测链路存在的失效链路的报警信息;
步骤305,根据下一跳的网络设备的设备IP地址刷新当前网络设备的转发表,以使当前网络设备根据刷新后的转发表停止向失效链路发送网络报文。
如图1所示,控制器10可以在接收到被检测链路上的任意一台网络设备上报的链路状态信息之后,还可以从链路状态信息中提取出网络设备在接收到该检测报文时的时间戳、该网络设备的设备IP地址、检测报文的入接口、检测报文的第一源IP地址、第一目的IP地址以及检测报文的第一标识等信息;例如,控制器10在接收到L3设备14(本申请中的当前网络设备)上报的链路状态信息后,从该链路状态信息中提取出L3设备14在接收到检测报文时的时间戳,如果在该时间戳之后的连续一段时间内没有接收到L3设备152上报的链路状态信息,则确定该L3设备152的设备IP地址,根据L3设备152的设备IP地址生成 被检测链路存在的失效链路的报警信息,从而使管理员能够获知L3设备14至L3设备152之间的链路已经失效,控制器10还可以刷新L3设备14的转发表,从而可以使L3设备14避免将流量发送到L3设备14至L3设备152之间的失效链路上。
本实施例在具有上述实施例的有益技术效果的基础上,可以使管理员能够获知相邻两个网络设备之间的失效链路,避免网络设备将流量发送到失效链路上,提高网络设备转发流量的效率。
图4为根据本发明的一示例性实施例三示出的链路检测方法的流程示意图;本实施例结合图1进行示例性说明,如图4所示,包括如下步骤:
步骤401,确定接收到的网络报文是否为检测报文,如果网络报文为检测报文,执行步骤402,如果为普通的网络报文,继续执行步骤401;
在一实施例中,可以通过对控制器10生成的检测报文进行VXLAN封装,通过对控制器10生成的检测报文进行VXLAN封装,从而使检测报文能够通过网络设备在VXLAN网络上转发。在一实施例中,可以通过VXLAN封装后的检测报文中的PD标记来判断网络报文是否为检测报文,例如,PD标记为1,表示网络报文为检测报文,PD标记为0,表示网络报文为普通的网络报文。
步骤402,如果网络报文为检测报文,根据检测报文中携带的被检测链路上的第一源IP地址、第一目的IP地址、网络设备的设备IP地址以及检测报文的第一标识生成链路状态信息并向控制器上报该链路状态信息;
在一实施例中,网络设备可以从检测报文的内层报文中提取出被检测链路上的第一源IP地址和第一目的IP地址,再将网络设备的设备IP地址作为第二源IP地址,将控制器的IP地址作为第二目的IP地址,从而将链路状态信息由网络设备上报至控制器。其中,第一源IP地址和第一目的IP地址为封装在检测报文中内层的信息,为载荷中的一部分,第二源IP地址为该链路状态信息的实际源IP地址,第二目的IP地址为该链路状态信息的实际目的IP,是下述检测报文格式中外层的 IP头中的信息。
步骤403,从检测报文中解析目的VTEP地址,根据目的VTEP地址查找网络设备的转发表,如果转发表中存在网络设备的至少一个下一跳,根据至少一个下一跳的个数复制检测报文;
在一实施例中,目的VTEP地址由被检测链路上的起始网络设备封装在检测报文外层的目的IP地址。在一实施例中,可以通过网络设备的出接口的个数来确定至少一个下一条的个数。
步骤404,根据至少一个下一跳中的每一个下一跳的MAC地址封装检测报文中的MAC头并将检测报文转发到至少一个下一跳。
在一实施例中,通过MAC地址封装检测报文中的MAC头的示例请参见下述的检测报文格式说明,在此先不详述。
本发明实施例通过上述步骤401-步骤404可以使当前网络设备根据其至少一个下一跳的个数复制来自控制器的检测报文,确保能够将检测报文发送至被检测链路上的所有路径,从而实现遍历被检测链路上的所有路径,使控制器能够获知被检测链路上的所有链路的链路状态信息,方便控制器根据链路状态信息维护链路。
图5为根据本发明的一示例性实施例四示出的链路检测方法的流程示意图;本实施例结合图1并以VTEP13实现检测报文的转发为例进行示例性说明,如图5所示,包括如下步骤:
步骤501,确定接收到的网络报文是否为检测报文,如果为检测报文,执行步骤502,如果为普通的网络报文,继续执行步骤501。
步骤501的详细描述可以参见上述步骤401的描述,在此不再详述。
步骤502,根据检测报文中的第一目的IP地址查找对应的转发表。
在一实施例中,如果检测报文由控制器10直接发送至VTEP13,检测报文中携带有被检测链路上的第一源IP地址(图1所示的VTEP13的设备IP地址)、第一目的IP地址(图1所示的VTEP16的设备IP地址)以及检测报文的第一标识。在一实施例中,如果VTEP13从控制器10接收到检测报文,则表示VTEP13为被检测链路的起点设备。
步骤503,根据转发表中的VXLAN网络标识符、目的VTEP地址对检测报文进行VXLAN封装。
在一实施例中,VXLAN封装后的检测报文可以参见下述的报文格式说明,在此先不详述。
步骤504,在VXLAN的报文头中对检测报文进行标记。
在一实施例中,可以在VXLAN报文头(Header)中的VNI字段后的保留字段中定义一个PD标志位,当该PD标志位为1时表示网络报文为检测报文。
步骤505,当前网络设备是否有多个等价下一跳,如果有多个下一跳,执行步骤506,如果只有一个下一跳,执行步骤507。
在一实施例中,可以通过网络设备的出接口的个数来确定至少一个下一条的个数。
步骤506,根据等价下一跳的个数复制检测报文。
步骤507,针对每个检测报文封装相应的MAC头并向下一跳转发检测报文。
在一实施例中,封装的MAC头可以参见下述的报文格式说明,在此先不详述。
本实施例中,VTEP13根据其至少一个下一跳的个数复制来自控制器的检测报文,确保了将检测报文发送至被检测链路上的所有路径,从而实现了遍历被检测链路上VTEP13对应的所有路径,使控制器能够获知VTEP13对应路径的链路状态信息。
图6为根据本发明的一示例性实施例五示出的链路检测方法的流程示意图;本实施例结合图1并以L3设备14实现检测报文的转发为例进行示例性说明,如图6所示,包括如下步骤:
步骤601,确定接收到的网络报文是否为检测报文,如果为检测报文,执行步骤602,如果为普通的网络报文,继续执行步骤601。
步骤601的详细描述可以参见上述步骤401的描述,在此不再详述。
步骤602,提取检测报文的入接口索引、检测报文中的第一源IP地址、第一目的IP地址及检测报文的第一标识、当前时间戳。
步骤603,根据第一源IP地址、第一目的IP地址、第一标识以及当前时间戳生成链路状态信息并向控制器上报链路状态信息。
步骤604,根据检测报文的目的VTEP地址查找转发表。
在一实施例中,通过目的VTEP地址查找转发表的方法可以参见现有技术中的相关描述,在此不详述。
步骤605,根据检测报文的目的VTEP地址查找当前网络设备是否有多个等价下一跳,如果有多个下一跳,执行步骤606,如果只有一个下一跳,执行步骤607。
在一实施例中,可以根据目的VTEP地址查找下一跳,根据下一跳的个数来确定是否需要复制检测报文以及需要复制该检测报文的个数。
步骤606,根据等价下一跳的个数复制检测报文。
步骤607,针对检测报文封装相应的MAC头并转发检测报文。
在一实施例中,封装的MAC头可以参见下述的报文格式说明,在此先不详述。
本实施例中,L3设备可以根据其至少一个下一跳的个数复制来自控制器的检测报文,确保将检测报文发送至被检测链路上的所有路径,从而实现了遍历被检测链路上L3设备对应的所有路径,使控制器能够获知L3设备对应路径的链路状态信息。
图7为根据本发明的一示例性实施例六示出的链路检测方法的流程示意图;本实施例结合图1并以VTEP16终止检测报文的转发为例进行示例性说明,如图7所示,包括如下步骤:
步骤701,确定接收到的网络报文是否为检测报文,如果为检测报文,执行步骤702,如果为普通的网络报文,继续执行步骤701。
步骤701的详细描述可以参见上述步骤401的描述,在此不再详述如何从检测报文中解析出封装在检测报文的外层报文中的第一目的IP地址。
步骤702,确定目的VTEP地址是否与本地网络设备的设备IP地址相同,如果目的VTEP地址与本地网络设备的设备IP地址相同,执行步骤703,如果目的VTEP地址与本地网络设备的设备IP地址不相同,可以参考上述图6实施例的方式转发检测报文,在此不再详述。
步骤703,如果目的VTEP地址与本地网络设备的设备IP地址相同,确定检测报文中的入接口索引以及本地网络设备的当前时间戳。
步骤704,将入接口索引和当前时间戳添加到链路状态信息中,将链路状态信息上报给控制器。
步骤705,丢弃检测报文。
本实施例中,终点网络设备在接收到检测报文后,通过将检测报文丢弃,从而实现了遍历被检测链路上的所有路径的链路检测,解决了现有技术不能够遍历链路的不足。
图8为根据本发明的一示例性实施例七示出的各系统之间的信令流程图,以控制器10如何检测VM11和VM12之间的链路状态为例并结合图1进行示例性说明,如图8所示,包括如下步骤:
步骤801,控制器10向需要做链路检测的VXLAN隧道的VTEP13下发检测报文。其中,如果只需要做单向的链路检测,则可以只向该方向的起点VTEP13下发检测报文即可;如果需要做双向链路检测,则可以同时向隧道两端的VTEP都下发检测报文。
步骤802,VTEP13接收到检测报文之后,根据检测报文的目的IP查找转发表,根据转发表中目的VNI、目的VTEP地址(本申请中的VTEP16的IP地址)等信息对检测报文进行VXLAN封装,同时将VXLAN header中的PD标记置1。
步骤803,VTEP13根据目的VTEP地址查找下一跳,如果只有一个下一跳,则直接将报文封装MAC头之后发送到下一跳;如果存在多个等价下一跳,则根据下一跳的个数复制已通过VXLAN封装的检测报文,之后根据每个下一跳的MAC地址封装报文MAC头,将封装后的检测报文发送到每个对应的下一跳;封装的VXLAN报文的VXLAN  Header字段内容详见下述报文格式说明。
步骤804,VTEP的下一跳L3设备14接收VXLAN封装的检测报文,根据网络报文中的PD标记判断网络报文是检测报文之后,向控制器10上报链路状态信息,链路状态信息中包括时间戳、报文入接口等字段。
步骤805,L3设备14根据报文中的目的VTEP地址查找下一跳,如果只有一个下一跳,则直接将检测报文封装MAC头之后转发到下一跳;如果存在多个等价下一跳,则根据下一跳的个数复制检测报文,之后根据每个下一跳的MAC地址封装检测报文的MAC头,将检测报文发送到当前L3设备对应的下一跳L3设备151;L3设备151的处理流程与L3设备14的处理流程相同,在此不再详述。
步骤806,终点VTEP16接收检测报文,根据报文中的PD标记判断报文是检测报文之后,上报链路状态信息,链路状态信息中包括时间戳、报文入接口等字段。
步骤807,终点VTEP16丢弃检测报文。
其中,检测报文的格式如下:
Figure PCTCN2016110257-appb-000001
Figure PCTCN2016110257-appb-000002
在VXLAN网络标识符(VXLAN Network Identifier,简称为VNI)字段后的保留字段中定义一个PD标志位,当该PD标志位为1时表示该报文为检测报文。
检测报文的内层报文格式如下:
Figure PCTCN2016110257-appb-000003
Figure PCTCN2016110257-appb-000004
控制器10根据第一源IP地址、第一目的IP地址、检测报文ID来标识一个检测报文,同时被检测链路上的中间网络设备上报给控制器10的链路状态信息包含检测报文的第一源IP地址、第一目的IP地址、第二目的IP地址以及检测报文的ID信息,从而可以方便控制器能够将被检测链路与检测报文相对应,根据设备IP地址定位被检测链路上的网络设备。
通过上述实施例,通过控制器负责构造检测报文,将检测报文下发到需被检测链路的链路起点(例如,图1所示的VTEP13)以及网络中间节点(例如,图1所示的L3设备14、L3设备151、L3设备152)通过查找各自对应的转发表逐跳将检测报文转发到链路终点(例如,图1所示的VTEP16)上,同时每个节点将链路状态信息上报到控制器,由控制器记录被检测链路的状态,如果链路起点或者被检测链路上的任意一个网络中间节点的转发表具有多条等价路径,则根据下一跳的个数复制检测报文并转发到相应的路径上,因此本申请可以遍历被检测链路上的所有路径。
对应于上述的链路检测方法,本申请还提出了图9所示的根据本申请的一示例性实施例的控制器的示意结构图。请参考图9,在硬件层面,该控制器包括第一处理器、内部总线、第一网络接口、内存以及存储第 一处理器可执行指令的第一存储器,当然还可能包括其他业务所需要的硬件。
其中,第一网络接口,用于将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,检测报文中携带有被检测链路上的第一源IP地址、第一目的IP地址以及检测报文的第一标识;接收被检测链路上的网络设备根据检测报文上报的链路状态信息,链路状态信息中携带有第一源IP地址、第一目的IP地址、网络设备的设备IP地址以及第一标识;
第一处理器,用于根据链路状态信息中携带的第一源IP地址、第一目的IP地址以及第一标识将检测报文与被检测链路进行匹配,以及,根据设备IP地址定位网络设备在被检测链路上的网络位置。
对应于上述的链路检测方法,本申请还提出了图10所示的根据本申请的一示例性实施例的网络设备的示意结构图。请参考图10,在硬件层面,该网络设备包括第二处理器、内部总线、第二网络接口、内存以及存储第二处理器可执行指令的第二存储器,当然还可能包括其他业务所需要的硬件。
其中,第二处理器,用于确定接收到的网络报文是否为检测报文;
如果网络报文为检测报文,根据检测报文中携带的被检测链路的第一源IP地址、第一目的IP地址、网络设备的设备IP地址以及检测报文的第一标识生成链路状态信息并通过第二网络接口向控制器上报链路状态信息;
根据检测报文的第一目的IP地址查找网络设备的转发表,如果转发表中存在网络设备的至少一个下一跳,根据至少一个下一跳的个数复制检测报文;
根据至少一个下一跳中的每一个下一跳的MAC地址封装检测报文中的MAC头并通过第二网络接口将检测报文转发到至少一个下一跳。
图11为根据本发明的一示例性实施例一示出的链路检测装置的结构示意图;如图11所示,该链路检测装置可以包括:第一发送模块111、 第一接收模块112、匹配模块113。其中:
第一发送模块111,用于将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,检测报文中携带有被检测链路上的第一源IP地址、第一目的IP地址以及检测报文的第一标识;
第一接收模块112,用于接收被检测链路上的网络设备根据第一发送模块111发送的检测报文上报的链路状态信息,链路状态信息中携带有第一源IP地址、第一目的IP地址、网络设备的设备IP地址以及第一标识;
匹配模块113,用于根据第一接收模块112接收到的链路状态信息中携带的第一源IP地址、第一目的IP地址以及第一标识将检测报文与被检测链路进行匹配,以及,根据设备IP地址定位网络设备在被检测链路上的网络位置。
图12为根据本发明的一示例性实施例二示出的链路检测装置的结构示意图;如图12所示,在上述图11所示实施例的基础上,在一实施例中,装置还可包括:
第一确定模块114,用于确定第一接收模块112接收到被检测链路上的任意一台网络设备的链路状态信息的时间戳;
第二确定模块115,用于确定在第一确定模块114确定的时间戳之后的设定时间内是否接收到被检测链路上的任意一台网络设备的下一跳的网络设备上报的链路状态信息;
第三确定模块116,用于如果第二确定模块115确定在设定时间内未接收到下一跳的网络设备的链路状态信息,确定下一跳的网络设备的设备IP地址;
报警信息生成模块117,用于根据第三确定模块116确定的下一跳的网络设备的设备IP地址生成被检测链路存在的失效链路的报警信息。
在一实施例中,装置还可包括:
刷新模块118,用于根据第三确定模块116确定的下一跳的网络设 备的设备IP地址刷新当前网络设备的转发表,以使当前网络设备根据刷新后的转发表停止向失效链路发送网络报文。
在一实施例中,装置还可包括:
记录模块119,用于将第三确定模块116确定的链路状态信息记录到控制器维护的拓扑结构图的相应节点上。
图13为根据本发明的一示例性实施例三示出的链路检测装置的结构示意图;如图13所示,该链路检测装置可以包括:第四确定模块131、链路信息生成模块132、查找模块133、第一封装模块134。其中:
第四确定模块131,用于确定接收到的网络报文是否为检测报文;
链路信息生成模块132,用于如果第四确定模块131确定网络报文为检测报文,根据检测报文中携带的被检测链路上的第一源IP地址、第一目的IP地址、网络设备的设备IP地址以及检测报文的第一标识生成链路状态信息并向控制器上报链路状态信息;
查找模块133,用于从第四确定模块131确定的检测报文中解析目的VTEP地址,根据目的VTEP地址查找网络设备的转发表,如果转发表中存在网络设备的至少一个下一跳,根据至少一个下一跳的个数复制检测报文;
第一封装模块134,用于根据查找模块133查找到的至少一个下一跳中的每一个下一跳的MAC地址封装检测报文中的MAC头并将检测报文转发到至少一个下一跳。
图14为根据本发明的一示例性实施例四示出的链路检测装置的结构示意图;如图14所示,在上述图13所示实施例的基础上,在一实施例中,装置还可包括:
第二封装模块135,用于根据查找模块133查找到的转发表中的目的VXLAN网络标识符、目的VTEP地址对检测报文进行VXLAN封装;
标记模块136,用于在VXLAN的报文头中对检测报文进行标记;
查找模块133执行根据检测报文的第一目的IP地址查找网络设备的转发表的步骤。
在一实施例中,如果检测报文由被检测链路上的网络设备转发,装置还可包括:
第五确定模块137,用于确定第四确定模块131确定的检测报文中的入接口索引以及本地网络设备的当前时间戳;
第一添加模块138,用于将第五确定模块137确定的入接口索引和当前时间戳添加到链路状态信息中。
在一实施例中,装置还可包括:
第六确定模块139,用于确定目的VTEP地址是否与本地网络设备的IP地址相同;
第七确定模块140,用于如果第六确定模块139确定目的VTEP地址与本地网络设备的IP地址相同,确定检测报文中的入接口索引以及本地网络设备的当前时间戳;
第二添加模块141,用于将第七确定模块140确定的入接口索引和当前时间戳添加到链路状态信息中。
在一实施例中,装置还可包括:
丢弃模块142,用于丢弃第四确定模块131确定检测报文。
在一实施例中,第四确定模块131可包括:
第一确定单元1311,用于确定接收到的网络报文中的VXLAN报文头中的标记;
第二确定单元1312,用于根据第一确定单元1311确定的VXLAN报文头中的标记确定网络报文是否为检测报文。
上述实施例可见,通过控制器负责构造检测报文,将检测报文下发到需被检测链路的链路起点以及网络中间节点通过查找各自对应的转发表逐跳将检测报文转发到链路终点上,同时每个节点将链路状态信息上报到控制器,由控制器记录被检测链路的状态,如果链路起点或者被检测链路上的任意一个网络中间节点的转发表具有多条等价路径,则根据下一跳的个数复制检测报文并转发到相应的路径上,因此本申请可以遍历被检测链路上的所有路径。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (22)

  1. 一种链路检测方法,应用在控制器上,其特征在于,所述方法包括:
    将所述检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,所述检测报文中携带有所述被检测链路上的第一源IP地址、第一目的IP地址以及所述检测报文的第一标识;
    接收所述被检测链路上的网络设备根据所述检测报文上报的链路状态信息,所述链路状态信息中携带有所述第一源IP地址、所述第一目的IP地址、所述网络设备的设备IP地址以及所述第一标识;
    根据所述链路状态信息中携带的所述第一源IP地址、所述第一目的IP地址以及所述第一标识将所述检测报文与所述被检测链路进行匹配,以及,根据所述设备IP地址定位网络设备在所述被检测链路上的网络位置。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    确定来自所述被检测链路上的任意一台网络设备的链路状态信息的时间戳;
    确定在所述时间戳之后的设定时间内是否接收到所述被检测链路上的任意一台网络设备的下一跳的网络设备上报的链路状态信息;
    如果在所述设定时间内未接收到所述下一跳的网络设备的链路状态信息,确定所述下一跳的网络设备的设备IP地址;
    根据所述下一跳的网络设备的设备IP地址生成所述被检测链路存在的失效链路的报警信息。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    根据所述下一跳的网络设备的设备IP地址刷新当前网络设备的转发表,以使所述当前网络设备根据刷新后的转发表停止向所述失效链路发送网络报文。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    将所述链路状态信息记录到所述控制器维护的拓扑结构图的相应节点上。
  5. 一种链路检测方法,应用在网络设备上,其特征在于,所述方法包括:
    确定接收到的网络报文是否为检测报文;
    如果所述网络报文为检测报文,根据所述检测报文中携带的被检测链路的第一源IP地址、第一目的IP地址、所述网络设备的设备IP地址以及所述检测报文的第一标识生成链路状态信息并向控制器上报所述链路状态信息;
    从所述检测报文中解析目的VTEP地址,根据所述目的VTEP地址查找所述网络设备的转发表,如果所述转发表中存在所述网络设备的至少一个下一跳,根据所述至少一个下一跳的个数复制所述检测报文;
    根据所述至少一个下一跳中的每一个下一跳的MAC地址封装所述检测报文中的MAC头并将所述检测报文转发到所述至少一个下一跳。
  6. 根据权利要求5所述的方法,其特征在于,如果所述检测报文由所述控制器直接发送,所述方法还包括:
    根据所述转发表中的目的VXLAN网络标识符、所述目的VTEP地址对所述检测报文进行VXLAN封装;
    在所述VXLAN的报文头中对所述检测报文进行标记,并执行所述根据所述检测报文的第一目的IP地址查找所述网络设备的转发表的步骤。
  7. 根据权利要求5所述的方法,其特征在于,如果所述检测报文由所述被检测链路上的网络设备转发,所述方法还包括:
    确定所述检测报文中的入接口索引以及本地网络设备的当前时间戳;
    将所述入接口索引和所述当前时间戳添加到所述链路状态信息中。
  8. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    确定所述目的VTEP地址是否与本地网络设备的设备IP地址相同;
    如果所述目的VTEP地址与所述本地网络设备的设备IP地址相同,确定所述检测报文中的入接口索引以及本地网络设备的当前时间戳;
    将所述入接口索引和所述当前时间戳添加到所述链路状态信息中。
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
    丢弃所述检测报文。
  10. 根据权利要求5所述的方法,其特征在于,所述确定接收到的网络报文是否为检测报文,包括:
    确定接收到的网络报文中的VXLAN报文头中的标记;
    根据所述VXLAN报文头中的标记确定所述网络报文是否为检测报文。
  11. 一种链路检测装置,应用在控制器上,其特征在于,所述装置包括:
    第一发送模块,用于将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,所述检测报文中携带有所述被检测链路上的第一源IP地址、第一目的IP地址以及所述检测报文的第一标识;
    第一接收模块,用于接收所述被检测链路上的网络设备根据所述第一发送模块发送的所述检测报文上报的链路状态信息,所述链路状态信息中携带有所述第一源IP地址、所述第一目的IP地址、所述网络设备的设备IP地址以及所述第一标识;
    匹配模块,用于根据所述第一接收模块接收到的所述链路状态信息中携带的所述第一源IP地址、所述第一目的IP地址以及所述第一标识将所述检测报文与所述被检测链路进行匹配,以及,根据所述设备IP地址定位网络设备在所述被检测链路上的网络位置。
  12. 根据权利要求11所述的装置,其特征在于,所述装置还包括:
    第一确定模块,用于确定所述第一接收模块接收到所述被检测链路 上的任意一台网络设备的链路状态信息的时间戳;
    第二确定模块,用于确定在所述第一确定模块确定的所述时间戳之后的设定时间内是否接收到所述被检测链路上的任意一台网络设备的下一跳的网络设备上报的链路状态信息;
    第三确定模块,用于如果所述第二确定模块确定在所述设定时间内未接收到所述下一跳的网络设备的链路状态信息,确定所述下一跳的网络设备的设备IP地址;
    报警信息生成模块,用于根据所述第三确定模块确定的所述下一跳的网络设备的设备IP地址生成所述被检测链路存在的失效链路的报警信息。
  13. 根据权利要求12所述的装置,其特征在于,所述装置还包括:
    刷新模块,用于根据所述第三确定模块确定的所述下一跳的网络设备的设备IP地址刷新当前网络设备的转发表,以使所述当前网络设备根据刷新后的转发表停止向所述失效链路发送网络报文。
  14. 根据权利要求11所述的装置,其特征在于,所述装置还包括:
    记录模块,用于将所述第三确定模块确定的所述链路状态信息记录到所述控制器维护的拓扑结构图的相应节点上。
  15. 一种链路检测装置,应用在网络设备上,其特征在于,所述装置包括:
    第四确定模块,用于确定接收到的网络报文是否为检测报文;
    链路信息生成模块,用于如果所述第四确定模块确定所述网络报文为检测报文,根据所述检测报文中携带的被检测链路上的第一源IP地址、第一目的IP地址、所述网络设备的设备IP地址以及所述检测报文的第一标识生成链路状态信息并向控制器上报所述链路状态信息;
    查找模块,用于从所述第四确定模块确定的所述检测报文中解析目的VTEP地址,根据所述目的VTEP地址查找所述网络设备的转发表,如果所述转发表中存在所述网络设备的至少一个下一跳,根据所述至少一个下一跳的个数复制所述检测报文;
    第一封装模块,用于根据所述查找模块查找到的所述至少一个下一跳中的每一个下一跳的MAC地址封装所述检测报文中的MAC头并将所述检测报文转发到所述至少一个下一跳。
  16. 根据权利要求15所述的装置,其特征在于,如果所述检测报文由所述控制器直接发送,所述装置还包括:
    第二封装模块,用于根据所述转发表中的目的VXLAN网络标识符、所述目的VTEP地址对所述检测报文进行VXLAN封装;
    标记模块,用于在所述VXLAN的报文头中对所述检测报文进行标记;
    所述查找模块执行所述根据所述检测报文的第一目的IP地址查找所述网络设备的转发表的步骤。
  17. 根据权利要求15所述的装置,其特征在于,如果所述检测报文由所述被检测链路上的网络设备转发,所述装置还包括:
    第五确定模块,用于确定所述检测报文中的入接口索引以及本地网络设备的当前时间戳;
    第一添加模块,用于将所述入接口索引和所述当前时间戳添加到所述链路状态信息中。
  18. 根据权利要求15所述的装置,其特征在于,所述装置还包括:
    第六确定模块,用于确定所述目的VTEP地址是否与本地网络设备的设备IP地址相同;
    第七确定模块,用于如果所述第六确定模块确定所述目的VTEP地址与所述本地网络设备的设备IP地址相同,确定所述检测报文中的入接口索引以及本地网络设备的当前时间戳;
    第二添加模块,用于将所述第七确定模块确定的所述入接口索引和所述当前时间戳添加到所述链路状态信息中。
  19. 根据权利要求18所述的装置,其特征在于,所述装置还包括:
    丢弃模块,用于丢弃所述第四确定模块确定所述检测报文。
  20. 根据权利要求15所述的装置,其特征在于,所述第四确定模块包括:
    第一确定单元,用于确定接收到的网络报文中的VXLAN报文头中的标记;
    第二确定单元,用于根据所述第一确定单元确定的所述VXLAN报文头中的标记确定所述网络报文是否为检测报文。
  21. 一种控制器,其特征在于,所述控制器包括:
    第一处理器;用于存储所述第一处理器可执行指令的第一存储器;第一网络接口;
    其中,所述第一网络接口,用于将检测报文通过起始网络设备依次发送至被检测链路上的每一台网络设备直至终点网络设备,所述检测报文中携带有所述被检测链路上的第一源IP地址、第一目的IP地址以及所述检测报文的第一标识;
    接收所述被检测链路上的网络设备根据所述检测报文上报的链路状态信息,所述链路状态信息中携带有所述第一源IP地址、所述第一目的IP地址、所述网络设备的设备IP地址以及所述第一标识;
    所述第一处理器,用于根据所述链路状态信息中携带的所述第一源IP地址、所述第一目的IP地址以及所述第一标识将所述检测报文与所述被检测链路进行匹配,以及,根据所述设备IP地址定位网络设备在所述被检测链路上的网络位置。
  22. 一种网络设备,其特征在于,所述网络设备包括:
    第二处理器;用于存储所述第二处理器可执行指令的存储器;第二网络接口;
    其中,所述第二处理器,用于确定接收到的网络报文是否为检测报文;如果所述网络报文为检测报文,根据所述检测报文中携带的被检测链路的第一源IP地址、第一目的IP地址、所述网络设备的设备IP地址以及所述检测报文的第一标识生成链路状态信息并通过所述第二网络接口向控制器上报所述链路状态信息;
    根据所述检测报文的第一目的IP地址查找所述网络设备的转发表,如果所述转发表中存在所述网络设备的至少一个下一跳,根据所述至少一个下一跳的个数复制所述检测报文;
    根据所述至少一个下一跳中的每一个下一跳的MAC地址封装所述检测报文中的MAC头并通过所述第二网络接口将所述检测报文转发到所述至少一个下一跳。
PCT/CN2016/110257 2015-12-30 2016-12-16 链路检测方法、装置及网络设备、控制器 WO2017114181A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018534545A JP2019500812A (ja) 2015-12-30 2016-12-16 リンク検出の方法、装置、ネットワークデバイス、及び、コントローラ
EP16880971.3A EP3399699B1 (en) 2015-12-30 2016-12-16 Link detection method and device, and network equipment and controller
US16/022,576 US10530633B2 (en) 2015-12-30 2018-06-28 Link detection method, apparatus, network device, and controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201511022938.4 2015-12-30
CN201511022938.4A CN106936655A (zh) 2015-12-30 2015-12-30 链路检测方法、装置及网络设备、控制器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/022,576 Continuation US10530633B2 (en) 2015-12-30 2018-06-28 Link detection method, apparatus, network device, and controller

Publications (1)

Publication Number Publication Date
WO2017114181A1 true WO2017114181A1 (zh) 2017-07-06

Family

ID=59224491

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/110257 WO2017114181A1 (zh) 2015-12-30 2016-12-16 链路检测方法、装置及网络设备、控制器

Country Status (5)

Country Link
US (1) US10530633B2 (zh)
EP (1) EP3399699B1 (zh)
JP (1) JP2019500812A (zh)
CN (1) CN106936655A (zh)
WO (1) WO2017114181A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016265A (zh) * 2022-12-12 2023-04-25 广州文远知行科技有限公司 消息全链路监控方法、装置、系统、设备和存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628186B2 (en) * 2014-09-08 2020-04-21 Wirepath Home Systems, Llc Method for electronic device virtualization and management
CN108111432B (zh) * 2017-12-27 2021-07-02 新华三技术有限公司 报文转发方法及装置
TWI650978B (zh) * 2018-03-21 2019-02-11 和碩聯合科技股份有限公司 封包辨識方法及封包辨識裝置
CN116208524B (zh) * 2018-06-06 2024-09-17 华为技术有限公司 一种数据报文的检测方法、设备及系统
CN110858810B (zh) * 2018-08-24 2021-07-30 中国移动通信集团四川有限公司 网络链路状态监测方法、设备、系统及介质
US11252192B1 (en) * 2018-09-28 2022-02-15 Palo Alto Networks, Inc. Dynamic security scaling
US10880208B1 (en) * 2019-02-11 2020-12-29 Google Llc Offloads for multicast virtual network packet processing in a network interface card
CN109981409B (zh) * 2019-03-26 2021-05-07 新华三技术有限公司 报文转发方法、装置及转发设备
WO2021051418A1 (en) * 2019-09-21 2021-03-25 Huawei Technologies Co., Ltd. Methods and network nodes for reliability measurement
CN114205263B (zh) * 2021-12-08 2023-10-13 中国信息通信研究院 用于Ether CAT网络的通信方法、系统和存储介质
CN114465931B (zh) * 2021-12-30 2023-12-29 深信服科技股份有限公司 网络探测方法、装置、电子设备及存储介质
CN114095420B (zh) * 2022-01-20 2022-05-31 苏州浪潮智能科技有限公司 链路聚合方法、装置、电子设备及存储介质
CN115866106B (zh) * 2023-02-21 2023-06-02 麒麟软件有限公司 多网卡绑定的冗余网络通信系统数据处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104270298A (zh) * 2014-09-30 2015-01-07 杭州华三通信技术有限公司 一种vxlan网络中的报文转发方法及装置
US20150281062A1 (en) * 2014-03-31 2015-10-01 Arista Networks, Inc. System and method for route health injection using virtual tunnel endpoints

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009980B1 (en) * 2000-03-13 2006-03-07 Lucent Technologies Inc. Apparatus and method for automatic port identity discovery in hierarchical heterogenous systems
US20030167348A1 (en) * 2001-07-02 2003-09-04 Globespanvirata, Inc. Communications system using rings architecture
WO2010103432A2 (en) 2009-03-11 2010-09-16 International Business Machines Corporation Method and spacer for assembling flexible optical waveguide ribbons, and assembled stack of such ribbons
CN101616094B (zh) * 2009-08-10 2012-04-18 杭州华三通信技术有限公司 报文转发路径的获取方法和设备
US8804719B2 (en) * 2010-06-29 2014-08-12 Cisco Technology, Inc. In-band multicast trace in IP and MPLS networks
US8811409B2 (en) * 2012-06-04 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Routing VLAN tagged packets to far end addresses of virtual forwarding instances using separate administrations
CN104660469B (zh) * 2015-02-15 2018-11-16 华为技术有限公司 一种二层网络的连通性检测方法及相关设备
CN106612211B (zh) * 2015-10-23 2020-02-21 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150281062A1 (en) * 2014-03-31 2015-10-01 Arista Networks, Inc. System and method for route health injection using virtual tunnel endpoints
CN104270298A (zh) * 2014-09-30 2015-01-07 杭州华三通信技术有限公司 一种vxlan网络中的报文转发方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3399699A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016265A (zh) * 2022-12-12 2023-04-25 广州文远知行科技有限公司 消息全链路监控方法、装置、系统、设备和存储介质
CN116016265B (zh) * 2022-12-12 2024-03-29 广州文远知行科技有限公司 消息全链路监控方法、装置、系统、设备和存储介质

Also Published As

Publication number Publication date
EP3399699A1 (en) 2018-11-07
EP3399699B1 (en) 2023-06-28
CN106936655A (zh) 2017-07-07
JP2019500812A (ja) 2019-01-10
EP3399699A4 (en) 2019-06-19
US10530633B2 (en) 2020-01-07
US20180309617A1 (en) 2018-10-25

Similar Documents

Publication Publication Date Title
WO2017114181A1 (zh) 链路检测方法、装置及网络设备、控制器
US20210184954A1 (en) Bit-forwarding ingress router, bit-forwarding router, and operation, administration and maintenance test method
US11979322B2 (en) Method and apparatus for providing service for traffic flow
US10097402B2 (en) Filter tables for management functions
ES2875783T3 (es) Procedimiento y dispositivo de detección de ruta
EP3207671B1 (en) Traceroute in virtual extensible local area networks
US10404605B2 (en) Packet processing method, device and computer storage medium
CN104380667B (zh) 一种数据报文的路由方法和设备
WO2016101646A1 (zh) 以太虚拟网络的接入方法及装置
WO2016082588A1 (zh) 链路连通性检测方法及装置
CN108809759A (zh) 检测链路状态的方法、装置和路由器
WO2022135542A1 (zh) 一种基于psn实现rdma网络丢包检测的方法及装置
WO2012149862A1 (zh) 环网故障切换方法和装置
US20140293798A1 (en) Mpls-tp network and link trace method thereof
WO2010045838A1 (zh) 报文处理的方法和装置
WO2023226633A1 (zh) 故障处理方法、相关设备和系统
US10003524B2 (en) Routing loop determining method and device
WO2019223435A1 (zh) 组播快速切换的方法、装置、设备及存储介质
TWI728044B (zh) 鏈路檢測方法、裝置及網路設備、控制器
CN114301960B (zh) 集群非对称流量的处理方法及装置、电子设备及存储介质
WO2014177001A1 (zh) 一种网络告警方法、设备及终端
CN111934944B (zh) 位转发入口路由器、位转发路由器及操作管理维护检测方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16880971

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018534545

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016880971

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016880971

Country of ref document: EP

Effective date: 20180730