RSVP(Resource Reservation Protocol),资源预留协议,工作在传输层,但不参与应用数据的传送,是一种网络上的控制协议,类似于ICMP。
RSVP各类消息都包含一个通用头部,随后是多个可变长度、类型的消息对象。

| 字段 | 长度 | 描述 |
|---|---|---|
| Vers | 4比特 | RSVP版本号,当前版本为1。 |
| Flags | 4比特 | 标识位,一般值为0。RFC2961扩展其用来标识是否支持摘要刷新(Srefresh)。如果支持Srefresh,则Flags置为0x01。 |
| Message Type | 8比特 | 表示消息的类别,下面列出一些类别:
|
| RSVP Checksum | 16比特 | 表示RSVP的校验和,值为消息的补码的反码。如果值为0,表示消息传输过程中不进行检验和检查。 |
| Send TTL | 8比特 | IPv4的TTL的值,随报文一起发送。当节点接收到RSVP消息时,通过比较Send_TTL和IP首部的TTL值可以计算出该报文在非RSVP域中经过的跳数。 |
| Reserved | 8比特 | 保留。 |
| RSVP Length | 16比特 | 报文总长度,包括公共头及后面的TLV objects,以字节为单位。 |
| Object | 变长 | 消息对象。每个RSVP消息都包含多个对象。不同类型的消息,包含的对象不同。 |

| 字段 | 长度 | 描述 |
|---|---|---|
| Length | 16比特 | 示对象的总长度,以字节为单位。Length必须是4的倍数,最小值为4。 |
| Class Num | 8比特 | 对象的类别:
|
| C-Type | 8比特 | 对象类型,表示同一类对象中不同的类型。Class_Number与C-Type唯一标识了一个对象。 |
| Object Content | 变长 | 对象内容,可变长度。 |





| 标准 | 描述 |
|---|---|
| RFC 2205 | Resource ReSerVation Protocol |
| RFC 2209 | Resource ReSerVation Protocol (RSVP) -- Version 1 Message Processing Rules |
| RFC 3209 | RSVP-TE: Extensions to RSVP for LSP Tunnels |