今天是:

网络知识

当前位置: 网站首页 >> 网络知识 >> 正文

以太网OAM技术白皮书

发布日期:2011-10-19    作者:     来源:     点击:

以太网OAM技术白皮书

以太网OAM技术白皮书

关键词:以太网OAMEFM OAMCFDCFM802.3ah802.1ag

要:以太网OAM技术用于对以太网进行运行、维护和管理,本文主要介绍EFM OAMCFD这两种以太网OAM技术的基本概念、运行机制和典型组网应用。

缩略语:

缩略语

英文全名

中文解释

CC

Continuity Check

连续性检测

CE

Customer Edge

用户网边缘

CCM

Continuity Check Message

连续性检测消息

CFD

Connectivity Fault Detection

连通错误检测

CFM

Connectivity Fault Management

连通错误管理

CPU

Central Processing Unit

中央处理器

EFM OAM

Ethernet in the First Mile OAM

最后一公里以太网OAM

FNG

Fault Notification Generator

错误通知生成器

ISP

Internet Service Provider

互连网服务提供商

LB

Loopback

环回

LBM

Loopback Message

环回消息

LBR

Loopback Reply

环回应答

LT

Linktrace

链路跟踪

LTM

Linktrace Message

链路跟踪消息

LTR

Linktrace Reply

链路跟踪应答

MA

Maintenance Association

维护集

MD

Maintenance Domain

维护域

MEP

Maintenance association End Point

维护端点

MIP

Maintenance association Intermediate Point

维护中间点

MP

Maintenance Point

维护点

OAM

Operation, Administration and Maintenance

操作、管理和维护

OAMPDU

OAM Protocol Data Units

OAM协议数据单元

PE

Provider Edge

运营商边缘

TLV

Type, Length, Value

类型,长度,值



1 概述

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

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

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

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

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

l 网络级以太网OAM技术:多应用于网络的接入汇聚层,用于监测整个网络的连通性、定位网络的连通性故障,典型协议为CFD协议。

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

表1 典型的以太网OAM协议

协议名称

应用级别

协议标准

说明

EFM OAM

链路级

IEEE 802.3ah

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

CFD

网络级

IEEE 802.1ag

也称为CFM协议,主要用于在二层网络中检测链路连通性,确认故障并确定故障发生的位置

本文将对EFM OAM协议和CFD协议分别进行介绍。

2 EFM OAM技术实现

2.1 概念介绍

2.1.1 OAM实体

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

2.1.2 协议报文

EFM OAM工作在数据链路层,其协议报文被称为OAMPDUEFM 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实体之间交互各种状态信息(包括本地信息TLV、远端信息TLV和组织自定义信息TLV

0x01

Event Notification OAMPDU

事件通知OAMPDU

用于对连接本端与远端OAM实体的链路上所发生的故障进行告警

0x04

Loopback Control OAMPDU

环回控制OAMPDU

用于检测链路质量和定位链路故障,该报文中带有使能/去使能信息,用来开启/关闭远端环回功能

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 Summary Event

错误帧秒总数事件

在指定时间内,错误帧秒的数量超过阈值

l 错误帧周期事件的检测周期将被系统转换为某端口在该周期内能发送64字节帧的最大帧数,即以最大帧数作为周期,其计算公式为:最大帧数=接口带宽(bps)×错误帧周期事件的检测周期(ms)÷(64×8×1000)。

l 错误帧秒:如果在某一秒内发生了错误帧事件,该秒就被称为错误帧秒。

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在协议规定的基础上,还允许用户对心跳报文的发送周期和连接超时时间进行配置。

3 CFD技术实现

3.1 概念介绍

3.1.1 维护域

维护域(MD)指明了连通错误检测所覆盖的网络,其边界是由配置在端口上的一系列维护端点所定义的。维护域以“维护域名”来标识。

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

图5 维护域嵌套示意图

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

3.1.2 维护集

在维护域内根据需要可以配置多个维护集(MA),每个维护集是维护域内一些维护点的集合。维护集以“维护域名+维护集名”来标识。

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

3.1.3 维护点

维护点(MP)配置在端口上,属于某个维护集,可分为维护端点(MEP)和维护中间点(MIP)两种。

1. 维护端点

维护端点以称为MEP ID的整数来标识,它确定了维护域的范围和边界。维护端点所属的维护集和维护域确定了该维护端点所发出报文的VLAN属性和级别。

维护端点的级别决定了其所能处理的报文的级别,维护端点所发出报文的级别就是该维护端点的级别。当维护端点收到高于自己级别的报文时,会将其按原有路径继续转发;而当维护端点收到小于或等于自己级别的报文时不会再转发,以确保低级别维护域内的报文不会扩散到高级别维护域中。

维护端点具有方向性,分为外向维护端点和内向维护端点两种。维护端点的方向表明了维护域相对于该端口的位置。其中,外向维护端点通过其所在端口向外发送报文,内向维护端点则不通过其所在端口向外发送报文,而是通过该设备上的其它端口向外发送报文。

2. 维护中间点

维护中间点位于维护域内部,不能主动发出CFD PDU,但可以处理和响应CFD PDU。维护中间点所属的维护集和维护域确定了该维护中间点所接收报文的VLAN属性和级别。

维护中间点可以配合维护端点完成类似于pingtracert的功能。与维护端点类似,当维护中间点收到高于自己级别的报文时,会将其按原有路径继续转发;而当维护中间点收到小于或等于自己级别的报文时不会再转发,以确保低级别维护域内的报文不会扩散到高级别维护域中。

图6 维护点的分级配置

6所示的组网中,共有0235四个级别的维护域,标识号较大的维护域的级别高、控制范围广;标识号较小的维护域的级别低、控制范围小。假设所有六台设备都只有两个端口,其中的一些端口作为不同级别维护域中的维护端点或维护中间点,譬如Device B的端口1上有以下维护点:级别为5的维护中间点、级别为3的内向维护端点、级别为2的内向维护端点和级别为0的外向维护端点。

3.1.4 协议报文

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

图7 CFD PDU报文格式示意图

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

表7 CFD PDU重要字段含义

字段

含义

MD level

维护域的级别,取值范围为07,取值越大表示级别越高

Version

协议版本号,为0

OpCode

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

Flags

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

Varies with value of OpCode

Sequence number

序列号,初始值为一个随机值,以后维护端点每发送一个CCM PDU,该字段的取值就会加1

Loopback transaction ID

处理编号,初始值为0,以后维护端点每发送一个LBR/LBM/LTR/LTM PDU,该字段的取值就会加1

LTR/LTM transaction ID

表8 常见CFD PDU

OpCode

报文类型

目的MAC地址

作用

0x01

CCM PDU

01-80-C2-00-00-3x(组播地址,x的取值如9所示)

用于连续性检测,各维护端点均可发出

0x02

LBR PDU

环回发起端的MAC(单播地址)

用于环回,由环回对端回应

0x03

LBM PDU

环回目的端的MAC(单播地址)

用于环回,由环回发起端发出

0x04

LTR PDU

链路跟踪发起端的MAC(单播地址)

用于链路跟踪,由链路跟踪对端回应

0x05

LTM PDU

01-80-C2-00-00-3y(组播地址,y的取值如9所示)

用于链路跟踪,由链路跟踪发起端发出

表9 目的MAC地址中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的有效应用建立在合理的网络部署和配置之上。它的功能是在所配置的维护端点之间实现的,包括连续性检测功能(CC)、环回功能(LB)和链路跟踪功能(LT)三种。

3.2.1 连续性检测功能

连续性检测功能用来检测各维护端点之间的连通状态。其实现方式为:维护集内的各维护端点之间周期性地互发CCM PDU,通过分析报文内容和判断报文接收是否超时来检测链路当前的状态。若维护端点在3.5CCM PDU发送周期内未收到远端维护端点发来的CCM PDU,则认为链路有问题,会输出日志报告,用户可以通过环回功能或链路跟踪功能来进行故障区间的定位。

维护端点发送的CCM PDUInterval域的值与CCM PDU发送时间间隔、远端维护端点超时时间的关系如10所示。

表10 Interval域的值与CCM PDU发送时间间隔、远端维护端点超时时间的关系

Interval域的值

CCM PDU发送时间间隔

远端维护端点超时时间

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 环回功能

环回功能类似于ping功能,通过发送测试报文和接收应答报文来检测源维护端点到目标维护端点是否可达。

图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 链路跟踪功能

链路跟踪功能类似于Tracert功能,通过发送测试报文和接收应答报文来查看源维护端点到目标维护端点之间的路径或定位故障点。

图9 链路跟踪功能示意图

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

(1) Device ADevice C发送LTM PDU,其中携带有TTL值和目标维护端点MAC地址

(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中携带的目标维护端点MAC地址,Device C可以判断出自己就是目标维护端点,因此不会再转发该报文。

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

3.3 H3C实现的技术特色

3.3.1 支持辅助CPU快速检测

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

3.3.2 支持与Smart Link联动

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

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

3.3.3 支持LTM PDU自动发送

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

4 典型组网应用

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

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

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

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