Overview of Path Detection
Purpose
With the fast development of network services, the sizes of data center networks sharply increase. Understanding the forwarding path of a specific flow or the path between two network devices will help operations and maintenance (O&M) personnel locate network faults quickly. The path detection function provided by switches works with the Agile Controller. A switch is able to identify the path detection packets delivered by the Agile Controller, calculate the outbound interfaces based on the MAC address table or routing table, send the outbound/inbound interfaces and path detection packets to the Agile Controller, and forward the path detection packets out. The Agile Controller calculates the entire path through which traffic passes based on the information reported by the switch. If network traffic is interrupted, O&M personnel can quickly locate the faulty device.
IPv4 Path Detection
- OAM-based IPv4 path detection: The device identifies whether the packets are detection packets based on the OAM and OAM PDU fields in the packets. To enable OAM-based IPv4 path detection, run the ip path detection enable command.
- DSCP-based IPv4 path detection: The device identifies whether the packets are detection packets based on the DSCP value and OAM PDU field in the packets. To enable DSCP-based IPv4 path detection, run the ip path detection enable dscp dscp-value command.
The IPv4 path detection function can detect only the traffic path between any two devices when no tunnel is configured or a VXLAN tunnel is configured.
If DSCP-based IPv4 path detection is enabled, plan the DSCP value that is used to identify detection packets, and ensure that the DSCP values are not used by any other service traffic.
On the CE6880EI and CE5880EI, the IPv4 path detection function cannot identify ICMP detection packets. Therefore, you must select UDP or TCP when constructing detection packets.
CE8861EI, CE8868EI, CE6865EI, and CE6857EI do not support OAM-based IPv4 path detection.
OAM-based IPv4 path detection
The Agile Controller delivers common UDP/TCP/ICMP packets. Figure 13-1 shows the packet format. The device identifies path detection packets based on the detection flag (OAM) and detection data (OAM PDU). For the TCP packet, the 4-byte OAM is placed in the Acknowledgment Number field in the header. The length of the TCP packet header must be 20 bytes. The OAM PDU is placed in the Payload of the TCP packet. For the UDP/ICMP packet, the 4-byte OAM is placed in the Payload. The OAM PDU is also placed in the Payload. However, the length of (UDP/ICMP Header + OAM + other fields) is 20 bytes.
- The Agile Controller creates a path detection packet based on configuration. The source IP address is the IP address of VM1, and the destination IP address is the IP address of VM3.
- The Agile Controller encapsulates the path detection packet into a Packet-out message, and sends the Packet-out message to Leaf2.
- After receiving the Packet-out message, Leaf2 identifies the detection flag in the path detection packet, calculates the outbound interface based on the MAC address table, and sends the Packet-in message carrying the outbound interface, inbound interface, and path detection packet to the Agile Controller. Then Leaf2 encapsulates the path detection packet into the VXLAN packet and sends the VXLAN packet to Switch1.
- After receiving the VXLAN packet, Switch1 calculates the outbound interface based on MAC address table, and sends a Packet-in message carrying the outbound interface, inbound interface, and VXLAN packet to the Agile Controller. Then Switch1 transparently transmit the VXLAN packet to Spine1.
- After receiving the VXLAN packet, Spine1 calculates the outbound interface based on routing table, and sends a Packet-in message carrying the outbound interface, inbound interface, and VXLAN packet to the Agile Controller. Then Spine1 decapsulates the VXLAN packet and sends the path detection packet to LSW1.
- After receiving the path detection packet, LSW1 calculates the outbound interface based on routing table, and sends a Packet-in message carrying the outbound interface, inbound interface, and path detection packet to the Agile Controller. Then LSW1 forwards the path detection packet to Spine3.
- After receiving the path detection packet, Spine3 calculates the outbound interface based on routing table, and sends a Packet-in message carrying the outbound interface, inbound interface, and path detection packet to the Agile Controller. Then Spine3 encapsulates the path detection packet into the VXLAN packet and sends the VXLAN packet to Switch3.
- After receiving the VXLAN packet, Switch3 repeats the operations performed by Switch1.
- After receiving the VXLAN packet, Leaf6 calculates the outbound interface based on MAC address table, and sends a Packet-in message carrying the outbound interface, inbound interface, and VXLAN packet to the Agile Controller. Then Leaf6 decapsulates the VXLAN packet and sends the path detection packet to VM3.
- The Agile Controller calculates the entire path from VM1 to VM3 based on the information returned by Leaf2, Switch1, Spine1, LSW1, Spine3, Switch3, and Leaf6.
DSCP-based IPv4 path detection
The Agile Controller delivers common UDP/TCP/ICMP packets. Figure 13-3 shows the packet format. The device identifies path detection packets based on the detection flag (DSCP value) and detection data (OAM PDU). The process of DSCP-based IPv4 path detection is similar to that of OAM-based IPv4 path detection, and is not mentioned here.
DSCP-based IPv6 Path Detection
The Agile Controller delivers common IPv6 UDP/TCP/ICMP packets. Figure 13-4 shows the packet format. The device identifies path detection packets based on the detection flag (DSCP value) and detection data (OAM PDU). The DSCP-based IPv6 path detection process is similar to the OAM-based IPv4 path detection process and is not mentioned here.
DSCP-based IPv6 path detection can only be used on the IPv6 over IPv4 VXLAN network.
If DSCP-based IPv6 path detection is enabled, plan the DSCP value that is used to identify detection packets, and ensure that the DSCP value is not used by any other service traffic.
IPv6 VXLAN Path Detection
IPv6 VXLAN path detection can detect only traffic paths between VTEPs, not VMs.
Field |
Description |
---|---|
OAM PDU |
Detection data. |
Pseudo-Header |
Pseudo header, which is 128 bytes long. This field is not required for path detection. |
VXLAN Header |
|
Out UDP Header |
UDP packet header used to encapsulate the VXLAN packet. The UDP port number is 4789. |
Out IPv6 Header |
IPv6 packet header in the VXLAN packet. |
Out Ethernet Header |
Ethernet header in the VXLAN packet. |
- The Agile Controller creates an IPv6 VXLAN detection packet based on user configuration. The source IP address is the IP address of VTEP1, and the destination IP address is the IP address of VTEP2.
- The Agile Controller encapsulates the IPv6 VXLAN detection packet into a Packet-out message, and sends the Packet-out message to Leaf1.
- After receiving the Packet-out message, Leaf1 identifies the detection flag in the IPv6 VXLAN detection packet, calculates the outbound interface by searching for related entries based on the IP quintuple information, and sends the Packet-in message carrying the outbound interface, inbound interface, and IPv6 VXLAN detection packet to the Agile Controller. Leaf1 then sends the IPv6 VXLAN detection packet to Spine1.
- After receiving the IPv6 VXLAN detection packet, Spine1 calculates the outbound interface by searching for related entries based on the IP quintuple information, and sends a Packet-in message carrying the outbound interface, inbound interface, and IPv6 VXLAN detection packet to the Agile Controller. Spine1 then sends the IPv6 VXLAN detection packet to Leaf3.
- After receiving the IPv6 VXLAN detection packet, Leaf3 finds that the destination IP address of the packet is its own IP address, and then sends a Packet-in message carrying the inbound interface and IPv6 VXLAN detection packet to the Agile controller. Because the destination IP address of the IPv6 VXLAN detection packet is the IP address of Leaf3, the packet will not be forwarded.
- The Agile Controller calculates the entire path from VTEP1 to VTEP2 based on the information returned by Leaf1, Spine1, and Leaf3.