rfc-7746

Label Switched Path (LSP) Self-Ping

R. Bonica, I. Minei, M. Conn, D. Pacella, L. Tomotaki
date2016-01 streamIETF areartg wgmpls statusPROPOSED STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc7746 doi10.17487/RFC7746
When certain RSVP-TE optimizations are implemented, ingress Label Switching Router (LSRs) can receive RSVP RESV messages before forwarding state has been installed on all downstream nodes. According to the RSVP-TE specification, the ingress LSR can forward traffic through a Label Switched Path (LSP) as soon as it receives a RESV message. However, if the ingress LSR forwards traffic through the LSP before forwarding state has been installed on all downstream nodes, traffic can be lost. This document describes LSP Self-ping. When an ingress LSR receives an RESV message, it can invoke LSP Self-ping procedures to ensure that forwarding state has been installed on all downstream nodes. LSP Self-ping is a new protocol. It is not an extension of LSP Ping. Although LSP Ping and LSP Self-ping are named similarly, each is designed for a unique purpose. Each protocol listens on its own UDP port and executes its own procedures. LSP Self-ping is an extremely lightweight mechanism. It does not consume control-plane resources on transit or egress LSRs.

Extracted elements (20)

design-rationale §Appendix A

A timer-based approach (delay traffic forwarding after RESV receipt) was rejected because no single timer value is optimal: too short prevents neither black-holing, too long slows setup. The optimum is network-wide and changes with topology, making it a moving target.

mpls, routing

design-rationale §Appendix A

LSP Ping was rejected as a readiness-verification mechanism because it sends MPLS Echo Requests to the egress LSR's control plane, imposing control-plane overhead that the egress cannot bound. During convergence events affecting large numbers of LSPs, this overhead is prohibitive. LSP Self-ping requires only that the egress data plane forward an ordinary IP packet.

mpls, routing

design-rationale §2

LSP Self-ping is intentionally not a general-purpose OAM mechanism. Its primary design constraint is minimal impact on egress LSR performance, trading off the ability to detect incorrect forwarding state for extremely low overhead during large-scale convergence events.

mpls, routing

design-rationale §1

When RSVP-TE optimizations allow LSRs to send RESV messages before installing forwarding state, a race condition arises: the ingress LSR may forward traffic through an LSP before all downstream nodes have installed forwarding state, causing traffic loss. LSP Self-ping was created specifically to close this gap by confirming end-to-end forwarding state installation.

mpls, routing

interoperability-note §2

LSP Self-ping cannot reliably verify the correctness of downstream forwarding state. If a downstream LSR installs state that terminates the LSP at the wrong node, or if a downstream LSR forwards a packet without an MPLS label, LSP Self-ping will not detect the error.

mpls

interoperability-note §2

LSP Self-ping fails when Reverse Path Forwarding (RPF) filters are enabled on links connecting the ingress LSR to the egress LSR, because the returning UDP packet will be dropped by RPF.

mpls, routing, ip

interoperability-note §2

LSP Self-ping fails when the LSP under test is signaled by LDP Independent Mode (RFC 5036), because the forwarding state installation sequence differs from RSVP-TE.

mpls, routing

interoperability-note §4

The LSP Self-ping message may arrive at the egress LSR with or without an MPLS header depending on whether penultimate hop popping is in effect; the egress removes any residual MPLS header and then forwards the inner IP packet normally back toward the ingress.

mpls, ip

normative-requirement §5 MUST

For bidirectional LSPs, neither the active side nor the passive side MUST forward traffic through the LSP until its local LSP Self-ping session returns TRUE. Each side runs an independent session and may begin forwarding as soon as its own session succeeds, without waiting for the other side.

mpls, routing

normative-requirement §3 MUST

If the RSVP messages establishing the LSP were delivered over IPv4, the LSP Self-ping UDP datagram MUST be encapsulated in an IPv4 header; if over IPv6, it MUST be encapsulated in an IPv6 header.

mpls, ip

normative-requirement §3 MUST

The IP Source Address of the LSP Self-ping message MAY be configurable, but by default it MUST be the address of the egress LSR. The IP Destination Address MUST be the address of the ingress LSR.

mpls, ip

normative-requirement §3 MUST

The IP TTL/Hop Count MAY be configurable; by default it MUST be 255. The IP DSCP MAY be configurable; by default it MUST be CS6 (110000) per RFC 4594.

mpls, ip, diffserv

normative-requirement §3 MUST

The UDP Source Port MUST be selected from the dynamic range (49152–65535) per RFC 6335. The UDP Destination Port MUST be lsp-self-ping (8503).

mpls, udp

normative-requirement §4 MUST

When an LSP Self-ping session terminates, it MUST return its completion status to the invoking protocol (e.g., RSVP-TE), allowing the caller to decide whether to begin forwarding traffic.

mpls, routing

protocol-element §4

An LSP Self-ping session is a short-lived, ingress-local state object comprising: a 64-bit Session-ID, a Retry Counter (max probe attempts, configurable), a Retry Timer (milliseconds between probes, configurable with optional back-off), and a boolean Status (initially FALSE, set TRUE on echo return).

mpls

registry §6

IANA has assigned UDP Port Number 8503 (service name lsp-self-ping) for use by MPLS LSP Self-Ping, recorded in the Service Name and Transport Protocol Port Number Registry.

mpls, registry, udp

security-consideration §7 SHOULD

LSP Self-ping messages are easily forged, allowing an attacker to send a forged message to the ingress LSR and cause premature termination of the LSP Self-ping session. Operators SHOULD filter LSP Self-ping packets at the edges of the MPLS signaling domain to mitigate this threat.

mpls, security

security-consideration §7 SHOULD NOT

To prevent an attacker from guessing valid Session-IDs and forging returns, implementations SHOULD NOT assign Session-IDs in a predictable manner. A Cryptographically Secure Pseudorandom Number Generator (CSPRNG) per NIST SP 800-90A is recommended for Session-ID generation.

mpls, security, crypto

state-machine §4

The ingress LSR loops: format and send an LSP Self-ping message through the LSP under test, then wait Retry Timer milliseconds. If the corresponding message returns, set Status to TRUE (session succeeds). Otherwise, decrement Retry Counter and optionally increase Retry Timer via back-off. The loop terminates when Status is TRUE or Retry Counter reaches zero.

mpls

wire-format §3

The LSP Self-ping message payload is a single 64-bit Session-ID field carried in a UDP datagram. The Session-ID associates the message with a specific LSP Self-ping session on the ingress LSR.

mpls