15-连通错误检测配置
本章节下载: 15-连通错误检测配置 (342 KB)
目 录
连通错误检测简称CFD(Connectivity Fault Detection),它是一种二层链路的、端到端的、基于VLAN的OAM(Operations, Administration and Maintenance,操作、管理和维护)机制,主要用于在二层网络中检测链路连通性、确认故障、并确定故障发生的位置。
维护域(Maintenance Domain,MD)指明了连通错误检测所覆盖的网络,它的边界是由配置在端口上的一系列维护端点所定义的。维护域用维护域名来标识。
为了能够准确地定位故障点,CFD在维护域中引入了层次的概念。维护域共分为8级,用整数0~7表示,数字越大表示维护域的级别越高,维护域的范围也越大。不同的维护域之间可以相邻、嵌套,但不能交叉。维护域嵌套时,只能是高级别维护域向低级别维护域嵌套,也就是说,低级别维护域必须包含在高级别维护域内部。
维护域的分层使得故障定位更加便利和准确。如图1-1所示,浅蓝色维护域MD_A和深蓝色维护域MD_B是嵌套的,如果在MD_A域边界上发现链路不通,则表明MD_A域内部的设备出现了故障,故障有可能出现在Device A~Device E这五台设备上。这时,如果在MD_B域边界上也发现链路不通,则故障点可能的范围就缩小到Device B~Device D这三台设备上,而如果MD_B域中的设备工作正常,则至少可以确定Device C是没有故障的。
连通错误检测报文的交互以及相关处理都是基于维护域的,通过对网络区域进行良好的维护域规划,CFD可以帮助网络管理者迅速定位故障点。
维护集(Maintenance Association,MA)是维护域中一些维护点的集合,维护集用“维护域名+维护集名”来标识。
MA指明了所服务的VLAN,MA中的维护点所发送的报文带有该VLAN标签,同时MA中的维护点可以接收本MA中其它维护点发送的报文。
维护点(Maintenance Point,MP)配置在端口上,属于某个MA。维护点可分为两种:维护端点和维护中间点。
l 维护端点
每个维护端点(Maintenance association End Point,MEP)用一个整数来标识,称为MEP ID。维护端点确定了维护域的范围和边界。维护端点所属的维护集和维护域确定了维护端点所发出的报文的VLAN属性和级别。维护端点有方向性,分为内向和外向。
维护端点的级别确定了它所能处理的报文的级别。维护端点发出的报文中带有的级别是该维护端点的级别。维护端点在收到比自己级别高的报文时,不会处理,而将该报文继续转发,不影响该报文的路径;在收到与自己同级别或比自己级别低的报文时,就不会转发,而是进行处理。上述描述是指在同一个VLAN内的报文处理方式,不同VLAN的报文之间不会相互干扰。
维护端点的方向指明了维护域相对于该端口的位置。图1-2中的两个端口(Port)上配置的是外向MEP;图1-3中的两个端口上配置的是内向MEP。
外向MEP是向它所在的端口发送报文的;内向MEP不向它所在的端口发送报文,而是向设备上的其它端口发送报文。
l 维护中间点
维护中间点(Maintenance association Intermediate Point,MIP)处于一个维护域的内部,它不能主动发出CFD报文,但是可以处理和回应CFD报文。它所属的维护集和维护域确定了接收报文的VLAN属性和级别。
维护中间点可以配合维护端点完成类似于ping和链路跟踪的功能。同维护端点一样,如果遇到比自己级别高的报文,维护中间点不做处理,任由它按本来的路径转发。
图1-4表示了CFD模块的一种分级配置方式。图中有6台设备,分别标识为1到6。假设所有的设备只有两个端口,在一些端口上配置了维护端点和维护中间点,图中共有4个层次的维护域,标识号较大(如5)的层次级别高、控制范围广;标识号较小(如2)的层次级别低、控制范围小。例如,在图中设备2的x端口上,配置了如下维护点:级别为5的维护中间点,级别为3的内向维护端点,级别为2的内向维护端点,级别为0的外向维护端点。
连通错误检测的有效应用建立在合理的网络部署和配置之上。它的功能是在所配置的维护点之间实现的,包括:
l 连续性检测功能(Continuity Check,CC)
l 环回功能(Loopback,LB)
l 链路跟踪功能(Linktrace,LT)
连续性检测功能用来检测维护端点之间的连通状态。连通失败可能由设备故障或配置错误造成。该功能的实现方式是:由维护端点周期性地发送CCM(Continuity Check Message,连续性检测报文),该报文是组播报文,相同维护集的其他维护端点接收该报文,并由此获知远端状态。当维护端点在3.5个周期的时间段内收不到该报文时,则认为链路有问题,会输出日志报告。当维护域中的多个维护端点在发送CCM报文时,就实现了多点到多点之间的链路检测。
环回功能类似于IP层的ping功能,用于验证本地设备与远端设备之间的连接状态。该功能的实现方式是:由维护端点发送LBM(Loopback Message,环回报文)给远端维护点,根据能否接收到对端反馈的LBR(Loopback Replay,环回应答报文)来检验链路状态。LBM和LBR是单播报文,它们的接收情况反映了两点间的链路是否连通。
链路跟踪功能用于确定源端到目标维护端点的路径。该功能的实现方式是:由源端发送LTM(Linktrace Message,链路跟踪报文)给目标维护端点,目标维护端点及LTM经过的维护中间点接收到该报文后,发送LTR(Linktrace Reply,链路跟踪应答报文)给源端,源端根据收到的应答报文确定到目标维护端点的路径。LTM是组播报文,LTR是单播报文。
连通错误检测功能依据IEEE P802.1ag协议实现。
为了对网络进行有效的连通错误检测,用户应在配置之前对网络进行规划,包括如下内容:
l 对整个网络的维护域进行分级,确定每个级别的维护域的边界。
l 确定每个维护域的名称。在不同的设备上,同一个维护域应有相同的名称。
l 根据需要监控的VLAN,确定每个维护域中的维护集。
l 确定每个维护集的名称。在不同的设备上,同一维护域中的同一维护集应有相同的名称。
l 处于维护域和维护集的边界的端口上应规划有维护端点;在非边界的设备或端口上可规划有维护中间点。
在网络规划完成后,用户可进行下列配置。
配置任务 |
说明 |
详细配置 |
配置基本任务 |
必选 连通错误检测的基本配置,是其它配置任务的基础 |
|
配置维护端点的CC功能 |
必选 配置维护端点发送CCM报文,实现链路的连通性管理 |
|
配置维护端点的LB功能 |
可选 实现链路连通性的验证,检查链路的状况 |
|
配置维护端点的LT功能 |
可选 实现链路故障的定位,查找指定维护端点到目的维护端点之间的路径 |
l 被STP协议阻塞的端口不能接收、发送和回应CFD报文;但如果端口被配置为外向MEP,那么即使该端口已被STP协议阻塞,其仍会接收和发送CCM报文。
l 只有以太网端口支持配置CFD功能。
用户需根据配置前的网络规划,在每台设备上配置维护端点或者配置维护中间点的生成规则,但在配置之前都要先完成服务实例的配置。
一个服务实例用一个整数表示,代表了一个维护域中的一个维护集。维护域和维护集确定了服务实例内的维护点所处理的报文的级别属性和VLAN属性。
按表格所示步骤配置服务实例:
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
使能CFD功能 |
cfd enable |
必选 缺省情况下,CFD功能关闭 |
创建维护域 |
cfd md md-name level level-value |
必选 缺省情况下,没有创建维护域 |
创建维护集 |
cfd ma ma-name md md-name vlan vlan-id |
必选 缺省情况下,没有创建维护集 |
创建服务实例 |
cfd service-instance instance-id md md-name ma ma-name |
必选 缺省情况下,没有创建服务实例 |
l 本配置任务是连通错误检测的基本配置,是其他配置任务的基础。
l 创建维护域、创建维护集、创建服务实例这三个操作必须按照表1-2中的顺序进行配置。
维护端点是服务实例中的功能实体,连通错误检测的功能主要体现在维护端点的操作上,它实现了CC、LB、LT功能,并对错误CCM和交叉连接进行告警。维护端点配置在服务实例上,服务实例所代表的维护域级别和VLAN属性自然地成为维护端点的属性。
按表格所示步骤配置维护端点:
表1-3 配置维护端点
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置维护端点 |
cfd mep mep-id service-instance instance-id { inbound | outbound } |
必选 缺省情况下,没有配置维护端点 |
为维护端点配置同服务实例中的远端维护端点 |
cfd remote-mep remote-mep-id service-instance instance-id mep mep-id |
必选 缺省情况下,没有为维护端点配置远端维护端点 |
使能维护端点 |
cfd mep service-instance instance-id mep mep-id enable |
必选 缺省情况下,配置的维护端点没有使能 |
维护中间点是服务实例中的功能实体,它响应LBM和LTM报文。
维护中间点是根据一定的规则,由系统在每个端口上计算出来的。用户应根据网络规划的情况,选择合适的生成规则。
按表格所示步骤配置维护中间点生成规则:
表1-4 配置维护中间点生成规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置维护中间点生成规则 |
cfd mip-rule { explicit | default } service-instance instance-id |
必选 缺省情况下,没有配置维护中间点生成规则,也没有创建维护中间点 |
维护中间点是由系统根据cfd mip-rule命令所配置的规则在每个端口上自动创建的。如果该端口不存在维护中间点,那么检查每一个维护域(从低级别到高级别)中的维护集,按照表1-5所示的规则来决定是否创建维护中间点(在同一VLAN内)。
表1-5 生成MIP的规则表
低级别MA上是否存在MIP |
cfd mip-rule命令所配置的参数 |
低级别MA上是否存在MEP |
是否创建MIP |
是 |
- |
- |
否 |
否 |
explicit |
否 |
否 |
是 |
是 |
||
default |
- |
是 |
配置了cfd mip-rule命令后,以下条件中的任意一个均可触发维护中间点的创建或删除:
l 启动CFD功能(cfd enable)
l 创建或删除端口上的维护端点
l 端口的VLAN属性发生变化
l cfd mip-rule命令配置的规则发生变化
配置维护端点的CC功能之后,维护端点之间就可以通过发送CCM报文来检测维护端点之间的连通状态。
进行本配置之前,应先完成配置维护端点的任务。
按表格所示步骤配置维护端点的CC功能:
表1-6 配置维护端点的CC功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置维护端点发送的CCM报文中的时间间隔域的值 |
cfd cc interval interval-field-value service-instance instance-id |
可选 缺省情况下,所有维护端点发送的CCM报文中的时间间隔域的值为5 |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
启用维护端点的CCM报文发送功能 |
cfd cc service-instance instance-id mep mep-id enable |
必选 缺省情况下,维护端点的CCM报文发送功能没有使能 |
维护端点发送的CCM报文中的时间间隔域(Interval域)的值与CCM发送时间间隔、远端MEP超时时间的关系如表1-7所示。
表1-7 Interval域的值与CCM发送时间间隔、远端MEP超时时间的关系
Interval域的值 |
CCM发送时间间隔 |
远端MEP超时时间 |
5 |
1秒 |
3.5秒 |
6 |
10秒 |
35秒 |
7 |
60秒 |
210秒 |
不同设备上处于同一个维护域和维护集中的维护端点,其发送CCM报文的时间间隔必须相同。
在启用CC功能检测到链路发生故障之后,可以通过LB功能验证链路故障,检查链路状况。
进行本配置之前,应先完成配置维护端点、维护中间点的任务。
按表格所示步骤配置维护端点的LB功能:
表1-8 配置维护端点的LB功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启用LB功能检查链路状况 |
cfd loopback service-instance instance-id mep mep-id { target-mep target-mep-id | target-mac mac-address } [ number loopback-number ] |
必选 缺省情况下,没有启用LB功能 |
LT功能可以用来查找指定维护端点到目的维护端点之间的路径,也可以在链路发生故障后自动发送链路跟踪报文来定位故障。两种功能的实现机制分别为:
l 查找指定维护端点到目的维护端点的路径:通过从指定维护端点发送LTM报文到目的维护端点,并且检测回应的LTR报文来确定设备之间的路径。
l 自动发送链路跟踪报文功能:开启本功能后,如果维护端点在3.5个CCM发送时间间隔内收不到远端维护端点发送的CCM报文、判定同远端维护端点的连接出错时将发送LTM报文(该LTM报文的目标为远端维护端点,LTM报文中的TTL字段的值为最大值255),通过检测回应的LTR报文来定位故障。
进行本配置之前,应先完成配置维护端点、维护中间点的任务。
按表格所示步骤配置查找指定维护端点到目的维护端点的路径:
表1-9 配置查找指定维护端点到目的维护端点的路径
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
查找指定维护端点到目的维护端点的路径 |
cfd linktrace service-instance instance-id mep mep-id { target-mep target-mep-id | target-mac mac-address } [ ttl ttl-value ] [ hw-only ] |
必选 |
按表格所示步骤配置自动发送链路跟踪报文功能:
表1-10 配置自动发送链路跟踪报文功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启自动发送链路跟踪报文功能 |
cfd linktrace auto-detection [ size size-value ] |
必选 缺省情况下,自动发送链路跟踪报文功能关闭 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后连通错误检测的运行情况,通过查看显示信息验证配置的效果。
表1-11 连通错误检测显示和维护
操作 |
命令 |
显示CFD功能的状态 |
display cfd status |
显示维护域的配置信息 |
display cfd md |
显示维护集的配置信息 |
display cfd ma [ [ ma-name ] md md-name ] |
显示服务实例的配置信息 |
display cfd service-instance [ instance-id ] |
显示维护点的信息 |
display cfd mp [ interface interface-type interface-number ] |
显示维护端点的属性和运行信息 |
display cfd mep mep-id service-instance instance-id |
显示维护端点上获得的LTR报文信息 |
display cfd linktrace-reply [ service-instance instance-id [ mep mep-id ] ] |
显示远端维护端点的信息 |
display cfd remote-mep service-instance instance-id mep mep-id |
显示自动发送LTM报文所收到的LTR报文的内容 |
display cfd linktrace-reply auto-detection [ size size-value ] |
在图1-5的维护域示意图中有五台设备,每台设备都有四个端口属于VLAN 100,图中的浅蓝圆角方框和深蓝圆角方框分别代表了不同维护域的范围。
对该组网的规划如下:
l 在该网络中规划两个域:MD_A(浅蓝色域)和MD_B(深蓝色域),级别分别为5和3。
l 确定每个域的边界端口,确定每个端口所属的域。
l 每个维护域中维护集的VLAN ID均为100。
根据组网图中每台设备上的端点所属的域,有如下的配置:
l 在Device A和Device E上配置维护域MD_A
l 在Device C上配置维护域MD_B
l 在Device B和Device D上配置维护域MD_A和MD_B
l 在每个维护域内配置一个维护集
l 为每个维护集创建一个服务实例
(1) Device A的配置(Device E的配置和Device A相同)
<DeviceA> system-view
[DeviceA] cfd enable
[DeviceA] cfd md MD_A level 5
[DeviceA] cfd ma MA_MD_A md MD_A vlan 100
[DeviceA] cfd service-instance 1 md MD_A ma MA_MD_A
(2) Device C的配置
<DeviceC> system-view
[DeviceC] cfd enable
[DeviceC] cfd md MD_B level 3
[DeviceC] cfd ma MA_MD_B md MD_B vlan 100
[DeviceC] cfd service-instance 2 md MD_B ma MA_MD_B
(3) Device B的配置(Device D的配置和Device B相同)
<DeviceB> system-view
[DeviceB] cfd enable
[DeviceB] cfd md MD_A level 5
[DeviceB] cfd ma MA_MD_A md MD_A vlan 100
[DeviceB] cfd service-instance 1 md MD_A ma MA_MD_A
[DeviceB] cfd md MD_B level 3
[DeviceB] cfd ma MA_MD_B md MD_B vlan 100
[DeviceB] cfd service-instance 2 md MD_B ma MA_MD_B
配置完成后,可以使用命令display cfd md、display cfd ma和display cfd service-instance显示已配置的维护域、维护集和服务实例。
在完成配置服务实例之后,可以继续对维护端点进行规划。
维护端点配置在维护域边界的端口上,配置方式如下:
l 对每一个维护域,查找所有的边界端口。
l 对每一个边界端口,根据维护域的位置确定配置在它上面的维护端点的方向。
l 为每一个维护端点确定一个维护集内唯一的ID。
l 确定每个维护端点所要检测的远端维护端点,并使能这些维护端点。
l 在维护域MD_A中,边界端口有三个:Device A上的Ethernet1/0/1,Device D上的Ethernet1/0/3和Device E上的Ethernet1/0/4,分别在这三个端口上配置内向的维护端点。
l 在维护域MD_B中,有两个边界端口:Device B上的Ethernet1/0/3和Device D上的Ethernet1/0/1,分别在这两个端口上配置外向的维护端点。
l 在维护域MD_A和MD_B中,每个维护端点都检测其他维护端点的报文。
(1) Device A的配置
<DeviceA> system-view
[DeviceA] interface ethernet 1/0/1
[DeviceA-Ethernet1/0/1] cfd mep 1001 service-instance 1 inbound
[DeviceA-Ethernet1/0/1] cfd remote-mep 5001 service-instance 1 mep 1001
[DeviceA-Ethernet1/0/1] cfd remote-mep 4002 service-instance 1 mep 1001
[DeviceA-Ethernet1/0/1] cfd mep service-instance 1 mep 1001 enable
[DeviceA-Ethernet1/0/1] cfd cc service-instance 1 mep 1001 enable
(2) Device B的配置
<DeviceB> system-view
[DeviceB] interface ethernet 1/0/3
[DeviceB-Ethernet1/0/3] cfd mep 2001 service-instance 2 outbound
[DeviceB-Ethernet1/0/3] cfd remote-mep 4001 service-instance 2 mep 2001
[DeviceB-Ethernet1/0/3] cfd mep service-instance 2 mep 2001 enable
[DeviceB-Ethernet1/0/3] cfd cc service-instance 2 mep 2001 enable
(3) Device D的配置
<DeviceD> system-view
[DeviceD] interface ethernet 1/0/1
[DeviceD-Ethernet1/0/1] cfd mep 4001 service-instance 2 outbound
[DeviceD-Ethernet1/0/1] cfd remote-mep 2001 service-instance 2 mep 4001
[DeviceD-Ethernet1/0/1] cfd mep service-instance 2 mep 4001 enable
[DeviceD-Ethernet1/0/1] cfd cc service-instance 2 mep 4001 enable
[DeviceD-Ethernet1/0/1] interface ethernet 1/0/3
[DeviceD-Ethernet1/0/3] cfd mep 4002 service-instance 1 inbound
[DeviceD-Ethernet1/0/3] cfd remote-mep 1001 service-instance 1 mep 4002
[DeviceD-Ethernet1/0/3] cfd remote-mep 5001 service-instance 1 mep 4002
[DeviceD-Ethernet1/0/3] cfd mep service-instance 1 mep 4002 enable
[DeviceD-Ethernet1/0/3] cfd cc service-instance 1 mep 4002 enable
(4) Device E的配置
<DeviceE> system-view
[DeviceE] interface ethernet 1/0/4
[DeviceE-Ethernet1/0/4] cfd mep 5001 service-instance 1 inbound
[DeviceE-Ethernet1/0/4] cfd remote-mep 1001 service-instance 1 mep 5001
[DeviceE-Ethernet1/0/4] cfd remote-mep 4002 service-instance 1 mep 5001
[DeviceE-Ethernet1/0/4] cfd mep service-instance 1 mep 5001 enable
[DeviceE-Ethernet1/0/4] cfd cc service-instance 1 mep 5001 enable
配置完成后,可以使用命令display cfd mp和display cfd mep显示已配置的维护端点。
在完成配置维护端点之后,可以继续对维护中间点进行规划。
维护中间点由设备根据规则计算,配置方式如下:
l 确认需要配置维护中间点的设备。
l 选择合适的维护中间点规则。缺省情况下,设备上不配置维护中间点。如果在该维护域内的所有端口上都规划有维护中间点,则应选择default规则。如果仅在低层维护域有维护端点时规划维护中间点,则应选择explicit规则。
图1-7 维护域和维护点示意图
l 将维护域MD_A的维护中间点规划在Device B上,并且只在端口上有低层次维护端点时配置。即,在端口Ethernet1/0/3上配置有MD_B域的维护端点,维护域MD_A中的维护中间点配置在此端口即可。根据上述规划,在设备Device B上配置维护域MD_A的维护中间点生成规则为explicit。
l 将维护域MD_B的维护中间点规划在Device C上,并且在所有端口上均进行配置。根据上述规划确定,在设备Device C上配置维护域MD_B的维护中间点生成规则为default。
(1) Device B的配置
<DeviceB> system-view
[DeviceB] cfd mip-rule explicit service-instance 1
(2) Device C的配置
<DeviceC> system-view
[DeviceC] cfd mip-rule default service-instance 2
配置完成后,可以通过display cfd mp显示已配置的维护中间点。
通过CC功能检查到链路出现故障后,可以使用LB功能进行故障定位。
如图1-6所示,根据已配置的维护端点,在设备Device A上使用LB功能。由设备Device A发送LBM报文给设备Device D上的维护端点。
# Device A的配置。
<DeviceA> system-view
[DeviceA] cfd loopback service-instance 1 mep 1001 target-mep 4002
通过CC功能获取整个组网的状态后,使用LT功能进行路径查找或故障定位。
如图1-6所示,根据已配置的维护端点,在设备Device A上使用LT功能。由设备Device A发送LTM报文给设备Device D上的维护端点。
# Device A的配置。
<DeviceA> system-view
[DeviceA] cfd linktrace service-instance 1 mep 1001 target-mep 4002
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!