余張軍,滕惠玲,沈瓊霞
(1.武漢郵電科學(xué)研究院 湖北 武漢 430074;2.烽火通信科技股份有限公司 湖北 武漢 430074)
以太網(wǎng)技術(shù)自發(fā)明以來,已有接近40年歷史,但由于其簡單性、低成本,高擴(kuò)展性以及對突發(fā)流量有很好的支持,仍舊煥發(fā)著生機(jī)。近年來,以太網(wǎng)服務(wù)需求爆炸性增長,使得網(wǎng)絡(luò)運營商、設(shè)備制造商以及標(biāo)準(zhǔn)化組織致力于將這一技術(shù)向城域網(wǎng)和廣域網(wǎng)拓展[1]。以太網(wǎng)最初是為局域網(wǎng)開發(fā)的,因為其小規(guī)模的網(wǎng)絡(luò)以及鏈路長度短,所以一開始以太網(wǎng)設(shè)計沒有建立管理和維護(hù)的機(jī)制。而相對于局域網(wǎng),城域網(wǎng)和廣域網(wǎng)在鏈路長度和網(wǎng)絡(luò)規(guī)模上都迅速擴(kuò)大,由于缺少有效管理維護(hù)機(jī)制,傳統(tǒng)城域網(wǎng)和廣域網(wǎng)應(yīng)用以太網(wǎng)技術(shù)受到很大的局限。 OAM(Operation ,Administration , Maintenance)[2],可以有效提高對以太網(wǎng)的管理和維護(hù)能力,保障網(wǎng)絡(luò)的穩(wěn)定運行,能有效降低運營維護(hù)成本,提供可靠、穩(wěn)定的網(wǎng)絡(luò)服務(wù),成為以太網(wǎng)發(fā)展的必然趨勢。目前標(biāo)準(zhǔn)化組織正大力推動OAM機(jī)制標(biāo)準(zhǔn)化[3],而ITU-TY.1731協(xié)議包括了故障管理和性能監(jiān)控兩大方面,是現(xiàn)有以太網(wǎng)OAM標(biāo)準(zhǔn)協(xié)議中最全面的一個協(xié)議。
Y.1731是以太網(wǎng)類型為0x8902的協(xié)議族,它是一種二層鏈路上基于VLAN的端到端OAM機(jī)制[4]。用于在二層網(wǎng)絡(luò)中檢測鏈路連通性,確認(rèn)故障并確定故障發(fā)生的位置[5]。Y.1731定義了維護(hù)實體群(MEG),在這個基礎(chǔ)上定義了維護(hù)實體群端點(MEP)和維護(hù)實體群中間節(jié)點(MIP)。根據(jù)功能劃分為故障管理和性能監(jiān)控兩個部分。在故障管理部分的功能有:連續(xù)性檢測、環(huán)回檢測以及鏈路跟蹤、以太網(wǎng)告警指示信號和以太網(wǎng)鎖定信號。在性能監(jiān)控方面分為幀丟失率測量(LM)和幀時延測量(DM)。 這里簡要介紹CC、LT、LB功能。
以太網(wǎng)連通性檢測(ETH-CC)是主動OAM功能,用于檢測同一個MEG中任一對MEP的連通狀態(tài)[6]。因此CC是保證業(yè)務(wù)正常收發(fā)的前提[7]。MEP周期性地向同一個MEG的其他MEP發(fā)送CCM報文,同時也接收其他MEP的CCM報文。當(dāng)一個MEP在傳輸周期的3.5倍時間內(nèi)沒有收到對端MEP發(fā)來的CCM,則認(rèn)為鏈路有問題,上報故障類型。發(fā)送CCM的周期是可配的,但在同一個MEG內(nèi),必須相同。
環(huán)回檢測(LB,Loop Back)是功能中稍微簡單一點的,是一種按需的功能,類似于我們平常在pc上使用的ping功能,是基于vlan的二層MAC-Ping協(xié)議。在實現(xiàn)該功能的時候,我們?nèi)ツ7聀ing功能操作方式、顯示方式等等。Y.1731配置連接后,本端MEP發(fā)送LBM報文到指定的遠(yuǎn)端MEP或MIP,正常情況下,遠(yuǎn)端MEP或MIP在規(guī)定時間內(nèi)會收到遠(yuǎn)端MEP或者M(jìn)IP響應(yīng)的LBR報文。本端MEP接收到LBR幀后,對比本端發(fā)送的LBM報文判斷該LBR幀是不是期望的報文。若是期望的報文,則顯示正確信息給用戶,否則顯示超時或者響應(yīng)告警信息。
故障定位,也稱以太網(wǎng)鏈路追蹤功能(ETH-LT),是一種按需的功能,可以理解為IPTrace在二層以太網(wǎng)的延伸,是基于VLAN的二層MAC-Trace協(xié)議。Y.1731源端通過發(fā)送LTM和接收LTR報文來檢測同一個MEG內(nèi)Y.1731故障定位LTM使用2類組播MAC,LTR都是使用單播地址。本端MEP發(fā)起Y.1731故障定位查詢報文后,鏈路中所有中間MIP以及終點MEP向本端MEP響應(yīng)LTR消息,其中MIP還會轉(zhuǎn)發(fā)Y.1731故障定位查詢消息,直到到達(dá)目的MIP/MEP。通過LTR,我們可以得到對端MEP/MIP的MAC地址和距離源MEP的大概位置。
圖1 鏈路跟蹤基本原理Fig.1 The basic schematic diagram of link trace
在正常情況下,設(shè)備按步驟配置了MEP后就會互相發(fā)送CCM消息,CCM消息為故障確認(rèn)和定位提供了可能。當(dāng)一個MEP在傳輸周期的3.5倍時間內(nèi)沒有收到對端MEP發(fā)來的CCM,則認(rèn)為鏈路有問題,此時本端MEP就會上報故障告警信息[1]。管理員收到告警信息之后,就會要進(jìn)行故障的確認(rèn)和定位。環(huán)回功能,按需發(fā)送LBM幀,以及收到對端響應(yīng)的LBR幀,我們就可以確認(rèn)一個節(jié)點到另外一個節(jié)點之間出現(xiàn)了故障。但是現(xiàn)在我們還不知道故障區(qū)域的詳細(xì)的鏈路信息。這個時候根據(jù)鏈路跟蹤功能,管理員按需使能LT功能,發(fā)送LTM幀來跟蹤故障鏈路的位置。我們可以通過返回的LTR幀解析之后,先在較大級別的MEG中確認(rèn)故障的位置,通過顯示的信息來查找故障位置。如果沒有找到,則降低一個MEG級別縮小范圍繼續(xù)找,直到找到故障的具體位置。其流程如圖2所示。
圖2 故障確認(rèn)與定位流程Fig.2 Fault confirm and locate circuit
鏈路跟蹤功能是三大功能中相對較為復(fù)雜,涉及到對響應(yīng)的LTR報文進(jìn)行排序。當(dāng)MEP發(fā)送完LTM報文后,就會等待5秒鐘的時間內(nèi)接收一個具有與其交易號碼的LTR幀,在此期間,將LTR幀中正確的信息提取出來,加到LTR鏈表,如果超時,就不會再接收交易號碼相同的LTR報文。剩下的,我們就要對收到并存儲的LTR節(jié)點信息進(jìn)行排序和刪除:
第一步,我們先遍歷一下LTR鏈表,看是否能找到ltrTerMep標(biāo)志為1的信息節(jié)點,如果找不到,則直接輸出Ltr鏈表路徑,并提示沒有到達(dá)目的MEP。
第二步,如果找到,首先刪除LTR鏈表的Ltr節(jié)點,然后將標(biāo)志為1的Ltr節(jié)點置于鏈表頭,再將該標(biāo)志位節(jié)點的數(shù)據(jù)結(jié)構(gòu)中前一hop端口的2到7位與源MEP的MAC地址相比。
第三步,如果比較結(jié)果相同,就將LTR數(shù)據(jù)結(jié)構(gòu)ltrTerMep為1的節(jié)點后面所有的LTR節(jié)點刪掉,同時顯示排好的鏈表路徑。如果比較結(jié)果不同,則繼續(xù)遍歷處于ltrTerMep信息節(jié)點之后的Ltr鏈表??茨懿荒苷业綆乱籬op端口信息的2-7位與前面提到的前一hop端口信息的2到7位相同節(jié)點,如果能找到,就調(diào)回第一步,如果不能,就將ltrTerMep標(biāo)志為1的Ltr NODE之后的LTR所有NODE都刪掉,同時打印出已經(jīng)排好的鏈路。并顯示找到目的MEP,但源MEP和目的MEP間鏈路有故障。其原理圖如圖3所示。
在正常鏈路中,我們沒有像以往那樣,收到LTR響應(yīng)報文后,首先對源MEP開始查找,而是首先查找到最后一個MEP,再根據(jù)最后一個MEP的信息,找到上一個hop,依次類推,而且在故障環(huán)境當(dāng)中,我們不會把所有節(jié)點所有路徑排列搜索一遍,這樣做的話會導(dǎo)致搜索量大,且效率低下。而是跟正常鏈路搜索方法一樣,先找最后一個節(jié)點,然后根據(jù)節(jié)點信息找上一跳。其次,在設(shè)計LTR數(shù)據(jù)結(jié)構(gòu)時候,因為當(dāng)發(fā)起一個LT功能時,會自動將LTR節(jié)點信息結(jié)構(gòu)加到LTR鏈表中,這樣會導(dǎo)致LTR鏈表一直變大,為了避免LTR鏈表無限變大,我們設(shè)置了可配置的LTR老化時間,如果超時了,就將該Ltr節(jié)點刪掉。
反向搜索效率分析,如圖4所示,有編號1到5的設(shè)備,簡要分析鏈路反向搜索過程。
圖4 鏈路搜索過程拓?fù)鋱DFig.4 Link search topology
鏈路正常情況下:
當(dāng)設(shè)備1對設(shè)備 3的 MEP發(fā)起LTM,1會收到設(shè)備 2,3,4,5相應(yīng) LTR,總共需要搜索 4個LTR信息節(jié)點,進(jìn)而找到2。然而我們需要顯示1-3的路徑,按照一般方法,我們有多個路徑可以選擇,1會先發(fā)現(xiàn)1-2-4,需要搜索3次。但是1-2-4不能到達(dá)目的MEP,然后找到1-2-5,搜素3次,然而1-2-5路徑仍然不能找到目的MEP。故最后只能找到1-2-3路徑,搜索1次。因此一般方法需要搜索4+3+3+1=11次。
同理,在反向搜索中,我們先找到3,需要搜索4次,同時根據(jù)3找到2,需要搜索3次,再根據(jù)2直接找到1,因此總共需要搜索4+3+1=8次。相比一般技術(shù),搜索次數(shù)減少了(11-8)/11=0.27 的計算量。
鏈路故障情況:
假如設(shè)備2和設(shè)備3之間鏈路斷了,設(shè)備1收不到來自3的LTR,在一般技術(shù)中,會搜索11-1=10次。而在方向搜索,設(shè)備1收到了2,4,5的LTR,因此只用檢索4次就可以知道故障點。搜索量減少了(10-4)/10=0.6。極大的提高了故障檢測與定位的效率。
按照圖5組網(wǎng)。
圖5 功能測試拓?fù)鋱DFig.5 Functional test topology
待測設(shè)備為DEV2,測試設(shè)備為DEV1;
配置:
DEV1:MEG 為 1,級別 level 5,vlan 為 1024,端口為 f 1/0/1;MEP為2,方向為DOWN方向。
DEV2:MEG 為 1,級別 level 5,vlan 為 1024,端口為 f 1/0/2;MEP為10,方向為DOWN方向。
首先按照配置建立起連接:結(jié)果如圖6所示。
圖6 CC連接圖Fig.6 CCconnection diagram
圖5 表明設(shè)備接收CCM流程是正確的,這表明兩臺中斷設(shè)備間的鏈路是聯(lián)通的。它清楚的上報了一個trap,顯示了遠(yuǎn)端mep的id,以及這個mep所在的域范圍和vlan范圍。
配置建立后,可以使用LB功能來檢測與遠(yuǎn)端的連通性,LB有兩個參數(shù)可選,一是發(fā)送LBM報文的次數(shù),一是本次報文大小。按照圖4組網(wǎng),LB功能測試配置與結(jié)果如圖6所示:待測設(shè)備發(fā)起LB功能,發(fā)送出LBM消息報文給測試設(shè)備DEV1,測試設(shè)備DEV1收到LBM后,響應(yīng)返回了與該LBM對應(yīng)的LBR報文。圖7顯示了從MAC地址為00-58-58-38-dcf4返回了10次大小為128bytes的報文,個數(shù)與大小與發(fā)送的LBM報文一致,說明LB功能發(fā)送與接收流程是正確的。
圖7 LB功能測試配置結(jié)果圖Fig.7 LB functional fest configuration diagram
LT功能測試配置與結(jié)果如圖8。配置建立之后,可以使用LT功能來給用戶提供鏈路信息,LT功能可以提供一個可選參數(shù)TTL,在不配置的情況下,默認(rèn)為64。如圖7所示,待測設(shè)備DEV2發(fā)起一次LT功能成功,待測設(shè)備顯示了正確路徑信息,如經(jīng)過的MAC地址,轉(zhuǎn)發(fā)狀態(tài),(由于本文描述的是簡單的環(huán)境,故只經(jīng)過了一跳,跳數(shù)從TTL最大數(shù),經(jīng)過一跳自減1)這說明待測設(shè)備發(fā)起LT功能的流程是正確的。
圖8 LT功能測試配置結(jié)果圖Fig.8 LT Functional test configuration diagram
文中對以太網(wǎng)Y.1731做了一個簡單的介紹分析,然后對其中故障管理三大主要功能:CC、LB、LT以及故障定位做了詳細(xì)的說明,其中對LT功能和故障確認(rèn)和定位做了重點的研究,同時重點探討了LT功能反向搜索的方法,該方法經(jīng)過與一般從源MEP查找的方法做比較,效率大大提高。同時,也提高了反饋路徑信息的準(zhǔn)確性,提高檢測故障和定位故障的效率。
[1]馬武.運營級以太網(wǎng)中的OAM[J].電信科學(xué),2006(11):15-17.MA Wu.OAM In carrier Ethernet[J].Telecommunications Science,2006(11):15-17.
[2]ITU-T Recommendation Y.1731-2008,OAM functions andmechanisms for Ethernet based networks[S].Geneva:Telecommunication Standrdization Sector of ITU,2006.
[3]陶映旭,胡建萍.ITU-TY.173 1的軟件實現(xiàn)與優(yōu)化分析[D].杭州:杭州電子科技大學(xué),2011.
[4]郭斌.VLAN技術(shù)在網(wǎng)絡(luò)中的應(yīng)用 [J].計算機(jī)與現(xiàn)代化,2002(12):18-19.GUO Bin.VLAN technology applications in the network[J].Computer and Modernization,2002(12):18-19
[5]唐苗.連通性檢測協(xié)議模塊的設(shè)計與實現(xiàn)[D].武漢:華中科技大學(xué),2011.
[6]國際電信聯(lián)盟ITU-T Y.1731建議書[S].日內(nèi)瓦:國際電信聯(lián)盟電信標(biāo)準(zhǔn)化部門,2006.
[7]Station and media access control connectivity discovery[S].New York :The institute of Electrical and Electronics Engineers,Inc, 2005.