设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1742|回复: 1
收起左侧

[分享] RSVP报文格式

[复制链接]
 成长值: 59560
发表于 2017-11-22 10:24:55 | 显示全部楼层 |阅读模式
网络协议报文格式大全
http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)
RSVP报文格式
RSVP(Resource Reservation Protocol),资源预留协议,工作在传输层,但不参与应用数据的传送,是一种网络上的控制协议,类似于ICMP。
报文格式
RSVP各类消息都包含一个通用头部,随后是多个可变长度、类型的消息对象。
图1 RSVP消息格式

                               
登录/注册后可看大图




字段长度描述
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 消息对象格式

                               
登录/注册后可看大图



字段长度描述
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: 错误的ERO
      Sub-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值的RRO
      Sub-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_ROUTE
    ERO(Explicit Route Object)描述LSP经过的路径信息,可以为严格显式路径也可以是松散显式路径。Path消息沿ERO指定的路径转发,不受IGP最短路径约束。
    ERO包含了包含了C-Type=1的子对象:
    1 IPv4前缀
    2 IPv6前缀
    32 AS号
  • 21: ROUTE_RECORD
    RRO(Record Route Object)记录了Path消息实际途经的LSR的列表。RRO可用于收集实际的路径信息,发现路由环路,还可以被复制到下一条Path消息中以实现路由锁定。
    RRO包含了C-Type=1的子对象:
    1 IPv4地址
    2 IPv6地址
    3 标签
  • 22: HELLO
    C_Type = 1: HELLO REQUEST对象
    C_Type = 2 : HELLO ACK对象
  • 207: SESSION_ATTRIBUTE
    指定了建立优先级、保持优先级、预留风格、亲和属性等属性。

C-Type8比特对象类型,表示同一类对象中不同的类型。Class_Number与C-Type唯一标识了一个对象。
Object Content变长对象内容,可变长度。


报文示例图3 RSVP Hello消息

                               
登录/注册后可看大图

图4 RSVP Path消息

                               
登录/注册后可看大图

图5 RSVP Path Tear消息

                               
登录/注册后可看大图

图6 RSVP Resv消息

                               
登录/注册后可看大图

图7 RSVP Resv-Tear消息

                               
登录/注册后可看大图


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





您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-22 20:15 , Processed in 0.270036 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表