何國(guó)軍
(中國(guó)國(guó)際航空股份有限公司信息管理部,北京 101312)
邊 界 網(wǎng) 關(guān) 協(xié) 議(Border Gateway Protocol,BGP)是一種用來(lái)在路由選擇域之間交換網(wǎng)絡(luò)可達(dá)性信息(Network Layer Reachability Information,NLRI) 的 路由選擇協(xié)議。由于不同的管理機(jī)構(gòu)分別控制著他們各自的路由選擇域,因此路由選擇域通常被稱為自治系統(tǒng)(Autonomous System,AS)①,而經(jīng)典的自治系統(tǒng)的定義是:一組路由器在統(tǒng)一管理之下,在AS內(nèi)使用內(nèi)部網(wǎng)關(guān)協(xié)議(Interior gateway protocol,IGP)和統(tǒng)一度量來(lái)路由數(shù)據(jù)包,而通過(guò)外部網(wǎng)關(guān)協(xié)議將數(shù)據(jù)包路由到其他AS ②,該定義目前仍然在發(fā)展,因?yàn)楹芏郃S在其內(nèi)部使用多種內(nèi)部網(wǎng)關(guān)協(xié)議和不同的度量。按照經(jīng)典自治系統(tǒng)的定義,在一個(gè)AS內(nèi)通常使用內(nèi)部網(wǎng)關(guān)路由協(xié)議,這通常會(huì)使大型企業(yè)網(wǎng)絡(luò)設(shè)計(jì)者在設(shè)計(jì)大型企業(yè)網(wǎng)絡(luò)時(shí)更加傾向于更多地選擇內(nèi)部網(wǎng)關(guān)路由協(xié)議而忽略BGP。
為了完成企業(yè)廣域網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)施,我們有必要對(duì)IGP和BGP進(jìn)行一個(gè)全面的比較,目前使用較多的IGP按照行為可以分為距離矢量算法,鏈路狀態(tài)算法和混合算法三類,但其實(shí)現(xiàn)的目標(biāo)均為在單一的路由域內(nèi)選擇最佳的可達(dá)性信息,為達(dá)到這個(gè)目標(biāo),IGP通常具有網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)能力,自動(dòng)適應(yīng)網(wǎng)絡(luò)拓?fù)渥兓芰?,能周期性更新網(wǎng)絡(luò)可達(dá)性信息,使用共同的路徑選擇策略,能提供一定的路徑控制能力。從這些特點(diǎn)看,IGP就是為單一路由域設(shè)計(jì)的,它所需要的管理較少,自動(dòng)化成度較高。BGP能夠提供廣泛的域間策略控制,具有很強(qiáng)的可擴(kuò)展性,能夠互聯(lián)極大規(guī)模網(wǎng)絡(luò)。在設(shè)計(jì)極大規(guī)模企業(yè)網(wǎng)絡(luò)時(shí)我們將二者結(jié)合起來(lái),完成任何一者不能單獨(dú)完成的任務(wù),筆者即通過(guò)兩個(gè)協(xié)議的結(jié)合為某大型企業(yè)網(wǎng)絡(luò)實(shí)現(xiàn)了廣域網(wǎng)改造。
某大型企業(yè)網(wǎng)絡(luò)由公司總部網(wǎng)絡(luò)和若干個(gè)分公司網(wǎng)絡(luò)組成,每個(gè)分公司網(wǎng)絡(luò)下又下轄若干下屬分支機(jī)構(gòu)網(wǎng)絡(luò),為典型的多層結(jié)構(gòu),全網(wǎng)設(shè)備運(yùn)行OSPF(Open Shortst Path First,一種IGP協(xié)議,適合層次化網(wǎng)絡(luò)結(jié)構(gòu))路由協(xié)議,總部的路由器C7606和骨干線路及分公司路由器C7206運(yùn)行在OSPF骨干區(qū),分公司分別運(yùn)行在各自的路由區(qū)域里,每個(gè)分公司分別管理自己的網(wǎng)絡(luò)和下屬分支機(jī)構(gòu)網(wǎng)絡(luò),改造前總部管理總部的兩臺(tái)C7606路由器和分公司連接總部的兩臺(tái)C7206路由器及兩條專線,分公司管理兩臺(tái)C7206的以太口以下的網(wǎng)絡(luò),拓?fù)淙缦拢?/p>
在進(jìn)行網(wǎng)絡(luò)改造前,總部的路由器C7606和分公司的所有路由器C7206都運(yùn)行在OSPF 骨干區(qū)里,分公司路由器運(yùn)行在OSPF Area n下,連接總部和分公司的骨干線路運(yùn)行在OSPF骨干區(qū)域,因線路抖動(dòng)造成了骨干路由器OSPF運(yùn)算頻繁,影響到了總部數(shù)據(jù)中心,為此第一期網(wǎng)絡(luò)改造將OSPF的骨干區(qū)域收縮到總部,連接每個(gè)分公司的骨干線路運(yùn)行在各個(gè)分公司的Area里。在這種結(jié)構(gòu)下,所有路由器都有全網(wǎng)路由,這種模式的優(yōu)點(diǎn)是配置簡(jiǎn)單,不需要過(guò)多的管理,但是缺點(diǎn)也是顯而易見(jiàn)的,各地位于同一個(gè)管理域下,但事實(shí)上各地卻是不同的管理域,由此造成的嚴(yán)重問(wèn)題是臟路由全網(wǎng)泛濫。
為改變這種狀況,公司二期網(wǎng)絡(luò)改造決定在公司骨干網(wǎng)絡(luò)上運(yùn)行BGP路由協(xié)議,在改造過(guò)程中,首先在總部和分公司的骨干設(shè)備上啟動(dòng)BGP路由進(jìn)程,宣告各自網(wǎng)段,驗(yàn)證互相能夠收到對(duì)方的宣告,為了控制主備線路的路由選擇,在分公司的主路由器上將輸入路由的Local-preference參數(shù)調(diào)大,這樣在分公司的兩臺(tái)BGP路由器上,主設(shè)備的BGP條目將優(yōu)于備設(shè)備的BGP條目因而被安裝在主設(shè)備的路由表中,保證了全網(wǎng)路由的一致性,在主干線路故障或者主路由設(shè)備故障時(shí),備份線路上的BGP條目自動(dòng)出現(xiàn)在主備設(shè)備的路由表中,在實(shí)施災(zāi)難切換驗(yàn)證中,筆者發(fā)現(xiàn)主干線路中斷180秒后,備份BGP路由才能安裝到BGP路由表中。經(jīng)核實(shí),BGP鄰居老化時(shí)間在未經(jīng)調(diào)整的情況下,默認(rèn)為180秒,這是為保證域間路由的穩(wěn)定,盡量減少自治系統(tǒng)的相互影響需要的,這也是外部網(wǎng)關(guān)路由協(xié)議在設(shè)計(jì)時(shí)的重要特征,因?yàn)槭峭獠烤W(wǎng)關(guān)路由協(xié)議,所以對(duì)于域間路由的快速收斂的要求低于IGP的要求,在BGP路由協(xié)議用于企業(yè)的特大型網(wǎng)絡(luò)時(shí),這個(gè)參數(shù)可以做適當(dāng)調(diào)整,調(diào)整的參考數(shù)據(jù)主要是骨干路由器的處理能力,主干線路的穩(wěn)定情況,主干線路的可用帶寬,各個(gè)自治系統(tǒng)內(nèi)部路由的變化頻度等條件,在各個(gè)條件非常良好的情況下,這個(gè)參數(shù)可以調(diào)整到10秒,收斂時(shí)間已經(jīng)能夠與IGP路由協(xié)議相比。
BGP路由器收到對(duì)方自治系統(tǒng)的條目后,為保證全網(wǎng)路由可達(dá),需要將BGP路由注入到各自的自治系統(tǒng)的IGP路由域中,注入時(shí)主要考慮因素是注入后的路由條目的度量值,筆者的經(jīng)驗(yàn)是將BGP骨干線路的帶寬用于各個(gè)自治系統(tǒng)的IGP路由協(xié)議計(jì)算路由度量,這個(gè)值足夠用于各個(gè)自治系統(tǒng)內(nèi)部的IGP度量比較。經(jīng)過(guò)一段時(shí)間的運(yùn)轉(zhuǎn),筆者發(fā)現(xiàn)在把BGP路由注入到各個(gè)IGP路由域時(shí)會(huì)產(chǎn)生路由黑洞,經(jīng)過(guò)詳細(xì)調(diào)查,發(fā)現(xiàn)是分公司BGP路由器在BGP路由進(jìn)程中對(duì)路由宣告做了匯聚,匯總路由在設(shè)備上自動(dòng)生成了一條指向null 口的路由,并且這條路由也安裝在本地的BGP表中,在把BGP路由注入IGP時(shí),這條路由也被注入到IGP,如果分公司有關(guān)于這條匯總路由的詳細(xì)路由丟失,就會(huì)在分公司和總部的BGP路由器之間產(chǎn)生路由環(huán)路,造成對(duì)故障判斷的誤導(dǎo),為了消除這種不必要的臟路由,在將BGP注入IGP時(shí),使用一個(gè)過(guò)濾表將所有產(chǎn)生的指向Null接口的路由過(guò)濾掉,即可實(shí)現(xiàn)清潔的注入,在注入完成后,即可切斷總部和分公司之間的IGP協(xié)議,完成切換實(shí)施工作。
BGP改造實(shí)施完成后,骨干網(wǎng)絡(luò)運(yùn)行非常穩(wěn)定,并且實(shí)現(xiàn)了管理域分割,分公司有了對(duì)IGP路由協(xié)議完全的控制,能夠自主的設(shè)計(jì)本自治系統(tǒng),于是又對(duì)下屬機(jī)構(gòu)網(wǎng)絡(luò)的連接進(jìn)行了一次改造,將每個(gè)下轄機(jī)構(gòu)分別劃入一個(gè)OSPF末梢區(qū)域,全網(wǎng)被分割為非常小的管理域,全網(wǎng)路由完全受控,實(shí)現(xiàn)了一個(gè)最佳應(yīng)用,在全網(wǎng)改造前全網(wǎng)路由條目有一千多條,改造后全網(wǎng)路由盡為五十多條,極大的節(jié)省了路由器的硬件資源,再次改造后的網(wǎng)絡(luò)示意圖如下:
此次改造已經(jīng)完成3年多,在運(yùn)行過(guò)程中,總公司又新增了幾家分公司,都實(shí)現(xiàn)了與總部的無(wú)縫連接,對(duì)于原有分公司的網(wǎng)絡(luò)影響小到可以忽略,這個(gè)網(wǎng)絡(luò)設(shè)計(jì)在公司高速成長(zhǎng)時(shí)能夠最大地實(shí)現(xiàn)可擴(kuò)展性,骨干穩(wěn)定性和全網(wǎng)的高可靠性。通過(guò)BGP路由協(xié)議的應(yīng)用,我們驗(yàn)證了BGP協(xié)議作為超大網(wǎng)絡(luò)骨干協(xié)議的擴(kuò)展性,能夠充分保證公司的兼并重組收購(gòu)等資產(chǎn)運(yùn)作在IT層面的實(shí)現(xiàn),在分割管理域時(shí)又保證全網(wǎng)路由策略的一致性,并且通過(guò)調(diào)整參BGP老化參數(shù),達(dá)到快速收斂,實(shí)現(xiàn)公司網(wǎng)絡(luò)的互通互聯(lián)。