田軍,崔賀
(西安郵電學(xué)院 通信工程系,陜西 西安 710061)
在GMPLS全光網(wǎng)絡(luò)[1]下,要求具有高速的數(shù)據(jù)傳輸率的同時(shí)還要維持較高的服務(wù)質(zhì)量(QOS),在這個(gè)推動(dòng)力的作用下,需要對光的運(yùn)行狀況進(jìn)行監(jiān)控。而在光網(wǎng)絡(luò)中出現(xiàn)故障是不可避免的,所以保障網(wǎng)絡(luò)的魯棒性[2]以及傳輸業(yè)務(wù)的可靠性的關(guān)鍵是快速的故障定位[3-4]。
一般來說,由于光網(wǎng)絡(luò)的大容量性[5],故障的定位并不是一件容易的事情。由于光層故障的傳播性,有限的故障定位時(shí)間,有限的可利用的數(shù)字信息,在光網(wǎng)絡(luò)中故障定位更加復(fù)雜。并且由于光層傳輸?shù)耐该餍?,一個(gè)故障可以引發(fā)大量的告警,導(dǎo)致告警的冗余。而故障定位機(jī)制是則根據(jù)由不同網(wǎng)絡(luò)監(jiān)控設(shè)備產(chǎn)生的告警(這些監(jiān)控設(shè)備監(jiān)控不同的運(yùn)行參數(shù),這些參數(shù)就是OSI不同層的運(yùn)行參數(shù))。也就是說,告警的性質(zhì)和數(shù)量取決于監(jiān)控設(shè)備放在哪個(gè)層以及這個(gè)監(jiān)控設(shè)備的功能(能測什么樣的參數(shù))。
由于光網(wǎng)絡(luò)內(nèi)部的復(fù)雜性,傳統(tǒng)的定位故障根源的方法是從單層開始的。典型的多層網(wǎng)絡(luò)的恢復(fù)策略同樣也是基于單層的觀點(diǎn)。在光網(wǎng)絡(luò)中,常用的一個(gè)方法是自下向上的故障恢復(fù)(第一層進(jìn)行故障的定位),第一層(光層)嘗試恢復(fù)發(fā)生故障的連接,假如沒有成功,則由上層(第二層)嘗試發(fā)起恢復(fù)。本文分析故障的發(fā)現(xiàn),故障定位中面臨的挑戰(zhàn),并在現(xiàn)有的GMPLS標(biāo)準(zhǔn)的基礎(chǔ)上,提出了一種改進(jìn)的故障定位方案。
在GMPLS全光網(wǎng)絡(luò)中因?yàn)楣收系膫鞑ヌ匦裕收隙ㄎ坏闹饕獑栴}出現(xiàn)在網(wǎng)絡(luò)核心結(jié)點(diǎn)或鏈路上(骨干網(wǎng)上),尤其對中等或大型網(wǎng)絡(luò)更是如此。例如:如圖1所示,相鄰的結(jié)點(diǎn)(A,B)之間有一個(gè)故障,由于數(shù)據(jù)向下游流動(dòng),它會影響下游的數(shù)據(jù)鏈接(B,C),(C,D)。 從而導(dǎo)致大量的告警,進(jìn)而引發(fā)故障的定位和保護(hù)/恢復(fù)處理。由于故障的傳播,一個(gè)鏈路的故障會對其他鏈路產(chǎn)生影響,從而增加了定位故障根源的復(fù)雜性。更糟糕的是可能會引起沒有必要的保護(hù)和恢復(fù)機(jī)制操作。
圖1 故障的傳播Fig.1 Spread of failure
故障定位的方法可分為:分布式和集中式。集中式的方法利用單個(gè)實(shí)體(故障管理體系),它接收由監(jiān)測設(shè)備發(fā)出的所有告警,然后進(jìn)行過濾和告警的相關(guān)操作,根據(jù)全局信息去定位故障的根源。分布式的方法則是在全光網(wǎng)絡(luò)的每個(gè)結(jié)點(diǎn)放置一個(gè)故障處理單元,然后在運(yùn)行一個(gè)協(xié)議去傳播故障管理的信息,從而定位故障的根源。
對于分布式方案,依靠實(shí)時(shí)的信息或通知消息去定位故障的根源。一個(gè)具有代表性的分布式定位方法是LMP協(xié)議,它是GMPLS協(xié)議族的一部分。LMP需要另外分出一個(gè)監(jiān)控信道去定位故障,因?yàn)楫?dāng)光纖發(fā)生故障時(shí)不會影響監(jiān)控信道的工作。其他的方法都是在處理當(dāng)故障影響監(jiān)控信道時(shí)的故障定位,實(shí)質(zhì)是對LMP協(xié)議的完善。
多層網(wǎng)絡(luò)有兩個(gè)沒有解決的問題:1)各個(gè)層中功能重疊。也就是說,有些層執(zhí)行類似的功能;2)一個(gè)故障會影響許多層。本節(jié)我們將關(guān)注應(yīng)用到故障管理框架下的這兩個(gè)沒有解決的問題。
因?yàn)楣?jié)點(diǎn)的每一層都安裝了檢測裝置,所以當(dāng)故障發(fā)生時(shí)每一層都能檢測到。而由于光網(wǎng)絡(luò)中故障的傳播,許多其他的下游光路會發(fā)出告警。一個(gè)故障引發(fā)許許多多的告警,有效的多層故障發(fā)現(xiàn)的機(jī)制隨之產(chǎn)生。必須強(qiáng)調(diào)的是多層故障發(fā)現(xiàn)的告警提供的是冗余信息、互補(bǔ)信息還是其他信息?當(dāng)這個(gè)告警的目的是引發(fā)恢復(fù)機(jī)制時(shí),存在兩個(gè)主要策略會避免多層同時(shí)啟動(dòng)恢復(fù)機(jī)制。這兩個(gè)策略是規(guī)定延時(shí)時(shí)間和恢復(fù)標(biāo)志信號。換句話說,多層的故障發(fā)現(xiàn)告警對于時(shí)間順序結(jié)構(gòu)是互補(bǔ)的,但是在某一時(shí)刻的時(shí)間是冗余的。
對于看到的癥狀對應(yīng)最有可能的解釋是一個(gè)NP困難問題。但是,上層需要下層提供的服務(wù)(下層決定上層),所以經(jīng)常會出現(xiàn)一個(gè)現(xiàn)象:一個(gè)很小的下層問題會對上層的業(yè)務(wù)產(chǎn)生很大的影響。所以,在故障管理中要融合跨層的故障診斷。目前,很難實(shí)現(xiàn)上述的目標(biāo),因?yàn)楣收显谙蛏蠈觽鲿r(shí)語義也隨之改變。其次,建立一個(gè)體系模型是非常困難的,以及在這個(gè)系統(tǒng)中分析也是很復(fù)雜的。由于在兩個(gè)節(jié)點(diǎn)相同層之間的故障的水平傳播,以及在節(jié)點(diǎn)內(nèi),故障的垂直傳播。目前還沒有完善的故障定位技術(shù)。總之,要完全的解決上述問題需要融合不同的技術(shù)。
在數(shù)據(jù)高速率傳輸?shù)木W(wǎng)絡(luò)中另一個(gè)非常重要的方面是故障定位的時(shí)延。因?yàn)樗苯佑绊懙綐I(yè)務(wù)量的丟失。當(dāng)發(fā)生故障時(shí),數(shù)據(jù)包將一直丟失,直到把連接轉(zhuǎn)換到備用連接上才可以進(jìn)行正常的通信(這個(gè)備用連接是在鋪設(shè)網(wǎng)絡(luò)時(shí)預(yù)留的,或在發(fā)現(xiàn)故障時(shí)快速臨時(shí)建立的)。故障定位的時(shí)延Tloc=Tdet+Thold-off+Tnotif。Tdet是故障發(fā)現(xiàn)的時(shí)間 (由監(jiān)控技術(shù)決定)。Thold-off是截止時(shí)間,由多層網(wǎng)絡(luò)中故障定位策略決定(定時(shí)器或恢復(fù)標(biāo)志信號)。Tnotif是故障的通知時(shí)間,當(dāng)定位了故障根源并把它隔離后完成送信息的時(shí)間(由故障的通知方法和信息傳遞的時(shí)間決定)。
在GMPLS多層網(wǎng)絡(luò)中,高效的故障定位應(yīng)該考慮下面的參數(shù):在維持少的定位時(shí)延下對于Capex和Opex的支出。Capex包括:故障發(fā)現(xiàn)以及全網(wǎng)絡(luò)的監(jiān)控設(shè)施的投入(節(jié)點(diǎn)的各個(gè)層次的監(jiān)控的投入)。Opex包括:在保證網(wǎng)絡(luò)的QOS和生存性的條件下,故障定位以及恢復(fù)策略。在GMPLS多層網(wǎng)絡(luò)故障定位,高效的故障定位要考慮下面的一些因素。1)故障的發(fā)現(xiàn)應(yīng)盡可能近的接近故障的源頭;2)利用光層完成光復(fù)用有關(guān)的操作;3)利用多層的故障發(fā)現(xiàn)機(jī)制;4)利用上層的反饋;5)光路保護(hù)和鏈路保護(hù)的相結(jié)合。
綜合考慮上述因素,一方面,可以認(rèn)識到高層OSI協(xié)議棧中包含容納故障的能力。其次在數(shù)據(jù)傳輸網(wǎng)絡(luò)中的大多數(shù)協(xié)議,他們?yōu)榱税l(fā)現(xiàn)傳輸過程中的故障檢測都對傳輸數(shù)據(jù)進(jìn)行了冗余編碼。目前并不把這些反饋提供給物理層(光層)。但是,為了保證QOS,提出了利用上層反饋的跨層策略。另一方面,考慮到上層的監(jiān)控設(shè)備。曾經(jīng)在光網(wǎng)絡(luò)中應(yīng)用的自下而上的策略恢復(fù)機(jī)制是可以應(yīng)用在故障的定位。如果低層不能輕易的定位故障根源,則這個(gè)故障的定位的任務(wù)將交給上層的監(jiān)控器。
在實(shí)際的GMPLS網(wǎng)絡(luò)中LSP是分層的,例如發(fā)端IP網(wǎng)絡(luò)要與一個(gè)收端IP網(wǎng)絡(luò)建立500 Mbps信道帶寬,則現(xiàn)實(shí)的網(wǎng)絡(luò)模型如圖2所示。
圖2 現(xiàn)實(shí)情況下的故障定位Fig.2 Fault localization in reality
利用GMPLS協(xié)議可以實(shí)現(xiàn)分層的LSP。則它的故障定位算法流程算法如圖3所示。
由GMPLS的節(jié)點(diǎn)可知LSR3與LSR4能夠檢測到WDM的故障與frame的故障,LSR2與LSR5能夠檢測到時(shí)隙幀的故障與分組的故障。LSR1與LSR6只能檢測分組的故障。
下面舉例說明:假如第1種情況,LSR1與LSR2之間發(fā)生故障則首先LSR3與LSR4的WDM監(jiān)控檢測到故障,進(jìn)行關(guān)聯(lián)操作之后,LSR3把WDM層的告警通知距離它最近的具有幀檢測能力節(jié)點(diǎn)進(jìn)行時(shí)隙幀檢測,之后在和LSR2的幀檢測進(jìn)行關(guān)聯(lián)操作,LSR1的分組檢測進(jìn)行關(guān)聯(lián)操作,最終定位故障的根源LSR1的輸出鏈路上。假如第2種情況,在LSR4與LSR5之間發(fā)生故障,則LSR3與LSR4的WDM檢測沒有檢測到故障,但是LSR5的幀檢測檢測到故障,它與LSR3的第2層進(jìn)行相關(guān)操作,進(jìn)而定位故障在LSR3的輸出端。
上述算法用到的協(xié)議是改進(jìn)的LMP協(xié)議[6]。它是通過控制平面來實(shí)現(xiàn)故障的定位。當(dāng)?shù)?層發(fā)現(xiàn)故障時(shí),則第一層的監(jiān)控設(shè)備就會向控制平面發(fā)送一個(gè)告警信號,同理,第2層,第3層檢測到故障時(shí),也會向控制平面發(fā)送告警信號。下文以第一層為例,說明改進(jìn)的LMP協(xié)議。
圖3 有LSP分層的故障定位流程圖Fig.3 LSP hierarchical flow diagram of the fault localization
一般來說,兩個(gè)相鄰節(jié)點(diǎn)的數(shù)據(jù)鏈路故障可以影響許多下游鏈路(下游指的是數(shù)據(jù)的流動(dòng)),從而造成許多告警進(jìn)而觸發(fā)保護(hù)和恢復(fù)的處理。為了避免不必要的保護(hù)和恢復(fù)處理,提高網(wǎng)絡(luò)的效率,必須有一個(gè)快速,簡單的故障定位方案。雖然目前的GMPLS標(biāo)準(zhǔn)提供了方法去定位和數(shù)據(jù)鏈路的故障,但是這個(gè)方案沒有全面的考慮。造成了不必要的資源浪費(fèi)。
通過對故障定位機(jī)制的定義,當(dāng)一個(gè)數(shù)據(jù)鏈路故障發(fā)生時(shí),每個(gè)發(fā)現(xiàn)故障的下游節(jié)點(diǎn)將通知上游臨近的節(jié)點(diǎn)一個(gè)消息。這個(gè)消息是故障鏈路信息中的一個(gè)—鏈路狀態(tài)信息。每個(gè)上游節(jié)點(diǎn)一旦收到這個(gè)故障通知信息,他就會給臨近的下游節(jié)點(diǎn)一個(gè)鏈路狀態(tài)信息收到的確認(rèn)信息,目的是通知下游節(jié)點(diǎn)我已經(jīng)收到了鏈路狀態(tài)信息。接著,凡是收到故障通知的節(jié)點(diǎn)將執(zhí)行各自的故障相關(guān)處理。從而判斷故障是否是相應(yīng)的LSP中的本身的故障。如果上游節(jié)點(diǎn)發(fā)現(xiàn)這個(gè)故障是自己內(nèi)部的或輸出端口的,則這個(gè)上游節(jié)點(diǎn)定位這個(gè)故障,然后發(fā)送一個(gè)故障的告警去引發(fā)相應(yīng)的路徑保護(hù)和恢復(fù)處理。同時(shí),所有的收到故障通知的節(jié)點(diǎn)將給他的相應(yīng)的下游節(jié)點(diǎn)發(fā)送一個(gè)信道狀態(tài)的信息去指示目前那個(gè)有問題鏈路的狀態(tài)(故障或正常)。如果下游節(jié)點(diǎn)沒有收到信道狀態(tài)信息,他將請求他的上游節(jié)點(diǎn)發(fā)送信道狀態(tài)信息,也就是下游向上游發(fā)送信道狀態(tài)信息請求信息。上游節(jié)點(diǎn)收到信道狀態(tài)信息請求信息必須回復(fù)一個(gè)信道狀態(tài)回復(fù)信息去告之下游節(jié)點(diǎn)鏈路的狀態(tài)。在目前的方案中,兩個(gè)相鄰節(jié)點(diǎn)故障定位的過程可以用圖4來說明。在一個(gè)擁有許多節(jié)點(diǎn)的網(wǎng)絡(luò)中,受到數(shù)據(jù)鏈路故障影響的所有相鄰節(jié)點(diǎn)有相同的過程。
圖4 目前方案下相鄰節(jié)點(diǎn)的故障定位處理Fig.4 Adjacent nodes of the fault location processing
這個(gè)故障定位方案有兩個(gè)嚴(yán)重不足的地方從而導(dǎo)致網(wǎng)絡(luò)性能的下降。首先,所有收到故障通知信息的節(jié)點(diǎn)將執(zhí)行故障相關(guān)的操作。事實(shí)上,沒有必要每個(gè)節(jié)點(diǎn)都執(zhí)行故障相關(guān)的操作,只有那些與故障相鄰的節(jié)點(diǎn)執(zhí)行故障相關(guān)的操作就已經(jīng)足夠去定位故障。這將導(dǎo)致許多沒有必要的故障處理,而且因?yàn)檎加迷S多網(wǎng)絡(luò)資源,會造成網(wǎng)絡(luò)節(jié)點(diǎn)的效率降低,影響其他的一些緊迫操作。其次,在目前的故障定位過程有許多的冗余信息。目前的故障定位處理過程中,受到故障影響的每對相鄰節(jié)點(diǎn)至少要3個(gè)信息的交互。而通過修改發(fā)送信息的順序,其實(shí)2個(gè)信息就足夠完成同樣的功能。當(dāng)一個(gè)數(shù)據(jù)鏈路的故障影響許多節(jié)點(diǎn)時(shí),冗余的信息交互很大的浪費(fèi)了控制信道的資源,增加了網(wǎng)絡(luò)節(jié)點(diǎn)的負(fù)擔(dān)。
基于上述提到的問題,文中提出一個(gè)新的故障定位處理方法,該方法應(yīng)用雙向數(shù)據(jù)鏈路故障通知方法取代最新的GMPLS標(biāo)準(zhǔn)下的方案。在此方案中,當(dāng)一個(gè)節(jié)點(diǎn)發(fā)現(xiàn)一個(gè)數(shù)據(jù)鏈路故障時(shí),他將同時(shí)向上游和下游節(jié)點(diǎn)發(fā)送鏈路狀態(tài)信息。發(fā)送到上游相鄰節(jié)點(diǎn)的信息被用來通知鏈路故障,他的作用幾乎和目前解決方案中發(fā)送的鏈路故障信息的作用一樣。發(fā)送到下游相鄰節(jié)點(diǎn)的鏈路狀態(tài)信息有兩個(gè)作用。一個(gè)是通知下游節(jié)點(diǎn)它們之間的鏈路是正常的。這樣就可以避免了正常的數(shù)據(jù)鏈路被錯(cuò)誤的隔離以及消除不必要的故障相關(guān)操作;另外一個(gè)作用是通知下游節(jié)點(diǎn)它已經(jīng)找到了鏈路的故障,它已經(jīng)收到了從下游節(jié)點(diǎn)發(fā)來的故障通知信息從而避免了同樣的信息重復(fù)發(fā)送。
當(dāng)一個(gè)節(jié)點(diǎn)收到故障通知信息時(shí),將證實(shí)是否已經(jīng)在它們之間的鏈路上發(fā)現(xiàn)了故障。如果節(jié)點(diǎn)沒有在它們之間的鏈路上發(fā)現(xiàn)故障的記錄,他將執(zhí)行故障關(guān)聯(lián)處理,確定故障的位置,這個(gè)操作和目前故障定位的操作類似。一旦定位了這個(gè)故障,這個(gè)節(jié)點(diǎn)就發(fā)送故障告警信息發(fā)起相應(yīng)的路徑保護(hù)和恢復(fù)處理。然后,通知它的下游相鄰節(jié)點(diǎn)這個(gè)問題的鏈路的狀態(tài)。相反,如果節(jié)點(diǎn)收到了故障通知消息,它正好也檢測到這個(gè)鏈路的故障,就確認(rèn)這個(gè)故障發(fā)生在上游鏈路,這個(gè)節(jié)點(diǎn)沒有必要執(zhí)行故障定位操作。所以這個(gè)節(jié)點(diǎn)忽略了故障通知信息。圖5說明了在有4個(gè)節(jié)點(diǎn)網(wǎng)絡(luò)的新方案。通過應(yīng)用新的方案,有下面的優(yōu)勢:
圖5 改進(jìn)的故障定位方案Fig.5 Improved fault localization program
1)對于定位數(shù)據(jù)鏈路故障的信令的開銷可以大幅降低。除了在受到鏈路故障影響的大多數(shù)相鄰節(jié)點(diǎn)之間的信令的交互和目前的方案相同,其他的節(jié)點(diǎn)通過兩個(gè)方向同時(shí)通知鏈路發(fā)生了故障,用了兩個(gè)信令信息完成了相同的功能(目前的方案用3個(gè)信令信息)。因?yàn)閿?shù)據(jù)鏈路的故障經(jīng)常影響網(wǎng)絡(luò)中的許多節(jié)點(diǎn),所以該方案可以大幅減少定位鏈路故障的信令的開銷。
2)大幅降低占用的網(wǎng)絡(luò)資源。在我們的方案中,受到故障影響的所有節(jié)點(diǎn),僅僅一個(gè)節(jié)點(diǎn)需要執(zhí)行故障相關(guān)操作。因此,網(wǎng)絡(luò)節(jié)點(diǎn)定位故障的時(shí)間大幅降低。由于減少了信令開銷,從而降低了控制信道的帶寬和節(jié)點(diǎn)的信息處理時(shí)間。
3)可以避免錯(cuò)誤的隔離正常的鏈路。在此方案中,當(dāng)一個(gè)數(shù)據(jù)鏈路故障發(fā)生時(shí),受到影響的鏈路的狀態(tài)將快速的通知相應(yīng)的受到影響的節(jié)點(diǎn)。這個(gè)方法可以避免正常數(shù)據(jù)鏈路由于上游節(jié)點(diǎn)的故障而被錯(cuò)誤的隔離,這些正常的鏈路還可以用來支持新的連接建立的請求。所以避免了不必要的網(wǎng)絡(luò)資源浪費(fèi),降低網(wǎng)絡(luò)資源的阻塞率。
GMPLS光網(wǎng)絡(luò)作為下一代新型網(wǎng)絡(luò),它需要具有高速的數(shù)據(jù)傳輸率以及高質(zhì)的服務(wù)質(zhì)量,因而一旦出現(xiàn)故障將會對網(wǎng)絡(luò)造成很壞的影響,所以故障的快速定位就顯得尤為重要。本文在GMPLS光網(wǎng)絡(luò)現(xiàn)有的標(biāo)準(zhǔn)下提出了一種改進(jìn)的故障定位方案,完善了其故障定位方面的一些功能,這對GMPLS光網(wǎng)絡(luò)的發(fā)展有著一定意義。
[1]E.Mannie Ed.Generalized Multi-Protocol Label Switching(GMPLS) Architecture[S].Interface,2004.
[2]Pinart C.A multilayer fault localization framework for IP over all-optical multilayer networks[J].IEEE Network,2009(5):4-9.
[3]GUO Hai-bo,KUO Geng-sheng.Improvements on fault localization in GMPLS-based networks[J].IEEE HPSR,2005(5):94-99.
[4]Li G,Yates J,Wang D,et al.Control plane design for reliable optical networks[J].IEEE Communication Magazine,2002(2):90-96.
[5]Banerjee A,Drake L,Lang L,et al.Generalized multiprotocol label switching:an overview of signaling enhancements and recovery techniques[J].IEEE Communication Magazine,2001(7):144-151.
[6]Ed J L.Link management protocol (LMP)[J].IETF RFC 4204,2005(10):12-15.