UDP Return Path for Packet Loss and Delay Measurement for MPLS Networks
Extracted elements (23)
The Associated Channel Header (ACH) is not included in the UDP-encapsulated Response because the correct Query-Response binding is already established through the UDP port and the session identifier carried in the RFC 6374 message, making the ACH redundant.
UDP is required as a return path to support firewall traversal, bistatic operation where the querier and collector are not co-located, and multi-CPU LSR deployments where the Response must be forwarded internally to the correct processing node. The existing MPLS Associated Channel return path cannot address these scenarios.
In deployments where configuration is preferred over signaling, the URO MAY be omitted from MPLS-PLDM messages and a pre-configured UDP/IP return path used instead, maintaining backward compatibility with non-URO deployments.
The procedures apply to both unidirectional and bidirectional LSPs (including co-routed bidirectional LSPs per RFC 3945 and associated bidirectional LSPs per RFC 5654) and are compatible with both IP/MPLS and MPLS Transport Profile (MPLS-TP) deployments.
An MPLS-PLDM Query containing a URO MUST NOT include an RFC 6374 Return Address TLV (TLV 1), and the return-address construction method from Source Address TLV (TLV 130) described in RFC 6374 Section 3.5.2 MUST NOT be used for such Queries, preventing ambiguity about the reply target.
If a default IP address is configured by the equipment vendor for the UDP return path, it MUST be an address that keeps the Response packet contained within the responder. A responder receiving such an address unexpectedly SHOULD notify the operator in a rate-limited manner.
If a Response is received over UDP/IP but an out-of-band Response was not requested, the Response SHOULD be dropped and the event SHOULD be reported to the operator through the management system with overload precautions.
If a significant number of Response packets are lost, the querier MUST reduce the sending rate to a point where this protocol is not contributing to network congestion.
If a URO is present in an MPLS-PLDM Query, the responder SHOULD use the IP address and UDP port in the URO to reply to the querier. If configured to send only one Response, the responder MUST use the parameters from the first usable URO.
If an out-of-band Response is requested but the URO is missing, the Query SHOULD be dropped for unidirectional LSPs. For bidirectional LSPs, the Response SHOULD have its Control Code set to 0x1C ('Error - Invalid Message') and be sent over the reverse LSP; the malformed request SHOULD be reported to the operator.
If the querier included UROs for only one IP address family and no return path of that family is available, the Query MUST be discarded and the operator SHOULD be informed via the management system using a rate-limited approach.
If UDP ports are used to de-multiplex Responses for different measurement types, there MUST be a different UDP port for each measurement type (delay, loss, and delay-loss combined).
The MPLS-PLDM Response MUST NOT be sent other than in response to an MPLS-PLDM Query message. When sending over IP, the destination address and UDP port are copied from the URO; the source IP and source UDP port are at the responder's discretion.
The URO MUST NOT appear in a Response message and MUST be ignored if found present there.
This protocol MUST be run in accordance with RFC 5405 (Unicast UDP Usage Guidelines). Operators running at rates above one packet per three seconds MUST ensure the MPLS and IP paths are provisioned to prevent congestion.
When sending an MPLS-PLDM Query with a UDP return path, the Control Code MUST be set to 'Out-of-band Response Requested' and a URO MUST be carried in the Query message.
When the return path is an IP forwarding path, only one-way delay or one-way loss measurement can be performed; timestamps 3 and 4 in the RFC 6374 message MUST be set to zero.
The UDP Return Object (URO) Type value is 131. It carries the destination UDP port and IP address to which the responder should send the MPLS-PLDM Response. Multiple UROs MAY be included in a single Query to request identical Responses be sent to multiple address-port pairs.
IANA assigned TLV type code 131 with description 'UDP Return' from the 'MPLS Loss/Delay Measurement TLV Object' registry within the 'Generic Associated Channel (G-ACh) Parameters' registry set.
Cryptographic protection may be enhanced through correct configuration of access-control lists and firewalls. The protocol introduces no additional exposure of information to pervasive monitoring systems observing the LSPs being monitored.
MPLS-PLDM is intended for deployment in well-managed private and service provider networks, not the public Internet. To prevent use as a reflection attack vector, operators must ensure the IP address in the URO identifies a system that is legitimately expecting to receive PLDM Responses.
The MPLS-PLDM Response packet over UDP/IP consists of an IP header (destination = URO.Address), a UDP header (destination port = URO.UDP-Destination-Port), and the RFC 6374 message body directly — the Associated Channel Header (ACH) is omitted because binding is achieved via the UDP port and RFC 6374 session identifier.
The UDP Return Object (URO) has a 1-byte Type field (value 131), a 1-byte Length field ({6,18}), a 2-byte UDP-Destination-Port, and a variable-length Address field that is either a 4-byte IPv4 or 16-byte IPv6 address. The Length field doubles as a TLV parsing parameter and address-family indicator.