Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83193
  • 博文数量: 18
  • 博客积分: 735
  • 博客等级: 军士长
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2005-09-04 14:10
文章分类

全部博文(18)

文章存档

2008年(2)

2007年(12)

2005年(4)

我的朋友

分类: 系统运维

2007-11-03 00:30:53

4.4. Record Route Object

   Routes can be recorded via the RECORD_ROUTE object (RRO).
   Optionally, labels may also be recorded.  The Record Route Class is
   21.  Currently one C_Type is defined, Type 1 Record Route.  The
   RECORD_ROUTE object has the following format:
   //路由可以通过RRO对象被记录下来。标签也可以被记录。RRO对象类型为21
   //当前只定义了Type为1的RRO。RRO对象的格式如下:

   Class = 21, C_Type = 1

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                        (Subobjects)                          //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Subobjects

         The contents of a RECORD_ROUTE object are a series of
         variable-length data items called subobjects.  The subobjects
         are defined in section 4.4.1 below.

   The RRO can be present in both RSVP Path and Resv messages.  If a
   Path message contains multiple RROs, only the first RRO is
   meaningful.  Subsequent RROs SHOULD be ignored and SHOULD NOT be
   propagated.  Similarly, if in a Resv message multiple RROs are
   encountered following a FILTER_SPEC before another FILTER_SPEC is
   encountered, only the first RRO is meaningful.  Subsequent RROs
   SHOULD be ignored and SHOULD NOT be propagated.
   //PATH和RESV消息都可以携带RRO对象。如果PATH中有多个RRO,只有第一个
   //有意义。其余的应被忽略,且不能转发。同样,如RESV的一个FILTER_SPEC
   //对象后紧跟着(中间没有其他FILTER_SPEC)多个RRO对象,只有第一个RRO对
   //象有意义。其他的RRO应该被忽略,且不能被转发。
  

4.4.1. Subobjects

   The contents of a RECORD_ROUTE object are a series of variable-length
   data items called subobjects.  Each subobject has its own Length
   field.  The length contains the total length of the subobject in
   bytes, including the Type and Length fields.  The length MUST always
   be a multiple of 4, and at least 4.
   //一堆称为子对象的可变长度数据项组成RRO对象。每个子对象有它自己的长度
   //字段。该长度字段为该子对象的字节数,包含类型和长度字段。该长度必须
   //为4的倍数,且至少为4。

 

Awduche, et al.             Standards Track                    [Page 31]

RFC 3209           Extensions to RSVP for LSP Tunnels      December 2001


   Subobjects are organized as a last-in-first-out stack.  The first
   subobject relative to the beginning of RRO is considered the top.
   The last subobject is considered the bottom.  When a new subobject is
   added, it is always added to the top.
   //子对象的组织方式为"后进先出"的栈。RRO对象的第一个子对象被当作栈顶。
   //最后一个子对象被当作栈底。当新添加一个子对象,通常添加在栈顶。

   An empty RRO with no subobjects is considered illegal.
   //一个空的没有任何子对象RRO对象认为是非法的。

   Three kinds of subobjects are currently defined.
   //当前共定义了3中子对象。

4.4.1.1. Subobject 1: IPv4 address

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Type     |     Length    | IPv4 address (4 bytes)        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | IPv4 address (continued)      | Prefix Length |      Flags    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         0x01  IPv4 address

      Length

         The Length contains the total length of the subobject in bytes,
         including the Type and Length fields.  The Length is always 8.
         //该子对象的长度(字节数),包括Type和Length字段。该字段为8.

      IPv4 address

         A 32-bit unicast, host address.  Any network-reachable
         interface address is allowed here.  Illegal addresses, such as
         certain loopback addresses, SHOULD NOT be used.
         //一32位单播,主机地址。也可以是任意的网络可达的接口地址。不能
         //是非法网络地址,比如环回地址。

      Prefix length

         32
         //32(与ERO有些不一样,ERO中可以不是32,即:表示一个网络前缀,也
         //就是说,ERO可能指定一个不透明的AS,但RRO可能把AS内部的路由也
         //全部描述了?)

      Flags

         0x01  Local protection available
         //0X1 可以执行本地保护
        
               Indicates that the link downstream of this node is
               protected via a local repair mechanism.  This flag can
               only be set if the Local protection flag was set in the
               SESSION_ATTRIBUTE object of the corresponding Path
               message.
               //表明本节点的下游可以执行本地保护机制。只有当相应的PATH消
               //息的SESSION_ATTRIBUTE对象的本地保护标志被设置,该标志才
               //可以被设置。

 


Awduche, et al.             Standards Track                    [Page 32]

RFC 3209           Extensions to RSVP for LSP Tunnels      December 2001


         0x02  Local protection in use
         //0X2 已执行本地保护
        
               Indicates that a local repair mechanism is in use to
               maintain this tunnel (usually in the face of an outage
               of the link it was previously routed over).
               //表明已经执行本地保护机制来维护该tunnel(通常说明以前
               //的链路出了故障?[吐])

4.4.1.2. Subobject 2: IPv6 address

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Type     |     Length    | IPv6 address (16 bytes)       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | IPv6 address (continued)                                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | IPv6 address (continued)                                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | IPv6 address (continued)                                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | IPv6 address (continued)      | Prefix Length |      Flags    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         0x02  IPv6 address

      Length

         The Length contains the total length of the subobject in bytes,
         including the Type and Length fields.  The Length is always 20.
         //子对象的总字节数,包括Type和Length字段。该长度设置为20。
        
      IPv6 address

         A 128-bit unicast host address.

      Prefix length

         128

      Flags

         0x01  Local protection available

               Indicates that the link downstream of this node is
               protected via a local repair mechanism.  This flag can
               only be set if the Local protection flag was set in the
               SESSION_ATTRIBUTE object of the corresponding Path
               message.
               //同IPv4 Address。

 

Awduche, et al.             Standards Track                    [Page 33]

RFC 3209           Extensions to RSVP for LSP Tunnels      December 2001


         0x02  Local protection in use

               Indicates that a local repair mechanism is in use to
               maintain this tunnel (usually in the face of an outage
               of the link it was previously routed over).
               //同IPv4 Address。
              
4.4.1.3. Subobject 3, Label

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Length    |    Flags      |   C-Type      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Contents of Label Object                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         0x03  Label

      Length

         The Length contains the total length of the subobject in bytes,
         including the Type and Length fields.
         //子对象的总长度,包括Type和Length字段。(由于标签类型不一致,导
         //致该长度不能确定。)

      Flags

         0x01 = Global label
           This flag indicates that the label will be understood
           if received on any interface.
         //0x01 = 全局标签
         //该标志表明任何接口收到该标签都可以识别。

      C-Type

         The C-Type of the included Label Object.  Copied from the Label
         Object.
         //标签的C-Type。从LABEL对象中拷贝出来。

      Contents of Label Object

         The contents of the Label Object.  Copied from the Label Object
         //标签的值。从LABEL对象中拷贝出来。
        
4.4.2. Applicability

   Only the procedures for use in unicast sessions are defined here.
   //本小节定义的流程只适用与单播会话。

   There are three possible uses of RRO in RSVP.  First, an RRO can
   function as a loop detection mechanism to discover L3 routing loops,
   or loops inherent in the explicit route.  The exact procedure for
   doing so is described later in this document.
   //RSVP的RRO对象有三种功能。第一,RRO用于环路检测,可以发现L3路由环路,
   //或ERO对象的循环。如何检测在后续描述。

 

Awduche, et al.             Standards Track                    [Page 34]

RFC 3209           Extensions to RSVP for LSP Tunnels      December 2001


   Second, an RRO collects up-to-date detailed path information hop-by-
   hop about RSVP sessions, providing valuable information to the sender
   or receiver.  Any path change (due to network topology changes) will
   be reported.
   //第二,RRO对象可以收集最新的hop by hop会话的路径的详细信息,给首末节
   //点提供有用的信息。路径的任何改变(网络拓扑的改变所致)都将通报。

   Third, RRO syntax is designed so that, with minor changes, the whole
   object can be used as input to the EXPLICIT_ROUTE object.  This is
   useful if the sender receives RRO from the receiver in a Resv
   message, applies it to EXPLICIT_ROUTE object in the next Path message
   in order to "pin down session path".
   //第三,RRO的语法格式,通过很小的修改,整个对象可以用作RRO对象的输入
   //信息。如果首节点收到RESV消息,可以将其用于下个PATH消息的ERO对象,以
   //限制会话的路径。

阅读(2147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~