rfc-2746

RSVP Operation Over IP Tunnels

A. Terzis, J. Krawczyk, J. Wroclawski, L. Zhang
date2000-01 streamIETF areatsv wgrsvp statusPROPOSED STANDARD pages25 canonicalhttps://www.rfc-editor.org/rfc/rfc2746 doi10.17487/RFC2746
This document describes an approach for providing RSVP protocol services over IP tunnels. [STANDARDS-TRACK]

Extracted elements (26)

design-rationale §2.3

End-to-end RSVP control messages forwarded through the tunnel are encapsulated with only the normal tunnel IP header (not UDP), so they traverse the tunnel identically to best-effort data and are correctly decapsulated at Rexit even if Rentry does not yet know whether Rexit supports RSVP tunneling.

qos

design-rationale §3.1.1

Rather than supporting both plain IP-in-IP and IP+UDP encapsulations for reserved packets, the design requires all reserved-packet tunneling to use IP+UDP to eliminate special-case handling. This simplifies implementations at the cost of minor extra overhead.

qos

design-rationale §2.2

RSVP is applied recursively over the tunnel: Rentry acts as a PATH message source and Rexit as a RESV source for a tunnel-level session that parallels each end-to-end session. This lets the tunnel appear as a single logical RSVP-controllable link to the wider network.

qos

design-rationale §2.3

Three binding mechanisms were considered for associating end-to-end sessions with tunnel sessions. Option 2—a new SESSION_ASSOC object attached to end-to-end PATH messages—was chosen over a new RSVP message type (Option 1) and UDP-encapsulating PATH messages (Option 3) because it is simpler and allows Rexit to pass on end-to-end PATHs transparently if it does not support tunneling.

qos

design-rationale §2.3

Whether to support type 3 (dynamic per-flow) tunnels is explicitly left as a local policy decision; the protocol design supports both type 2 (aggregate) and type 3 tunnels, and a single tunnel may combine both behaviors for different end-to-end sessions simultaneously.

qos

interoperability-note §7

For IPSEC ESP tunnel-mode tunnels, the tunnel session uses GPI SESSION and GPI SENDER_TEMPLATE/FILTER_SPEC objects as defined in RFC 2207; data packets are not UDP-encapsulated because the SPI value can be used by intermediate nodes for classification. User-oriented keying between Rentry and Rexit is required to assign different SPIs to reserved vs. best-effort packets.

ipsec, vpn, qos

interoperability-note §4.2.2

If Rentry does not support RSVP tunneling, Rexit will have no PATH state for the tunnel and simply sets the global break bit in the decapsulated end-to-end PATH message and forwards it, ensuring correct non-RSVP link signaling for unupgraded equipment.

qos

normative-requirement §6.1 SHOULD

All tunnel RSVP sessions between the same Rentry–Rexit pair use the same source IP, destination IP, and destination UDP port; individual sessions are distinguished solely by the source UDP port chosen by Rentry. The destination UDP port for tunnel sessions is IANA-assigned port 363.

qos, registry

normative-requirement §6.3 MUST

Because UDP-encapsulated packets MUST NOT be fragmented, tunnel entry routers must support tunnel MTU discovery as defined in RFC 2003 Section 5.1, or alternatively use the Path MTU Discovery mechanism from RFC 2210.

qos, ip

normative-requirement §2.2.1 MUST

Data packets requiring resource reservations within a tunnel MUST be encapsulated with an outer IP header and a UDP header; the UDP port numbers distinguish packets of different RSVP sessions so that intermediate routers can apply standard filterspec handling.

qos, vpn

normative-requirement §5 MUST

Rentry MUST UDP-encapsulate an arriving data packet only if a corresponding tunnel session reservation is actually in place (not merely PATH state); if no reservation exists, the packet is forwarded using the normal IP-in-IP tunnel encapsulation.

qos, vpn

normative-requirement §4.2.4 MUST

The first RESV message of an end-to-end session determines its mapping to a tunnel session; this mapping cannot change for the lifetime of the reservation. Rentry bases the mapping on some or all of the end-to-end PATH contents, the RESV flowspec, and local policy.

qos

normative-requirement §9 MUST

The RSVP daemon must be able to learn, via the RSVP/Routing interface, which local interfaces are IP-in-IP tunnels with RSVP-over-tunnel capability; this information may be obtained by querying the network layer directly or via an extended routing protocol interface.

qos, routing

normative-requirement §8 MUST NOT

Tunnel endpoints MUST NOT make wildcard reservations over multipoint tunnels. Each tunnel endpoint participates as both a PATH source and an FF or SE RESV source for the shared session, creating a single shared reservation for the entire logical medium.

qos, multicast

normative-requirement §6.2 MUST

When a tunnel session PATH message encounters an error, Rentry MUST relay the error to the original end-to-end session source; when a tunnel RESV fails, Rexit MUST forward the error (using the ERROR_SPEC code and value) to the end-to-end RESV originator.

qos

protocol-element §3.1.2

A 'hard pipe' tunnel uses a fixed tunnel reservation that is never adjusted regardless of changing end-to-end sessions; a 'soft pipe' tunnel dynamically adjusts the tunnel reservation up or down as end-to-end sessions arrive or depart, optionally using hysteresis.

qos

protocol-element §1

A tunnel may participate in an RSVP-aware network in one of three ways: type 1 (best-effort, no QoS support), type 2 (aggregate reservation configured statically), or type 3 (dynamic per-flow reservations created and torn down as end-to-end sessions come and go).

qos, security

protocol-element §6.4

When multiple end-to-end sessions map to a single tunnel session, Rentry computes an aggregate Tspec (e.g., by summing individual Tspecs as specified in RFC 2211/RFC 2212) for the tunnel PATH; similarly, Rexit computes an aggregate flowspec from the arriving end-to-end RESVs.

qos

registry §11

IANA is requested to assign a Class number in the 10bbbbbb range (proposed value 128) for the NODE_CHAR object defined in Section 2.3.2. This class encoding means an unrecognized node drops the object silently rather than generating an error.

registry, qos

security-consideration §10

The introduction of RSVP over tunnels raises no new security issues beyond those of RSVP itself (controlled access to QoS, addressed by RFC 2205) and IP-in-IP tunnels (addressed by RFC 2003 and RFC 2473). Integrity of RSVP messages carrying SESSION_ASSOC and NODE_CHAR objects is protected by the mechanism in RFC 2747.

security, qos, vpn

state-machine §4.2.1

At Rentry, when an end-to-end PATH message arrives: if it refreshes a known session already mapped to a tunnel session, Rentry adds a SESSION_ASSOC object and encapsulates the PATH; if it is a new session not yet mapped, Rentry creates Path state and encapsulates without SESSION_ASSOC; if a PATH TEAR arrives and the tunnel session is now empty, Rentry sends a tunnel PATH TEAR.

qos

state-machine §4.2.4

At Rentry, when an end-to-end RESV arrives: if a NODE_CHAR T-bit is present on the first RESV, Rentry initiates session mapping based on PATH/RESV contents and local policy, either binding to a configured tunnel session, creating a new dynamic tunnel session with an adjusted Tspec, or denying the mapping entirely.

qos

state-machine §4.2.2

At Rexit, an encapsulated end-to-end PATH message is decapsulated; if it contains no SESSION_ASSOC object, the Non_RSVP flag is set and the global break bit may be raised in the ADSPEC; if SESSION_ASSOC is present, Rexit records the binding, performs ADSPEC composition using the tunnel session's composed parameters as the logical-link characterization, and forwards the PATH downstream.

qos

state-machine §4.2.3

At Rexit, when an end-to-end RESV arrives: if no bound tunnel session exists the tunnel is treated as a non-RSVP link and NODE_CHAR (T bit set) is appended; if a bound session exists and is a refresh, NODE_CHAR is appended and the RESV is forwarded; if it triggers a flowspec change, a tunnel RESV with RESV_CONFIRM is sent; on hard-pipe overflow an admission-control error (code 01) is returned.

qos

wire-format §2.3.2

The NODE_CHAR object (proposed class 128, in the 10bbbbbb range, c-type 0, length 8) carries a single T bit indicating that the sending node supports RSVP-over-tunnels; all other bits are reserved. If an RSVP node does not understand this object, it drops it without error.

qos

wire-format §2.3.1

The SESSION_ASSOC object (class 192, c-type 0) contains a fixed-length header (length, class, c-type), a SESSION object identifying the end-to-end session to be mapped, and a Sender FILTER-SPEC identifying the tunnel session (distinguished primarily by source UDP port).

qos