Quality of Service

Previous Topic Next Topic

RSVP Message Structures

Each RSVP message consists of a common header. The fields of the common header are listed in Table 9.2.

Table 9.2 Fields of the Common Header

Field Size Description
Vers 4 bits RSVP version number (this implementation is version 1.)
Flags 4 bits Reserved. As of this implementation, no flag bits have been defined.
Message Type 8 bits 1 = PATH

2 = RESV

3 = PATH-ERR

4 = RESV-ERR

5 = PATH-TEAR

6 = RESV-TEAR

7 = RESV-CONF

RSVP Checksum 16 bits A checksum to provide message integrity. An all-zero value means that no checksum was transmitted.
Send TTL 8 bits Provides the IP Time to Live (TTL) value contained in the message. With normal IP forwarding, RSVP can detect a non-RSVP hop by comparing the IP TTL when the PATH message is sent to the TTL when it is received; for this purpose, the transmission TTL is placed in the common header.
RSVP Length 16 bits The total length of the RSVP message in bytes, including the common header and the variable length objects that follow.

Every object consists of one or more 32-bit words with a one-word header. Table 9.3 lists the fields in the object header.

Table 9.3 Object Formats

Field Size Description
Length 16 bits Contains the total object length in bytes. It must be a multiple of 4, and a minimum of 4.
Class-Num   The object class. Implementations of RSVP must recognize certain classes. For a list of classes implementations of RSVP must recognize, see Table 9.3a.
C-Type   The object type. Unique within Class-Num. The Class-Num and C-Type fields can be used together as a 16-bit number to define a unique type for each object. C-Types are defined for the two Internet address families IPv4 and IPv6 (only IPv4 is shown here). All unused fields must be sent as zero and ignored on receipt. For a list of C-Type field values, see Table 9.3b.

Table 9.3a Class-Num Fields

Field Description
Null Length must be at least 4, or any multiple of 4. Can appear anywhere within a sequence of objects; contents are ignored by the receiver.
Session The destination IP address, protocol ID, and destination port. Defines a specific session for the other objects that follow. Required field.
RSVP_Hop IP address of the RSVP-capable node that sent the message, and a logical outgoing interface handle.
Time_Values Refresh period. Required for PATH and RESV messages.
Style The reservation style, and style-specific information not already contained in the FLOWSPEC or FILTER_SPEC. Required for RESV messages.
Flowspec The requested QoS parameters. Part of a RESV message.
Filter_Spec Defines which session data packets must receive the requested QoS. Part of a RESV message.
Sender_Template The sender's IP address and possibly de-multiplexing information to identify the sender. Required for PATH messages.
Sender_Tspec The traffic characteristics of a sender's data flow. Required for PATH messages.
Adspec Carries OPWA data, in PATH messages. OPWA is the abbreviation for "One Pass With Advertising," and identifies a reservation setup model in which PATH messages gather information (the advertisement) that the receivers can use to estimate the end-to-end service.
Error_Spec The actual error in a PATH-ERR, RESV-ERR or the confirmation in a RESV-CONF message.
Policy_Data Carries the information that the local policy module uses to determine if the reservation is administratively permitted. In PATH, RESV, PATH-ERR, or RESV-ERR messages. This object is not fully specified at this time.
Integrity Contains cryptographic data that authenticates the sender node and verifies the contents of the RSVP message.
Scope An explicit list of sender nodes towards which the information in the message must be forwarded. In a RESV, ResvErr, or ResvTear message.
RESV_Confirm The IP address of the receiver node that requested confirmation. In RESV or ResvConf messages.

Table 9.3b C-Type Fields

Object Name C-Type Class Contains Additional Information
IPv4/UDP SESSION object 1 1 IPv4 DestAddress (4 bytes),
Protocol ID, Flags, DestPort
Used in PATH messages to determine the network boundary, to control traffic policing. If the sender is not capable of policing, it sets this bit On in all PATH messages it sends, indicating to the first RSVP-capable hop to perform policing (and turn the flag off).
IPv4 RSVP_HOP object 1 3 IPv4 Next/Previous Hop Address, Logical Interface Handle (LIH) LIH distinguishes logical outgoing interfaces. The LIH must be zero if there is no logical interface handle.
Time_Values 1 5 Refresh Period R The refresh time-out period R used to generate this RSVP message, in milliseconds.
IPv4 Error_Spec 1 6 IPv4 Error Node Address (4 bytes), Flags, Error Code, Error Value, Error Node Address Error Node Address is the IP address of the node in which the error was detected.

Flags:

0x01 = InPlace. This flag is used only for an ERROR_SPEC object in a RESV-ERR message. If On, this flag indicates that there was, and still is, a reservation in place at the failure point.

0x02 = NotGuilty. This flag is used only for an ERROR_SPEC object in a RESV-ERRmessage, and it is only set in the interface for the receiver application. If On, this flag indicates that the FLOWSPEC that failed was strictly greater than the FLOWSPEC requested by this receiver.

Error Code is a one-octet error description.

Error Value is a two-octet field containing additional information about the error. Its contents depend upon the Error Type. See Table 9.12 for more information.

Scope   7 This object contains a list of IP addresses used for routing messages by using a wildcard scope without loops. The addresses must be listed in ascending numerical order.
IPv4 Scope_List 1 7 IPv4 Source Address (4 bytes)  
Style 1 8 Flags (8 bits), Option Vector (24 bits) A set of bit fields giving values for the reservation options. If new options are added in the future, corresponding fields in the option vector are assigned from the least-significant end. If a node does not recognize a style ID, it can interpret as much of the option vector as it can, ignoring new fields that might have been defined.

Flags: None yet assigned.

Option Vector, assigned (from the left):

19 bits: Reserved

2 bits: Sharing control

00b: Reserved

01b: Distinct reservations

10b: Shared reservations

11b: Reserved

3 bits: Sender selection control

000b: Reserved

001b: Wildcard

010b: Explicit

011b - 111b: Reserved

The low order bits of the option vector are determined by the

Style:

WF 10001b

FF 01010b

SE 10010b

Flowspec 1 9 Reserved (obsolete), Flowspec object  
Intserv Flowspec 2 9 The contents and encoding rules for this object are specified in documents prepared by the Intserv working group (as described in RFC 2210).  
IPv4 Filter_Spec 1 10 IPv4 SourceAddress (4 bytes), SourcePort  
IPv4 Sender_Template 1 11 IPv4 SourceAddress (4 bytes), SourcePort  
Intserv Sender_Tspec 2 12 The contents and encoding rules for this object are specified in documents prepared by the Intserv working group.  
Intserv Adspec 2 13 The contents and encoding rules for this object are specified in documents prepared by the Intserv working group.  
Type 1 Policy_Data 1 14 The contents of this object are set aside for further study.  
IPv4 RESV_Confirm 1 15 IPv4 Receiver Address (4bytes)  

© 1985-2000 Microsoft Corporation. All rights reserved.