rfc-7881

Seamless Bidirectional Forwarding Detection (S-BFD) for IPv4, IPv6, and MPLS

C. Pignataro, D. Ward, N. Akiya
date2016-07 streamIETF areartg wgbfd statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc7881 doi10.17487/RFC7881
This document defines procedures for using Seamless Bidirectional Forwarding Detection (S-BFD) in IPv4, IPv6, and MPLS environments.

Extracted elements (18)

design-rationale §5.1.1

Section 5.1 uses the word 'target' instead of 'remote entity' to accommodate S-BFD usage via TTL expiry, where an SBFDInitiator can set the Your Discriminator and TTL fields to test continuity toward a target but have the packet expire at a transit node. This is consistent with existing OAM packet-processing exceptions.

interoperability-note §4

When an S-BFD Control packet demultiplexes to a classical BFD session (neither port 7784 nor an SBFDInitiator packet), the procedures from RFC 5880 apply, preserving backward compatibility with existing BFD deployments.

normative-requirement §4 MUST

A received S-BFD Control packet MUST be demultiplexed using the destination UDP port field, following the procedure in RFC 7880 Section 7.1. If the port is 7784, the packet MUST be looked up to locate a corresponding SBFDReflector session based on the Your Discriminator field.

normative-requirement §5.1 MUST

For explicitly label-switched S-BFD Control packets, the label stack MUST be that expected to reach the target; the TTL of the topmost label SHOULD be 255; the destination IP MUST be from 127/8 (IPv4) or 0:0:0:0:0:ffff:7f00:0/104 (IPv6) per RFC 5884; and the IP TTL/Hop Limit MUST be set to 1.

mpls, ip

normative-requirement §5.1 SHOULD

For IP-routed S-BFD Control packets, the Destination IP Address MUST be set to an IP address of the target, and the TTL/Hop Limit SHOULD be set to 255.

ip

normative-requirement §4 MUST

If an S-BFD Control packet is demultiplexed to an SBFDInitiator (destination port is not 7784), the packet MUST be looked up to locate a corresponding SBFDInitiator session based on Your Discriminator; the destination IP address SHOULD be validated to be for itself.

normative-requirement §6 MUST

If an SBFDReflector receives an S-BFD Control packet with a UDP source port of 7784, the packet MUST be discarded.

normative-requirement §5.1.1 MUST

Implementations on the responder MUST allow received S-BFD Control packets taking a TTL expiry exception path to reach the corresponding SBFDReflector session, so that TTL-expiry-based continuity tests are not dropped.

normative-requirement §2 MUST

In S-BFD Control packets from SBFDReflector to SBFDInitiator, the SBFDInitiator session MUST listen for reflected S-BFD Control packets at its own source port.

normative-requirement §6.1 MUST

In S-BFD Control packets sent by the SBFDReflector: the Destination IP MUST be copied from the received Source IP; the Source IP MUST be a local IP visible to the initiator and SHOULD be copied from the received Destination IP (except for loopback ranges); the TTL/Hop Limit MUST be 255; and the UDP destination/source ports MUST be swapped from the received packet.

ip

normative-requirement §6.1 SHOULD

The SBFDReflector's Source IP Address SHOULD be copied from the Destination IP Address of the received S-BFD Control packet, except when it is from the 127/8 range (IPv4) or 0:0:0:0:0:ffff:7f00:0/104 range (IPv6).

ip

normative-requirement §2 MUST

The SBFDReflector session MUST listen for incoming S-BFD Control packets on UDP port 7784. SBFDInitiator sessions MUST transmit S-BFD Control packets with destination port 7784.

normative-requirement §5.1 MUST

The Source IP Address field of S-BFD Control packets sent by the SBFDInitiator MUST be set to a local IP address expected to be routable by the target (i.e., not an IPv6 link-local address when the target is multiple hops away).

ip

normative-requirement §2 MUST NOT

The UDP source port of S-BFD Control packets transmitted by SBFDInitiator sessions MUST NOT be 7784. The same UDP source port MUST be used for all S-BFD Control packets associated with a particular SBFDInitiator session, and the source port number MUST be unique among all SBFDInitiator sessions on the system.

protocol-element §2

S-BFD uses UDP port 7784 as the well-known destination port for S-BFD Control packets sent from SBFDInitiator to SBFDReflector. The SBFDReflector listens on this port; the SBFDInitiator uses it as the destination. The source port must not be 7784 and must remain constant across all packets in a given SBFDInitiator session.

webrtc, security

protocol-element §3

The BFD Echo port 3785 (defined by RFC 5881) is reused for the S-BFD Echo function in IPv4, IPv6, and MPLS environments. SBFDInitiator sessions MUST transmit S-BFD Echo packets with destination port 3785.

registry §8

IANA allocated UDP port 7784 with service name 's-bfd' in the 'Service Name and Transport Protocol Port Number Registry' for Seamless Bidirectional Forwarding Detection (S-BFD).

registry

security-consideration §7 MUST

Implementations MUST provide filtering capability based on source IP addresses of received S-BFD Control packets (per RFC 2827 BCP 38), MUST NOT act on packets with Martian source IP addresses, and MUST ensure response packets generated by the SBFDReflector have a reachable destination IP address.

security