MPLS Connectivity Verification and Troubleshooting Methods
You can use the MPLS ping application to examine the network reachability and identify any broken links for diagnostic purposes. Before using the ping MPLS feature, make sure that the receiving interface on the VPN or LSP remote endpoint has MPLS enabled, and that the loopback interface on the outbound node is configured as 127.0.0.1. The source address for MPLS probes must be a valid address on the device. When you use the ping MPLS feature from a J Series device operating as the inbound (ingress) node at the entry point of an LSP or VPN, the router sends probe packets into the LSP or VPN. Based on how the LSP or VPN outbound (egress) node at the remote endpoint of the connection replies to the probes, you can determine the connectivity of the LSP or VPN. Each probe is an echo request sent to the LSP or VPN exit point as an MPLS packet with a UDP payload. If the outbound node receives the echo request, it checks the contents of the probe and returns a value in the UDP payload of the response packet. If the device receives the response packet, it reports a successful ping response. Responses that take longer than 2 seconds are identified as failed probes.
In IP networks, the ping and traceroute commands enable you
to verify network connectivity and find broken links or loops. In
MPLS-enabled networks, you can use the ping
command to
determine whether IP connectivity exists to a destination even when
the ping packets must traverse multiple LSPs. You can use the traceroute
command to determine the labels that data packets
use when traversing LSPs to the destination. In an MPLS-enabled network,
however, you cannot use these IP commands to determine MPLS connectivity
to a destination. You can use the MPLS ping and trace features to
detect data plane failures in LSPs. Specific mpls ping
and trace mpls
commands enable you to target different types of
MPLS applications and network topologies. The various ping mpls
and trace mpls
commands send UDP packets, known as MPLS
echo requests, to the egress LSR of MPLS packets in a given FEC.
Each echo request is forwarded along the same data path as the MPLS
packets in that FEC. The echo request packets use a destination
address in the 127.0.0.0/8 range and port 3503. The default address
is 127.0.0.1. This address range prevents IP from forwarding the
packet, so that the echo request must follow the MPLS data path. This
behavior is different from that of the IP ping
and traceroute
commands, which send ICMP packets to the actual
destination. Each MPLS echo request packet contains information about
the FEC stack that is being validated. LSRs that receive an MPLS echo
request respond with MPLS echo reply packets. (Even when MPLS is
not enabled on that router, echo reply packets are sent by routers
that receive an echo request packet. This situation is a transient
condition when the router is receiving labeled packets. A return code
in the echo replies indicates to the sending router that no label
mapping exists on the receiving router.)
The ping mpls
commands perform a basic connectivity
check. When the echo request exits the tunnel at the egress LSR, the
LSR sends the packet to the control plane. The egress router validates
the FEC stack to determine whether that LSR is the actual egress for
the FEC. The egress router sends an echo reply packet back to the
source address of the echo request packet. The egress router can
send the packet back by means of either the IP path or the MPLS path.
The trace mpls
commands isolate faults in the LSP. For
these commands, successive echo request packets are sent along the
path. The first packet has a TTL of one; the TTL value is incremented
by one for each successive packet. The first packet therefore reaches
only the next hop on the path; the second packet reaches the next
router after that. Echo request packets are sent until either an
echo reply is received from the egress router for the FEC or a TTL
of 32 is reached.
When a TTL expires on an LSR, that LSR sends an echo reply packet
back to the source. For transit routers, the echo reply indicates
that downstream mapping exists for the FEC, meaning that the packet
would have been forwarded if the TTL had not expired. The egress router
sends an echo reply packet verifying that it is the egress. Although
you cannot send IPv6 UDP packets for MPLS ping, you can use the ping mpls l3vpn
command with an IPv6 prefix to investigate
IPv6 VPNs.
For IP services, the ping mpls l3vpn
command is used
to examine the operability of a MPLS Layer 3 VPN connection. For VPLS
routing instances, the ping vpls instance
command is used
to examine the reachability of a VPLS instance. The ping vpls
instance
command uses a difference command structure and operates
in a different fashion than the ping mpls
command used
for VPNs and Layer 2 circuits. For E-Line services, the pseudowire
ping mechanism is used to verify the network accessibility and identify
any problems in the link.