相關協議:
1)IEEE 802.1ag 連通性故障管理(CFM:Connectivity Fault Management)
2)IEEE 802.3ah 第一英裡的乙太網路(EFM:Ethernet in the First Mile),其中第57章的乙太網路OAM
3)ITU-T Y.1731 乙太網路OAM(Operation, Administration and Maintenance)
乙太網路OAM技術是分級實現,分為以下兩個層級:
1)鏈路級乙太網路OAM技術:多應用於網路的PE裝置-CE裝置-使用者裝置之間(也叫最後一公裡)的乙太網路物理鏈路,用於監測使用者網路與電訊廠商網路之間的鏈路狀態,典型協議為EFM OAM協議。使用者通過在兩個點到點串連的裝置上啟用乙太網路OAM功能,可以監控這兩台裝置之間的鏈路狀態。-->802.3ah
2)網路級乙太網路OAM技術:多應用於網路的接入匯聚層,用於監測整個網路的連通性、定位網路的連通性故障,典型協議為CFD協議。(CFD:Connectivity Fault Detection) -->802.1ag, Y.1731
802.3ah
EFM OAM工作在資料連結層,其協議報文被稱為OAMPDU.
The frame transmission rate is limited to a maximum of 10 frames per second; therefore, the impact of OAM on normal operations is negligible.
a) Destination Address (DA). The DA in OAMPDUs is the Slow_Protocols_Multicast address. 0x0180-C200-0002慢速協議報文的特點就是不能被橋接器轉寄,因此無論是否具備OAM功能或OAM功能是否啟用,EFM OAM報文都不能跨多跳轉寄
b) Source Address (SA). The SA in OAMPDUs carries the individual MAC address associated with
the port through which the OAMPDU is transmitted.
c) Length/Type. 0x8809
d) Subtype. The Subtype field identifies the specific Slow Protocol being encapsulated. OAMPDUs carry the Subtype value 0x03.
e) Flags. The Flags field contains status bits.
Additional diagnostic information may be sent using the Event Notification OAMPDU.
主要的Flag:
--2 Critical Event
----1 = A critical event has occurred.
----0 = A critical event has not occurred.
--1 Dying Gasp
----1 = An unrecoverable local failure condition has occurred.
----0 = An unrecoverable local failure condition has not occurred.
--0 Link Fault
The PHY has detected a fault has occurred in the receive direction of the local DTE (e.g., link, Physical layer).
----1 = Local device's receive path has detected a fault.
----0 = Local device's receive path has not detected a fault.
f) Code.
The Code field identifies the specific OAMPDU.
--0x00Information OAMPDU
資訊OAMPDU,也稱為心跳報文
用於在本端與遠端的OAM實體之間互動各種狀態資訊(包括本地資訊TLV、遠端資訊TLV和組織自訂資訊TLV)
--0x01
Event Notification OAMPDU
事件通知OAMPDU
用於對串連本端與遠端OAM實體的鏈路上所發生的故障進行警示
--0x04
Loopback Control OAMPDU
環回控制OAMPDU
用於檢測鏈路品質和定位鏈路故障,該報文中帶有使能/去使能資訊,用來開啟/關閉遠端環回功能
Command Description
0x01 Enable OAM Remote Loopback
0x02 Disable OAM Remote Loopback
0x00,0x03-0xFF Reserved Shall not be transmitted, should be ignored on reception by OAM client
g) Data/Pad.
This field contains the OAMPDU data and any necessary pad. Implementations shall support OAMPDUs at least minFrameSize in length.
h) FCS.
This field is the Frame Check Sequence
乙太網路OAM功能建立在乙太網路OAM串連的基礎上。
乙太網路OAM串連的建立過程也稱為Discovery階段,即本端OAM實體發現遠端OAM實體、並與之建立穩定對話的過程。
在這個過程中,相連的OAM實體通過互動Information OAMPDU通報各自的乙太網路OAM配置資訊和本端支援的乙太網路OAM能力資訊。當OAM實體收到對端的配置參數後,決定是否建立OAM串連。
互動以下的配置資訊:
• OAM mode
The mode can be either active or passive and can be used to determine device functionality.
乙太網路OAM的串連模式有兩種:主動模式和被動模式;
乙太網路OAM串連只能由主動模式的OAM實體發起,而被動模式的OAM實體只能等待對端OAM實體的串連請求;
都處於被動模式下的兩個OAM實體之間無法建立乙太網路OAM串連。
• OAM configuration (capabilities)
Advertises the capabilities of the local OAM entity. With this information a peer can determine, what functions are supported and accessible; for example, loopback capability.
• OAMPDU configuration
Includes the maximum OAMPDU size for receipt and delivery. This information along with the rate limiting of 10 frames per second can be used to limit the bandwidth allocated to OAM traffic.
• Platform identity
A combination of an organization unique identifier (OUI) and 32-bits of vendor-specific information. OUI allocation, controlled by the IEEE, is typically the first three bytes of a MAC address.
乙太網路OAM能夠有效提高乙太網路的管理和維護能力,保障網路的穩定運行,其主要功能包括:
1)鏈路效能監測:對鏈路的各種效能進行監測,包括對丟包、時延和抖動等的衡量,以及對各類流量的統計;
2)故障偵測和警示:通過發送檢測報文來探測鏈路的連通性,當鏈路出現故障時及時通知網路系統管理員;
鏈路監控用於在各種環境下檢測和發現鏈路層故障,通過Event Notification OAMPDU來監控鏈路。
當一端OAM實體監控到一般鏈路事件時,將向其對端發送Event Notification OAMPDU以進行通報。
• Link Event TLVs
主要有以下4種Event Type.
-0x01 錯誤訊號事件(Errored Symbol Period Event):單位時間內的錯誤訊號數量超過定義的閾值
Counts the number of symbol errors that occurred during the specified period. The period is specified by the number of symbols that can be received in a time interval on the underlying physical layer.
==============================================
Default / lower bound / upper bound
Window Size number of symbols that can be received in 1 second / in 1 second / in 1 minute
Threshold 1 symbol error / 0 symbol error / unspecified
==============================================
--0x02 錯誤幀事件(Errored Frame Event):單位時間內的錯誤幀數量超過定義的閾值
Counts the number of errored frames detected during the specified period. The period is specified by a time interval.
==============================================
Default / lower bound / upper bound
Window Size: 1 second / 1 second / 1 minute
Threshold: 1 frame error / 0 frame error / unspecified
==============================================
--0x03 錯誤幀周期事件(Errored Frame Period Event):指定幀數N為周期,在收到N個幀的周期內錯誤幀數超過定義的閾值
Counts the number of errored frames detected during the specified period. The period is specified by a number of received frames.
==============================================
Default / lower bound / upper bound
Window Size: number of minFrameSize frames that can be received in 1 second / 100ms / 1 minute
Threshold: 1 frame error / 0 frame error / unspecified
==============================================
--0x04 錯誤幀秒數事件(Errored Frame Seconds Event):指定M秒數下有錯誤幀的秒數超過了定義的閾值
Counts the number of errored frame seconds that occurred during the specified period. The period is specified by a time interval.
==============================================
Default / lower bound / upper bound
Window Size: 60 seconds / 10 seconds / 900 seconds
Threshold: 1 errored second / 0 errored seconds / unspecified
==============================================
3)環路測試:通過非乙太網路OAM協議報文的環回來檢測鏈路故障。
主動模式下的OAM實體向對端(遠端)發送除OAMPDU以外的所有其它報文時,對端收到報文後不按其目的地址進行轉寄,而是將其按原路返回給本端。遠端環回只有在乙太網路OAM串連建立之後才能實現。
802.1ag
CFM匯入了以下概念:
• 維護域(Maintenance Domain:MD)
指明了連通錯誤偵測所覆蓋的網路,其邊界是由配置在連接埠上的一系列維護端點所定義的。維護域以"維護網域名稱"來標識。
維護域共分為八級,用整數0~7來表示,數字越大層級越高,維護域的範圍也就越大。
不同維護域之間可以相鄰或嵌套,但不能交叉,且嵌套時只能由較進階別的維護域來嵌套較低層級維護域。
低層級維護域的CFD PDU進入進階別維護域後會被丟棄;進階別維護域的CFD PDU則可以穿越低層級維護域;相同層級的維護域的CFD PDU不可以互相穿越。
• 維護集(Maintenance Association:MA)
在維護域內根據需要可以配置多個維護集(MA),每個維護集是維護域內一些維護點的集合。
維護集以"維護網域名稱+維護集名"來標識。維護集中的維護點可以接收由本維護集中其它維護點發來的報文。
一個維護集(MA)可以服務於多個VLAN,但是同一MD中的不同MA不能共用同一個VLAN。
• 維護點(Maintenance Point:MP)
維護點(MP)配置在連接埠上,屬於某個維護集,可分為維護端點(MEP)和維護中間點(MIP)兩種。
1) MEP: Maintenance association End Point
維護端點以稱為MEP ID的整數(range 1 - 8191)來標識,在同一個MA中它是唯一的。
它確定了維護域的範圍和邊界。維護端點所屬的維護集和維護域確定了該維護端點所發出報文的VLAN屬性和層級。
維護端點的層級決定了其所能處理的報文的層級,維護端點所發出報文的層級就是該維護端點的層級。
當維護端點收到高於自己層級的報文時,會將其按原有路徑繼續轉寄;而當維護端點收到小於或等於自己層級的報文時不會再轉寄,以確保低層級維護域內的報文不會擴散到進階別維護域中。
維護端點具有方向性,分為外向(DOWN)維護端點和內向(UP)維護端點兩種。
維護端點的方向表明了維護域相對於該連接埠的位置。其中,外向維護端點通過其所在連接埠向外發送報文,內向維護端點則不通過其所在連接埠向外發送報文,而是通過該裝置上的其它連接埠向外發送報文。
2)MIP: Maintenance association Intermediate Point
維護中間點位於維護域內部,不能主動發出CFM協議報文,但可以響應LBM和LTM報文。
維護中間點所屬的維護集和維護域確定了該維護中間點所接收報文的VLAN屬性和層級。
維護中間點可以配合維護端點完成類似於ping和tracert的功能。與維護端點類似,當維護中間點收到高於自己層級的報文時,不會進行處理,而是將其按原有路徑轉寄;而當維護中間點收到小於等於自己層級的報文時,才會進行處理。
維護中間點是根據一定的規則,由系統在每個連接埠上計算出來的。使用者應根據網路規劃的情況,選擇合適的建置規則。
預設情況下,裝置上不配置維護中間點。
如果在該維護域內的所有連接埠上都規劃有維護中間點,則應選擇default規則。
如果僅在低層維護域有維護端點時規劃維護中間點,則應選擇explicit規則。
維護端點列表是同一維護集內允許配置的本地維護端點和需要監控的遠端維護端點的集合,它限定了維護集內維護端點的選取範圍:不同裝置上同一維護集內的所有維護端點都應包含在此列表中,且MEP ID互不重複。如果維護端點收到遠端裝置發來的CCM報文攜帶的維護端點不在同一維護集的維護端點列表中,就丟棄該報文。
MEPs may monitor either all frames or a set of VLANs. You may configure a virtual switch as either VLAN-aware or VLAN-unaware to recognize or not recognize VLAN tagged frames or packets when they are delivered from another virtual switch in the network.
• VLAN-Aware
Maintenance Entities, such as MAs and MEPs, monitor a VLAN or set of VLANs that are associated with a Primary VLAN ID. These Maintenance Entities protect only the VLAN or set of VLANs to which
they are associated.
• VLAN-Unaware
Maintenance Entities, such as MAs and MEPs, monitor all data frames passing through a port, regardless of using VLANs. If the Maintenance Entity is VLAN-Unaware, do not specify the VLAN parameter in the configuration commands.
CFM PDU的格式如下:
a) MD level
維護域的層級,取值範圍為0~7,取值越大表示層級越高
b)Version
協議版本號碼,為0
c)OpCode
訊息編碼,不同取值表示不同類型的CFM PDU,常見的CFM PDU如下所示。
=======================================================
OpCode值 報文類型 目的MAC地址 作用
--------------------------------------------------------
0x01 CCM PDU 01-80-C2-00-00-3x(組播地址) 用於連續性檢測,各維護端點均可發出
0x02 LBR PDU 環回傳起端的MAC(單播地址) 用於環回,由環回對端回應
0x03 LBM PDU 環回目的端的MAC(單播地址) 用於環回,由環回傳起端發出
0x04 LTR PDU 鏈路跟蹤發起端的MAC(單播地址) 用於鏈路跟蹤,由鏈路跟蹤對端回應
0x05 LTM PDU 01-80-C2-00-00-3y(組播地址) 用於鏈路跟蹤,由鏈路跟蹤發起端發出
0, 6-31 Reserved for IEEE 802.1
32-63 Defined by ITU-T Y.1731
33 AIS
35 LCK
37 TST
39 APS
41 MCC
43 LMM
42 LMR
45 1DM
47 DMM
46 DMR
64-255 Reserved for IEEE 802.1
========================================================
目的MAC地址中x和y的取值
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
CCM:Continuity Check Message 連續性檢測報文
LBM:Loopback Message 環回訊息
LBR:Loopback Reply 環回應答
LT:Linktrace 鏈路跟蹤
LTM:Linktrace Message 鏈路跟蹤訊息
LTR:Linktrace Reply 鏈路跟蹤應答
d)Flags
Flag域,該欄位在不同類型的CFM PDU中表示不同的含義
e)Varies with value of OpCode
--Sequence number:序號,初始值為一個隨機值,以後維護端點每發送一個CCM PDU,該欄位的取值就會加1
--Loopback transaction ID/LTR/LTM transaction ID:處理編號,初始值為0,以後維護端點每發送一個LBR/LBM/LTR/LTM PDU,該欄位的取值就會加1
f)TLV(Type, Length, Value)
TLV stands for Type, Length, Value and denotes a method of encoding variable-length and/or optional information in a PDU. TLVs are not aligned to any particular word or octet boundary. TLVs follow each other with no padding between TLVs.TLV or organization / Type field
End TLV / 0 在終了TLV中,類型 = 0,長度和數值欄位都不用。
Sender ID TLV / 1
Port Status TLV / 2
Data TLV / 3
Interface Status TLV / 4
Reply Ingress TLV / 5
Reply Egress TLV / 6
LTM Egress Identifier TLV / 7
LTR Egress Identifier TLV / 8
Reserved for IEEE 802.1 / 9-30,64-255
Defined by ITU-T Y.1731 / 32測試TLV 33-63 Reserved
Organization-Specific TLV / 31
CFM的有效應用建立在合理的網路部署和配置之上。它的功能是在所配置的維護點之間實現的,包括:
連續性檢測功能(Continuity Check,CC)
環回功能(Loopback,LB)
鏈路跟蹤功能(Linktrace,LT)
1. 連續性檢測功能
連續性檢測功能用來檢測維護端點之間的連通狀態。連通失敗可能由裝置故障或配置錯誤造成。該功能的實現方式是:由維護端點周期性地發送CCM報文,該報文是組播報文,相同維護集的其它維護端點接收該報文,並由此獲知遠端狀態。當維護端點在3.5個周期的時間段內收不到該報文時,則認為鏈路有問題,會輸出日誌報告。當維護域中的多個維護端點在發送CCM報文時,就實現了多點到多點之間的鏈路檢測。不同裝置上處於同一個維護域和維護集中的維護端點,其發送CCM報文的時間間隔必須相同。
CCM PDU的Flag域定義了2個資訊單元。
MSB LSB
8 7 6 5 4 3 2 1
RDI 保留(0) 周期
• RDI:遠端故障指示。位元位8置為1時指示RDI,否則它置為0。
• 周期:位元3到1指示傳輸周期,其編碼如下所示。
標記[3:1] 周期值 說明
000 無效數值 對CCM PDU為無效數值
001 3.33ms 每秒300幀
010 10ms 每秒100幀
011 100ms 每秒10幀
100 1s 每秒1幀
101 10s 每分鐘6幀
110 1min 每分鐘1幀
111 10min 每小時6幀
2. 環回功能
環回功能類似於IP層的ping功能,用於驗證本地裝置與遠端裝置之間的串連狀態。該功能的實現方式是:由維護端點發送LBM(Loopback Message,環回報文)給遠端維護點,根據能否接收到對端反饋的LBR(Loopback Replay,環回應答報文)來檢驗鏈路狀態。LBM和LBR是單播報文,它們的接收情況反映了兩點間的鏈路是否連通。
LBM PDU的Flag欄位全部置零。TLV類型欄位數值是3(Data TLV)或者32(Test TLV)。
LBR PDU中的相應欄位都是從LBM PDU中複製而來。
3. 鏈路跟蹤功能
鏈路跟蹤功能用於確定源端到目標維護端點的路徑。該功能的實現方式是:由源端發送LTM(Linktrace Message,鏈路跟蹤報文)給目標維護端點,目標維護端點及LTM經過的維護中間點接收到該報文後,發送LTR(Linktrace Reply,鏈路跟蹤應答報文)給源端,源端根據收到的應答報文確定到目標維護端點的路徑。LTM是組播報文,LTR是單播報文。
• LTM PDU
Flag欄位僅使用第8位(UseFDBonly),其他全部置為0.
If UseFDBonly is set, indicates that only MAC addresses learned in a Bridge's Filtering Database, and not information saved in the MIP CCM Database, is to be used to determine the Egress Port.
LTM PDU的Additional LTM TLVs必須包含
--LTM Egress Identifier TLV(type=7)
可能包含
--Sender ID TLV(type=2)
--Organization-Specific TLV(type=31)
• LTR PDU
Reply TTL(1 octet)包含LTR為之發送的LTM的TTL欄位的數值再遞減1。(One less than the value from the LTM TTL field in the LTM that triggered the transmission of this LTR. If the LTM TTL field contained a 0, no LTR is transmitted.)
Flag欄位定義如下:
==================================
Mnemonic Meaning Bit
UseFDBonly Copied from LTM. 8 (MSB)
FwdYes The LTM was (1) or was not (0) forwarded. 7
TerminalMEP The MP reported in Reply Egress TLV(or Reply Ingress TLV, if it is not present) is a MEP. 6
Reserved Copied from LTM. 5 - 1
==================================
LTR PDU的Additional LTR TLVs必須包含
--LTR Egress Identifier TLV(8)
--Reply Ingress TLV(5)和Reply Egress TLV(6)中的任意1個或者全部
可能包含
--Sender ID TLV(type=2)
--Organization-Specific TLV(type=31)
Y.1731
Y.1731的CFM部分和802.1ag基本相同,只是使用的一些術語有區別。
=====================
Y.1731術語 802.1ag術語
MEG MA
MEGID MAID
MEG等級 MA 等級
=====================
另外CFM部分增加了例如ETH-AIS,ETH-LCK等。
4. ETH-AIS乙太網路警示指示訊號
警示抑制功能用來減少故障警示的上報數量。如果維護端點在3.5個CCM報文發送周期內未收到遠端維護端點發來的CCM報文,便開始周期性地發送AIS(Alarm Indication Signal,警示指示訊號)報文,該報文地發送方向與CCM報文相反。維護端點在收到AIS報文後,會抑制本端的故障警示,並繼續發送AIS報文。各維護端點如果在3.5個CCM報文發送周期內重新收到了CCM報文,便停止發送AIS報文。AIS報文是組播報文。
The alarm indication signal suppresses alarms at the client-layer MEPs after detecting a fault or an AIS condition at the server-layer MEP. The operator can enable or disable the AIS functionality for a MEP. If AIS is enabled and a fault or AIS condition is detected at a MEP, AIS frames are transmitted to the client-layer MEPs in the direction opposite to the peer MEP. On receiving the AIS frame, the client-layer MEP suppresses its fault alarms.
5. ETH-LCK 乙太網路鎖定訊號
乙太網路鎖定訊號功能(ETH-LCK)用於通告伺服器層(子層)MEP的管理性鎖定以及隨後的資料業務
流中斷,該業務流是送往期待接收這業務流的MEP的。它使得接收帶有ETH-LCK資訊的幀的MEP能區分是故障情況,還是伺服器層(子層)MEP的管理性鎖定動作。
Y.1731增加了PM(Performance Monitoring)功能。
用於效能監測的OAM功能可以測量不同的績效參數。績效參數是針對點到點的ETH串連來定義的。
1. ETH-LM 幀丟失率的測量
Frame Loss Measurement for Frame Loss Ratio - is used to collect values applicable for ingress and egress service frames where the counters maintain a count of transmitted and received data frames between a pair of MEPs.
ETH-LM可以以兩種方式進行:
• 單端的ETH-LM
其實現方式是由源端發送LMM(Loss Measurement Message,丟包測量報文)報文給目標維護端點,目標維護端點收到該報文後,會發送LMR(Loss Measurement Reply,丟包測量應答)報文給源端,源端則根據兩個連續的LMR報文來計算源端和目標維護端點間的丟包數,即源端從收到第二個LMR報文開始,根據本LMR報文和前一個LMR報文的統計計數來計算源端和目標維護端點間的丟包數。LMM報文和LMR報文都是單播報文。
• 雙端的ETH-LM
每個MEP向它對等的MEP周期地發送帶有ETH-LM資訊幀,以便於對等MEP的幀丟失測量。
用於雙端ETH-LM資訊的PDU是CCM PDU。
2. ETH-DM 幀時延的測量
ETH-DM 可用於測量幀時延和幀時延變化。
ETH-DM can be used for on-demand OAM to measure frame delay and frame delay variation.
Frame delay and frame delay variation measurements are performed by sending periodic frames with ETH-DM information to the peer MEP and receiving frames with ETH-DM information from the peer MEP during the diagnostic interval.
ETH-DM可以以兩種方式進行:
• 單向ETH-DM
MEP發送帶有ETH-DM資訊的幀1DM PDU(One-way Delay Measurement,單向時延測量),其中包含TxTimestampf(ETH-DM傳輸時的時戳)資訊單元。
接收的MEP可以將這一數值與ETH-DM幀的接收時間RxTimef進行比較,並按下式計算單向的幀時延:
幀時延 = RxTimef - TxTimeStampf
但是,單向幀時延的測量需要發送端MEP和接收端MEP的時鐘同步。就幀時延變化的測量而言,它基於前後幀時延測量之間的差值,對於時鐘同步的要求可以放鬆,因為在前後幀時延測量的差別中,相位差的間隔可以抵消。
• 雙向ETH-DM
最通常情況下,要求時鐘同步是不實際的,這時幀時延測量將只能在雙向測量中進行。
MEP發送一個帶有ETH-DM請求資訊的幀DMM(Delay Measurement Message,時延測量報文)報文,它攜帶TxTimeStampf,同時接收端MEP以1個帶有ETH-DM回複資訊幀DMR(Delay Measurement Reply,時延測量應答)PDU進行回應,回複幀中有從ETH-DM請求資訊中複製來的TxTimeStampf。MEP接收該帶有ETH-DM回複資訊的幀,將TxTimeStampf與ETH-DM回複資訊幀的接收時間RxTimeb進行比較,並按下式進行雙向幀時延和雙向幀時延變化的測量:
幀時延 = RxTimeb - TxTimeStampf