| Previous | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
| Data Flows | ||||||||||||||||||||
| RSVP defines a "session" to be a data flow defined by the triple: (DestAddress, ProtocolId [, DstPort]), where DestAddress is the IP destination address of the data packets and may be unicast or multicast, ProtocolID is the IP protocol ID, and the optional parameter DstPort is a "generalized destination port", i.e., some further demultiplexing point in the transport or application protocol layer. It could be defined by a UDP/TCP destination port field, by an equivalent field in another transport protocol, or by some application-specific information. However, the basic protocol documented here supports only UDP/TCP ports as generalized ports. Note that it is not strictly necessary to include DstPort in the session definition when DestAddress is multicast, since different sessions can always have different multicast addresses. However, DstPort is necessary to allow more than one unicast session addressed to the same receiver host. | ||||||||||||||||||||
| RSVP treats each session independently, and when this document omits the implied qualification, we are talking about the "same session". | ||||||||||||||||||||
| Reservation Model | ||||||||||||||||||||
| A RSVP reservation request consists of a "flowspec" plus a "filter spec"; the pair is called a "flow descriptor". The flowspec specifies a desired QoS. The filter spec, together with a session specification, defines the set of data packets (the flow) to receive the QoS defined by the flowspec. | ||||||||||||||||||||
|
||||||||||||||||||||
| The flowspec in a reservation request will generally include a service class and two sets of numeric parameters: (1) an "Rspec" (R for `reserve') that defines the desired QoS, and (2) a "Tspec" (T for `traffic') that describes the data flow. | ||||||||||||||||||||
| In the interest of simplicity (and to minimize layer violation), the basic filter spec format defined in the present RSVP specification has a very restricted form: sender IP address and optionally the UDP/TCP port number SrcPort. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| Because the UDP/TCP port numbers are used for packet classification, each router must be able to examine these fields. This raises some potential problems. | ||||||||||||||||||||
There are some other consideration related to IPv6. Have a look to the original document. L.B. |
||||||||||||||||||||
| RSVP messages carrying reservation requests originate at receivers and are passed upstream towards the sender(s). Note: in this document, we define the directional terms "upstream" vs."downstream", "previous hop" vs. "next hop", and "incoming interface" vs "outgoing interface" with respect to the direction of data flow. See below. LB. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| At each intermediate node, a reservation request triggers two general actions, as follows: | ||||||||||||||||||||
|
||||||||||||||||||||
| When a receiver originates a reservation request, it can also request a confirmation message to indicate that its request was (probably) installed in the network. A successful reservation request propagates upstream along the multicast tree until it reaches a point where an existing reservation is equal or greater than that being requested. At that point, the arriving request is merged with the reservation in place and need not be forwarded further; the node may then send a reservation confirmation message back to the receiver. Note that the receipt of a confirmation is only a high-probability indication, not a guarantee, that the requested service is in place all the way to the sender(s). | ||||||||||||||||||||
|
|
||||||||||||||||||||
| The basic RSVP reservation model is "one pass": a receiver sends a reservation request upstream, and each node in the path either accepts or rejects the request. This scheme provides no easy way for a receiver to find out the resulting end-to-end service. Therefore, RSVP supports an enhancement to one-pass service known as "One Pass With Advertising" (OPWA). With OPWA, RSVP control packets are sent downstream, following the data paths, to gather information that may be used to predict the end-to-end QoS. The results ("advertisements") are delivered by RSVP to the receiver hosts and perhaps to the receiver applications. The advertisements may then be used by the receiver to construct, or to dynamically adjust, an appropriate reservation request. | ||||||||||||||||||||
| Reservation Styles | ||||||||||||||||||||
| A reservation request can be: | ||||||||||||||||||||
|
||||||||||||||||||||
| Based on these possibilities, three (3) reservation styles are defined as is shown in the next figure: | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
| Shared reservations (WF, SE), are appropriate for those multicast applications in which multiple data sources are unlikely to transmit simultaneously. Packetized audio is an example of an application suitable for shared reservations; since a limited number of people talk at once, each receiver might issue a WF or SE reservation request for twice the bandwidth required for one sender (to allow some over-speaking). On the other hand, the FF style, which creates distinct reservations for the flows from different senders, is appropriate for video signals. | ||||||||||||||||||||
| The RSVP rules disallow merging of shared reservations with distinct reservations, since these modes are fundamentally incompatible. They also disallow merging explicit sender selection with wildcard sender selection, since this might produce an unexpected service for a receiver that specified explicit selection. As a result of these prohibitions, WF, SE, and FF styles are all mutually incompatible. | ||||||||||||||||||||
|
||||||||||||||||||||
| Examples of Styles | ||||||||||||||||||||
|
|
||||||||||||||||||||
| The figure above represents a router having two incoming interfaces a and b and two outgoing interfaces c and d. There are three upstream senders. S1 which packets arrive through previous hop to interface a, and S2, S3, which packets arrive through previous hop to interface b. There are three downstream receivers: packets bound for R1 are routed via outgoing interface c, and packets bound for R2 and R3 are routed via outgoing interface d. We also assume that interface d is connected to a broadcast LAN (where replication occurs) and that R2 and R3 are reached via different next hop routers. Finally, we assume that packets from each Si are routed to both outgoing interfaces. | ||||||||||||||||||||
| In the examples below, B represents one unit of some base resource quantity (i.e., bandwidth). The "Receives" column shows the reservation requests received over interfaces c and d; the "Reserves" column shows the resulting reservation state for each interface; finally, the "Sends" column shows the reservation requests that are sent upstream to previous hops connecting to interfaces a and b. | ||||||||||||||||||||
| Let's see now the different examples of styles: | ||||||||||||||||||||
|
|
||||||||||||||||||||
| This figure shows the WF (Wildcard-Filter) style. Explanation is as follows: next hop to the right of interface c requested 4B from receiver R1, and next hop to the right of interface d requested 3B and 2B from receivers R2 and R3 respectively. The request on interface c is then 4B, and the two request on interface d are merged into one effective flowspec 3B. Reservations on interfaces c and d must be merged in order to forward requests upstream, as a result, the larger flowspec 4B (on interface c) is forwarded upstream to each previous hop. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| This figure shows the FF (Fixed-Filter) style. Each reservation received on interfaces c and d is individual in the sender being requested and the resources being solicited; on interface c, the reservations are copied identically because sender are different. On interface d, because we have two requests for sender S1, the larger of them is selected to be applied. On the other hand, the two requests for sender S1 are merged into the single request FF(S1{4B}). This request is sent to interface a's previous hop. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| This figure shows the SE (Shared-Explicit) style. When these reservations are merged, the resulting filter spec is the union of the original filter specs, and the resulting flowspec is the largest of them. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| In this new example, packets from sender S2 and S3 are not forwarded to interface c (suppose there exist a shortest path to R1 not traversing node c) This is represented in the top of the figure. In the bottom the WF style reservation is shown. Since there is no route from b to c, the reservation forwarded out interface b considers only reservations on interface d. | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
| Previous | ||||||||||||||||||||