- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
04-SRv6 OAM configuration | 123.02 KB |
Configuring SRv6 OAM
About SRv6 OAM
· SRv6 SID-based ping—Detects network connectivity and host reachability.
· SRv6 SID-based tracert—Detects network connectivity and locates network problems.
End.OP SID
An End.OP SID is an SRv6 SID of OAM type used in SRv6 SID-based ping/tracert operations. When a device receives a request packet destined for the local End.OP SID, it further checks the SRv6 SID in the packet. If the SRv6 SID is the local SRv6 SID, the device sends a reply; if not, the device discards the packet.
Take SRv6 SID-based ping as an example. As shown in Figure 1, in order to ping Device C, Device A constructs an ICMPv6 echo request by adding the End.OP SID of Device C to the SRH header in the request. Upon receiving the request and finding that request is destined for the local End.OP SID, Device C further checks whether SRv6 SID c is the local SRv6 SID. If it is the local SRv6 SID, Device C sends an ICMPv6 echo reply; if not, Device C discards the ICMPv6 echo request.
Figure 1 End.OP SID used in an SRv6 SID-based ping
SRv6 SID-based ping
SRv6 OAM supports segment-by-segment ping and end-to-end ping.
Segment-by-segment ping
Use segment-by-segment ping to detect connectivity of all SRv6 nodes in the SRv6 path. All SRv6 nodes will send an ICMPv6 echo reply to the source node.
Figure 2 Segment-by-segment ping
Figure 2 shows the segment-by-segment ping process as follows:
1. Device A initiates a ping to Device C. It constructs an ICMPv6 echo request encapsulated with an SRH header and then forwards the request to Device B.
2. Upon receiving the ICMPv6 echo request, Device B performs one of the following operations:
¡ If Device B is SRv6 capable, it sends an ICMPv6 echo reply to Device A, and then forwards the ICMPv6 echo request to Device C based on the SRH header.
¡ If Device B is not SRv6 capable, it forwards the ICMPv6 echo request according to routing table lookup without returning an ICMPv6 echo reply.
3. Upon receiving the ICMPv6 echo request, Device C sends an ICMPv6 echo reply to Device A.
4. Device A determines whether the destination node is reachable based on reception of the ICMPv6 echo reply:
¡ If the ICMPv6 echo reply is received before the specified timeout timer expires, the destination node is reachable.
¡ If no ICMPv6 echo reply is received when the specified timeout timer expires, the destination node is unreachable.
End-to-end ping
Figure 3 shows the end-to-end ping process as follows:
1. Device A initiates a ping to Device C. It constructs an ICMPv6 echo request encapsulated with an SRH header and then forwards the request to Device B.
2. Upon receiving the ICMPv6 echo request, Device B forwards the request to Device C.
¡ If Device B is SRv6 capable, it forwards the request based on the SRH header.
¡ If Device B is not SRv6 capable, it forwards the request according to routing table lookup.
3. Upon receiving the ICMPv6 echo request and finding that it is destined for the local End.OP SID, Device C further verifies the SRv6 SID in the request.
¡ If the SRv6 SID is the local SRv6 SID, the verification succeeds and Device C sends an ICMPv6 echo reply to Device A.
¡ If the SRv6 SID is not the local SRv6 SID, the verification fails and Device C discards the ICMPv6 echo request.
4. Device A determines whether the destination node is reachable based on reception of the ICMPv6 echo reply:
¡ If the ICMPv6 echo reply is received before the specified timeout timer expires, the destination node is reachable.
¡ If no ICMPv6 echo reply is received when the specified timeout timer expires, the destination node is unreachable.
SRv6 SID-based tracert
SRv6 OAM supports overlay tracert and hop-by-hop tracert.
Overlay tracert
Use overlay tracert to display information about only SRv6 nodes in the SRv6 path.
Figure 4 shows the overlay tracert process as follows:
1. Device A initiates a tracert to Device C. It constructs a UDP packet encapsulated with an SRH header and then forwards the UDP packet to Device B (the TTL value is 64 in the IPv6 packet header).
Make sure you specify a destination UDP port that is not used by any applications on the destination node.
2. Upon receiving the UDP packet, Device B performs one of the following operations:
¡ If Device B is SRv6 capable, it sends an ICMPv6 port unreachable message to Device A, and then forwards the UDP packet based on the SRH header.
¡ If Device B is not SRv6 capable, it forwards the UDP packet according to routing table lookup without returning an ICMPv6 port unreachable message.
3. Upon receiving the UDP packet, Device C sends an ICMPv6 port unreachable message to Device A.
4. Device A determines whether the destination node is reachable based on reception of the ICMPv6 port unreachable message:
¡ If the ICMPv6 port unreachable message is received before the specified timeout timer expires, the destination node is reachable. The tracert result displays the SRv6 path from the source node to the destination node.
¡ If no ICMPv6 port unreachable message is received when the specified timeout timer expires, the destination node is unreachable. You can locate the faulty node based on the tracert result.
Hop-by-hop tracert
Use hop-by-hop tracert to display information about all nodes (whether they are SRv6 capable or not) in the SRv6 path.
Figure 5 shows the hop-by-hop tracert process as follows:
1. Device A initiates a tracert to Device C. It constructs a UDP packet encapsulated with an SRH header and then forwards the UDP packet to Device B (the TTL value is 1 in the IPv6 packet header).
Make sure you specify a destination UDP port that is not used by any applications on the destination node.
2. Upon receiving the UDP packet with the TTL value in the IPv6 packet header being 0, Device B sends an ICMPv6 timeout message to Device A.
3. Upon receiving the ICMPv6 timeout message, Device A sends another UDP packet by setting the TTL value to 2.
4. Upon receiving the UDP packet with the TTL value in the IPv6 packet header being 1, Device B forwards the UDP packet to Device C.
¡ If Device B is SRv6 capable, it forwards the UDP packet based on the SRH header.
¡ If Device B is not SRv6 capable, it forwards the UDP packet according to routing table lookup.
5. Upon receiving the UDP packet (with the TTL value in the IPv6 packet header being 0) and finding that it is destined for the local End.OP SID, Device C further verifies the SRv6 SID in the packet.
¡ If the SRv6 SID is the local SRv6 SID, the verification succeeds and Device C sends an ICMPv6 port unreachable message to Device A.
¡ If the SRv6 SID is not the local SRv6 SID, the verification fails and Device C discards the UDP packet.
6. Device A determines whether the destination node is reachable based on reception of the ICMPv6 port unreachable message:
¡ If the ICMPv6 port unreachable message is received before the specified timeout timer expires, the destination node is reachable. The tracert result displays the SRv6 path from the source node to the destination node.
¡ If no ICMPv6 port unreachable message is received when the specified timeout timer expires, the destination node is unreachable. You can locate the faulty node based on the tracert result.
Performing an SRv6 SID-based ping operation
Restrictions and guidelines
End-to-end ping requires configuring an End.OP SID on the destination node.
Procedure
To perform an SRv6 SID-based ping operation, execute the following command in any view:
ping ipv6-sid [ -a source-ipv6 | -c count | -m interval | -q | -s packet-size | -t timeout | -tc traffic-class | -v ] * [ segment-by-segment ] { sid }&<1-n>
Performing an SRv6 SID-based tracert operation
Restrictions and guidelines
Hop-by-hop tracert requires configuring an End.OP SID on the destination node.
Prerequisites
For hop-by-hop tracert, configure the following settings:
· Enable sending of ICMPv6 timeout packets on the intermediate devices (devices between the source and destination nodes).
· Enable sending of ICMPv6 timeout packets and ICMPv6 destination unreachable packets on the destination node.
For overlay tracert, enable sending of ICMPv6 destination unreachable packets on the intermediate devices (devices between the source and destination nodes) and destination node.
Procedure
To perform an SRv6 SID-based tracert operation, execute the following command in any view:
tracert ipv6-sid [ -a source-ipv6 | -f first-hop | -m max-hops | -p port | -q packet-number | -t traffic-class | -w timeout ] * [ overlay ] { sid }&<1-n>