0,OAM 的定义
OAM(Operations, Administration, and Maintenance) 即操作、管理和维护。
该机制在传统电信网中已应用很久了,主要是通过故障检测、告警、定位和隔离等手段提高网络的运维水平。
目前,各标准化组织正在完成和已经完成的以太网OAM相关标准有:
ü IEEE 802.3-2005 第57章(原IEEE 802.3ah 第57章)
ü 城域以太网论坛制定的E-LMI(Ethernet Local Management Interface)
ü Connectivity Fault Management (CFM)即IEEE 802.1ag
ü ITU-T和城域以太网论坛制定的Y.1731,可兼容802.1ag
一, OAM的用途
即检测链路是否能正常传输报文,一般各种OAM协议都采用周期性发送特定报文的方式完成,当一定数量的报文丢失,便判断为链路不可用。例如:在802.3 OAM中,每秒发送一个Information报文,当连续5个报文丢失时,认为链路断开;在802.1ag中,周期性地(周期可配置)发送CCM报文,连续3个报文丢失则认为对方已不可达;在MPLS OAM中,则周期性地发送CV报文和FFD报文。
主要目的是检测链路的双向连通性。方法是将报文发送到目标实体,并由目标实体应答报文,发送者根据返回报文的情况判断连通性。在发送和返回的报文中可以携带各种信息。例如:IP协议中的ping;802.3 OAM中的远端环回;802.1ag中的loopback;MPLS OAM中的LSP Ping。
由于处于物理层,802.3的环回同其他OAM类协议的环回有所不同。802.3的环回是一种物理状态,而不是报文处理流程。
远端环回分为主动端和被动端。主动端发起环回,向被动端发送一个回环报文,被动端收到环回报文后,将本端设置为环回状态。在这种状态下,被动端收到的所有非OAM报文均被原封不动地返回。这种状态是一种测试状态,显然,其他协议将不能正常工作,对于上层协议来说,该链路实际上处于Down状态。
被动端处于环回状态时,不再发送除OAM报文之外的其他报文。这时,主动端将收到的所有非OAM报文丢弃。连通性检测(CC)适合检测单向的连通性失败,而环回适合检测双向的连通性失败。用于环回检测的两种报文都是单播报文,MEP所发出的LBM报文的目的MAC地址可以由管理员输入,或者从MEP的CCM数据库中查询。
方法是将报文发送到目标实体,处于发送路径上、能识别该报文的设备向源实体回应报文。源实体通过收到的回应报文确定到达目标实体所经过的路径。例如:IP协议中的traceroute ;在802.1ag协议中使用的linktrace。
实现方式:由MEP发送链路跟踪报文(LTM)给目标MEP,目标MEP及链路跟踪报文(LTM)路过的MP接收到并返回链路跟踪回复报文(LTR),源MEP根据返回的LTR确认链路情况和报文转发情况。并可以获得到达目标MAC所经过的路径。
链路跟踪报文(LTM)的目的MAC地址是组播地址,也是一组8个地址,最后三个比特位表示维护域级别。在这里,需要区分链路跟踪的“目标MAC”和“目的MAC”。用于确定链路的目标MAC,也就是LTM的最终目标,放在LTM报文的数据中。很显然,如果LTM报文是单播报文的话,处于链路中间的MP将无法收到该报文,从而无法回复。
处于链路中间的MP接收到LTM后,会从报文中解析出它的目标MAC地址,根据该MAC地址,查找本地的MAC地址表。然后向源端回应一个LTR,并且继续向查到的端口发送LTM组播报文。LTM报文就这样接力似的被传递到最终的目标,源端也就收到了路径中的所有实体的回应。
可分为前向错误指示和反向错误指示。在一个路径上,当某个节点发现源节点发送的报文有错误时,它可以通知其他节点,它可以沿着这个路径向下游发送通知,起到预防的作用,这就是前向错误指示;它也可以沿着路径逆向传递,告诉发送者,它发出的报文有错误。
在各种协议中,反向错误指示更常见。一般来说,报文的发送者感知不到自己发出的报文有错误,它只能通过其他节点的反馈来了解自己。错误指示的形式多样,可以是单独的报文,也可以是插入到周期性报文中的比特位或TLV。
二、协议说明
2.1 802.3ah
802.3 OAM协议属于慢速协议(slow protocol),另一个著名的慢速协议是链路聚合控制协议(LACP)。慢速协议具有如下共同特点:
ü 每秒钟传输的报文不超过10帧。
ü 协议报文(PDU)不带VLAN Tag。
ü 协议报文目的地址为01-80-C2-00-00-02。
ü 协议报文的Type域为88-09。
ü 协议报文不能被转发。(802.3 OAM监控一段链路,从一个以太网口到另外一个以太网口,中间不能经过其他设备。)
802.1ag针对MAC地址,它判断相应的MAC地址是否可达,从而获得二层网络的相应工作状态和路径。
2.3 重要概念:
域:在逻辑上将网络从内到外划分为不同的层次,称作维护域(Maintenance Domain),维护域可以嵌套,不能交叉,这样,在出现问题时,可以通过问题所在的域的范围判断问题的归属。这个想法的目的是将运营商网络同用户网络隔离开,或者说将网络在逻辑上同实际使用者对应起来,从而产生清晰的界面。当出现问题时,通过在不同域中的判断确定问题的具体位置。
级别:协议中区分不同层次的域的方法是为每个域定义一个级别(level),高级别的域可以嵌套低级别的域。高低级别的域之间是不通信息的,它们各自通报本域内的错误,范围较大的域的802.1ag报文可以穿过较小的域,范围较小的域的报文不可以发送到域的外面。
维护域(Maintenance Domain):是进行错误管理的一部分网络,维护域的边界由维护端点(MEP)围成。它由维护域名称(一个字符串)唯一标识。它具有的另外一个属性是维护域级别。
维护集(Maintenance Association):维护集属于某个维护域,由维护域内唯一的名称(一个字符串)标识。它具有的另外一个属性是VLAN。
维护集是指MD中的一个集合,包含一些MP。用“MD名+short MA名”来标识。MA属于一个VLAN,MA中的MP所发送的报文在该VLAN内被转发,同时也接收MA内其它MP发送的报文,因此,MA也被称为服务实例(Service Instance,SI)。
MEP(维护端点):维护域是有边界的,它的边界就是一个个的端口,因此,只要在边界端口上配置一个实体就可以了,这个实体叫做维护端点(Maintenance association End Point或MEP)。当所有的边界端口都配置了维护端点,域的边界就确定了,域的范围也确定了。MEP属于某个维护集,从维护域和维护集中继承了它们的属性:级别和VLAN。维护端点用一个整数唯一标识,称为MEPID。该整数在维护集内是唯一的。维护端点可发出802.1ag报文。
MIP(维护中间点):在维护域内的端口上也可以配置实体,叫做维护中间点(Maintenance domain Intermediate Point或MIP)。MEP和MIP统称为维护点(Maintenance Point)。维护点是本协议功能实现的主体,所有的功能均通过维护点的处理得以体现。MIP属于某个维护集,从维护域和维护集中继承了它们的属性:级别和VLAN。维护中间点仅回应收到的802.1ag报文,不会自己主动发出。
2.3 重要参数:级别和VLAN
有两个基本的参数贯串了802.1ag协议的处理,它们就是维护域的级别(level)和它所服务的VLAN。这两个参数将网络进行了划分,它们影响到维护点的归属,影响到802.1ag的报文内容、MAC地址,影响到报文的处理等。
维护域共分为8个级别,从0~7,数字越大,代表的维护域范围越大。级别较小的域中的1ag报文不能穿过域的边界进入到较大的域中。由于各级别的维护域是嵌套的,如果在级别较大的域中发现了较小级别的报文,就属于一种错误,维护域中的维护点就会报告错误。错误的处理则是系统管理员的工作,有时候可能是网络的错误,也有时候可能就是系统管理员配置错误。VLAN当然是很重要的,这是目前二层网络的基础,802.1ag协议报文是带有VLAN Tag的,
之所以为这两个参数特意写了一节,是因为所有的维护点都具有这两个特性,理解了它们,就更容易理解本标准的基本概念。
三、MP详解
3.1 配置MEP
当我们配置MEP的时候,顺序如下:
ü 配置一个维护域,指定它的维护域名称和级别。
ü 在维护域内配置一个维护集,指定它的维护集名称和VLAN。
ü 在端口上,配置维护集中的MEP,指定它的MEPID和方向。
在一个端口上配置MEP时,必须要确定维护域在MEP的哪个方向,就象在两个国家的边界上设立界碑,单有界碑是不够的,必须在某一面标明国家,不然谁也不知道哪面是哪个国家。
方向向外的MEP称为Down MEP,在早期的草案中用Outward表示;方向向内的MEP称为Up MEP,在早期的草案中用Inward表示。
MEP同维护域的相对位置明确了,它的行为才明确。因为MEP仅向维护域内发送报文。当主动发送报文时,包括CCM、LBM和LTM,外向MEP是在配置了MEP的端口上发送的;而内向MEP则不在它所配置的端口上发送,它向其他没有配置MEP(指同域同VLAN)的端口发送。同样,接收报文也是这样,MEP仅从维护域内部接收报文,外部发来的报文被认为是错误的,直接丢弃。外向MEP从它所配置的端口上接收报文;内向MEP则从其他端口上接收报文,或者说,它接收的是从其他端口转发来的报文。
即如果MA中的报文是从配置端口接收的,则是外向的,同理做为外向MEP,只能通过MEP所在端口向网络上发送报文;反之,如果MA中的报文是从其它端口接收的,则MEP是内向,内向MEP不能通过其所配置端口向网络发送报文。
MIP响应LBM和LTM报文.
MIP并不是直接配置的,它是由系统根据一定的规则计算生成的。规则是可以配置的,分为explict和default,它的计算规则见表1。MIP是在每个VLAN内单独计算的。在一个VLAN内,不同级别的维护域内会配有维护集(MA),这些维护集的VLAN属性相同,但所处的级别不同。
表1 生成MIP的规则表
低级别MA上是否存在MIP |
配置的规则参数 |
低级别MA上是否存在MEP |
是否创建MIP |
是 |
― |
― |
否 |
否 |
explicit |
否 |
否 |
是 |
是 |
||
default |
― |
是 |
在每个端口和每个VLAN上,系统根据规则表从没有MEP的最低级别开始计算该级别是否应该产生MIP。需要考虑的限制条件如下:
ü 第一条规则,在一个端口上,每个维护集中至多只有一个MIP。因此,系统会判断在低级别的MA上是否有MIP,如果已经有了,本级别就不会再生成;如果没有,则继续后面的计算。
ü 第二条规则,当系统管理员所配置的规则是default时,则生成一个MIP。
ü 第三条规则,当系统管理员所配置的规则是explicit时,则需要判断在低级别的MA上是否配置了MEP,如果配置了MEP,则本级别生成MIP;如果没有配置MEP,则本级别不生成MIP。
参考资料:
1, http://www.h3c.com.cn/MiniSite/H3care_Club/Data_Center/Net_Reptile/The_One/Home/Catalog/200911/655240_97665_0.htm