攜程光網(wǎng)絡(luò)抵御光纜中斷實(shí)踐
作者簡(jiǎn)介
Lightworker,攜程網(wǎng)絡(luò)技術(shù)專家,關(guān)注光纖通信、DCI傳輸技術(shù)領(lǐng)域。
一、背景
光傳輸網(wǎng)絡(luò)(簡(jiǎn)稱OTN)是一種基于光纖技術(shù)的通信網(wǎng)絡(luò)。它利用光纖作為傳輸介質(zhì),將信息以光的形式進(jìn)行傳輸。其憑借DWDM(密集型波分復(fù)用)技術(shù)以及保護(hù)倒換技術(shù),可以實(shí)現(xiàn)大帶寬、低延遲、高可靠的數(shù)據(jù)傳輸,因此廣泛應(yīng)用于多個(gè)數(shù)據(jù)中心互聯(lián)場(chǎng)景。國(guó)內(nèi)外大型互聯(lián)網(wǎng)公司通過(guò)租用運(yùn)營(yíng)商光纖自建傳輸網(wǎng)絡(luò),能夠大大降低IDC之間數(shù)據(jù)傳輸?shù)某杀?。同樣,攜程也擁有自建的光傳輸網(wǎng)絡(luò)(簡(jiǎn)稱TOTN),主要用于承載骨干網(wǎng)跨數(shù)據(jù)中心流量以及IT辦公上網(wǎng)流量。
作為底層物理網(wǎng)絡(luò),TOTN直接面對(duì)運(yùn)營(yíng)商光纜,需應(yīng)對(duì)頻繁出現(xiàn)的光纜故障。眾所周知,國(guó)內(nèi)基建仍處于發(fā)展階段,運(yùn)營(yíng)商光纜經(jīng)常被施工挖斷。據(jù)美國(guó)運(yùn)營(yíng)商Level3的統(tǒng)計(jì),其光纖網(wǎng)絡(luò)大概每年每千公里就會(huì)中斷1次;中國(guó)電信大概每年會(huì)發(fā)生50次以上干線光纜中斷;而在印度,幾乎每天都會(huì)中斷幾次甚至十幾次??梢?jiàn),光纜中斷的次數(shù)與當(dāng)?shù)厣鐣?huì)經(jīng)濟(jì)的發(fā)展程度密切相關(guān)。
攜程TOTN自建成以來(lái),平均每年監(jiān)測(cè)到20余次光纜中斷。因此在提供大容量傳輸?shù)耐瑫r(shí),如果能夠在發(fā)生光纜故障的時(shí)候,光網(wǎng)絡(luò)可以自動(dòng)切換,使業(yè)務(wù)帶寬不受影響,甚至不感知故障,將極大的提升網(wǎng)絡(luò)可靠性。
圖1 光纜挖斷現(xiàn)場(chǎng)
二、整體架構(gòu)
攜程傳輸網(wǎng)絡(luò)為雙平面帶保護(hù)設(shè)計(jì),每個(gè)IDC部署完全獨(dú)立的2套傳輸設(shè)備,分別連接2條不同路由的光纖,組成完全獨(dú)立的2個(gè)傳輸平面。
圖2 TOTN拓?fù)鋱D
正常狀態(tài)下,業(yè)務(wù)走在直達(dá)鏈路上,當(dāng)主用光纜中斷時(shí),傳輸系統(tǒng)會(huì)將業(yè)務(wù)切換至備用通道繞行。主備通道切換時(shí)間遵循ITU-TG.783和ITU-TG.841標(biāo)準(zhǔn),小于50ms。
圖3 光網(wǎng)絡(luò)保護(hù)
圖4 光纜故障時(shí)業(yè)務(wù)流向
通過(guò)上述保護(hù)機(jī)制,能夠解決光纜中斷時(shí)業(yè)務(wù)自動(dòng)切換,帶寬不損失,并且抵御同時(shí)發(fā)生2處光纜中斷的極端情況。
但與此同時(shí),有一個(gè)問(wèn)題一直困擾我們,就是傳輸切換的時(shí)候兩端網(wǎng)絡(luò)設(shè)備端口存在flapping的情況,導(dǎo)致業(yè)務(wù)有相應(yīng)的報(bào)錯(cuò)產(chǎn)生。
三、問(wèn)題分析
網(wǎng)絡(luò)設(shè)備接口從down到up的時(shí)間因?yàn)椴煌O(shè)備不同光模塊有差異,且網(wǎng)絡(luò)層的二層及三層收斂時(shí)間因網(wǎng)絡(luò)架構(gòu)的不同存在不確定因素(通常認(rèn)為是秒級(jí)中斷),因此每次傳輸切換都會(huì)造成一定時(shí)間的業(yè)務(wù)不可用。通常表現(xiàn)在敏感業(yè)務(wù)的報(bào)錯(cuò),如Redis。Redis作為內(nèi)存數(shù)據(jù)庫(kù),對(duì)網(wǎng)絡(luò)抖動(dòng)非常敏感,幾乎每次光纜中斷切換都有感知。
比如3月17日12:00 傳輸A平面,光纖發(fā)生閃斷,骨干網(wǎng)CSR in方向錯(cuò)包。
圖5 骨干網(wǎng)報(bào)錯(cuò)
比如9月11日19:44 B平面光纜中斷,傳輸切換時(shí)Redis大量報(bào)錯(cuò),如下圖:
圖6 Redis報(bào)錯(cuò)
要解決傳輸切換導(dǎo)致網(wǎng)絡(luò)設(shè)備端口flapping問(wèn)題,業(yè)界一直沒(méi)有成熟的標(biāo)準(zhǔn)方案。通過(guò)對(duì)其它互聯(lián)網(wǎng)公司的調(diào)研,比較常用的方案是在交換機(jī)接口上配置link-delay,即路由器收到鏈路中斷的信號(hào)后,延時(shí)一段時(shí)間將鏈路狀態(tài)置為down,在這段時(shí)間里,如果鏈路恢復(fù),即保持鏈路up狀態(tài),不產(chǎn)生down狀態(tài),避免了鏈路的頻繁抖動(dòng)。
我們也嘗試了這種方式,但發(fā)現(xiàn)有諸如設(shè)備不支持、配置不生效等問(wèn)題,一直無(wú)法達(dá)到預(yù)期的效果。原因是link delay不是IEEE標(biāo)準(zhǔn),不同廠商的網(wǎng)絡(luò)設(shè)備對(duì)該功能的支持不盡相同。為此,傳輸業(yè)務(wù)的分配只能分?jǐn)傇诓煌墓饫|路由,確保光纜中斷時(shí)至少有一半業(yè)務(wù)不受影響,但這始終無(wú)法解決業(yè)務(wù)有感知的問(wèn)題。例如A端至Z端需開(kāi)通200G業(yè)務(wù),必須分?jǐn)偟絻蓚€(gè)不同平面,每個(gè)100G業(yè)務(wù)參與各自平面的倒換。
圖7 業(yè)務(wù)分?jǐn)偸疽鈭D
另外我們?cè)谡{(diào)研中發(fā)現(xiàn),有些公司為了使link-delay生效,將延時(shí)設(shè)置成2s。這樣的設(shè)置雖然使傳輸保護(hù)倒換生效,但一旦保護(hù)機(jī)制出現(xiàn)故障,路由層面的切換將因此損失2s的寶貴時(shí)間。
四、技術(shù)研究
2023年,TOTN引入了支持5ms倒換的DCI產(chǎn)品,該產(chǎn)品通過(guò)二個(gè)方面的改進(jìn)將傳輸50ms的倒換時(shí)間提升至5ms。一是應(yīng)用了磁光開(kāi)關(guān),磁光開(kāi)關(guān)原理是利用法拉第旋光效應(yīng), 通過(guò)外加磁場(chǎng)的變化來(lái)改變磁光晶體對(duì)入射偏振光偏振面的作用, 從而達(dá)到切換光路的作用。由于無(wú)機(jī)械移動(dòng)部件, 可靠性高, 并且開(kāi)關(guān)速度快;二是通過(guò)預(yù)先將備用通道的光纜參數(shù)錄入DSP芯片,在倒換時(shí)節(jié)省了重新計(jì)算參數(shù)的時(shí)間。
圖8 光開(kāi)關(guān)原理
我們希望通過(guò)縮短光開(kāi)關(guān)切換的時(shí)間,解決網(wǎng)絡(luò)設(shè)備端口flapping的問(wèn)題。但在實(shí)際應(yīng)用中,即使傳輸?shù)箵Q時(shí)間已經(jīng)壓縮到5ms,網(wǎng)絡(luò)設(shè)備的端口仍然會(huì)flapping。通過(guò)對(duì)產(chǎn)品參數(shù)的研究和調(diào)試后,我們發(fā)現(xiàn),當(dāng)光纜中斷時(shí),傳輸光層會(huì)向兩端電層板卡發(fā)送AIS信號(hào),電層板卡收到AIS信號(hào)后會(huì)向網(wǎng)絡(luò)設(shè)備發(fā)送Local_Fault告警,當(dāng)網(wǎng)絡(luò)設(shè)備收到該告警后,端口即變?yōu)閐own(IEEE 802.3ae)。通過(guò)設(shè)置傳輸系統(tǒng)延時(shí)發(fā)送該信號(hào)(默認(rèn)4*50ms),只要傳輸切換在該時(shí)間段內(nèi)完成,即不會(huì)向網(wǎng)絡(luò)設(shè)備發(fā)送該信號(hào),因此端口就不會(huì)flapping。
圖9 故障信號(hào)傳遞示意圖
在DCI產(chǎn)品成功實(shí)現(xiàn)了切換無(wú)感知后,我們希望在現(xiàn)網(wǎng)傳統(tǒng)產(chǎn)品中也找到類似的參數(shù)進(jìn)行調(diào)整。因?yàn)楦婢訒r(shí)傳遞與5ms倒換時(shí)間無(wú)關(guān),即使是50ms的倒換時(shí)間,如果能讓網(wǎng)絡(luò)設(shè)備端口不感知光纜抖動(dòng),也會(huì)對(duì)業(yè)務(wù)穩(wěn)定性帶來(lái)極大的提升。
五、 優(yōu)化方案
為了實(shí)現(xiàn)網(wǎng)絡(luò)傳統(tǒng)產(chǎn)品支持無(wú)感切換,通過(guò)與廠商技術(shù)溝通,得出的結(jié)論是需要將100GE業(yè)務(wù)映射方式由BIT透明映射調(diào)整為MAC透明映射(會(huì)中斷業(yè)務(wù)),然后再設(shè)置告警參數(shù)延時(shí)200ms傳遞。
由于TOTN從來(lái)沒(méi)有使用過(guò)MAC透明映射方式,對(duì)此,我們協(xié)調(diào)設(shè)備廠商在實(shí)驗(yàn)室專門做了MAC映射和BIT映射的測(cè)試驗(yàn)證。結(jié)論是兩種方式吞吐量沒(méi)有區(qū)別,延時(shí)有差異,BIT映射時(shí)對(duì)64-9600Byte的幀都是24us,MAC映射時(shí)隨幀長(zhǎng)增大而增大,但最大9600時(shí),也就25us,可以忽略不計(jì)。
圖10 實(shí)驗(yàn)環(huán)境拓?fù)?/span>
圖11 RFC2544測(cè)試結(jié)果
因此我們制定了優(yōu)化方案,先調(diào)整傳輸A平面,灰度運(yùn)行一段時(shí)間后再調(diào)整B平面。
六、 驗(yàn)證效果
8月18日對(duì)傳輸A平面進(jìn)行優(yōu)化:100GE業(yè)務(wù)映射方式采用MAC透明映射,告警參數(shù)延時(shí)傳遞200ms。經(jīng)測(cè)試驗(yàn)證,可實(shí)現(xiàn)傳輸光纜主備切換對(duì)網(wǎng)絡(luò)設(shè)備端口無(wú)感知,Redis無(wú)感知。
在真實(shí)的故障場(chǎng)景下也同樣得到了驗(yàn)證。如9月7日15:13傳輸A平面發(fā)生光纜中斷故障,Redis報(bào)錯(cuò)無(wú)異常尖峰。
圖12 優(yōu)化后Redis報(bào)錯(cuò)
經(jīng)過(guò)經(jīng)一個(gè)月的灰度驗(yàn)證后,我們于9月15日對(duì)傳輸B平面進(jìn)行優(yōu)化,并且將告警參數(shù)延時(shí)傳遞時(shí)間在200ms的基礎(chǔ)進(jìn)一步縮短至100ms,同樣經(jīng)測(cè)試驗(yàn)證Redis無(wú)感知。
七、 未來(lái)規(guī)劃
為保持架構(gòu)的統(tǒng)一性,我們將重新定義攜程光網(wǎng)絡(luò)設(shè)備技術(shù)標(biāo)準(zhǔn),要求新入網(wǎng)的OTN設(shè)備必須支持BIT映射的告警延遲下插。同時(shí),推動(dòng)各供應(yīng)商全面支持該功能,使之成為光纜故障場(chǎng)景下的一種最佳實(shí)踐。
抵御光纜故障是個(gè)業(yè)界公認(rèn)的難題,頭部互聯(lián)網(wǎng)公司都在此栽過(guò)跟頭。通過(guò)上述一系列實(shí)踐,我們?cè)诘钟饫|故障方面已經(jīng)做到了領(lǐng)先水平。光網(wǎng)絡(luò)運(yùn)維是個(gè)長(zhǎng)期過(guò)程,無(wú)感知切換只是其中一小部分,更多的是告警發(fā)現(xiàn)、性能監(jiān)測(cè)以及光纜路由識(shí)別,避免同路由情況的發(fā)生。