1、以太网OAM简介以太网技术诞生几十年来,以其简单、低廉的特点逐步成为局域网(LocalAreaNetwork)的主导技术。随着业务和网络技术发展,设备制造商和标准化组织开始致力于将这一技术向城域网(MAN)和广域网(WAN)方向拓展。但最大的障碍是缺乏较好的运营管理维护机制。OAM:将网络的管理工作划分为3大类,操作(Operation)、管理(Administration)和维护(Maintenance),简称OAM。以太网OAM是一种监控网络问题的工具。它工作在数据链路层,利用设备之间定时交互OAMPDU(OAMProtocolDataUnits,OAM协议数据单元)来报告网络的状态,使网络管理员能够更有效地管理网络。2、以太网OAM标准化过程IEEE–IEEE802.1agCFM–IEEE802.3ahEFM-OAM–IEEE802.1ABLLDP–IEEE802.1apVLAN桥接的MIBITU-T–ITU-TSG13Y.1730以太网OAM的需求–ITU-TSG13Y.1731以太网OAM功能和机制MEF–MEF7EMS-NMS信息模型–MEF15网元管理需求–MEF16以太网本地管理接口(E-LMI)WorkinginwardfromtheedgeWorkingoutwardfromthecoreMakingitworktogether–MEF17业务级OAM需求与框架电信级以太网为了实现与传统电信级传送网相同的服务水平,以太网OAM是研究的重点之一。IEEE、ITU-T、MEF等各研究团体和标准组织都在积极进行技术研究和标准制定,目前这些组织所制定的标准对应的以太网OAM层次,如上图。IEEE802.3ah协议已经标准化,此协议主要用于以太网“最后一公里”上的设备管理和链路管理;802.1ag关注于以太网端到端的故障管理;ITU-TY.1731在设计思路上与802.1ag高度一致,它定义了类似的管理功能,同时对性能管理的功能和实现方法给出了定义。Y.1731是ITU在2006年发布的基于802.1ag的一个标准,在故障管理方面802.1ag与Y.1731相互兼容,Y.1731较802.1ag增加了性能检测功能。MEF16以太网本地管理接口(E-LMI)是:(可参考文档《EVC技术》最后一个案例)通过E-LMI,PE可以将VLAN到EVC(以太虚链路)的映射信息下发给CE,实现CE设备的自动配置功能。这样减少了业务建立的工作,同时也减少了业务提供商和企业用户间所需的协调工作。由此,企业用户无需了解CE设备的配置,由业务提供商统一配置管理,减少了人为误操作的风险。通过与OAM协议(比如CFM协议)的配合,E-LMI能够把业务提供商网络中的EVC状态信息及时反馈给CE设备,一旦EVC出现故障,可以及时通知CE设备进行接入侧路由的倒换。3、以太网OAM体系架构IEEE802.3ahEFM-OAM提供点到点链路故障管理和性能检测IEEE802.1agCFM基于端到端业务级的故障管理ITU-TY.1731基于端到端业务级的性能监测和故障管理4、IEEE802.3ahOAM技术IEEE802.3ahOAM,也称为EFM(theEthernetintheFirstMile),主要解决“最后一公里”的以太网连接的OAM问题。作用:用于在两台直连设备间监测连接状态、测试链路性能。功能:包括OAM发现功能、远端故障通知功能、OAM远端环回功能、OAM链路监控功能(误帧误码检测)。4.1以太网OAM在网络上的应用随着数据业务的广泛应用,以太网在通信网络中扮演着越来越重要的作用,但是以太网与传统的SDH相比,在网络故障告警、链路质量、维护手段等方面都略逊一筹。于是国际标准化组织IEEE,先后推出了802.3ah(2004)和802.1ag(2007)两个标准化协议来强化以太网在维护、告警方面的能力。802.3ah的以太网OAM主要是链路方面的监测和维护,是一种偏物理层的OAM,它主要应用在网络的边缘设备上(接入层),且OAMPDU报文只能转发一跳,主要用来监测链路质量、收集链路告警等。而802.1ag的以太网OAM是偏网络和应用的OAM,主要用在汇聚层和核心层上,它的OAMPDU报文能够传输多跳。它不仅能够监测链路质量、收集告警,还能够实现电信级快速倒换以及traceroute、ping等功能。802.3ah以太网OAM最主要的功能主要有三个方面,分别是:1、链路性能监测:可以对链路故障进行检测;2、故障侦测和告警:可以在链路出现故障时及时通知网络管理员;3、环路测试:通过将非OAMPDU环回来检测链路故障。注:下文中“以太网OAM”如未特殊标明,均指802.3ah的以太网OAM。4.2、OAMPDU报文解析及工作原理4.2.1报文解析几个重要字段的含义如下:。Destaddr:以太网OAM报文的目的MAC地址,为组播MAC地址0180c2000002。。Sourceaddr:以太网OAM报文的源MAC地址,为发送端的桥MAC地址,该地址是一个单播MAC地址。。Type:以太网OAM报文的协议类型,为0x8809。。Subtype:以太网OAM报文的协议子类型,为0x03。。Flags:Flags域,包含了以太网OAM实体的状态信息。。Code:本字段指明了OAMPDU的报文类型。0x00表示InformationOAMPDU、0x01表示EventNotificationOAMPDU、0x04表示LoopbackControlOAMPDUFlags域:主要用来标示链路的故障信息:值得注意的是对于CriticalEvent,DyingGasp,andLinkFault这些链路告警的具体定义,在802.3ah协议中是没有注明的。这可能要厂家根据需要自行定义。4.2.2几种最常见的OAMPDU用法:在ETHOAM中最常见的三种OAMPDU报文分别是InformationOAMPDU、EventNotificationOAMPDU和LoopbackControlOAMPDU,下面将分别加以介绍:4.2.2.1InformationOAMPDU用于将以太网OAM实体的状态信息(包括本地信息、远端信息和自定义信息)发给远端的以太网OAM实体,保持以太网OAM连接。具体的报文结构形式:4.2.2.2EventNotificationOAMPDU(事件通知OAMPDU)一般用于链路监控,是用于对连接本端和远端以太网OAM实体的链路发生的故障进行告警。具体的报文格式:4.2.2.3LoopbackControlOAMPDU(环路控制OAMPDU)报文主要用于远端环回控制。环回控制OAMPDU报文用来控制远端设备的OAM环回状态,该报文中带有使能或去使能环回功能的信息,根据该信息开启或关闭远端环回功能。具体的报文格式:4.2.3以太网OAM工作原理:4.2.3.1建立以太网OAM连接:以太网OAM连接过程也称作Discovery阶段,本阶段是OAM实体发现远端设备的OAM实体,并与之建立稳定对话的过程。在这个阶段中,相连的以太网OAM实体(即使能OAM功能的端口)通过交互InformationOAMPDU向对端通报各自的以太网OAM配置信息及本地节点支持的以太网OAM能力信息。OAM实体收到对端配置参数后,决定是否同意建立OAM连接,如果两端的以太网OAM对Loopback功能、单向链路检测及链路事件的配置都通过检查时,以太网OAM协议将在链路层开始正常工作。我们可以选择两种模式来进行以太网OAM的连接:主动模式和被动模式两种模式下的设备处理能力如下表所示:处理能力主动模式被动模式初始化以太网OAMDiscovery过程可以不可以对以太网OAMDiscovery初始化过程的响应可以可以发送InformationOAMPDU可以可以发送EventNotificationOAMPDU可以可以发送不携带TLV的InformationOAMPDU可以可以发送LoopbackControlOAMPDU可以不可以对LoopbackControlOAMPDU的响应可以,但需要对端也处于主动模式下可以发送组织指定的OAMPDU可以可以发送VariableRequestOAMPDUs可以不可以发送VariableResponseOAMPDUs可以可以发送带团队属性的特殊OAMPDUs可以可以当然在两个peertopeer的端口上,都配置成active端口也是可以的。以太网OAM连接建立后,两端的OAM实体通过发送InformationOAMPDU保持连接。若在5秒钟内没有收到对端OAM实体的InformationOAMPDU,则认为连接超时,需要重新建立OAM连接。4.2.3.2链路监控链路监控用于检测和发现链路层的故障。以太网OAM利用EventNotificationOAMPDU的交互来进行链路监控。当链路故障发生时,本地链路监控到故障后,将向对端以太网OAM实体发送EventNotificationOAMPDU,通报一般链路事件。我们可以通过观察日志信息动态地掌握网络的状况。一般链路事件的定义如下:一般链路事件定义错误信号事件单位时间内的错误信号数量超过定义的阈值错误帧事件单位时间内的错误帧数量超过定义的阈值错误帧周期事件指定帧数N为周期,在收到N个帧的周期内错误帧数超过定义的阈值错误帧秒数事件指定M秒数下有错误帧的秒数超过了定义的阈值(错误帧秒的定义:在某一秒内发生了错误帧,则该秒为错误帧秒)4.2.3.3远端故障检测OAMPDU定义了一个标志(Flag域)允许以太网OAM实体把该故障信息传送给对端。该标志可以表示下列紧急链路事件:.链路故障(LinkFault):对端链路信号丢失。.致命故障(DyingGasp):不可预知的状态发生,比如电源中断。.紧急事件(CriticalEvent):不能确定的紧急事件发生。以太网OAM连接过程中是不断的发送InformationOAMPDU的,本端OAM实体可以将本端发生的紧急链路事件信息通过InformationOAMPDU告诉远端OAM实体。当A与B之间的链路有一条发生故障时,B设备就会立即将含有链路故障信息的OAMPDU报文通过另一条链路发送给A。这样,可以通过观察日志信息动态地了解链路的状态,对相应的错误及时进行处理。需要注意的是远端的故障监测只能工作在双发双收的链路上,即双向链路中有一条失效,另一条还继续工作的那种情况。4.2.3.4远端环回LoopbackOAMPDU的底层转发流程:远端环回只有在以太网OAM连接建立完成后才能实现。在连接建立的情况下,主动模式的OAM实体发起远端环回命令,对端实体对该命令进行响应。当远端处于环回模式下,除了OAMPDU报文以外的所有报文都将按照原路返回,而OAMPDU报文将继续上送至被环回设备的CPU进行处理。通过进行环回检测可以及时发现网络故障,并通过分段环回检测来帮助定位故障发生的具体区域。5测试关注点:测试将从以下几个部分进行测试:(一)协议一致性测试:OAMPDU报文一致性测试协议状态机测试(二)功能测试:故障监测链路监测远端环回(三)功能组合测试:与mac层的组合测试与lacp的组合测试与流控的组合测试(四)性能规格测试:多端口同时启用大流量情况测试(五)组网应用测试复杂流量测试长时间老化测试(六)异常及攻击测试异常操作异常攻击