以太網OAM技術白皮書
Copyright © 2012杭州華三通信技術有限公司 版權所有,保留一切權利。 非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部, 並不得以任何形式傳播。本文檔中的信息可能變動,恕不另行通知。 |
目 錄
以太網技術自誕生起,就以其簡單易用和價格低廉的特點逐步成為局域網的主導技術。近年來,隨著千兆、萬兆以太網技術的相繼應用,也促使網絡運營商、設備製造商和標準化組織致力於將以太網技術向城域網和廣域網領域推進。
以太網最初為局域網而設計,由於局域網本身已具備較高的可靠性和穩定性,因此在設計以太網之初並未建立管理維護的機製。而相對於局域網,城域網和廣域網在鏈路長度和網絡規模上都迅速擴大,於是有效管理維護機製的缺乏,已成為以太網技術在城域網和廣域網應用的嚴重障礙。為此,在以太網上實現OAM(Operation, Administration and Maintenance,操作、管理和維護)機製成為必然的發展趨勢。以太網OAM技術可以有效提高對以太網的管理和維護能力,保障網絡的穩定運行。
圖1 以太網OAM技術分級實現示意圖
以太網OAM技術是分級實現的。如圖1所示,以太網OAM技術分為以下兩個級別:
· 鏈路級以太網OAM技術:多應用於網絡的PE設備—CE設備—用戶設備之間(也叫最後一公裏)的以太網物理鏈路,用於監測用戶網絡與運營商網絡之間的鏈路狀態,典型協議為EFM OAM(Ethernet in the First Mile OAM,最後一公裏以太網OAM)協議。
· 網絡級以太網OAM技術:多應用於網絡的接入彙聚層,用於監測整個網絡的連通性、定位網絡的連通性故障,典型協議為CFD(Connectivity Fault Detection,連通錯誤檢測)協議。
各級別上典型的以太網OAM協議如表1所示。
協議名稱 | 應用級別 | 協議標準 | 說明 |
EFM OAM | 鏈路級 | IEEE 802.3ah | 針對兩台直連設備間的鏈路,提供鏈路性能監測、故障偵測和告警、環路測試等功能 |
CFD | 網絡級 | IEEE 802.1ag ITU-T Y.1731 | 主要用於在二層網絡中檢測鏈路連通性,以及在故障發生時確認故障並定位 |
本文將對EFM OAM和CFD分別進行介紹。
使能了EFM OAM功能的接口稱為EFM OAM實體,簡稱OAM實體。
EFM OAM工作在數據鏈路層,其協議報文被稱為OAMPDU(OAM Protocol Data Units,OAM協議數據單元)。EFM OAM就是通過設備之間定時交互OAMPDU來報告鏈路狀態,使網絡管理員能夠對網絡進行有效的管理。
圖2 OAMPDU報文格式示意圖
圖2所示為OAMPDU的報文格式和常見的OAMPDU,OAMPDU中重要字段的含義如表2所示。
表2 OAMPDU重要字段含義
字段 | 含義 |
Dest addr | 目的MAC地址,為慢速協議組播地址:0x0180-C200-0002。慢速協議報文的特點就是不能被網橋轉發,因此無論是否具備OAM功能或OAM功能是否激活,EFM OAM報文都不能跨多跳轉發 |
Source addr | 源MAC地址,為發送端接口的MAC地址(若沒有則采用該設備的橋MAC地址),是一個單播MAC地址 |
Type | 協議類型,為0x8809 |
Subtype | 協議子類型,為0x03 |
Flags | Flag域,包含了EFM OAM實體的狀態信息 |
Code | 消息編碼,不同取值表示不同類型的OAMPDU,常見的OAMPDU如表3所示 |
表3 常見的OAMPDU
Code值 | 報文類型 | 中文含義 | 作用 |
0x00 | Information OAMPDU | 信息OAMPDU,也稱為心跳報文 | 用於將OAM實體的狀態信息(包括本地信息、遠端信息和自定義信息)發給遠端OAM實體,以保持以太網OAM連接 |
0x01 | Event Notification OAMPDU | 事件通知OAMPDU | 一般用於鏈路監控,對連接本端和遠端OAM實體的鏈路上所發生的故障進行告警 |
0x04 | Loopback Control OAMPDU | 環回控製OAMPDU | 主要用於遠端環回控製,用來控製遠端設備的OAM環回狀態,該報文中帶有使能或去使能環回功能的信息,根據該信息開啟或關閉遠端環回功能 |
EFM OAM的連接模式有兩種:主動模式和被動模式。EFM OAM連接隻能由主動模式的OAM實體發起,而被動模式的OAM實體隻能等待遠端OAM實體的連接請求;同處於被動模式下的兩個OAM實體之間無法建立EFM OAM連接。這兩種模式下設備的處理能力如表4所示。
處理能力 | 主動模式 | 被動模式 |
初始化EFM OAM Discovery過程 | 可以 | 不可以 |
對EFM OAM Discovery初始化過程的響應 | 可以 | 可以 |
發送Information OAMPDU | 可以 | 可以 |
發送Event Notification OAMPDU | 可以 | 可以 |
發送不攜帶TLV的Information OAMPDU | 可以 | 可以 |
發送Loopback Control OAMPDU | 可以 | 不可以 |
對Loopback Control OAMPDU的響應 | 可以,但需要遠端為主動模式 | 可以 |
EFM OAM中定義的鏈路事件分為一般鏈路事件和緊急鏈路事件兩大類。
一般鏈路事件用於鏈路性能監控,其包含的類型如表5所示。
事件類型 | 描述 |
錯誤信號事件(Errored Symbol Event) | 以收到設定數量的信號為檢測窗口,在窗口期內檢測到的錯誤信號數量如果達到或超過了檢測閾值,就產生一次錯誤信號事件 |
錯誤幀事件(Errored Frame Event) | 以設定的時間為檢測窗口,在窗口期內檢測到的錯誤幀數量如果達到或超過了檢測閾值,就產生一次錯誤幀事件 |
錯誤幀周期事件(Errored Frame Period Event) | 以收到設定數量的幀為檢測窗口,在窗口期內檢測到的錯誤幀數量如果達到或超過了檢測閾值,就產生一次錯誤幀周期事件 |
錯誤幀秒事件(Errored Frame Seconds Event) | 以設定的時間為檢測窗口,在窗口期內檢測到的錯誤幀秒(在某一秒內檢測到至少一個錯誤幀,就稱該秒為錯誤幀秒)數量如果達到或超過了檢測閾值,就產生一次錯誤幀秒事件 |
緊急鏈路事件用於遠端故障檢測,其包含的類型以及對應的Information OAMPDU發送頻率如表6所示。
事件類型 | 描述 | OAMPDU發送頻率 |
鏈路故障(Link Fault) | 遠端鏈路信號丟失 | 每秒發送一次 |
致命故障(Dying Gasp) | 不可預知的狀態發生,比如電源中斷 | 不間斷發送 |
緊急事件(Critical Event) | 不能確定的緊急事件發生 | 不間斷發送 |
下麵對EFM OAM的運行機製進行介紹。
EFM OAM功能的實現建立在EFM OAM連接的基礎之上,EFM OAM連接的建立過程也稱為Discovery階段,即本端OAM實體發現遠端OAM實體、並與之建立穩定對話的過程。
當設備的某個接口使能了EFM OAM功能時,如果該接口的EFM OAM工作模式為主動模式,便由該接口向遠端發起EFM OAM連接。在建立EFM OAM連接的過程中,相連的OAM實體通過交互Information OAMPDU通報各自的EFM OAM配置信息。當OAM實體收到遠端的配置參數後,決定是否建立EFM OAM連接。
圖3 EFM OAM連接示意圖
如圖3所示,Device A的接口Ethernet1/1工作在主動模式下,當該接口上使能了EFM OAM功能時:
(1) Device A向Device B發送Information OAMPDU,其中包含Device A的EFM OAM配置信息。
(2) Device B收到該OAMPDU後,與自己的EFM OAM配置進行匹配,然後向Device A回複Information OAMPDU,其中除了包含Device A和Device B二者的EFM OAM配置信息外,還包含Device B對Device A的EFM OAM配置是否匹配的標誌信息。
(3) Device A收到Device B發來的OAMPDU後,再來判斷Device B的EFM OAM配置與自己的配置是否匹配。
通過以上過程,如果雙方的EFM OAM配置都匹配,EFM OAM連接便建立起來。EFM OAM連接建立後,兩端的OAM實體會周期性地發送Information OAMPDU來檢測連接是否正常。如果一端OAM實體在連接超時時間內未收到遠端發來的Information OAMPDU,則認為EFM OAM連接中斷。
當一端OAM實體監控到一般鏈路事件時,將向其遠端OAM實體發送Event Notification OAMPDU進行通報,同時將監控信息記入日誌並上報給網管係統;遠端OAM實體收到該信息後,也將其記入日誌並上報給網管係統。這樣,管理員就可以通過觀察日誌信息動態地掌握網絡的狀況。
當設備上發生緊急鏈路事件而導致流量中斷時,故障端OAM實體通過Information OAMPDU中的Flag域將故障信息(即緊急鏈路事件類型)通知給遠端OAM實體,同時將故障信息記入日誌並上報給網管係統;遠端OAM實體收到該信息後,也將其記入日誌並上報給網管係統。這樣,管理員就可以通過觀察日誌信息動態地了解鏈路狀態,對相應的錯誤及時進行處理。
遠端環回功能是指主動模式下的OAM實體向遠端發送除OAMPDU以外的所有其它報文時,遠端收到報文後不按其目的地址進行轉發,而是將其按原路返回給本端。它可用於定位鏈路故障和檢測鏈路質量:網絡管理員通過觀察非OAMPDU報文的返回情況,可以對鏈路性能(包括丟包率、時延、抖動等)作出評判。
如圖4所示,Device A的接口Ethernet1/1工作在主動模式下,在Device A與Device B之間的EFM OAM連接建立之後,使能該接口上的遠端環回功能:
(1) Device A向Device B發送帶有使能信息的Loopback Control OAMPDU,並等待回複。
(2) Device B收到該OAMPDU後,向Device A回複狀態改變的Information OAMPDU,並進入環回狀態(在此狀態下,設備會把收到的非OAMPDU報文都按原路返回)。
(3) Device A收到回複後,開始向Device B發送非OAMPDU的測試報文。
(4) Device B收到測試報文後,將其按原路返回給Device A。
(5) 當Device A需要停止遠端環回時,向Device B發送帶有去使能信息的Loopback Control OAMPDU。
(6) Device B收到該OAMPDU後便退出環回狀態,並向Device A回複狀態改變的Information OAMPDU。
EFM OAM連接建立之後,兩端的OAM實體會周期性地發送心跳報文(即Information OAMPDU)來檢測連接是否正常。如果一端OAM實體在連接超時時間內未收到遠端OAM實體發來的心跳報文,則認為OAM連接中斷。IEEE 802.3ah中定義了心跳報文發送周期為1秒,連接超時時間為5秒。H3C在協議規定的基礎上,還允許用戶對心跳報文的發送周期和連接超時時間進行配置。
對於OAM連接中斷,用戶可以在接口上配置是否關聯EFM OAM動作:如果配置了關聯,接口在收到遠端以太網OAM事件時除了記錄日誌外,還會自動斷開OAM連接,並設置該接口的鏈路層狀態為down;否則,隻記錄日誌。
MD(Maintenance Domain,維護域)是指連通錯誤檢測所覆蓋的一個網絡或網絡的一部分,它以“MD名稱”來標識。
為了準確定位故障點,在MD中引入了級別(層次)的概念。MD共分為八級,用整數0~7來表示,數字越大級別越高,MD的範圍也就越大。不同MD之間可以相鄰或嵌套,但不能交叉,且嵌套時隻能由高級別MD向低級別MD嵌套,即低級別MD必須包含在高級別MD內部。低級別MD的CFD PDU進入高級別MD後會被丟棄;高級別MD的CFD PDU則可以穿越低級別MD;相同級別的MD的CFD PDU不可以互相穿越。
圖5 MD嵌套示意圖
在實際應用中,要對MD進行合理規劃:如圖5所示,有MD_A和MD_B兩個MD,MD_B嵌套在MD_A中,要在MD_A中進行連通性檢測,就要求MD_A的CFD PDU能夠穿越MD_B,因此需要將MD_A的級別配置得比MD_B高。這樣,MD_A的CFD PDU就可以穿越MD_B,從而實現了整個MD_A的連通性故障管理,而MD_B的CFD PDU則不會擴散到MD_A中。
MA(Maintenance Association,維護集)是MD的一部分,一個MD可劃分為一個或多個MA。MA以“MD名稱+MA名稱”來標識。
一個MA服務於一個VLAN,MA中的MP所發送的報文都帶有該VLAN的標簽,同時MA中的MP可以接收由本MA中其它MP發來的報文。
MP(Maintenance Point,維護點)配置在接口上,屬於某個MA,可分為MEP(Maintenance association End Point,維護端點)和MIP(Maintenance association Intermediate Point,維護中間點)兩種。
MEP確定了MA的邊界,它以“MEP ID”來標識。
MEP所屬的MA確定了該MEP發出的報文所屬的VLAN;MEP的級別等於其所屬MD的級別,MEP發出的報文的級別等於該MEP的級別。MEP的級別決定了其所能處理的報文的級別:當MEP收到高於自己級別的報文時不會進行處理,而是將其按原有路徑轉發;而當MEP收到小於等於自己級別的報文時才會進行處理。需要注意的是,本段是針對同一VLAN內的報文處理方式進行描述,不同VLAN內的報文之間是相互隔離的,不會相互影響。
MEP具有方向性,分為內向MEP和外向MEP兩種:
· 內向MEP通過除其所在的接口以外的所有接口向外發送CFD PDU,即在其所屬MA所服務的VLAN中進行廣播。
· 外向MEP則直接通過其所在的接口向外發送CFD PDU。
MIP位於MA的內部,不能主動發出CFD PDU,但可以處理和響應CFD PDU。MIP可以配合MEP完成類似於ping和tracert的功能。當MIP收到不等於自己級別的報文時不會進行處理,而是將其按原有路徑轉發;隻有當MIP收到等於自己級別的報文時才會進行處理。
圖6 CFD的分級配置
圖6所示為CFD的一種分級配置方式,圖中共有0、2、3、5四個級別的MD,標識號較大的MD的級別高、控製範圍廣;標識號較小的MD的級別低、控製範圍小。在Device A~Device F的各接口上配置了MP,譬如Device B的接口Ethernet1/1上配置有:級別為5的MIP、級別為3的內向MEP、級別為2的內向MEP和級別為0的外向MEP。
CFD的協議報文被稱為CFD PDU。不同的CFD PDU具有相同的報文頭,通過頭部的類型字段來區分報文類型。
圖7 CFD PDU報文格式示意圖
圖7所示為CFD PDU的報文格式和常見的CFD PDU,CFD PDU中重要字段的含義如表7所示。
表7 CFD PDU重要字段含義
字段 | 含義 |
MD level | MD的級別,取值範圍為0~7,數值越大級別越高 |
Version | 協議版本號,固定為0 |
OpCode | 消息編碼,不同取值表示不同類型的CFD PDU,常見的CFD PDU如表8所示 |
Flags | Flag域,在不同類型CFD PDU中表示不同的含義 |
TLV offset | TLV偏移量,表示第一個TLV相對於本字段的偏移數值 |
表8 常見的CFD PDU
OpCode值 | 報文類型 | 目標MAC地址 | 用途 |
0x01 | CCM PDU | 0180-C200-003x(1類組播地址,x取值如表9) | 連續性檢測 |
0x02 | LBR PDU | 發起端單播地址 | 環回測試 |
0x03 | LBM PDU | 目標端單播地址 | |
0x04 | LTR PDU | 發起端單播地址 | 鏈路跟蹤 |
0x05 | LTM PDU | 0180-C200-003y(2類組播地址,y取值如表9) | |
0x33 | AIS PDU | 0180-C200-003x(1類組播地址,x取值如表9) | 告警抑製 |
0x37 | TST PDU | 目標端單播地址 | 比特錯誤測試 |
0x42 | LMR PDU | 發起端單播地址 | 單向丟包測試 |
0x43 | LMM PDU | 目標端單播地址 | |
0x45 | 1DM PDU | 目標端單播地址 | 單向時延測試 |
0x46 | DMR PDU | 發起端單播地址 | 雙向時延測試 |
0x47 | DMM PDU | 目標端單播地址 |
表9 組播地址中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 |
CFD的有效應用建立在合理的網絡部署和配置之上。它的功能是在所配置的MP之間實現的,包括以下幾種:
MEP之間的連通失敗可能由設備故障或配置錯誤造成,連續性檢測(Continuity Check,CC)功能就是用來檢測MEP之間的連通狀態。該功能的實現方式是:由MEP周期性地發送CCM PDU,相同MA的其它MEP接收該報文,並由此獲知遠端狀態。若MEP在3.5個CCM PDU發送周期內未收到遠端MEP發來的CCM PDU,則認為鏈路有問題,會輸出日誌報告。當MD中的多個MEP在發送CCM PDU時,就實現了多點到多點之間的鏈路檢測。
CCM PDU中時間間隔域(Interval域)的值、CCM PDU的發送間隔和遠端MEP的超時時間這三者之間的關係如表10所示。
CCM PDU中時間間隔域的值 | CCM PDU的發送間隔 | 遠端MEP的超時時間 |
1 | 10/3毫秒 | 35/3毫秒 |
2 | 10毫秒 | 35毫秒 |
3 | 100毫秒 | 350毫秒 |
4 | 1秒 | 3.5秒 |
5 | 10秒 | 35秒 |
6 | 60秒 | 210秒 |
7 | 600秒 | 2100秒 |
環回測試(Loopback,LB)功能類似於IP層的ping功能,用於驗證源MEP與目標MP之間的連接狀態。該功能的實現方式是:由源MEP發送LBM PDU給目標MP,並根據能否收到對端反饋的LBR PDU來檢驗鏈路狀態。
如圖8所示,在Device A與Device C之間進行環回測試的過程如下:
(1) Device A向Device C發送LBM PDU,其中攜帶有該報文的發送時間;
(2) Device C收到該報文後,回複LBR PDU給Device A,其中攜帶有LBM PDU的發送和接收時間,以及LBR PDU的發送時間。
在超時時間內,如果Device A收到了Device C回應的LBR PDU,則可以根據其中攜帶的時間信息算出Device A到Device C的網絡時延;否則,便認為Device A到Device C不可達。此外,通過連續發送多個LBM PDU並觀察LBR PDU的返回情況,還可以了解網絡的丟包情況。
鏈路跟蹤(Linktrace,LT)功能類似於IP層的tracert功能,用於確定源MEP到目標MEP的路徑,其實現方式是:由源MEP發送LTM PDU給目標MEP,目標MEP及LTM PDU所經過的MIP收到該報文後,會發送LTR PDU給源MEP,源MEP則根據收到的LTR PDU來確定到目標MEP的路徑。
圖9 鏈路跟蹤示意圖
如圖9所示,在Device A與Device C之間進行鏈路跟蹤的過程如下:
(1) Device A向Device C發送LTM PDU,其中攜帶有TTL值和目標MEP的MAC地址;
(2) Device B收到該報文後,先將其TTL值減1,再繼續轉發給Device C,並回複LTR PDU給Device A,其中也攜帶有TTL值(等於Device A發送來的LTM PDU中的TTL值減1);
(3) Device C收到該報文後,回複LTR PDU給Device A,其中也攜帶有TTL值(等於Device B轉發來的LTM PDU中的TTL值再減1)。由於根據LTM PDU中攜帶的目標MEP的MAC地址,Device C可以判斷出自己就是目標MEP,因此不會再轉發該報文。
如果Device A到Device C之間的路徑有故障,則故障點下遊的設備將無法收到LTM PDU,也不會回複LTR PDU,據此可判定故障點的位置。例如,若Device A能收到Device B回複的LTR PDU,但收不到Device C回複的LTR PDU,就可以判定Device B和Device C之間的路徑有故障。
告警抑製功能是ITU-T Y.1731基於CFD定義的擴展功能,用來減少MEP故障告警的數量。如果MEP在3.5個CCM PDU發送周期內未收到遠端MEP發來的CCM PDU,便立刻開始周期性地發送AIS(Alarm Indication Signal,告警指示信號) PDU,該報文的發送方向與CCM PDU相反。其它MEP在收到AIS PDU後,會抑製本端的故障告警,並繼續發送AIS PDU。此後,如果MEP收到了CCM PDU,便停止發送AIS PDU並恢複故障告警。
如圖10所示,告警抑製的觸發過程如下:
(1) 當Device B和Device C之間的鏈路出現故障,Device B和Device C之間的連續性檢測失敗,向用戶發出故障告警信息;
(2) 檢測到故障後,Device B向Device A發送AIS PDU,而Device C則向Device D發送AIS PDU;
(3) Device A和Device D收到AIS PDU後,都進入告警抑製狀態。此後,如果Device A和Device D之間的連續性檢測失敗,將不再向用戶發出故障告警信息。
AIS PDU的缺省發送周期為1秒,由於告警抑製功能可以配置很多發送VLAN,而報文發送數量過多將對設備CPU造成負擔,因此在這種情況下可將AIS PDU的發送周期調整為1分鍾,從而減少報文發送數量。
單向丟包測試(Loss Measurement,LM)功能用來檢測MEP之間的單向丟包情況,其實現方式是:由源MEP發送LMM(Loss Measurement Message,丟包測試報文) PDU給目標MEP,目標MEP收到該報文後,會發送LMR(Loss Measurement Reply,丟包測試應答) PDU給源MEP,源MEP則根據兩個連續的LMR PDU來計算源MEP和目標MEP間的丟包數,即源MEP從收到第二個LMR PDU開始,根據本LMR PDU和前一個LMR PDU的統計計數來計算源MEP和目標MEP間的丟包數。
如圖7所示,源MEP發送LMM PDU時會填充當前接口的發包統計計數TxFCf,目標MEP收到該報文後,會獲取當前接口的收發包統計計數,並向源MEP回應。LMR PDU中攜帶以下統計值:
· TxFCf:從收到的最後一個LMM PDU中的TxFCf字段複製而來。
· RxFCf:收到最後一個LMM PDU時,當前接口的收包統計計數。
· TxFCb:發送LMR PDU時,當前接口的發包統計計數。
源MEP收到LMR PDU後(至少需要兩次報文交互過程),進行丟包統計的計算公式如下:
· 遠端丟包數=|TxFCb[tc] – TxFCb[tp]| – |RxFCb[tc] – RxFCb[tp]|
· 本端丟包數=|TxFCf[tc] – TxFCf[tp]| – |RxFCl[tc] – RxFCl[tp]|
其中,tc表示前一次收發的測試報文,tp表示當前一次收發的報文。
圖11 單向丟包測試示意圖
如圖11所示,Device A與Device B之間的單向丟包測試過程如下:
(1) Device A以100毫秒為間隔向Device B發送指定數量(缺省為5個)的LMM PDU,報文中填充有發送接口的發包統計計數TxFCf。
(2) Device B收到LMM PDU時,先獲取當前接口的收包統計計數RxFCf,並在向Device A回應LMR PDU時獲取當前接口的發包統計計數TxFCb。LMR PDU中會同時填充有TxFCf、RxFCf和TxFCb。後向Device A回應DMR PDU,其中填充有TxTimef、RxTimef和TxTimeb
(3) Device A收到LMR PDU時,先獲取當前接口的收包統計計數RxFCl。從收到第二個LMR PDU開始,Device A就按前麵的公式分別計算遠端和本端的丟包數,並記錄本次交互的計算結果。在本次測試完成後再進行平均的測試統計結果。
單向丟包測試結果的準確度依賴於發送LMM PDU和LMR PDU,以及接收LMM PDU時,獲取硬件統計計數的及時性和和準確性。一般需要硬件支持直接向報文中填充報文的收發統計計數。
幀時延測試(Delay Measurement,DM)功能用來檢測MEP之間報文傳輸的時延情況,分為單向時延測試和雙向時延測試兩種:
單向時延測試功能的實現方式是:源MEP發送1DM(One-way Delay Measurement,單向時延測試) PDU給目標MEP,該報文中攜帶有其發送時間。目標MEP收到該報文後記錄其接收時間,並結合其發送時間來計算並記錄鏈路傳輸的時延和抖動(即時延變化值)。
如圖7所示,1DM PDU中的TxTimeStampf字段填充源MEP的發送時間TxTimef,RxTimeStampf字段填充目標MEP的接收時間RxTimef。源MEP會以100毫秒為間隔發送指定數量(缺省為5個)的1DM PDU。目標MEP收到該報文後,計算RxTimef與TxTimef的差值即為此次測試的時延。時延抖動則是本次測出的時延與已測出的最小時延的差值。單向時延測試要求測試設備之間已完成時鍾同步,否則測試出的時延有較大誤差,而隻能進行時延抖動測試。
雙向時延是用於測量報文從本端發送到接收的一次往返過程中,報文在鏈路上的消耗時間。測試是從源MEP向目的MEP發送測試請求報文,然後在接收到目的MEP的應答報文後,根據應答報文的接收時間和測試請求的發送時間的差值計算雙向報文時延。
如圖7所示,DMM PDU中的TxTimeStampf字段填充源MEP的發送時間TxTimef,目標MEP收到此報文後直接將其中的TxTimef填充到DMR PDU中,並在DMR PDU中填充上DMM PDU的接收時間RxTimef和DMR PDU的發送時間TxTimeb。
源MEP在收到DMR PDU後,需要獲取到DMR PDU的接收時間RxTimeb。如果報文中填充了DMM PDU的接收時間和DMR PDU的發送時間,則可根據以下公式計算出報文往返消耗在鏈路上的雙向時延:雙向鏈路時延= (RxTimeb – TxTimef) – (TxTimeb – RxTimef);否則,隻能計算出雙向報文時延= RxTimeb – TxTimef。
圖12 雙向時延測試示意圖
如圖12所示,Device A與Device B之間的雙向時延測試過程如下:
(1) Device A以100毫秒為間隔向Device B發送指定數量(缺省為5個)的DMM PDU,報文中填充有發送時間TxTimef。
(2) Device B收到DMM PDU後向Device A回應DMR PDU,其中填充有TxTimef、RxTimef和TxTimeb。
(3) Device A收到DMR PDU後,計算出本此交互的雙向鏈路時延。從收到第二個DMR PDU開始,還要計算出雙向時延抖動和平均雙向時延。
比特錯誤測試功能用來測試MEP之間的報文比特錯誤。由源MEP發送指定數量的TST(Test,比特錯誤測試) PDU給目標MEP(每個TST PDU都攜帶不同的遞增序號),該報文中攜帶有偽隨機序列或全0值。目標MEP收到該報文後,根據其中指定的測試模式和測試比特內容進行計算和比較,從而確定報文是否有比特錯誤。測試的比特長度為32位,有以下幾種測試模式:
· 全0比特不帶校驗和
· 全0比特帶校驗和
· 偽隨機比特帶校驗和
· 偽隨機比特不帶校驗和
由於CCM PDU的發送周期跨度很大,從3.3毫秒到10分鍾。但是,3.3毫秒的CCM PDU發送周期會對業務板上其它業務的性能產生影響,而其它業務對CPU的搶占也會影響CCM PDU的發送精度。因此,H3C可采用單獨的輔助CPU來處理這種快速報文的發送和接收,檢測結果通過主CPU之間以及主CPU與輔助CPU之間的通信來通知MEP所在的業務板。
Smart Link實現了主備鏈路的冗餘備份和快速遷移。在雙上行組網中,當主用鏈路出現故障時,設備自動將流量切換到備用鏈路,這樣就實現了主備鏈路的冗餘備份。但是,對於傳輸鏈路上的設備或鏈路自身發生的故障(如光纖鏈路發生單通、錯纖、丟包等故障)以及此類故障的恢複,Smart Link本身是無法感知的。
H3C通過將Smart Link與CFD協議的連續性檢測功能進行聯動,可以對上述故障的發生或恢複進行檢測。其原理如下:MEP周期性地發送CCM PDU,同一MA內的其它MEP收到該報文後便能獲知遠端MEP的狀態。若MEP在3.5個發送周期內仍未收到該報文,便認為鏈路有問題,於是通知Smart Link重新計算Smart Link的鏈路狀態,以便進行鏈路切換。
H3C支持LTM PDU的自動發送,當本端MEP在3.5個CCM PDU發送周期內未收到遠端MEP發來的CCM PDU時,便判定與遠端MEP的連接中斷,本端MEP會自動發送LTM PDU,並通過檢測回應的LTR PDU來定位故障。這個過程也會被記錄下來,使網絡管理員可以在事後查看故障的時間和路徑等信息。
圖13 以太網OAM典型應用組網圖
以太網OAM在城域網的典型應用如圖13所示,可分為以下兩個層次進行部署:
· 在CE設備與PE設備之間的鏈路上部署EFM OAM:通過CE設備與PE設備之間定時互發Information OAMPDU來檢測用戶業務接入鏈路的連通性。網絡管理員可以通過觀察錯誤幀的情況,來判斷CE設備與PE設備之間鏈路的性能;通過遠端環回功能可以檢測鏈路的質量,或在發生鏈路故障時進行故障定位。
· 在接入彙聚層的網絡中部署CFD:先根據設備所屬的ISP來劃分MD,把同一ISP管理下的設備劃分在同一MD中;再根據業務來劃分MA,使每個MA對應一個VLAN。CFD通過MA內的各MEP定時互發CCM PDU來檢測MA內網絡的連通性。當檢測到連通性故障後進行報警,網絡管理員可以通過環回測試、鏈路跟蹤、單向丟包測試等功能進行故障定位、路徑查找或鏈路測試。
· IEEE 802.3ah:Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications
· IEEE 802.1ag:Virtual Bridged Local Area Networks Amendment 5: Connectivity Fault Management
· ITU-T Y.1731:OAM functions and mechanisms for Ethernet based networks