02-CFD配置
本章节下载: 02-CFD配置 (306.5 KB)
目 录
CFD(Connectivity Fault Detection,连通错误检测)遵循IEEE 802.1ag的CFM(Connectivity Fault Management,连通错误管理)协议,是一种二层网络中基于VLAN的端到端OAM(Operations, Administration and Maintenance,操作、管理和维护)机制,主要用于在二层网络中检测链路连通性,以及在故障发生时确认故障并定位。
MD(Maintenance Domain,维护域)是指连通错误检测所覆盖的一个网络或网络的一部分,它以“MD名称”来标识。
为了准确定位故障点,在MD中引入了级别(层次)的概念。MD共分为八级,用整数0~7来表示,数字越大级别越高,MD的范围也就越大。不同MD之间可以相邻或嵌套,但不能交叉,且嵌套时只能由高级别MD向低级别MD嵌套,即低级别MD必须包含在高级别MD内部。
MD的分级使得故障定位更加便利和准确,如图1-1所示,有MD_A和MD_B两个MD,MD_B嵌套于MD_A中,如果在MD_A的边界上发现链路不通,则表明该域内的设备出现了故障,故障可能出现在Device A~Device E这五台设备上。此时,如果在MD_B的边界上也发现链路不通,则故障范围就缩小到Device B~Device D这三台设备上;反之,如果MD_B中的设备都工作正常,则至少可以确定Device C是没有故障的。
CFD协议报文的交互以及相关处理都是基于MD的,合理的MD规划可以帮助网络管理员迅速定位故障点。
MA(Maintenance Association,维护集)是MD的一部分,一个MD可划分为一个或多个MA。MA以“MD名称+MA名称”来标识。
MA可以服务于指定的VLAN,也可以不服务于任何VLAN,分别称为有VLAN属性和无VLAN属性的MA。MA中的MP可以接收由本MA中其它MP发来的报文。MA的级别等于其所属MD的级别。
MP(Maintenance Point,维护点)配置在接口上,属于某个MA,可分为MEP(Maintenance association End Point,维护端点)和MIP(Maintenance association Intermediate Point,维护中间点)两种:
(1) MEP
MEP确定了MA的边界,它以“MEP ID”来标识。
MEP所属的MA确定了该MEP发出的报文所属的VLAN;MEP的级别等于其所属MD的级别,MEP发出的报文的级别等于该MEP的级别。MEP的级别决定了其所能处理的报文的级别:当MEP收到高于自己级别的报文时不会进行处理,而是将其按原有路径转发;而当MEP收到小于等于自己级别的报文时才会进行处理。需要注意的是,本段是针对同一VLAN内的报文处理方式进行描述,不同VLAN内的报文之间是相互隔离的,不会相互影响。
MEP具有方向性,分为内向MEP和外向MEP两种:
· 内向MEP通过除其所在的接口以外的所有接口向外发送CFD协议报文,即在其所属MA所服务的VLAN中进行广播。
· 外向MEP则直接通过其所在的接口向外发送CFD协议报文。
(2) MIP
MIP位于MA的内部,不能主动发出CFD协议报文,但可以处理和响应CFD协议报文。MIP可以配合MEP完成类似于ping和tracert的功能。当MIP收到不等于自己级别的报文时不会进行处理,而是将其按原有路径转发;只有当MIP收到等于自己级别的报文时才会进行处理。
MIP所属的MA确定了该MEP所能接收的报文所属的VLAN;MIP的级别由其创建规则和所属MD的级别共同确定。MIP的创建规则有以下两种:
· Default规则:当接口上没有更低级别的MIP时,在本级别创建MIP。在此规则下,接口上即使没有配置MEP也可创建MIP。
· Explicit规则:当接口上没有更低级别的MIP且有更低级别的MEP时,在本级别创建MIP。在此规则下,接口上只有配置了更低级别的MEP时才可创建MIP。
当用户在设备上指定了MIP的创建规则后,系统会在尚没有MIP的接口上,按照级别由低到高依次检查各MD中的MA,并按照图1-2所示的流程来确定接口是否要在本级别创建MIP。
图1-2 是否创建MIP的确定流程
图1-3所示为CFD的一种分级配置方式,图中共有0、2、3、5四个级别的MD,标识号较大的MD的级别高、控制范围广;标识号较小的MD的级别低、控制范围小。在Device A~Device F的各接口上配置了MP,譬如Device B的接口Port 1上配置有:级别为5的MIP、级别为3的内向MEP、级别为2的内向MEP和级别为0的外向MEP。
图1-3 CFD的分级配置
MEP列表是同一MA中允许配置的本地MEP和需要监控的远端MEP的集合,它限定了MA中MEP的选取范围,不同设备上同一MA中的所有MEP都应包含在此列表中,且MEP ID互不重复。如果MEP收到来自远端设备的CCM(Continuity Check Message,连续性检测报文)报文所携带的MEP不在同一MA的MEP列表中,就丢弃该报文。
连通错误检测的有效应用建立在合理的网络部署和配置之上。它的功能是在所配置的MP之间实现的,包括:
· 连续性检测功能
· 环回功能
· 链路跟踪功能
MEP之间的连通失败可能由设备故障或配置错误造成,连续性检测(Continuity Check,CC)功能就是用来检测MEP之间的连通状态。该功能的实现方式是:由MEP周期性地发送CCM报文,相同MA的其它MEP接收该报文,并由此获知远端状态。若MEP在3.5个CCM报文发送周期内未收到远端MEP发来的CCM报文,则认为链路有问题,会输出日志报告。当MD中的多个MEP在发送CCM报文时,就实现了多点到多点之间的链路检测。
CCM报文是组播报文。
环回(Loopback,LB)功能类似于IP层的ping功能,用于验证源MEP与目标MP之间的连接状态。该功能的实现方式是:由源MEP发送LBM(Loopback Message,环回报文)报文给目标MP,并根据能否收到对端反馈的LBR(Loopback Reply,环回应答)报文来检验链路状态。
LBM报文和LBR报文都是单播报文。
链路跟踪(Linktrace,LT)功能类似于IP层的tracert功能,用于确定源MEP到目标MP的路径,其实现方式是:由源MEP发送LTM(Linktrace Message,链路跟踪报文)报文给目标MP,目标MP以及LTM报文所经过的MIP收到该报文后,都会发送LTR(Linktrace Reply,链路跟踪应答)报文给源MEP,源MEP则根据收到的LTR报文来确定到目标MP的路径。
LTM报文是组播报文,LTR报文是单播报文。
与CFD相关的协议规范有:
· IEEE 802.1ag:Virtual Bridged Local Area Networks Amendment 5: Connectivity Fault Management
在配置CFD功能之前,应对网络进行如下规划:
· 对整个网络的MD进行分级,确定各级别MD的边界。
· 确定各MD的名称,同一MD内的设备使用相同的MD名称。
· 根据需要监控的VLAN,确定各MD中的MA。
· 确定各MA的名称,同一MD中同一MA内的设备使用相同的MA名称。
· 确定同一MD中同一MA的MEP列表,在不同设备上应保持相同。
· 在MD和MA的边界接口上应规划MEP,非边界设备或接口上可规划MIP。
在完成网络规划之后,请按照表1-1进行配置。
配置任务 |
说明 |
详细配置 |
|
CFD基础配置 |
使能CFD功能 |
必选 |
|
配置服务实例 |
必选 |
||
配置MEP |
必选 |
||
配置MIP的创建规则 |
必选 |
||
配置CFD各项功能 |
配置连续性检测功能 |
必选 |
|
配置环回功能 |
可选 |
||
配置链路跟踪功能 |
可选 |
被生成树协议阻塞的端口通常不能收发CFD协议报文,但下列情况例外:
· 如果设备上配置有外向MEP,那么外向MEP所在的端口即使被生成树协议阻塞,也仍能收发CFD协议报文。
· 如果设备上配置有MIP或内向MEP,那么该设备上的端口即使被生成树协议阻塞,也仍能收发除CCM报文以外的其它CFD协议报文。
有关生成树协议的详细介绍,请参见“二层技术-以太网交换配置指导”中的“生成树”。
表1-2 使能CFD功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能CFD功能 |
cfd enable |
缺省情况下,CFD功能处于关闭状态 |
在配置MEP和MIP之前,必须首先配置服务实例(Service Instance)。一个服务实例用一个整数表示,代表了一个MD中的一个MA。
服务实例内的MP所处理报文的级别属性和VLAN属性分别由MD和MA来确定。其中,无VLAN属性的MA中的MP也不属于任何VLAN。
请按照下列顺序配置服务实例。
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
创建MD |
cfd md md-name [ index index-value ] level level-value [ md-id { dns dns-name | mac mac-address subnumber | none } ] |
缺省情况下,没有创建MD |
创建服务实例 |
cfd service-instance instance-id ma-id { icc-based icc-name | integer ma-num | string ma-name | vlan-based [ vlan-id ] } [ ma-index index-value ] md md-name [ vlan vlan-id ] |
缺省情况下,不存在服务实例 |
CFD功能主要体现在对MEP的各种操作上,由于MEP配置在服务实例上,因此服务实例所代表的MD的级别和VLAN属性就自然成为了MEP的属性。
在创建MEP前必须先配置MEP列表,MEP列表是同一MA中允许配置的本地MEP和需要监控的远端MEP的集合。所创建的MEP必须已包含在对应服务实例的MEP列表中,否则将无法创建成功。
在一个接口的同一级别上,只允许为一个不带VLAN属性的MA配置MEP,且只能是外向MEP。
表1-4 配置MEP
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置MEP列表 |
cfd meplist mep-list service-instance instance-id |
缺省情况下,不存在MEP列表 |
进入二层以太网或二层聚合接口视图 |
interface interface-type interface-number |
以太网接口视图下的配置只对当前接口生效;聚合接口视图下的配置对当前接口及其成员端口均生效;聚合成员端口上的配置,只有当成员端口退出聚合组后才能生效 |
创建MEP |
cfd mep mep-id service-instance instance-id { inbound | outbound } |
缺省情况下,接口上不存在MEP |
MIP是服务实例中的功能实体,用来响应各种CFD测试报文(如LTM、LBM等)。请根据网络规划配置MIP的创建规则,系统将按照此规则在接口上自动创建MIP。在配置了MIP的创建规则之后,下列任一条件均可触发MIP的创建或删除:
· 使能或关闭CFD功能。
· 创建或删除接口上的MEP。
· 端口的VLAN属性发生变化。
· MIP的创建规则发生变化。
· 由于无VLAN属性的MA主要用来检测直连链路的状态,因而此类MA无法创建MIP。
· 对于有VLAN属性的MA,当接口上有同级别或更高级别的MEP时,不会在该接口上生成该MA的MIP。
表1-5 配置MIP的创建规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置MIP的创建规则 |
cfd mip-rule { default | explicit } service-instance instance-id |
缺省情况下,没有配置MIP的创建规则,系统不自动创建MIP |
在配置CFD各项功能之前,需完成以下配置任务:
· CFD基础配置
在配置其它各项CFD功能之前,必须先配置连续性检测功能。连续性检测功能通过在MEP之间互发CCM报文来检测这些MEP之间的连通状态,从而实现链路连通性的管理。
CCM报文中时间间隔域(Interval域)的值、CCM报文的发送间隔和远端MEP的超时时间这三者之间的关系如表1-6所示。
CCM报文中时间间隔域的值 |
CCM报文的发送间隔 |
远端MEP的超时时间 |
1 |
10/3毫秒 |
35/3毫秒 |
2 |
10毫秒 |
35毫秒 |
3 |
100毫秒 |
350毫秒 |
4 |
1秒 |
3.5秒 |
5 |
10秒 |
35秒 |
6 |
60秒 |
210秒 |
7 |
600秒 |
2100秒 |
请通过以下操作来配置连续性检测功能。
· 同一MA中所有MEP发送的CCM报文中时间间隔域的值必须相同。
· 对于本系列交换机,Interval域的取值暂不支持1~3。如果配置Interval域的取值为1~3,实际生效值为4。
表1-7 配置连续性检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)配置MEP发送的CCM报文中时间间隔域的值 |
cfd cc interval interval-value service-instance instance-id |
缺省情况下,MEP发送的CCM报文中时间间隔域的值为4 |
进入二层以太网或二层聚合接口视图 |
interface interface-type interface-number |
以太网接口视图下的配置只对当前接口生效;聚合接口视图下的配置对当前接口及其成员端口均生效;聚合成员端口上的配置,只有当成员端口退出聚合组后才能生效 |
使能MEP的CCM报文发送功能 |
cfd cc service-instance instance-id mep mep-id enable |
缺省情况下,MEP的CCM报文发送功能处于关闭状态 |
通过配置环回功能,可以检查链路状况,从而实现链路连通性的验证。
表1-8 配置环回功能
操作 |
命令 |
说明 |
启用环回功能检查链路状况 |
cfd loopback service-instance instance-id mep mep-id { target-mac mac-address | target-mep target-mep-id } [ number number ] |
缺省情况下,环回功能未启用 本命令可在任意视图下执行 |
通过配置链路跟踪功能,可以查找源MEP到目标MEP之间的路径,从而实现链路故障的定位。它包括以下两种功能:
· 查找源MEP到目标MEP的路径:通过从源MEP发送LTM报文到目标MEP,并检测回应的LTR报文来确定设备间的路径。
· 自动发送LTM报文:使能本功能后,当源MEP在3.5个CCM报文发送周期内未收到目标MEP发来的CCM报文,从而判定与目标MEP的连接出错时,将发送LTM报文(该LTM报文的目地为目标MEP,LTM报文中TTL字段为最大值255),通过检测回应的LTR报文来定位故障。
表1-9 配置链路跟踪功能
操作 |
命令 |
说明 |
查找源MEP到目标MEP的路径 |
cfd linktrace service-instance instance-id mep mep-id { target-mac mac-address | target-mep target-mep-id } [ ttl ttl-value ] [ hw-only ] |
本命令可在任意视图下执行 |
进入系统视图 |
system-view |
- |
使能自动发送LTM报文功能 |
cfd linktrace auto-detection [ size size-value ] |
缺省情况下,自动发送LTM报文功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后CFD的运行情况,通过查看显示信息验证配置的效果。
表1-10 CFD显示和维护
操作 |
命令 |
显示MEP上获得的LTR报文信息 |
display cfd linktrace-reply [ service-instance instance-id [ mep mep-id ] ] |
显示自动发送LTM报文后收到的LTR报文信息 |
display cfd linktrace-reply auto-detection [ size size-value ] |
显示MD的配置信息 |
display cfd md |
显示MEP的属性和运行信息 |
display cfd mep mep-id service-instance instance-id |
显示服务实例内的MEP列表 |
display cfd meplist [ service-instance instance-id ] |
显示MP的信息 |
display cfd mp [ interface interface-type interface-number ] |
显示远端MEP的信息 |
display cfd remote-mep service-instance instance-id mep mep-id |
显示服务实例的配置信息 |
display cfd service-instance [ instance-id ] |
显示CFD的开启状态 |
display cfd status |
· 由五台设备组成的网络被划分为MD_A和MD_B两个MD,其级别分别为5和3,各设备的所有端口都属于VLAN 100,且各MD中的MA均服务于该VLAN,并假定Device A~Device E的MAC地址依次为0010-FC00-6511、0010-FC00-6512、0010-FC00-6513、0010-FC00-6514和0010-FC00-6515。
· MD_A的边界端口为Device A的Ten-GigabitEthernet1/0/1、Device D的Ten-GigabitEthernet1/0/3和Device E的Ten-GigabitEthernet1/0/4,这些端口上都是内向MEP;MD_B的边界端口为Device B的Ten-GigabitEthernet1/0/3和Device D的Ten-GigabitEthernet1/0/1,这些端口都是外向MEP。
· 要求将MD_A的MIP规划在Device B上,并只在端口上有低级别MEP时配置。根据此规划,由于Device B的Ten-GigabitEthernet1/0/3上配置有MD_B的MEP,因此在Device B上采用Explicit规则来创建MD_A的MIP。
· 要求将MD_B的MIP规划在Device C上,并在其所有端口上配置。根据此规划,在Device C上配置MD_B的MIP,且其创建规则为Default规则。
· 要求通过使用连续性检测功能来检测MD_A和MD_B中各MEP之间的连通状态,当检测到链路故障时,使用环回功能进行故障定位。
· 要求在获取到整个组网的状态后,使用链路跟踪功能检测链路故障。
图1-4 CFD典型配置组网图
(1) 配置VLAN和端口
请按照图1-4在各设备上分别创建VLAN 100,并配置端口Ten-GigabitEthernet1/0/1~Ten-GigabitEthernet1/0/4都属于VLAN 100。
(2) 使能CFD功能
# 在Device A上使能CFD功能。
<DeviceA> system-view
[DeviceA] cfd enable
Device B~Device E的配置与Device A相似,配置过程略。
(3) 配置服务实例
# 在Device A上创建级别为5的MD MD_A,并创建服务实例1,该服务实例的MA以VLAN编号为名称,且服务于VLAN 100。
[DeviceA] cfd md MD_A level 5
[DeviceA] cfd service-instance 1 ma-id vlan-based md MD_A vlan 100
Device E的配置与Device A相似,配置过程略。
# 在Device B上先创建级别为5的MD MD_A,并创建服务实例1,该服务实例的MA以VLAN编号为名称,且服务于VLAN 100;再创建级别为3的MD MD_B,并创建服务实例2,该服务实例的MA以VLAN编号为名称,且服务于VLAN 100。
[DeviceB] cfd md MD_A level 5
[DeviceB] cfd service-instance 1 ma-id vlan-based md MD_A vlan 100
[DeviceB] cfd md MD_B level 3
[DeviceB] cfd service-instance 2 ma-id vlan-based md MD_B vlan 100
Device D的配置与Device B相似,配置过程略。
# 在Device C上创建级别为3的MD MD_B,并创建服务实例2,该服务实例的MA以VLAN编号为名称,且服务于VLAN 100。
[DeviceC] cfd md MD_B level 3
[DeviceC] cfd service-instance 2 ma-id vlan-based md MD_B vlan 100
(4) 配置MEP
# 在Device A的服务实例1内配置MEP列表,在端口Ten-GigabitEthernet1/0/1上创建服务实例1内的内向MEP 1001。
[DeviceA] cfd meplist 1001 4002 5001 service-instance 1
[DeviceA] interface ten-gigabitethernet 1/0/1
[DeviceA-Ten-GigabitEthernet1/0/1] cfd mep 1001 service-instance 1 inbound
[DeviceA-Ten-GigabitEthernet1/0/1] quit
# 在Device B的服务实例1和2内分别配置MEP列表,在端口Ten-GigabitEthernet1/0/3上创建服务实例2内的外向MEP 2001。
[DeviceB] cfd meplist 1001 4002 5001 service-instance 1
[DeviceB] cfd meplist 2001 4001 service-instance 2
[DeviceB] interface ten-gigabitethernet 1/0/3
[DeviceB-Ten-GigabitEthernet1/0/3] cfd mep 2001 service-instance 2 outbound
[DeviceB-Ten-GigabitEthernet1/0/3] quit
# 在Device D的服务实例1和2内分别配置MEP列表,在端口Ten-GigabitEthernet1/0/1上创建服务实例2内的外向MEP 4001,然后在端口Ten-GigabitEthernet1/0/3上创建服务实例1内的内向MEP 4002。
[DeviceD] cfd meplist 1001 4002 5001 service-instance 1
[DeviceD] cfd meplist 2001 4001 service-instance 2
[DeviceD] interface ten-gigabitethernet 1/0/1
[DeviceD-Ten-GigabitEthernet1/0/1] cfd mep 4001 service-instance 2 outbound
[DeviceD-Ten-GigabitEthernet1/0/1] quit
[DeviceD] interface ten-gigabitethernet 1/0/3
[DeviceD-Ten-GigabitEthernet1/0/3] cfd mep 4002 service-instance 1 inbound
[DeviceD-Ten-GigabitEthernet1/0/3] quit
# 在Device E的服务实例1内配置MEP列表,在端口Ten-GigabitEthernet1/0/4上创建服务实例1内的内向MEP 5001。
[DeviceE] cfd meplist 1001 4002 5001 service-instance 1
[DeviceE] interface ten-gigabitethernet 1/0/4
[DeviceE-Ten-GigabitEthernet1/0/4] cfd mep 5001 service-instance 1 inbound
[DeviceE-Ten-GigabitEthernet1/0/4] quit
(5) 配置MIP
# 在Device B的服务实例1内配置MIP的创建规则为Explicit规则。
[DeviceB] cfd mip-rule explicit service-instance 1
# 在Device C的服务实例2内配置MIP的创建规则为Default规则。
[DeviceC] cfd mip-rule default service-instance 2
(6) 配置连续性检测功能
# 在Device A的端口Ten-GigabitEthernet1/0/1上使能服务实例1内MEP 1001的CCM报文发送功能。
[DeviceA] interface ten-gigabitethernet 1/0/1
[DeviceA-Ten-GigabitEthernet1/0/1] cfd cc service-instance 1 mep 1001 enable
[DeviceA-Ten-GigabitEthernet1/0/1] quit
# 在Device B的端口Ten-GigabitEthernet1/0/3上使能服务实例2内MEP 2001的CCM报文发送功能。
[DeviceB] interface ten-gigabitethernet 1/0/3
[DeviceB-Ten-GigabitEthernet1/0/3] cfd cc service-instance 2 mep 2001 enable
[DeviceB-Ten-GigabitEthernet1/0/3] quit
# 在Device D的端口Ten-GigabitEthernet1/0/1上使能服务实例2内MEP 4001的CCM报文发送功能,并在端口Ten-GigabitEthernet1/0/3上使能服务实例1内MEP 4002的CCM报文发送功能。
[DeviceD] interface ten-gigabitethernet 1/0/1
[DeviceD-Ten-GigabitEthernet1/0/1] cfd cc service-instance 2 mep 4001 enable
[DeviceD-Ten-GigabitEthernet1/0/1] quit
[DeviceD] interface ten-gigabitethernet 1/0/3
[DeviceD-Ten-GigabitEthernet1/0/3] cfd cc service-instance 1 mep 4002 enable
[DeviceD-Ten-GigabitEthernet1/0/3] quit
# 在Device E的端口Ten-GigabitEthernet1/0/4上使能服务实例1内MEP 5001的CCM报文发送功能。
[DeviceE] interface ten-gigabitethernet 1/0/4
[DeviceE-Ten-GigabitEthernet1/0/4] cfd cc service-instance 1 mep 5001 enable
[DeviceE-Ten-GigabitEthernet1/0/4] quit
(1) 验证环回功能
当通过连续性检测功能检测到链路故障时,可以使用环回功能进行故障定位。譬如:
# 在Device A上启用环回功能,检查服务实例1内MEP 1001到5001的链路状况。
[DeviceA] cfd loopback service-instance 1 mep 1001 target-mep 5001
Loopback to 0010-fc00-6515 with the sequence number start from 1001-43404:
Reply from 0010-fc00-6515: sequence number=1001-43404 time=5ms
Reply from 0010-fc00-6515: sequence number=1001-43405 time=5ms
Reply from 0010-fc00-6515: sequence number=1001-43406 time=5ms
Reply from 0010-fc00-6515: sequence number=1001-43407 time=5ms
Reply from 0010-fc00-6515: sequence number=1001-43408 time=5ms
Sent: 5 Received: 5 Lost: 0
(2) 验证链路跟踪功能
当通过连续性检测功能获取到整个组网的状态后,可以使用链路跟踪功能进行路径查找或故障定位。譬如:
# 在Device A的服务实例1内查找MEP 1001到5001的路径。
[DeviceA] cfd linktrace service-instance 1 mep 1001 target-mep 5001
Linktrace to MEP 5001 with the sequence number 1001-43462:
MAC Address TTL Last Mac Relay Action
0010-fc00-6515 63 0010-fc00-6512 Hit
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!