更新时间:2024-01-10                  
                  
                  1  OAM配置  
1.1  OAM概述  
IEEE 802.3ah的EFM OAM可以提供点到点链路故障和性能检测。EFM OAM只适用于单链路,不能监控EVC,无法实现对端到端的以太网业务监控。OAM PDU不会被转发到其他端口。IEEE 802.3ah规定的以太网OAM是一个相对慢的协议,最大传输速率为10帧每秒,最小传输速率为1帧每秒。
1.1.1OAM协议的特性
• 发现支持以太网OAM的设备和他们所支持的OAM特性
以太网OAM连接过程也称作Discovery阶段,本阶段是OAM实体发现远端设备的OAM实体,并与之建立稳定对话的过程。在这个阶段中,相连的以太网OAM实体(即使能OAM功能的端口)通过周期的交互Information OAM PDU向对端通报各自的OAM模式、以太网OAM配置信息及本地节点支持的以太网OAM能力信息,OAM实体收到对端配置参数后,决定是否同意建立点对点OAM连接。如果两端的以太网OAM对Loopback功能、单向链路检测及链路事件的配置都通过检查时,以太网OAM协议将在链路层开始正常工作。
• 链路监控
以太网OAM利用Event Notification OAM PDU的交互来进行链路监控。当链路故障发生时,本地链路监控到故障后,将向对端以太网OAM实体发送Event Notification OAMPDU,通报一般链路事件。管理员可以通过链路监控过程动态地掌握网络的状况。一般链路事件的定义如表1所示:
表1 一般链路事件的定义

• 远端故障指示
以太网的故障检测是非常困难的,特别是网络物理通信没有中断而网络性能缓慢下降的情况。OAM PDU定义了一个标志(Flag域)允许以太网OAM实体把该故障信息传送给对端。该标志可以表示下列紧急链路事件:
第1章链路故障(Link Fault):物理层检测到本地DTE接收方向不起作用了。在故障环境下,某些物理层设备支持单向的操作,允许OAM远端故障指示。
第2章致命故障(Dying Gasp):不可恢复的本地错误发生,比如OAM功能关闭,接口进入error-disabled状态,接口shutdown。
第3章紧急事件(Critical Event):不能确定的紧急事件发生(厂家指定的紧急事件)。
以太网OAM连接过程中是不断的发送Information OAMPDU的,本端OAM实体可以将本端发生的紧急链路事件信息通过Information OAMPDU告诉远端OAM实体。这样,管理员可以动态地了解链路的状态,对相应的错误及时进行处理。
• 远端环回
OAM提供了一种可选的链路层级别的环回模式,通过将非OAMPDU环回来进行错误定位和链路性能测试。远端环回只有在以太网OAM连接建立完成后才能实现。在连接建立的情况下,主动模式的OAM实体发起远端环回命令,对端实体对该命令进行响应。当远端处于环回模式下,除了OAMPDU和pause报文以外的所有报文都将按照原路返回,来进行故障定位和链路性能测试。当远端DTE处于远端环回模式时,可以任意查询和比较本地和远端的统计数据,查询可发生在向远端DTE发送环回帧之前,其间或之后。定期地进行环回检测可以及时发现网络故障,并通过分段环回检测来帮助定位故障发生的具体区域,可以帮助用户排除故障。
• 支持轮询802.3第30章里面的任何MIB变量
1.1.2 OAM模式 
设备可以选择两种模式来进行OAM的连接:主动模式、被动模式。两种模式下设备的处理能力的比较如表1所示。连接过程只能由主动模式的OAM实体发起,而被动模式的OAM实体只能等待对端OAM实体的连接请求。在OAM发现过程完成后,假如远端实体是在Active模式下,则本地Active可以发送任何OAMPDU报文;假如远端实体是在Passive模式下,则本地Active操作将受限制。Active设备不对远端Passive实体发出的远端环路命令和变量请求作反应。
表2 主动模式与被动模式的处理能力比较
| 处理能力 | 主动模式 | 被动模式 | 
| 初始化以太网OAM Discovery过程 | 可以 | 不可以 | 
| 对以太网OAM Discovery初始化过程的响应 | 可以 | 可以 | 
| 发送Information OAMPDU | 可以 | 可以 | 
| 允许发送Event Notification OAMPDU | 可以 | 可以 | 
| 允许发送Variable Request OAMPDU | 可以 | 不可以 | 
| 允许发送Variable Reponse OAMPDU | 可以 | 可以 | 
| 允许发送Loopback Control OAMPDU | 可以 | 不可以 | 
| 对Loopback Control OAMPDU的响应 | 可以,但要求对端也处于ACTIVE模式下 | 可以 | 
| 允许发送组织指定的OAMPDU | 可以 | 可以 | 
以太网OAM连接建立后,两端的OAM实体通过发送Information OAMPDU保持连接。若在5秒钟内没有收到对端OAM实体的Information OAM PDU,则认为连接超时,需要重新建立OAM连接。 
1.1.3OAM报文结构简介

图 1 OAM报文结构
几个重要字段的含义如下:
• Destination address:以太网OAM报文的目的MAC地址,为组播MAC地址01-80-c2-00-00-02。
• Source address:以太网OAM报文的源MAC地址,为发送端的端口MAC地址,该地址是一个单播MAC地址。 
• Length/Type:总是使用Type编码,以太网OAM报文的协议类型,为0x8809。 
• Subtype:以太网OAM报文的协议子类型,为0x03。 
• Flags:Flags域,包含了以太网OAM实体的状态信息。
• Code:本字段指明了OAMPDU的报文类型,见表3。
• Data/Pad:这个域包含OAMPDU数据和填充值。
• FCS :帧检验和。
表3 CODE域的类型
| CODE | OAMPDU | 
| 00 | Information | 
| 01 | Event Notification | 
| 02 | Variable Request | 
| 03 | Variable Response | 
| 04 | Loopback Control | 
| 05-FD | Reserved | 
| FE | Organization Specific | 
| FF | Reserved | 
Information OAMPDU报文用于将以太网OAM实体的状态信息(包括本地信息、远端信息和自定义信息)发给远端的以太网OAM实体,保持以太网OAM连接。
Event Notification OAMPDU(事件通知OAMPDU)报文一般用于链路监控,是用于对连接本端和远端以太网OAM实体的链路发生的故障进行告警。
Loopback Control OAMPDU(环路控制OAMPDU)报文主要用于远端环回控制,环回控制OAMPDU报文用来控制远端设备的OAM环回状态,该报文中带有使能或去使能环回功能的信息,根据该信息开启或关闭远端环回功能。
1.2  OAM配置任务列表  
• 在端口上开启OAM
• 开启OAM远端环回
• 配置OAM链路监控
• 配置OAM远端故障指示
• 显示OAM协议信息
1.3  OAM配置任务  
1.3.1在端口上开启OAM
使用下面的命令进行OAM的开启:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | Interface interface-type interface-name | 进入到端口配置模式 | 
| Step3 | ethernet oam | 在端口上开启以太网OAM | 
| Step4 | ethernet oam [max-rate oampdus | min-rate seconds | mode {active | passive} | timeout seconds] | 配置可选的OAM参数: 1、max-rate用来配置OAMPDU每秒钟发出的最大数目,范围是1-10,默认值为10。 2、Min-rate用来配置OAMPDU的最小传输速率,以秒为单位,范围是1-10,默认值为1。 3、mode {active | passive}用来设置OAM的模式,相连的两个端口至少有一个为active时才能建立起OAM连接。 4、Timeout用来设置OAM连接超时时间,范围是2-30秒,默认值为1秒。 | 
可以输入no ethernet oam来关闭端口上的OAM功能。
限制:不能在属于聚合端口的物理端口上开启OAM远端环回。
1.3.2开启OAM远端环回
从特权模式开始,在一个端口上开启远端环回的步骤如下:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | interface interface-type interface-name | 进入到端口配置模式 | 
| Step3 | ethernet oam remote-loopback {supported | timeout seconds} | 配置可选的OAM远端环回参数: • Supported用来配置在端口上支持以太网OAM远端环回。远端环回默认是不被支持的。 • Timeout用来配置在远端换回的超时时间,范围是1-10,默认值为2。 | 
| Step4 | exit | 退出端口配置模式 | 
| Step5 | exit | 退出全局配置模式 | 
| Step6 | ethernet oam remote-loopback {start | stop} interface interface-type interface-name | 在一个端口上打开或者关闭远端环回 | 
限制:不能在属于聚合端口的物理端口上开启OAM远端环回。
1.3.3配置OAM链路监控
你可以配置OAM链路监控的低阈值和高阈值。
从特权模式开始,在一个端口上配置OAM链路监控的步骤如下:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | Interface interface-type interface-name | 进入到端口配置模式 | 
| Step3 | ethernet oam link-monitor supported | 在一个端口上配置链路监视支持,默认是支持的。 | 
| Step4 | ethernet oam link-monitor symbol-period {threshold {high { symbols |none} | low {symbols}} | window symbols} | 配置错误信号周期事件的高阈值和低阈值,这会导致触发错误信号周期链路事件。 Threshold high用来配置高阈值,单位是信号数,范围是1-65535,默认值是none。 Threshold low用来配置低阈值,单位是信号数,范围是0-65535,默认值是1。 Window用来配置轮训周期的窗口大小,单位是100M信号数。在千兆以太网端口上的范围是10-600,默认值是10;在百兆以太网端口上的范围是1-60,默认值是1。 | 
| Step5 | ethernet oam link-monitor frame {threshold {high { symbols |none} | low {symbols}} | window symbols} | 配置错误帧事件的高阈值和低阈值,这会导致触发错误帧链路事件。 Threshold high用来配置高阈值,单位是帧数,范围是1-65535,默认值是none。 Threshold low用来配置低阈值,单位是帧数,范围是0-65535,默认值是1。 Window用来配置轮训周期的窗口大小,单位是秒数,范围是1-60 ,默认值是1。 | 
| Step6 | ethernet oam link-monitor frame-period {threshold {high { symbols |none} | low {symbols}} | window symbols} | 配置错误帧周期事件的高阈值和低阈值,这会导致触发错误帧周期链路事件。 Threshold high用来配置高阈值,单位是帧数,范围是1-65535,默认值是none。 Threshold low用来配置低阈值,单位是帧数,范围是0-65535,默认值是1。 Window用来配置轮训周期的窗口大小,单位是14881帧数。在千兆以太网端口上的范围是100-6000,默认值是100;在百兆以太网端口上的范围是10-600,默认值是10。 | 
| Step7 | ethernet oam link-monitor frame-seconds {threshold {high { symbols |none} | low {symbols}} | window symbols} | 配置错误帧秒数事件的高阈值和低阈值,这会导致触发错误帧秒数链路事件。 Threshold high用来配置高阈值,单位是秒数,范围是1-900,默认值是none。 Threshold low用来配置低阈值,单位是秒数,范围是0-900,默认值是1。 Window用来配置轮训周期的窗口大小,单位是秒,范围是10-900,默认值是60。 | 
| Step8 | ethernet oam link-monitor receive-crc {threshold {high { symbols |none} | low {symbols}} | window symbols} | 配置错误CRC帧事件的高阈值和低阈值,这会导致触发接收报文CRC校验错误链路事件。 Threshold high用来配置高阈值,单位是信号数,范围是1-65535,默认值是none。 Threshold low用来配置低阈值,单位是信号数,范围是0-65535,默认值是1。 Window用来配置轮训周期的窗口大小,单位是秒数,范围是1-180,默认值是10。 | 
| Step9 | ethernet link-monitor on | 开启本地的链路监视功能,当link-monitor被支持的情况下,本地链路监视是自动开启的。 | 
1.3.4  配置OAM远端故障指示 
你能够在一个端口上配置error-disable动作。当本地端口的某个一般链路事件高阈值被超过,或者与本地端口相连的远端端口进入了errdisabled状态,或者与本地端口相连的远端端口被管理员手动关闭,或者与本地端口相连的远端端口上的OAM功能被管理员手动关闭,将会触发本地端口进入errdisabled状态。
从特权模式开始,在一个端口上配置OAM链路监控的步骤如下:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | interface interface-type interface-name | 进入到端口配置模式 | 
| Step3 | ethernet oam remote-failure {critical-event | dying-gasp | link-fault} action error-disable-interface | 在端口上配置OAM远端故障的触发动作: • critical-event用来配置当一个未指定的紧急事件发生时让端口进入errdisabled状态。 • dying-gasp用来配置与本地端口相连的远端端口进入了errdisabled状态,或者与本地端口相连的远端端口被管理员手动关闭,或者与本地端口相连的远端端口上的OAM功能被管理员手动关闭,将会触发本地端口进入errdisabled状态。 • link-fault用来配置当接收器检测到信号丢失时让端口进入errdisabled状态。 | 
BDCOM的交换机不能生成Link Fault和Critical Event报文,但是从远端收到这些报文会被处理。BDCOM的交换机支持发送和接收Dying Gasp报文。当本地端口进入了errdisabled状态,或者本地端口被管理员手动关闭,或者本地端口上的OAM功能被管理员手动关闭,将会向与本地端口相连的远端端口发送Dying Gasp报文。
  1.3.5显示OAM协议信息
表 4显示OAM协议信息
| 命令  | 目的  | 
| show ethernet oam discovery interface interface-type interface-name | 显示所有端口上或者某个指定端口上的OAM发现信息。 | 
| show ethernet oam statistics {pdu | link-monitor | remote-failure} interface interface-type interface-name | 显示所有端口上或者某个指定端口上的OAM报文统计信息。 (1)pdu为根据OAM报文中code域的值对OAM报文进行分类计数。 (2)link-monitor为一般链路事件的详细统计信息。 (3)remote-failure为远端故障的详细统计信息。 | 
| show ethernet oam configuration interface interface-type interface-name | 显示所有端口上或者某个指定端口上的OAM配置信息。 | 
| show ethernet oam runtime interface interface-type interface-name | 显示所有端口上或者某个指定端口上的OAM运行时信息,包括一些协议内部控制变量的值,以及发现状态机的最近10次的状态转换记录。 | 
1.4   配置示例  
  1.4.1网络环境需求
在两台BDCOM交换机相连的端口上配置OAM协议,捕捉用户接入侧的BDCOM 交换机收到错误帧的情况。
1.4.2网络拓扑图

图2 网络拓扑图
1.4.3配置步骤
   配置交换机S1:
Switch_config_g1/1#ethernet oam
Switch_config_g1/1#ethernet oam mode passive
Switch_config_g1/1#ethernet oam link-monitor frame threshold low 10
Switch_config_g1/1#ethernet oam link-monitor frame window 30
Switch_config_g1/1#show ethernet oam configuration int g1/1
GigaEthernet1/1     
General
-------
Admin state          : enabled
Mode                 : passive
PDU max rate         : 10 packets/second
PDU min rate         : 1 seconds/packet
Link timeout         : 1 seconds
High threshold action: no action
 
Remote Failure
--------------
Link fault action    : no action
Dying gasp action    : no action
Critical event action: no action
 
Remote Loopback
---------------
Is supported         : not supported
Loopback timeout     : 2
 
Link Monitoring
---------------
Negotiation          : supported
Status               : on
 
Errored Symbol Period Event
Window               : 10 * 100M symbols
Low threshold        : 1 error symbol(s)
High threshold       : none
 
Errored Frame Event
Window               : 30 seconds
Low threshold        : 10 error frame(s)
High threshold       : none
 
Errored Frame Period Event
Window               : 100 * 14881 frames
Low threshold        : 1 error frame(s)
High threshold       : none
 
Errored Frame Seconds Summary Event
Window               : 60 seconds
Low threshold        : 1 error second(s)
High threshold       : none
 
Errored CRC Frames Event
Window               : 1 seconds
Low threshold        : 10 error frame(s)
High threshold       : none
 
配置交换机S2:
Switch_config_g1/1#ethernet oam
Switch_config_g1/1#show ethernet oam statistics link-monitor int g1/1
GigaEthernet1/1     
Local Link Events:
-------------
Errored Symbol Period Event:
No errored symbol period event happened yet.
 
Errored Frame Event:
No errored frame event happened yet.
 
Errored Frame Period Event:
No errored frame period event happened yet.
 
Errored Frame Seconds Summary Event:
No errored frame seconds summary event happened yet.
 
Errored CRC Frames Event:
No errored CRC frame event happened yet.
 
Remote Link Events:
-------------------
Errored Symbol Period Event:
No errored symbol period event happened yet.
 
Errored Frame Event:
No errored frame event happened yet.
 
Errored Frame Period Event:
No errored frame period event happened yet.
 
Errored Frame Seconds Summary Event:
No errored frame seconds summary event happened yet.
 
Errored CRC Frames Event:
No errored CRC frame event happened yet.
配置交换机3524 A:配置交换机3524 A: