以太网OAM技术白皮书

以太网OAM技术白皮书

 

Copyright © 2012杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,

并不得以任何形式传播。本文档中的信息可能变动,恕不另行通知。

H3C_彩色.emf

 



概述

以太网技术自诞生起,就以其简单易用和价格低廉的特点逐步成为局域网的主导技术。近年来,随着千兆、万兆以太网技术的相继应用,也促使网络运营商、设备制造商和标准化组织致力于将以太网技术向城域网和广域网领域推进。

以太网最初为局域网而设计,由于局域网本身已具备较高的可靠性和稳定性,因此在设计以太网之初并未建立管理维护的机制。而相对于局域网,城域网和广域网在链路长度和网络规模上都迅速扩大,于是有效管理维护机制的缺乏,已成为以太网技术在城域网和广域网应用的严重障碍。为此,在以太网上实现OAMOperation, Administration and Maintenance,操作、管理和维护)机制成为必然的发展趋势。以太网OAM技术可以有效提高对以太网的管理和维护能力,保障网络的稳定运行。

图1 以太网OAM技术分级实现示意图

 

以太网OAM技术是分级实现的。如1所示,以太网OAM技术分为以下两个级别:

·              链路级以太网OAM技术:多应用于网络的PE设备—CE设备—用户设备之间(也叫最后一公里)的以太网物理链路,用于监测用户网络与运营商网络之间的链路状态,典型协议为EFM OAMEthernet in the First Mile OAM,最后一公里以太网OAM)协议。

·              网络级以太网OAM技术:多应用于网络的接入汇聚层,用于监测整个网络的连通性、定位网络的连通性故障,典型协议为CFDConnectivity Fault Detection连通错误检测)协议。

各级别上典型的以太网OAM协议如1所示。

表1 典型的以太网OAM协议

协议名称

应用级别

协议标准

说明

EFM OAM

链路级

IEEE 802.3ah

针对两台直连设备间的链路,提供链路性能监测、故障侦测和告警、环路测试等功能

CFD

网络级

IEEE 802.1ag

ITU-T Y.1731

主要用于在二层网络中检测链路连通性,以及在故障发生时确认故障并定位

 

本文将对EFM OAMCFD分别进行介绍。

EFM OAM技术实现

2.1  概念介绍

2.1.1  OAM实体

使能了EFM OAM功能的接口称为EFM OAM实体,简称OAM实体。

2.1.2  协议报文

EFM OAM工作在数据链路层,其协议报文被称为OAMPDUOAM Protocol Data UnitsOAM协议数据单元)。EFM OAM就是通过设备之间定时交互OAMPDU来报告链路状态,使网络管理员能够对网络进行有效的管理。

图2 OAMPDU报文格式示意图

 

2所示为OAMPDU的报文格式和常见的OAMPDUOAMPDU中重要字段的含义如2所示。

表2 OAMPDU重要字段含义

字段

含义

Dest addr

目的MAC地址,为慢速协议组播地址:0x0180-C200-0002。慢速协议报文的特点就是不能被网桥转发,因此无论是否具备OAM功能或OAM功能是否激活,EFM OAM报文都不能跨多跳转发

Source addr

MAC地址,为发送端接口的MAC地址(若没有则采用该设备的桥MAC地址),是一个单播MAC地址

Type

协议类型,为0x8809

Subtype

协议子类型,为0x03

Flags

Flag域,包含了EFM OAM实体的状态信息

Code

消息编码,不同取值表示不同类型的OAMPDU常见OAMPDU3所示

 

表3 常见OAMPDU

Code

报文类型

中文含义

作用

0x00

Information OAMPDU

信息OAMPDU,也称为心跳报文

用于将OAM实体的状态信息(包括本地信息、远端信息和自定义信息)发给远端OAM实体,以保持以太网OAM连接

0x01

Event Notification OAMPDU

事件通知OAMPDU

一般用于链路监控,对连接本端和远端OAM实体的链路上所发生的故障进行告警

0x04

Loopback Control OAMPDU

环回控制OAMPDU

主要用于远端环回控制,用来控制远端设备的OAM环回状态,该报文中带有使能或去使能环回功能的信息,根据该信息开启或关闭远端环回功能

 

2.1.3  连接模式

EFM OAM的连接模式有两种:主动模式和被动模式。EFM OAM连接只能由主动模式的OAM实体发起,而被动模式的OAM实体只能等待远端OAM实体的连接请求;同处于被动模式下的两个OAM实体之间无法建立EFM OAM连接。这两种模式下设备的处理能力如4所示。

表4 两种工作模式下设备的处理能力

处理能力

主动模式

被动模式

初始化EFM OAM Discovery过程

可以

不可以

EFM OAM Discovery初始化过程的响应

可以

可以

发送Information OAMPDU

可以

可以

发送Event Notification OAMPDU

可以

可以

发送不携带TLVInformation OAMPDU

可以

可以

发送Loopback Control OAMPDU

可以

不可以

Loopback Control OAMPDU的响应

可以,但需要远端为主动模式

可以

 

2.1.4  链路事件

EFM OAM中定义的链路事件分为一般链路事件和紧急链路事件两大类。

1. 一般链路事件

一般链路事件用于链路性能监控,其包含的类型如5所示。

表5 一般链路事件

事件类型

描述

错误信号事件(Errored Symbol Event

以收到设定数量的信号为检测窗口,在窗口期内检测到的错误信号数量如果达到或超过了检测阈值,就产生一次错误信号事件

错误帧事件(Errored Frame Event

以设定的时间为检测窗口,在窗口期内检测到的错误帧数量如果达到或超过了检测阈值,就产生一次错误帧事件

错误帧周期事件(Errored Frame Period Event

以收到设定数量的帧为检测窗口,在窗口期内检测到的错误帧数量如果达到或超过了检测阈值,就产生一次错误帧周期事件

错误帧秒事件(Errored Frame Seconds Event

以设定的时间为检测窗口,在窗口期内检测到的错误帧秒(在某一秒内检测到至少一个错误帧,就称该秒为错误帧秒)数量如果达到或超过了检测阈值,就产生一次错误帧秒事件

 

2. 紧急链路事件

紧急链路事件用于远端故障检测,其包含的类型以及对应的Information OAMPDU发送频率如6所示。

表6 紧急链路事件

事件类型

描述

OAMPDU发送频率

链路故障(Link Fault

远端链路信号丢失

每秒发送一次

致命故障Dying Gasp

不可预知的状态发生,比如电源中断

不间断发送

紧急事件(Critical Event

不能确定的紧急事件发生

不间断发送

 

2.2  运行机制

下面对EFM OAM的运行机制进行介绍。

2.2.1  EFM OAM连接建立

EFM OAM功能的实现建立在EFM OAM连接的基础之上,EFM OAM连接的建立过程也称为Discovery阶段,即本端OAM实体发现远端OAM实体、并与之建立稳定对话的过程。

当设备的某个接口使能了EFM OAM功能时,如果该接口的EFM OAM工作模式为主动模式,便由该接口向远端发起EFM OAM连接。在建立EFM OAM连接的过程中,相连的OAM实体通过交互Information OAMPDU通报各自的EFM OAM配置信息。当OAM实体收到远端的配置参数后,决定是否建立EFM OAM连接。

图3 EFM OAM连接示意图

 

3所示,Device A的接口Ethernet1/1工作在主动模式下,当该接口上使能了EFM OAM功能时:

(1)      Device ADevice B发送Information OAMPDU,其中包含Device AEFM OAM配置信息。

(2)      Device B收到该OAMPDU后,与自己的EFM OAM配置进行匹配,然后向Device A回复Information OAMPDU,其中除了包含Device ADevice B二者的EFM OAM配置信息外,还包含Device BDevice AEFM OAM配置是否匹配的标志信息。

(3)      Device A收到Device B发来的OAMPDU后,再来判断Device BEFM OAM配置与自己的配置是否匹配。

通过以上过程,如果双方的EFM OAM配置都匹配,EFM OAM连接便建立起来。EFM OAM连接建立后,两端的OAM实体会周期性地发送Information OAMPDU来检测连接是否正常。如果一端OAM实体在连接超时时间内未收到远端发来的Information OAMPDU,则认为EFM OAM连接中断。

2.2.2  链路性能监控

当一端OAM实体监控到一般链路事件时,将向其远端OAM实体发送Event Notification OAMPDU进行通报,同时将监控信息记入日志并上报给网管系统;远端OAM实体收到该信息后,也将其记入日志并上报给网管系统。这样,管理员就可以通过观察日志信息动态地掌握网络的状况。

2.2.3  远端故障检测

当设备上发生紧急链路事件而导致流量中断时,故障端OAM实体通过Information OAMPDU中的Flag域将故障信息(即紧急链路事件类型)通知给远端OAM实体,同时将故障信息记入日志并上报给网管系统;远端OAM实体收到该信息后,也将其记入日志并上报给网管系统。这样,管理员就可以通过观察日志信息动态地了解链路状态,对相应的错误及时进行处理。

2.2.4  远端环回

远端环回功能是指主动模式下的OAM实体向远端发送除OAMPDU以外的所有其它报文时,远端收到报文后不按其目的地址进行转发,而是将其按原路返回给本端。它可用于定位链路故障和检测链路质量:网络管理员通过观察非OAMPDU报文的返回情况,可以对链路性能(包括丢包率、时延、抖动等)作出评判。

图4 远端环回示意图

 

4所示,Device A的接口Ethernet1/1工作在主动模式下,在Device ADevice B之间的EFM OAM连接建立之后,使能该接口上的远端环回功能:

(1)      Device ADevice B发送带有使能信息的Loopback Control OAMPDU,并等待回复。

(2)      Device B收到该OAMPDU后,向Device A回复状态改变的Information OAMPDU,并进入环回状态(在此状态下,设备会把收到的非OAMPDU报文都按原路返回)。

(3)      Device A收到回复后,开始向Device B发送非OAMPDU的测试报文。

(4)      Device B收到测试报文后,将其按原路返回给Device A

(5)      Device A需要停止远端环回时,向Device B发送带有去使能信息的Loopback Control OAMPDU

(6)      Device B收到该OAMPDU后便退出环回状态,并向Device A回复状态改变的Information OAMPDU

2.3  H3C实现的技术特色

EFM OAM连接建立之后,两端的OAM实体会周期性地发送心跳报文(即Information OAMPDU)来检测连接是否正常。如果一端OAM实体在连接超时时间内未收到远端OAM实体发来的心跳报文,则认为OAM连接中断。IEEE 802.3ah中定义了心跳报文发送周期为1秒,连接超时时间为5秒。H3C在协议规定的基础上,还允许用户对心跳报文的发送周期和连接超时时间进行配置。

对于OAM连接中断,用户可以在接口上配置是否关联EFM OAM动作:如果配置了关联,接口在收到远端以太网OAM事件时除了记录日志外,还会自动断开OAM连接,并设置该接口的链路层状态为down;否则,只记录日志。

CFD技术实现

3.1  概念介绍

3.1.1  MD

MDMaintenance Domain,维护域)是指连通错误检测所覆盖的一个网络或网络的一部分,它以“MD名称”来标识。

为了准确定位故障点,在MD中引入了级别(层次)的概念。MD共分为八级,用整数07来表示,数字越大级别越高,MD的范围也就越大。不同MD之间可以相邻或嵌套,但不能交叉,且嵌套时只能由高级别MD向低级别MD嵌套,即低级别MD必须包含在高级别MD内部。低级别MDCFD PDU进入高级别MD后会被丢弃;高级别MDCFD PDU则可以穿越低级别MD;相同级别的MDCFD PDU不可以互相穿越。

图5 MD嵌套示意图

 

在实际应用中,要对MD进行合理规划:如5所示,有MD_AMD_B两个MDMD_B嵌套在MD_A中,要在MD_A中进行连通性检测,就要求MD_ACFD PDU能够穿越MD_B,因此需要将MD_A的级别配置得比MD_B高。这样,MD_ACFD PDU就可以穿越MD_B,从而实现了整个MD_A的连通性故障管理,而MD_BCFD PDU则不会扩散到MD_A中。

3.1.2  MA

MAMaintenance Association,维护集)是MD的一部分,一个MD可划分为一个或多个MAMA以“MD名称+MA名称”来标识。

一个MA服务于一个VLANMA中的MP所发送的报文都带有该VLAN的标签,同时MA中的MP可以接收由本MA中其它MP发来的报文。

3.1.3  MP

MPMaintenance Point,维护点)配置在接口上,属于某个MA,可分为MEPMaintenance association End Point,维护端点)和MIPMaintenance association Intermediate Point,维护中间点)两种。

1. MEP

MEP确定了MA的边界,它以“MEP ID”来标识。

MEP所属的MA确定了该MEP发出的报文所属的VLANMEP的级别等于其所属MD的级别,MEP发出的报文的级别等于该MEP的级别。MEP的级别决定了其所能处理的报文的级别:当MEP收到高于自己级别的报文时不会进行处理,而是将其按原有路径转发;而当MEP收到小于等于自己级别的报文时才会进行处理。需要注意的是,本段是针对同一VLAN内的报文处理方式进行描述,不同VLAN内的报文之间是相互隔离的,不会相互影响。

MEP具有方向性,分为内向MEP和外向MEP两种:

·              内向MEP通过除其所在的接口以外的所有接口向外发送CFD PDU,即在其所属MA所服务的VLAN中进行广播。

·              外向MEP则直接通过其所在的接口向外发送CFD PDU

2. MIP

MIP位于MA的内部,不能主动发出CFD PDU,但可以处理和响应CFD PDUMIP可以配合MEP完成类似于pingtracert的功能。当MIP收到不等于自己级别的报文时不会进行处理,而是将其按原有路径转发;只有当MIP收到等于自己级别的报文时才会进行处理。

图6 CFD的分级配置

 

6所示为CFD的一种分级配置方式,图中共有0235四个级别的MD,标识号较大的MD的级别高、控制范围广;标识号较小的MD的级别低、控制范围小。在Device ADevice F的各接口上配置了MP,譬如Device B的接口Ethernet1/1上配置有:级别为5MIP、级别为3的内向MEP、级别为2的内向MEP和级别为0的外向MEP

3.1.4  协议报文

CFD的协议报文被称为CFD PDU。不同的CFD PDU具有相同的报文头,通过头部的类型字段来区分报文类型。

图7 CFD PDU报文格式示意图

 

7所示为CFD PDU的报文格式和常见的CFD PDUCFD PDU中重要字段的含义如7所示。

表7 CFD PDU重要字段含义

字段

含义

MD level

MD的级别,取值范围为07,数值越大级别越高

Version

协议版本号,固定为0

OpCode

消息编码,不同取值表示不同类型的CFD PDU常见CFD PDU8所示

Flags

Flag域,在不同类型CFD PDU中表示不同的含义

TLV offset

TLV偏移量,表示第一个TLV相对于本字段的偏移数值

 

表8 常见CFD PDU

OpCode

报文类型

目标MAC地址

用途

0x01

CCM PDU

0180-C200-003x1类组播地址,x取值如9

连续性检测

0x02

LBR PDU

发起端单播地址

环回测试

0x03

LBM PDU

目标端单播地址

0x04

LTR PDU

发起端单播地址

链路跟踪

0x05

LTM PDU

0180-C200-003y2类组播地址,y取值如9

0x33

AIS PDU

0180-C200-003x1类组播地址,x取值如9

告警抑制

0x37

TST PDU

目标端单播地址

比特错误测试

0x42

LMR PDU

发起端单播地址

单向丢包测试

0x43

LMM PDU

目标端单播地址

0x45

1DM PDU

目标端单播地址

单向时延测试

0x46

DMR PDU

发起端单播地址

双向时延测试

0x47

DMM PDU

目标端单播地址

 

表9 组播地址中xy的取值

MD level

x的取值

y的取值

7

7

F

6

6

E

5

5

D

4

4

C

3

3

B

2

2

A

1

1

9

0

0

8

 

3.2  运行机制

CFD的有效应用建立在合理的网络部署和配置之上。它的功能是在所配置的MP之间实现的,包括以下几种:

3.2.1  连续性检测功能

MEP之间的连通失败可能由设备故障或配置错误造成,连续性检测(Continuity CheckCC)功能就是用来检测MEP之间的连通状态。该功能的实现方式是:由MEP周期性地发送CCM PDU,相同MA的其它MEP接收该报文,并由此获知远端状态。若MEP3.5CCM PDU发送周期内未收到远端MEP发来的CCM PDU,则认为链路有问题,会输出日志报告。当MD中的多个MEP在发送CCM PDU时,就实现了多点到多点之间的链路检测。

CCM PDU中时间间隔域(Interval域)的值、CCM PDU的发送间隔和远端MEP的超时时间这三者之间的关系如10所示。

表10 参数关系表

 CCM PDU中时间间隔域的值

CCM PDU发送间隔

远端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

 

3.2.2  环回测试功能

环回测试(LoopbackLB)功能类似于IP层的ping功能,用于验证源MEP与目标MP之间的连接状态。该功能的实现方式是:由源MEP发送LBM PDU给目标MP,并根据能否收到对端反馈的LBR PDU来检验链路状态。

图8 环回测试示意图

 

8所示,在Device ADevice C之间进行环回测试的过程如下:

(1)      Device ADevice C发送LBM PDU,其中携带有该报文的发送时间;

(2)      Device C收到该报文后回复LBR PDUDevice A,其中携带有LBM PDU的发送和接收时间以及LBR PDU的发送时间。

在超时时间内,如果Device A收到了Device C回应的LBR PDU,则可以根据其中携带的时间信息算出Device ADevice C的网络时延;否则,便认为Device ADevice C不可达。此外,通过连续发送多个LBM PDU并观察LBR PDU的返回情况,还可以了解网络的丢包情况

3.2.3  链路跟踪功能

链路跟踪(LinktraceLT)功能类似于IP层的tracert功能,用于确定源MEP到目标MEP的路径,其实现方式是:由源MEP发送LTM PDU给目标MEP,目标MEPLTM PDU所经过的MIP收到该报文后,会发送LTR PDU给源MEP,源MEP则根据收到的LTR PDU来确定到目标MEP的路径。

图9 链路跟踪示意图

 

9所示,在Device ADevice C之间进行链路跟踪的过程如下:

(1)      Device ADevice C发送LTM PDU,其中携带有TTL值和目标MEPMAC地址

(2)      Device B收到该报文后,先将其TTL值减1,再继续转发给Device C,并回复LTR PDUDevice A,其中也携带有TTL值(等于Device A发送来的LTM PDU中的TTL值减1);

(3)      Device C收到该报文后,回复LTR PDUDevice A,其中也携带有TTL值(等于Device B转发来的LTM PDU中的TTL值再减1)。由于根据LTM PDU中携带的目标MEPMAC地址,Device C可以判断出自己就是目标MEP,因此不会再转发该报文。

如果Device ADevice C之间的路径有故障,则故障点下游的设备将无法收到LTM PDU,也不会回复LTR PDU,据此可判定故障点的位置。例如,若Device A能收到Device B回复的LTR PDU,但收不到Device C回复的LTR PDU,就可以判定Device BDevice C之间的路径有故障。

3.2.4  告警抑制功能

告警抑制功能是ITU-T Y.1731基于CFD定义的扩展功能,用来减少MEP故障告警的数量。如果MEP3.5CCM PDU发送周期内未收到远端MEP发来的CCM PDU,便立刻开始周期性地发送AISAlarm Indication Signal,告警指示信号) PDU,该报文的发送方向与CCM PDU相反。其它MEP在收到AIS PDU后,会抑制本端的故障告警,并继续发送AIS PDU。此后,如果MEP收到了CCM PDU,便停止发送AIS PDU并恢复故障告警。

图10 告警抑制示意图

 

10所示,告警抑制的触发过程如下:

(1)      Device BDevice C之间的链路出现故障,Device BDevice C之间的连续性检测失败,向用户发出故障告警信息;

(2)      检测到故障后Device BDevice A发送AIS PDUDevice C则向Device D发送AIS PDU

(3)      Device ADevice D收到AIS PDU后,都进入告警抑制状态。此后,如果Device ADevice D之间的连续性检测失败,将不再向用户发出故障告警信息。

AIS PDU的缺省发送周期为1秒,由于告警抑制功能可以配置很多发送VLAN,而报文发送数量过多将对设备CPU造成负担,因此在这种情况下可将AIS PDU的发送周期调整为1分钟,从而减少报文发送数量。

3.2.5  单向丢包测试功能

单向丢包测试(Loss MeasurementLM)功能用来检测MEP之间的单向丢包情况,其实现方式是:由源MEP发送LMMLoss Measurement Message,丢包测试报文) PDU给目标MEP,目标MEP收到该报文后,会发送LMRLoss Measurement Reply,丢包测试应答) PDU给源MEP,源MEP则根据两个连续的LMR PDU来计算源MEP和目标MEP间的丢包数,即源MEP从收到第二个LMR PDU开始,根据本LMR PDU和前一个LMR PDU的统计计数来计算源MEP和目标MEP间的丢包数。

7所示,源MEP发送LMM PDU时会填充当前接口的发包统计计数TxFCf,目标MEP收到该报文后,会获取当前接口的收发包统计计数,并向源MEP回应。LMR PDU中携带以下统计值:

·              TxFCf:从收到的最后一个LMM PDU中的TxFCf字段复制而来。

·              RxFCf:收到最后一个LMM PDU时,当前接口的收包统计计数。

·              TxFCb:发送LMR PDU时,当前接口的发包统计计数。

MEP收到LMR PDU后(至少需要两次报文交互过程),进行丢包统计的计算公式如下:

·              远端丢包数=|TxFCb[tc] – TxFCb[tp]| – |RxFCb[tc] – RxFCb[tp]|

·              本端丢包数=|TxFCf[tc] – TxFCf[tp]| – |RxFCl[tc] – RxFCl[tp]|

其中,tc表示前一次收发的测试报文,tp表示当前一次收发的报文。

图11 单向丢包测试示意图

 

11所示,Device ADevice B之间的单向丢包测试过程如下:

(1)      Device A100毫秒为间隔向Device B发送指定数量(缺省为5个)的LMM PDU,报文中填充有发送接口的发包统计计数TxFCf

(2)      Device B收到LMM PDU时,先获取当前接口的收包统计计数RxFCf,并在向Device A回应LMR PDU时获取当前接口的发包统计计数TxFCbLMR PDU中会同时填充有TxFCfRxFCfTxFCb。后向Device A回应DMR PDU,其中填充有TxTimefRxTimefTxTimeb

(3)      Device A收到LMR PDU时,先获取当前接口的收包统计计数RxFCl。从收到第二个LMR PDU开始,Device A就按前面的公式分别计算远端和本端的丢包数,并记录本次交互的计算结果。在本次测试完成后再进行平均的测试统计结果。

单向丢包测试结果的准确度依赖于发送LMM PDULMR PDU,以及接收LMM PDU时,获取硬件统计计数的及时性和和准确性。一般需要硬件支持直接向报文中填充报文的收发统计计数。

3.2.6  帧时延测试功能

帧时延测试(Delay MeasurementDM)功能用来检测MEP之间报文传输的时延情况,分为单向时延测试和双向时延测试两种:

1. 单向时延测试

单向时延测试功能的实现方式是:源MEP发送1DMOne-way Delay Measurement,单向时延测试) PDU给目标MEP,该报文中携带有其发送时间。目标MEP收到该报文后记录其接收时间,并结合其发送时间来计算并记录链路传输的时延和抖动(即时延变化值)。

7所示,1DM PDU中的TxTimeStampf字段填充源MEP的发送时间TxTimefRxTimeStampf字段填充目标MEP的接收时间RxTimef。源MEP会以100毫秒为间隔发送指定数量(缺省为5个)的1DM PDU。目标MEP收到该报文后,计算RxTimefTxTimef的差值即为此次测试的时延。时延抖动则是本次测出的时延与已测出的最小时延的差值。单向时延测试要求测试设备之间已完成时钟同步,否则测试出的时延有较大误差,而只能进行时延抖动测试。

2. 双向时延测试

双向时延是用于测量报文从本端发送到接收的一次往返过程中,报文在链路上的消耗时间。测试是从源MEP向目的MEP发送测试请求报文,然后在接收到目的MEP的应答报文后,根据应答报文的接收时间和测试请求的发送时间的差值计算双向报文时延。

7所示,DMM PDU中的TxTimeStampf字段填充源MEP的发送时间TxTimef,目标MEP收到此报文后直接将其中的TxTimef填充到DMR PDU中,并在DMR PDU中填充上DMM PDU的接收时间RxTimefDMR PDU的发送时间TxTimeb

MEP在收到DMR PDU后,需要获取到DMR PDU的接收时间RxTimeb。如果报文中填充了DMM PDU的接收时间和DMR PDU的发送时间,则可根据以下公式计算出报文往返消耗在链路上的双向时延:双向链路时延= (RxTimeb – TxTimef) – (TxTimeb – RxTimef);否则,只能计算出双向报文时延= RxTimeb – TxTimef

图12 双向时延测试示意图

 

12所示,Device ADevice B之间的双向时延测试过程如下:

(1)      Device A100毫秒为间隔向Device B发送指定数量(缺省为5个)的DMM PDU,报文中填充有发送时间TxTimef

(2)      Device B收到DMM PDU后向Device A回应DMR PDU,其中填充有TxTimefRxTimefTxTimeb

(3)      Device A收到DMR PDU后,计算出本此交互的双向链路时延。从收到第二个DMR PDU开始,还要计算出双向时延抖动和平均双向时延。

3.2.7  比特错误测试功能

比特错误测试功能用来测试MEP之间的报文比特错误。由源MEP发送指定数量的TSTTest,比特错误测试) PDU给目标MEP(每个TST PDU都携带不同的递增序号),该报文中携带有伪随机序列或全0值。目标MEP收到该报文后,根据其中指定的测试模式和测试比特内容进行计算和比较,从而确定报文是否有比特错误。测试的比特长度为32位,有以下几种测试模式:

·              0比特不带校验和

·              0比特带校验和

·              伪随机比特带校验和

·              伪随机比特不带校验和

3.3  H3C实现的技术特色

3.3.1  支持辅助CPU快速检测

由于CCM PDU的发送周期跨度很大,从3.3毫秒到10分钟。但是,3.3毫秒的CCM PDU发送周期会对业务板上其它业务的性能产生影响,而其它业务对CPU的抢占也会影响CCM PDU的发送精度。因此,H3C可采用单独的辅助CPU来处理这种快速报文的发送和接收,检测结果通过主CPU之间以及主CPU与辅助CPU之间的通信来通知MEP所在的业务板。

3.3.2  支持与Smart Link联动

Smart Link实现了主备链路的冗余备份和快速迁移。在双上行组网中,当主用链路出现故障时,设备自动将流量切换到备用链路,这样就实现了主备链路的冗余备份。但是,对于传输链路上的设备或链路自身发生的故障(如光纤链路发生单通、错纤、丢包等故障)以及此类故障的恢复,Smart Link本身是无法感知的。

H3C通过将Smart LinkCFD协议的连续性检测功能进行联动,可以对上述故障的发生或恢复进行检测。其原理如下:MEP周期性地发送CCM PDU,同一MA内的其它MEP收到该报文后便能获知远端MEP的状态。若MEP3.5个发送周期内仍未收到该报文,便认为链路有问题,于是通知Smart Link重新计算Smart Link的链路状态,以便进行链路切换。

3.3.3  支持LTM PDU自动发送

H3C支持LTM PDU的自动发送,当本端MEP3.5CCM PDU发送周期内未收到远端MEP发来的CCM PDU时,便判定与远端MEP的连接中断,本端MEP会自动发送LTM PDU,并通过检测回应的LTR PDU来定位故障。这个过程也会被记录下来,使网络管理员可以在事后查看故障的时间和路径等信息。

典型组网应用

图13 以太网OAM典型应用组网图

 

以太网OAM在城域网的典型应用如13所示,可分为以下两个层次进行部署:

·              CE设备与PE设备之间的链路上部署EFM OAM:通过CE设备与PE设备之间定时互发Information OAMPDU来检测用户业务接入链路的连通性。网络管理员可以通过观察错误帧的情况,来判断CE设备与PE设备之间链路的性能;通过远端环回功能可以检测链路的质量,或在发生链路故障时进行故障定位。

·              在接入汇聚层的网络中部署CFD:先根据设备所属的ISP来划分MD,把同一ISP管理下的设备划分在同一MD中;再根据业务来划分MA,使每个MA对应一个VLANCFD通过MA内的各MEP定时互发CCM PDU来检测MA内网络的连通性。当检测到连通性故障后进行报警,网络管理员可以通过环回测试、链路跟踪、单向丢包测试等功能进行故障定位、路径查找或链路测试。

参考文献

·              IEEE 802.3ahCarrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications

·              IEEE 802.1agVirtual Bridged Local Area Networks Amendment 5: Connectivity Fault Management

·              ITU-T Y.1731OAM functions and mechanisms for Ethernet based networks

附件下载

联系我们