RSVP报文格式
网络协议报文格式大全http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)
RSVP报文格式RSVP(Resource Reservation Protocol),资源预留协议,工作在传输层,但不参与应用数据的传送,是一种网络上的控制协议,类似于ICMP。报文格式RSVP各类消息都包含一个通用头部,随后是多个可变长度、类型的消息对象。图1 RSVP消息格式
http://www.023wg.com/message/message/image/RSVP-format.png
字段长度描述
Vers4比特RSVP版本号,当前版本为1。
Flags4比特标识位,一般值为0。RFC2961扩展其用来标识是否支持摘要刷新(Srefresh)。如果支持Srefresh,则Flags置为0x01。
Message Type8比特表示消息的类别,下面列出一些类别:
[*]1-Path
[*]2-Resv
[*]3-PathErr
[*]4-ResvErr
[*]5-PathTear
[*]6-ResvTear
[*]7-ResvConf
[*]8-DREQ
[*]9-DREP
[*]10-ResvTearConfirm
[*]11-Unassigned
[*]12-Bundle
[*]13-ACK
[*]14-Reserved
[*]15-Srefresh
[*]20-Hello
[*]21-Notify Message
[*]25-Integrity Challenge
[*]26-Integrity Response
[*]66-DSBM_willing
[*]67-I_AM_DSBM
RSVP Checksum16比特表示RSVP的校验和,值为消息的补码的反码。如果值为0,表示消息传输过程中不进行检验和检查。
Send TTL8比特IPv4的TTL的值,随报文一起发送。当节点接收到RSVP消息时,通过比较Send_TTL和IP首部的TTL值可以计算出该报文在非RSVP域中经过的跳数。
Reserved8比特保留。
RSVP Length16比特报文总长度,包括公共头及后面的TLV objects,以字节为单位。
Object变长消息对象。每个RSVP消息都包含多个对象。不同类型的消息,包含的对象不同。
图2 消息对象格式
http://www.023wg.com/message/message/image/RSVP-object-format.png
字段长度描述
Length16比特示对象的总长度,以字节为单位。Length必须是4的倍数,最小值为4。
Class Num8比特对象的类别:
[*]0:NULL,它的长度至少为4,但是可以是任意4的倍数。NULL对象可以出现在对象序列中的任意位置,它的内容会被接收者忽略掉。
[*]1:SESSION,RSVP会话相关信息,包括:Destination Address、Tunnel ID、Extend Tunnel ID。
[*]2:unassigned
[*]3:RSVP_HOP,发送Path消息的上一跳的出接口地址和接口句柄。
[*]4:INTEGRITY,携带了验证源节点的加密数据,它用于验证这个RSVP消息的内容。
[*]5:TIME_VALUES,包含了消息创建者使用的刷新周期,在每个Path消息和Resv消息中必须存在。
[*]6:ERROR_SPEC,指定了在PathErr、ResvErr消息中的Error,或者在ResvConf消息中的确认。
[*]Error Code = 00: 确认
[*]Error Code = 01: 准入控制失败
[*]Error Code = 02: 策略控制失败
[*]Error Code = 03: Resv消息没有路径信息。
[*]Error Code = 04: Resv消息没有发送者信息
[*]Error Code = 05: 冲突的预留风格
[*]Error Code = 06: 不可识别的预留风格
[*]Error Code = 07: 冲突的目的端口
[*]Error Code = 08:冲突的发送者端口
[*]Error Code = 09, 10, 11: (保留)
[*]Error Code = 12:服务抢占
[*]Error Code = 13: 不可识别的对象Class
[*]Error Code = 14: 不可识别的对象C-Type
[*]Error Code = 15-19: (保留)
[*]Error Code = 20: 为API保留
[*]Error Code = 21: 流量控制错误Sub-code = 01:服务冲突Sub-code = 02:不支持的服务Sub-code = 03:不正确的流规范值Sub-code = 04:不正确的Tspec值Sub-code = 05:不正确的Adspec值
[*]Error Code = 22: 流量控制系统错误
[*]Error Code = 23: RSVP系统错误
[*]Error Code = 24: 路由错误Sub-code = 01: 错误的EROSub-code = 02: 错误的严格显式路径节点Sub-code = 03: 错误的松散显式路径节点Sub-code = 04: 错误的初始子对象Sub-code = 05: 没有到目的地址的可用路由Sub-code = 06: 不可接受的标签值Sub-code = 07: RRO包含了路由环路Sub-code = 08: MPLS正在协商,但是路径上存在不支持MPLS的路由器。Sub-code = 09: MPLS标签分配错误Sub-code = 10: 不支持的L3PID
[*]Error Code = 25: 错误通告Sub-code = 01: 超过MTU值的RROSub-code = 02: RRO通告Sub-code = 03: 隧道本地修复
[*]7:SCOPE,携带了一个朝向信息转发方向的发送者主机的显式列表。可能出现在Resv、ResvErr或者ResvTear消息中。
[*]8:STYLE,定义了预留风格和在FLOWSPEC或者FILTER_SPEC对象中没有提及的指定风格的信息。在每个Resv消息中必须存在。
[*]9:FLOWSPEC,指明了数据流的QoS特征,存在于Resv消息中。
[*]10:FILTER_SPEC,发送节点的IP地址和LSP ID,存在于Resv消息中。
[*]11:SENDER_TEMPLATE,指定了发送节点的IP地址和LSP ID,存在于Path消息中。(将会成为Resv消息中的FILTERSPEC对象的内容。)
[*]12:SENDER_TSPEC,指明了数据流的流量特征。存在于Path消息中。(将会成为Resv消息中的FLOWSPEC对象的内容。)
[*]13:ADSPEC,用于收集路径上的实际QoS相关参数,例如,路径带宽估计、最小路径时延、Path MTU。存在于Path消息中。
[*]14:POLICY_DATA,携带了允许一个本地策略模块来决定一个相关的预留是否是可管理的许可的信息。可能出现在Path、Resv、PathErr或者ResvErr消息中。
[*]15:RESV_CONFIRM,预留确认请求,携带了请求预留确认的节点的IP地址。
[*]16: RSVP_LABEL表示分配的标签。
[*]19: LABEL_REQUEST标识LABEL_REQUEST对象,只在Path消息中携带。
[*]20: EXPLICIT_ROUTEERO(Explicit Route Object)描述LSP经过的路径信息,可以为严格显式路径也可以是松散显式路径。Path消息沿ERO指定的路径转发,不受IGP最短路径约束。ERO包含了包含了C-Type=1的子对象:1 IPv4前缀2 IPv6前缀32 AS号
[*]21: ROUTE_RECORDRRO(Record Route Object)记录了Path消息实际途经的LSR的列表。RRO可用于收集实际的路径信息,发现路由环路,还可以被复制到下一条Path消息中以实现路由锁定。RRO包含了C-Type=1的子对象:1 IPv4地址2 IPv6地址3 标签
[*]22: HELLOC_Type = 1: HELLO REQUEST对象C_Type = 2 : HELLO ACK对象
[*]207: SESSION_ATTRIBUTE指定了建立优先级、保持优先级、预留风格、亲和属性等属性。
C-Type8比特对象类型,表示同一类对象中不同的类型。Class_Number与C-Type唯一标识了一个对象。
Object Content变长对象内容,可变长度。
报文示例图3 RSVP Hello消息
http://www.023wg.com/message/message/image/RSVP-example-hello.png
图4 RSVP Path消息
http://www.023wg.com/message/message/image/RSVP-example-Path.png
图5 RSVP Path Tear消息
http://www.023wg.com/message/message/image/RSVP-example-Path-tear.png
图6 RSVP Resv消息
http://www.023wg.com/message/message/image/RSVP-example-Resv.png
图7 RSVP Resv-Tear消息
http://www.023wg.com/message/message/image/RSVP-example-Resv-tear.png
参考标准
标准描述
RFC 2205Resource ReSerVation Protocol
RFC 2209Resource ReSerVation Protocol (RSVP) -- Version 1 Message Processing Rules
RFC 3209RSVP-TE: Extensions to RSVP for LSP Tunnels
感謝版主!
页:
[1]