通信人家园

标题: 分享:VCCV详解  [查看完整版帖子] [打印本页]

时间:  2010-10-7 20:54
作者: 啸傲江湖     标题: 分享:VCCV详解

什么是VCCV
n       VCCV, Virtual Circuit Connectivity Verification,是用来诊断PW(PesudoWire,Virtual Circuit)是否有问题的一个OAM工具,它在RFC 5085中定义。
n       它用RFC 4379中定义的MPLS PING的机制来检测PW的连通性。RFC4379只是定义了一个通用的方法和该方法所用的报文格式,而VCCV则定义了如何携带RFC 4379定义的MPLS ping报文通过PW从而来检测PW的连通性,还定义了如何扩展LDP来向PW peer来通告自己的VCCV能力。
n       VCCV由三部分组成
§         信令部分,将自己的VCCV能力发布给peer
§         封装方式,通过一种control channel,让接收者可以截获,解释其内容
§         各种VCCV操作模式规范
CC and CV types
n       VCCV定义了多种Control Channel (CC) Types和多种Connectivity Verification (CV) Types.
n       所谓的CC就是逻辑上的一种封装方式,里面封装了VCCV消息的payloadRFC  5085bitmask的方式目前定义了这么几种:
n       对于MPLS PW, CC type包括
§         Bit 0 (0x01) - Type 1: PWE3 Control Word with 0001b as
                        first nibble (PW-ACH, see [RFC4385])
n       对于L2TPv3 PW, CC type包括
§         Bit 0 (0x01) - L2-Specific Sublayer with V-bit set
n       简单说来,CC就是一种让PW peer可以识别出这是一个VCCV报文的封装方式

所谓的CV type,即不同的诊断工具。
n       对于MPLS PW, RFC 5085定义了这么几种CV types
§         Bit 0 (0x01) - ICMP Ping
§         Bit 1 (0x02) - LSP Ping
n       对于L2TPv3 PW, RFC 5085定义了这么几种CT types
§         Bit 0 (0x01) - ICMP Ping
具体解释一下MPLS CV  types
n       ICMP PING
§         ICMP PING就是在VCCV的消息中,携带ICMPv4(RFC 792)或者ICMPv6(RFC4443) encodingICMP 消息。
n       LSP PING
§         LSP PING就是在VCCV的消息中,携带RFC4379中定义的MPLS PING的消息,其中,target FEC Stack包含sub-TLV of sub-Type 8 for the L2 VPN endpoint, 9 for FEC 128 Pseudowire (deprecated), 10 for FEC 128 Pseudowire”, or 11 for the “FEC 129 Pseudowire”. Sub-TLV 用来表示正在verifyPW.
如果一台设备不支持任何上述CCCV,则发布LDP消息给peer的时候,消息中的CCCV field应该被置为全0。接收方必须假定对方没有VCCV的能力

In-band Control Channel
n       MPLS PW的第一种CC type,是一个in-band control channel,使用的是RFC 4385中定义的PW Associated Channel 。格式如下
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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 1|Version|   Reserved    |         Channel Type          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
n       其中,Channel Type设为0x0021表示IPv4,设为0x0057表示IPv6
n       Version当前为0
n       由于这种CC用的是PW Associated Channel,它跟user traffic一样携带在PW里面,只是通过first nibble来区分,所以它跟普通的用户数据走的是同一个条路径。
n       如果PW传输数据的时候用了control word,那么这种方式的CC必须要能够被支持

Out-of-Band VCCV
n       MPLS PW的第二种CC方式,即用MPLS alert label,由于在PW label前加了一个MPLS alert label,会导致ECMP的时候,VCCV报文跟user data走的不一致的路径,所以是out-of-band方式。
n       无论user datacontrol word是否使用,都可以用这种方式来做control channel.
n       control word不使用的时候,这种方式被认为是首选方式
TTL Expiry VCCV
n       这种方式通过把PW labelTTL置为1,使得在egress PE上处理的时候,会终结这个packet而不至于发送出去,但是它也会导致ECMP的情况跟user data走的不同的路径,所以本质上也是out-of-band方式
VCCV能力的发布
n       VCCV能力通过信令协议来发布,双方必须达成一致之后,才能发送VCCV消息。
n       [RFC4447] 定义了一个 Interface Parameter Sub-TLV 域在 LDP PW  ID FEC (FEC 128) 和一个Interface Parameters TLV LDP  Generalized PW ID FEC (FEC 129) 来发布PW的能力.  一个可选的 sub-TLV parameter 被定义来显示VCCVCCCV能力.  如果用FEC ID 128, VCCV的参数被携带在 Interface Parameter sub-TLV .  如果用FEC ID 129,VCCV参数被作为Interface parameters TLV的一个inerface parameters sub-TLV.
n       VCCV parameter ID被定义在RFC 4446里面,是0x0c
   Parameter ID   Length     Description
     0x0c                4              VCCV
具体格式如下
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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      0x0c     |       0x04    |   CC Types    |   CV Types    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
n       当接收者收到VCCV能力通告的时候,假设多个CC types都支持,那么接收方应该按照如下优先级来进行选择
§         1.  Type 1: PWE3 Control Word with 0001b as first nibble
§         2.  Type 2: MPLS Router Alert Label
§         3.  Type 3: MPLS PW Label with TTL == 1

n       <FONT size=3>对于MPLS PW, CV Type 0x02,即LSP Ping 是默认模式,CV Type 0x01,即<SPAN style="mso-bidi-font-weight: bold" lang=EN-US>
时间:  2010-10-8 08:05
作者: frameworks

PW层面的检测报文。。。。。。。。不错




通信人家园 (https://www.txrjy.com/) Powered by C114