Overview of RSVP
Originally, RSVP was designed as a protocol to install resource reservation states for individual data flows along a destination-based routed path (that is, along an IGP path). An RSVP session is defined by its destination IP address, IP protocol ID, and optionally by its destination TCP/UDP port. A data flow is a single instance of the application-to-application flow of packets identified by source/destination IP address and port.
When a sender application intends to reserve resources for a data flow, it invokes the RSVP module in the source node (a host or router) to originate a Path message toward the downstream node.
The Path message is sent with the same source and destination IP address as the data packets and traverses the same path as the data packets. RSVP messages are encapsulated in IP packets and are routed using destination IP address. An RSVP Path message contains several parameters, such as the following:
? SESSION object (which defines the RSVP session)
? RSVP_HOP object (which contains the IP address of the upstream node sending this message and the logical interface handle LIH of the outgoing interface)
? SENDER_TEMPLATE object (which contains the source IP address and the TCP/UDP port)
? SENDER_TSPEC object (which specifies the traffic parameters such as peak data rate, token-bucket rate, and token burst size)
Path State Block
When an RSVP-capable router receives an initial Path message, it creates a path state block (PSB) for that particular session (see Figure 9-1). Each PSB consists of parameters derived from the received Path message such as SESSION, SENDER_TEMPLATE, SENDER_TSPEC, RSVP_HOP objects, and the outgoing interface provided by the IGP routing. When an RSVP-capable router forwards a Path message, it inserts the IP address of the outgoing interface in the RSVP_HOP object. When the RSVP-capable downstream next-hop router receives the initial Path message, it also creates a PSB, inserts the IP address of the outgoing interface in the RSVP_HOP object, and in turn forwards the Path message to the next-hop downstream router. This process repeats until the Path message arrives at the target receiver. During processing of the Path message, if any errors are encountered on a node along the way, from that node a path error (PathErr) message is generated upstream toward the sender.
Figure 9-1. RSVP Path and Resv Messages and PSB/RSB State Creation
[View full size image]
Upon receipt of an initial Path message, the receiver uses information carried in the Path message (such as traffic parameters carried in the SENDER_TSPEC object) to select the resource reservation parameters.
The receiver initiates a Resv message to request a reservation for a data flow. The Resv message is routed upstream toward the sender along the route taken by the Path message.
The IP source address of a Resv message is the address of the node (a host or router) that originates the message. On the other hand, the IP destination address corresponds to the address of the upstream node from which the associated Path message was received previously. Before forwarding the Resv message upstream, each RSVP-capable node modifies the IP destination address of the received Resv message. The IP destination address is modified to become the address stored in the RSVP_HOP object of the associated PSB. In this fashion, the Resv message is steered upstream along the route that was taken by the corresponding Path message in