相關(guān)鏈接: 中國安全網(wǎng) 中國質(zhì)量網(wǎng) 中國論文網(wǎng) 中國資訊網(wǎng)
唐宏,朱華虹,曹維華,鄒潔
(中國電信股份有限公司廣州研究院,廣東廣州510630)
摘要:針對l P骨干網(wǎng)路南規(guī)模大、路徑多、重疊度高而易繞轉(zhuǎn)的問題,在分析傳統(tǒng)BGP路由選路機制缺陷的基礎(chǔ)上,采用SDN控制技術(shù),提出了一種支持傳統(tǒng)路由沒備和Open Flow設(shè)備的路由反射優(yōu)化方法,并給出了具體實現(xiàn)算法及部署方案。典型應(yīng)用場景的測試結(jié)果表明,罔際訪問時延平均縮短了 30%,驗證了方法的有效性。
關(guān)鍵詞:軟件定義網(wǎng)絡(luò);Open Flow;邊界網(wǎng)關(guān)協(xié)議;Open Daylight
中圖分類號:TN915.41doi: 10.11959/j.issn.1000-0801.2016112
1 引言
近年來,隨著產(chǎn)業(yè)變革和新技術(shù)的發(fā)展,互聯(lián)網(wǎng)迅速成為影響社會經(jīng)濟發(fā)展、改善人民生活品質(zhì)的重要基石;ヂ(lián)網(wǎng)應(yīng)用不斷豐富,寬帶用戶數(shù)高速增長,尤其是“寬帶中國”戰(zhàn)略進一步促進了寬帶網(wǎng)絡(luò)能力的躍升,網(wǎng)絡(luò)流量每年以60%的速度高速增長,給IP骨干網(wǎng)運營帶來巨大的挑戰(zhàn);ヂ(lián)網(wǎng)路由條目數(shù)不斷增加,但受限于傳統(tǒng)分布式的路由算法以及匱乏的整體網(wǎng)絡(luò)拓撲,大量的重疊路由導(dǎo)致流量繞轉(zhuǎn)、用戶感知下降等問題。因此,隨著骨干網(wǎng)規(guī)模的增加及流量的增長,如何優(yōu)化路由選路策略成為一個重要而有價值的研究課題。
軟件定義網(wǎng)絡(luò)(software defined networking,SDN)技術(shù)為骨干網(wǎng)路由優(yōu)化提供了有效手段,但骨干網(wǎng)設(shè)備數(shù)量多、改造成本高,全網(wǎng)設(shè)備的升級替換較為困難,需要考慮兼容現(xiàn)有設(shè)備能力的解決方案。本文在分析現(xiàn)有路由反射器選路機制缺陷的基礎(chǔ)上,提出了一種基于源和目的地址的路由反射優(yōu)化方法,并給出了骨干網(wǎng)部署方案。最后,在典型應(yīng)用場景下進行測試,驗證了方法的有效性。
2傳統(tǒng)路由反射器路由選路機制
邊界網(wǎng)關(guān)協(xié)議(border gateway protocol,BGP)是_種自治系統(tǒng)間的動態(tài)路由發(fā)現(xiàn)協(xié)議,它的基本功能是在自治系統(tǒng)間自動交換無環(huán)路的路由信息,通過交換帶有自治系統(tǒng)號(AS)序列屬性的路徑可達信息,構(gòu)造自治區(qū)域的拓撲圖,從而消除路由環(huán)路并實施用戶配置的路由策略。在大規(guī)模網(wǎng)絡(luò)中,通過部署路由反射器來減少對等體連接關(guān)系,如圖1所示。路由反射器收到多個指向同- IP地址前綴但下一跳不同的路由信息,路由反射器按照BGP路由選擇機制來確定最優(yōu)路由,也就是選擇下一跳,然后轉(zhuǎn)發(fā)給客戶機和非客戶機。選路的規(guī)則如下:
(1)如果next-hop無法到達,則不考慮;
(2)首選具有最大weight的路由(Cisco特有);
(3)如果路由具有相同weight,則使用本地優(yōu)先級最高的路由:
(4)如果具有相同本地優(yōu)先級,則首選來自本身路由器的BGP路由:
(5)如果沒有來自本身路由器上的BGP路由,則選擇AS長度最短的路由:
(6)如果所有的路由具有相同的AS長度,則選擇具有最低origin code的路由;
(7)如果origin code相同,則選擇MED值最小的路由:
(8)如果MED相同,則首選外部路由,而不是內(nèi)部路由:
(9)如果仍然相同,選擇最近的ICP鄰居的路由:
(10)如果仍然相同,選路由器ID最小的路由:
(Il)如果仍然相同,選cluster_ list最短的路由。
因此,從客戶機角度看,經(jīng)過路由反射器選擇后的下一跳可能不是最佳選擇——只是距離路由反射器最近的路由,而不是源和目的地址間距離最近的路由,導(dǎo)致次優(yōu)路由的產(chǎn)生,如圖2所示。
圖2中,上?蛻魴C和廣州客戶機1都有ICP的路由prefix 1,并將該條路由向路由反射器進行通告。路由反射器根據(jù)BGP選路規(guī)則進行選路,當(dāng)(1)~(8)的屬性都相同,無法判斷時,根據(jù)規(guī)則(9)選擇距離自身IGP最近的上?蛻魴C作為下一跳反射給所有客戶機,導(dǎo)致廣州客戶機2接人的用戶經(jīng)上海訪問prefix 1,造成路由繞轉(zhuǎn)。
3基于源和目的地址的路由反射方法
3.1基于源和目的地址的路由反射方法
傳統(tǒng)路由反射器的選路規(guī)則在(9)中是從路由反射器自身角度計算到下一跳的IGP最短距離,因此所有的客戶機都將收到同樣的路由,對于某些客戶機來說,該路由并非最優(yōu)路徑。在很多情況下,可能導(dǎo)致流量的繞轉(zhuǎn),造成時延增大,用戶感知下降。針對該問題,IETF也有相關(guān)草案,路由器支持add-path功能,反射器反射多條路由,由客戶機自行計算最佳路由。考慮目前互聯(lián)網(wǎng)路由數(shù)量超過50萬條、且波動較大,因此,對反射器的性能要求較高,
客戶機需要接收的路由條目也較多,實際應(yīng)用中實施困難。為此,對該條選路規(guī)則進行修改,路由反射器反射路由時,對不同的客戶機計算客戶機到下一跳的IGP最短距離,從而選擇源和目的地址間的路徑最短路由;贠penFlow技術(shù),在網(wǎng)絡(luò)中部署OpenFlow控制器,對不同的設(shè)備下發(fā)不同的流表實現(xiàn)最優(yōu)路徑的選擇。圖3為OpenFlow 1.3的流表結(jié)構(gòu),對于相同的路由前綴,針對不同的客戶機計算其與各下一跳之間的IGP距離,選擇距離最小的下一跳作為最優(yōu)路由下發(fā)流表。
然而,在骨干網(wǎng)中,仍然存在大量傳統(tǒng)路由設(shè)備,對OpenFlow的支持有限。為了在現(xiàn)網(wǎng)中實現(xiàn)該方法,依然需要考慮基于BGP對網(wǎng)絡(luò)設(shè)備進行控制?刂破髦饕瑺顟B(tài)信息采集、數(shù)據(jù)中心、策略管理、網(wǎng)絡(luò)建模、統(tǒng)一計算以及指令適配模塊,具體如圖4所示。
狀態(tài)信息采集模塊采集l P骨干網(wǎng)拓撲及網(wǎng)絡(luò)基礎(chǔ)設(shè)施和互聯(lián)網(wǎng)業(yè)務(wù)路由、業(yè)務(wù)流量流向和業(yè)務(wù)質(zhì)量等信息數(shù)據(jù),同時將這一系列的大數(shù)據(jù)入庫到數(shù)據(jù)中心:統(tǒng)一計算模塊從BGP路由表中選出上述選路規(guī)則中(1)~(8)全相同的路由條目,同時計算設(shè)備間IGP metric矩陣,并對不同的客戶機計算下一跳IGP最短的最優(yōu)路徑;經(jīng)路由仿真模塊驗證策略后,最后進行統(tǒng)一下發(fā)。主要算法實現(xiàn)如下所示。
步驟1從當(dāng)前BGP路由表查找選路規(guī)則(1)~(8)中路由屬性相同(如local-preference、MED、AS path length)的路由,即經(jīng)過路由反射器可能產(chǎn)生非優(yōu)選的路由。
步驟2將步驟1中查到的路由數(shù)據(jù)復(fù)制到數(shù)據(jù)表BGP prefix中(先清空BGP prefix中已有數(shù)據(jù),再寫入)。
步驟3由于BGP路由更新頻繁,為了便于比較更新的路由,數(shù)據(jù)表prefix Snap用于存放以前采用步驟1獲取的路由。將BGP prefix表中的prefix與數(shù)據(jù)表prefix Snap中的prefix進行比較,如果相同,說明路由沒有更新,不做處理;如果不同,則將BGP prefix表中的prefix增量更新到數(shù)據(jù)表prefix Snap中。
步驟4采集當(dāng)前網(wǎng)絡(luò)中IGP拓撲信息,生成設(shè)備間IGP metric矩陣。
步驟5獲取當(dāng)前控制器的客戶機列表igp Dev Metric,為了便于比較更新的拓撲,peerIp MetricSnap用于存放以前采集的客戶機列表。將igpDevMetric與peerlpMetricSnap進行比較,如果相同,說明拓撲沒有更新,不做處理;如果不同,則將igpDevMetric增量更新到peerIpMetricSnap中。
步驟6獲取peerIpMetricSnap中的客戶機列表,針對每個客戶機,分別以該客戶機為根節(jié)點,基于IGP metric矩陣,采用SPF算法,對數(shù)據(jù)表prefix Snap中的相同prefix計算根節(jié)點到各下一跳的metrc,將metric最小的下一跳作為該prefix的優(yōu)選路由。
步驟7無論是否需要進行配置下發(fā),都將上述最優(yōu)路由進行統(tǒng)計,并將其放人數(shù)據(jù)表Work Status中。
3.2 網(wǎng)絡(luò)部署方案
軟件定義網(wǎng)絡(luò)技術(shù)為傳統(tǒng)IP的優(yōu)化提供了重要手段,然而,IP網(wǎng)絡(luò)全面實現(xiàn)軟件自主定義還有很長的過程。首先是技術(shù)的成熟度還不適合大規(guī),F(xiàn)網(wǎng)運營的要求,如高可靠性、高安全性以及電信級SLA要求;其次,現(xiàn)網(wǎng)設(shè)備的技術(shù)支持能力也成為應(yīng)用推廣的關(guān)鍵?紤]到骨干網(wǎng)仍然以傳統(tǒng)網(wǎng)絡(luò)設(shè)備為主及新技術(shù)引入的可能風(fēng)險,網(wǎng)絡(luò)中的部署方案以增量疊加為主:在網(wǎng)絡(luò)中部署SDN控制器,支持Open Flow和BGP,對傳統(tǒng)設(shè)備采用BGP的更新方式,對Open Flow設(shè)備下發(fā)流表進行控制。其部署方案如圖5所示。
控制器與路由反射器、相關(guān)的客戶機建立IBGP鄰居關(guān)系,并僅接收路由反射器反射的路由,同時獲取IGPmetric矩陣信息。結(jié)合BGP路由數(shù)據(jù)庫及鏈路狀態(tài)數(shù)據(jù)庫,提取多路徑路由,計算源到路由接收段之間的SPF計算,針對不同的客戶機提取最優(yōu)路徑,經(jīng)校驗路由可達后分別對不同的客戶機反射相關(guān)路由,或者下發(fā)流表,具體算法見第3.1節(jié)中的描述?蛻魴C同時收到傳統(tǒng)路由反射器及控制器的路由,根據(jù)BGP選路信息可以進一步得到最佳路徑,放入路由表。該部署方案的好處在于,如果控制器發(fā)生故障或者計算錯誤,可以直接退出服務(wù),原有l(wèi) P地址仍然起效,不會對網(wǎng)絡(luò)運營造成巨大影響。為了更好地對全網(wǎng)路由進行維護和監(jiān)控,系統(tǒng)提供了相關(guān)的展示功能,如圖6所示。
路由表中的數(shù)據(jù)可以按“路由前綴”(prefix字段)、歸屬AS(destAS字段)、next-hop進行查詢及顯示,方便人員進行操作。
4測試結(jié)果分析
SDN控制器主要是一個軟件實體,目前主流的開源控制器主要有NOX、POX、Ryu等。本文提出的控制器主要基于Open Daylight開源平臺實現(xiàn),采用OSGI框架和Java開發(fā),南向支持SNMP、BGP、Open Flow等協(xié)議,北向提供RESTful接口,便于實現(xiàn)開放性。
測試的典型場景如圖5所示,大量ICP會在多地接入骨干網(wǎng),例如從上海、廣州兩地的ASBR均擁有ICP的路由,經(jīng)骨干網(wǎng)路由反射器后只優(yōu)選一條下一跳為上海節(jié)點的路由進行反射,導(dǎo)致廣州接人段的用戶需要繞轉(zhuǎn)到上海節(jié)點訪問ICP,造成時延增加,用戶體驗下降。尤其在國際網(wǎng)絡(luò)環(huán)境下,繞轉(zhuǎn)的距離將大幅度增加,從而裂化訪問質(zhì)量。在骨干網(wǎng)(100多臺路由器,50萬多條互聯(lián)網(wǎng)路由)中部署SDN控制器,采用本文所提方法采集全網(wǎng)拓撲信息和路由數(shù)據(jù),針對廣州客戶機2,計算出到達ICP的最優(yōu)路徑為廣州客戶機1,于是對廣州客戶機2下發(fā)下一跳為廣州客戶機1的ICP路由,實現(xiàn)路由最優(yōu)化,降低單向訪問時延約15 ms,如圖7所示。進一步地,國際訪問時延平均可降低300。測試結(jié)果表明,本文方法可實現(xiàn)路由端到端優(yōu)化,提高互聯(lián)網(wǎng)訪問質(zhì)量,驗證了方法的可行性。
5 結(jié)束語
SDN作為一種優(yōu)化和簡化網(wǎng)絡(luò)操作的體系結(jié)構(gòu)方式,具有更大的靈活性和敏捷性,為基礎(chǔ)互聯(lián)網(wǎng)設(shè)施提供了智能化選擇,成為當(dāng)前網(wǎng)絡(luò)領(lǐng)域最熱門和最具發(fā)展前途的技術(shù)之一。本文針對BGP的缺陷導(dǎo)致l P骨干網(wǎng)路由不佳、流量繞轉(zhuǎn)問題,提出了一種基于SDN的路由反射方法,并給出了網(wǎng)絡(luò)規(guī)模部署方案。測試結(jié)果表明,新方法可減少流量繞轉(zhuǎn)情況,國際互聯(lián)網(wǎng)訪問質(zhì)量可大幅度提升,證明了方法的有效性。然而,SDN作為一項系統(tǒng)工程,仍有大量的技術(shù)研發(fā)及實例化工作,后續(xù)將進一步完善控制器功能,實現(xiàn)網(wǎng)絡(luò)的高質(zhì)量運營。