羅智華,張武洪
(咸寧職業(yè)技術(shù)學(xué)院,湖北 咸寧 437100)
OAM(Operations,Administration and Maintenance,操作、管理和維護(hù))機(jī)制在傳統(tǒng)電信網(wǎng)中已應(yīng)用很久了[1],該機(jī)制用于檢測網(wǎng)絡(luò)中是否存在故障以及故障存在的位置,并對故障進(jìn)行隔離告警,從而保障網(wǎng)絡(luò)的正常運(yùn)行。802.1ag是網(wǎng)絡(luò)級以太網(wǎng)OAM技術(shù),常用于網(wǎng)絡(luò)的接入?yún)R聚層,用于對整個網(wǎng)絡(luò)的連通性進(jìn)行檢測并進(jìn)行連通性故障定位[2]。它把整個網(wǎng)絡(luò)劃分成最多8個層次(0-7層)的維護(hù)域(MD, Maintenance Domain)。維護(hù)管理人員可以對域內(nèi)的通信設(shè)備進(jìn)行相應(yīng)的OAM操作, 但OAM報文只在域內(nèi)有效, 在域邊界被丟棄或者被過濾掉[3]。
維護(hù)域內(nèi)參與維護(hù)監(jiān)控的節(jié)點(diǎn)稱為維護(hù)點(diǎn)(MP,Maintenance Point), MP配置在bridge的某個需要監(jiān)控的端口上。MP有兩種,一種稱為維護(hù)關(guān)聯(lián)端點(diǎn)( MEP,Maintenance association End Point),位于維護(hù)域的邊緣;另一種稱為維護(hù)域中間節(jié)點(diǎn)(MIP,Maintenance domain Intermediate Point),MIP能夠響應(yīng)某些OAM報文,但不會主動發(fā)起OAM報文,對途經(jīng)的以太網(wǎng)其他報文也不采取任何動作[4]。每個MD內(nèi)都有兩個或者兩個以上MEP,這些MEP的組合稱為維護(hù)關(guān)聯(lián)(MA,Maintenance Association),每個MA都對應(yīng)一個服務(wù)實(shí)例。802.1ag就是對每一個MA來進(jìn)行維護(hù)管理,檢測MA中的故障。
圖1 以太網(wǎng)OAM 體系結(jié)構(gòu)圖[5]
連續(xù)性檢測功能是一種主動功能,用于偵測處于同一個維護(hù)域中的任一對MEP之間的是否處于連通狀態(tài),同時檢測兩個維護(hù)域之間或者同一個維護(hù)域中的MEP之間是否存在錯誤連接,以及其他一些缺陷情況[6]。同一個維護(hù)域內(nèi)的MEP周期性地向其他MEP發(fā)送CCM(Continuity Check Message)報文,同時也接收其他MEP的CCM報文。
環(huán)回檢測是一種按需功能。同一個維護(hù)域內(nèi)的本地MEP發(fā)送LBM(Loopback Message)報文到指定的遠(yuǎn)端MEP或MIP。在無故障的情況下,遠(yuǎn)端MEP或者M(jìn)IP會在規(guī)定時間內(nèi)進(jìn)行響應(yīng),并發(fā)送LBR(Loopback Reply)響應(yīng)報文給本地MEP。本地MEP接收到LBR報文后,會對本端發(fā)送的LBM報文進(jìn)行比對,從而判斷該LBR報文是否是期望的報文,如果是期望的報文,則顯示正確信息給用戶,否則顯示超時或者告警信息[7]。
環(huán)回檢測是一種按需功能。同一個維護(hù)域內(nèi)的MEP發(fā)送LTM(Linktrace Message)報文到指定的遠(yuǎn)端MEP, MEP接收并處理LTM報文并回復(fù)LTR(Linktrace Reply)信號,來檢測故障點(diǎn)。在以太網(wǎng)OAM報文中設(shè)置類似于IP包中TTL字段, 啟用鏈路跟蹤功能時,該字段值被初始化為1, 然后逐漸增加, 通過軟件方式使通信設(shè)備記錄下需要被跟蹤路徑的MAC地址[8]。
本軟件模塊運(yùn)行于vxworks或者Linux等嵌入式系統(tǒng)中。整個軟件模塊分為7個子模塊,分別為:控制子模塊、定時器子模塊、數(shù)據(jù)收發(fā)子模塊、CCM報文處理子模塊、LBM和LBR報文處理子模塊、LTM和LTR報文處理子模塊、告警與統(tǒng)計(jì)信息處理子模塊。整體流程為:控制子模塊接收并處理網(wǎng)管系統(tǒng)下發(fā)的以太網(wǎng)OAM配置協(xié)議,根據(jù)配置協(xié)議初始化MD、MA、MIP、MEP數(shù)據(jù)結(jié)構(gòu)體,并啟動定時器子模塊和數(shù)據(jù)收發(fā)子模塊;數(shù)據(jù)收發(fā)子模塊根據(jù)控制子模塊設(shè)定的需要發(fā)送的802.1ag協(xié)議報文的類型和定時器子模塊設(shè)定的時間間隔接收或者發(fā)送以太網(wǎng)OAM報文,對于接收到的符合802.1ag協(xié)議報文格式的數(shù)據(jù),分流到對應(yīng)的報文處理子模塊中;CCM報文處理子模塊、LBM和LBR報文處理子模塊、LTM和LTR報文處理子模塊對接收到的802.1ag協(xié)議報文進(jìn)行解析,并將相應(yīng)的告警信息或者統(tǒng)計(jì)信息發(fā)送到告警與統(tǒng)計(jì)信息處理子模塊;告警與統(tǒng)計(jì)信息處理子模塊根據(jù)接收到的信息的類型產(chǎn)生對應(yīng)的告警信號或者統(tǒng)計(jì)數(shù)據(jù),并發(fā)送到網(wǎng)管系統(tǒng)中,最后在網(wǎng)管系統(tǒng)的界面里進(jìn)行顯示。
在CCM報文處理子模塊中,提取CCM報文的VLAN和MD Level后,先查找對應(yīng)的MA中的MEP,找到后然后檢查報文中目的MAC地址是否合法,如果不合法則丟棄該報文;如果合法則檢查報文中MEG ID是否合法,如果MEG ID不合法,則產(chǎn)生誤連接告警,如果合法則檢查報文中MEP ID是否在遠(yuǎn)端MEP列表中存在,如果不存在,則將遠(yuǎn)端MEP信息添加到遠(yuǎn)端MEP管理列表中,如果存在則更新遠(yuǎn)端MEP的狀態(tài)信息并檢查報文中MEP ID是否存在于配置表中,如果不存在,則產(chǎn)生未預(yù)期的MEP ID告警,如果存在,則檢查報文中CCM Interval是否和本地配置一致,如果不一致則產(chǎn)生未預(yù)期的CCM間隔告警,如果一致則結(jié)束本次處理流程。
在LBM和LBR報文處理子模塊中,構(gòu)造LBM消息,檢查已發(fā)送的LBM報文次數(shù)是否大于設(shè)定的次數(shù),如果大于,則更新最終的統(tǒng)計(jì)信息,包括發(fā)送的LBM報文個數(shù),接收的LBR報文個數(shù),延時和丟包率;如果小于,則通過數(shù)據(jù)收發(fā)子模塊發(fā)送LBM報文。發(fā)送成功之后等待接收LBR報文,如果收到了LBR報文或者等待超時未收到LBR報文,則更新最終的統(tǒng)計(jì)信息,包括發(fā)送的LBM報文個數(shù),接收的LBR報文個數(shù),延時和丟包率。
在LTM和LTR報文處理子模塊中,構(gòu)造LTM消息,并通過數(shù)據(jù)收發(fā)子模塊發(fā)送LTM報文,如果發(fā)送成功,則等待一段設(shè)定的時間(默認(rèn)5秒)接收LTR報文,如果超時未收到LTR報文,則檢查LTR列表,獲取LTR的統(tǒng)計(jì)信息。
本文以IEEE 802.1ag協(xié)議為基礎(chǔ),介紹了以太網(wǎng)OAM的基本概念和具有的功能,給出了軟件模塊設(shè)計(jì)的整體思路。目前端到端的網(wǎng)絡(luò)層OAM協(xié)議,除了IEEE 802.1ag,還有ITU-T Y.1731。Y.1731在802.1ag的基礎(chǔ)上,新增了性能管理,極大地改進(jìn)了以太網(wǎng)OAM管理機(jī)制,有助于網(wǎng)絡(luò)提供高性能、高水平的服務(wù)[9]。因此ITU-T Y.1731協(xié)議中的告警抑制功能、單向丟包測試功能、幀時延測試功能和比特錯誤測試功能[10]的實(shí)現(xiàn)還有待于進(jìn)一步研究。