更新时间: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: