唐宏,朱華虹,曹維華,鄒潔
(中國電信股份有限公司廣州研究院,廣東 廣州 510630)
基于SDN的大型IP網(wǎng)絡BGP路由優(yōu)化方案
唐宏,朱華虹,曹維華,鄒潔
(中國電信股份有限公司廣州研究院,廣東 廣州 510630)
針對IP骨干網(wǎng)路由規(guī)模大、路徑多、重疊度高而易繞轉的問題,在分析傳統(tǒng)BGP路由選路機制缺陷的基礎上,采用SDN控制技術,提出了一種支持傳統(tǒng)路由設備和OpenFlow設備的路由反射優(yōu)化方法,并給出了具體實現(xiàn)算法及部署方案。典型應用場景的測試結果表明,國際訪問時延平均縮短了30%,驗證了方法的有效性。
軟件定義網(wǎng)絡;OpenFlow;邊界網(wǎng)關協(xié)議;OpenDaylight
近年來,隨著產(chǎn)業(yè)變革和新技術的發(fā)展,互聯(lián)網(wǎng)迅速成為影響社會經(jīng)濟發(fā)展、改善人民生活品質(zhì)的重要基石?;ヂ?lián)網(wǎng)應用不斷豐富,寬帶用戶數(shù)高速增長,尤其是“寬帶中國”戰(zhàn)略進一步促進了寬帶網(wǎng)絡能力的躍升,網(wǎng)絡流量每年以60%的速度高速增長,給IP骨干網(wǎng)運營帶來巨大的挑戰(zhàn)。互聯(lián)網(wǎng)路由條目數(shù)不斷增加,但受限于傳統(tǒng)分布式的路由算法以及匱乏的整體網(wǎng)絡拓撲,大量的重疊路由導致流量繞轉、用戶感知下降等問題。因此,隨著骨干網(wǎng)規(guī)模的增加及流量的增長,如何優(yōu)化路由選路策略成為一個重要而有價值的研究課題。
軟件定義網(wǎng)絡(software defined networking,SDN)技術[1]為骨干網(wǎng)路由優(yōu)化提供了有效手段,但骨干網(wǎng)設備數(shù)量多、改造成本高,全網(wǎng)設備的升級替換較為困難,需要考慮兼容現(xiàn)有設備能力的解決方案。本文在分析現(xiàn)有路由反射器選路機制缺陷的基礎上,提出了一種基于源和目的地址的路由反射優(yōu)化方法,并給出了骨干網(wǎng)部署方案。最后,在典型應用場景下進行測試,驗證了方法的有效性。
邊界網(wǎng)關協(xié)議(border gateway protocol,BGP)[2]是 一種自治系統(tǒng)間的動態(tài)路由發(fā)現(xiàn)協(xié)議,它的基本功能是在自治系統(tǒng)間自動交換無環(huán)路的路由信息,通過交換帶有自治系統(tǒng)號(AS)序列屬性的路徑可達信息,構造自治區(qū)域的拓撲圖,從而消除路由環(huán)路并實施用戶配置的路由策略。在大規(guī)模網(wǎng)絡中,通過部署路由反射器來減少對等體連接關系,如圖1所示。路由反射器收到多個指向同一IP地址前綴但下一跳不同的路由信息,路由反射器按照BGP路由選擇機制來確定最優(yōu)路由,也就是選擇下一跳,然后轉發(fā)給客戶機和非客戶機。選路的規(guī)則如下[3]:
(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)如果仍然相同,選擇最近的IGP鄰居的路由;
(10)如果仍然相同,選路由器ID最小的路由;
(11)如果仍然相同,選cluster_list最短的路由。
圖1 路由反射示意
因此,從客戶機角度看,經(jīng)過路由反射器選擇后的下一跳可能不是最佳選擇——只是距離路由反射器最近的路由,而不是源和目的地址間距離最近的路由,導致次優(yōu)路由的產(chǎn)生,如圖2所示。
圖2中,上??蛻魴C和廣州客戶機1都有ICP的路由prefix 1,并將該條路由向路由反射器進行通告。路由反射器根據(jù) BGP選路規(guī)則進行選路,當(1)~(8)的屬性都相同,無法判斷時,根據(jù)規(guī)則(9)選擇距離自身IGP最近的上??蛻魴C作為下一跳反射給所有客戶機,導致廣州客戶機2接入的用戶經(jīng)上海訪問prefix 1,造成路由繞轉。
圖2 路由繞轉示意
傳統(tǒng)路由反射器的選路規(guī)則在(9)中是從路由反射器自身角度計算到下一跳的IGP最短距離,因此所有的客戶機都將收到同樣的路由,對于某些客戶機來說,該路由并非最優(yōu)路徑。在很多情況下,可能導致流量的繞轉,造成時延增大,用戶感知下降。針對該問題,IETF也有相關草案,路由器支持add-path功能[4],反射器反射多條路由,由客戶機自行計算最佳路由??紤]目前互聯(lián)網(wǎng)路由數(shù)量超過50萬條[5],且波動較大,因此,對反射器的性能要求較高,客戶機需要接收的路由條目也較多,實際應用中實施困難。為此,對該條選路規(guī)則進行修改,路由反射器反射路由時,對不同的客戶機計算客戶機到下一跳的IGP最短距離,從而選擇源和目的地址間的路徑最短路由?;贠penFlow技術[6],在網(wǎng)絡中部署 OpenFlow控制器,對不同的設備下發(fā)不同的流表實現(xiàn)最優(yōu)路徑的選擇。圖3為OpenFlow 1.3[7]的流表結構,對于相同的路由前綴,針對不同的客戶機計算其與各下一跳之間的IGP距離,選擇距離最小的下一跳作為最優(yōu)路由下發(fā)流表。
然而,在骨干網(wǎng)中,仍然存在大量傳統(tǒng)路由設備,對OpenFlow的支持有限。為了在現(xiàn)網(wǎng)中實現(xiàn)該方法,依然需要考慮基于BGP對網(wǎng)絡設備進行控制??刂破髦饕瑺顟B(tài)信息采集、數(shù)據(jù)中心、策略管理、網(wǎng)絡建模、統(tǒng)一計算以及指令適配模塊,具體如圖4所示。
狀態(tài)信息采集模塊采集IP骨干網(wǎng)拓撲及網(wǎng)絡基礎設施和互聯(lián)網(wǎng)業(yè)務路由、業(yè)務流量流向和業(yè)務質(zhì)量等信息數(shù)據(jù),同時將這一系列的大數(shù)據(jù)入庫到數(shù)據(jù)中心;統(tǒng)一計算模塊從 BGP路由表中選出上述選路規(guī)則中(1)~(8)全相同的路由條目,同時計算設備間IGP metric矩陣,并對不同的客戶機計算下一跳IGP最短的最優(yōu)路徑;經(jīng)路由仿真模塊驗證策略后,最后進行統(tǒng)一下發(fā)。主要算法實現(xiàn)如下所示。
步驟1 從當前BGP路由表查找選路規(guī)則(1)~(8)中路由屬性相同(如 local-preference、MED、AS path length)的路由,即經(jīng)過路由反射器可能產(chǎn)生非優(yōu)選的路由。
圖3 OpenFlow 1.3流表結構
圖4 控制器主要功能
步驟2 將步驟1中查到的路由數(shù)據(jù)復制到數(shù)據(jù)表BGP prefix中(先清空BGP prefix中已有數(shù)據(jù),再寫入)。
步驟3 由于BGP路由更新頻繁,為了便于比較更新的路由,數(shù)據(jù)表prefixSnap用于存放以前采用步驟1獲取的路由。將BGP prefix表中的prefix與數(shù)據(jù)表prefixSnap中的prefix進行比較,如果相同,說明路由沒有更新,不做處理;如果不同,則將BGP prefix表中的prefix增量更新到數(shù)據(jù)表prefixSnap中。
步驟4 采集當前網(wǎng)絡中IGP拓撲信息,生成設備間IGP metric矩陣。
步驟5 獲取當前控制器的客戶機列表igpDevMetric,為了便于比較更新的拓撲,peerIpMetricSnap用于存放以前采集的客戶機列表。將igpDevMetric與peerIpMetricSnap進行比較,如果相同,說明拓撲沒有更新,不做處理;如果不同,則將igpDevMetric增量更新到peerIpMetricSnap中。
步驟6 獲取peerIpMetricSnap中的客戶機列表,針對每個客戶機,分別以該客戶機為根節(jié)點,基于IGP metric矩陣,采用SPF算法,對數(shù)據(jù)表prefixSnap中的相同prefix計算根節(jié)點到各下一跳的metric,將metric最小的下一跳作為該prefix的優(yōu)選路由。
步驟7 無論是否需要進行配置下發(fā),都將上述最優(yōu)路由進行統(tǒng)計,并將其放入數(shù)據(jù)表WorkStatus中。
軟件定義網(wǎng)絡技術為傳統(tǒng)IP的優(yōu)化提供了重要手段,然而,IP網(wǎng)絡全面實現(xiàn)軟件自主定義還有很長的過程。首先是技術的成熟度還不適合大規(guī)?,F(xiàn)網(wǎng)運營的要求,如高可靠性、高安全性以及電信級SLA要求;其次,現(xiàn)網(wǎng)設備的技術支持能力也成為應用推廣的關鍵。考慮到骨干網(wǎng)仍然以傳統(tǒng)網(wǎng)絡設備為主及新技術引入的可能風險,網(wǎng)絡中的部署方案以增量疊加為主:在網(wǎng)絡中部署SDN控制器,支持OpenFlow和BGP,對傳統(tǒng)設備采用BGP的更新方式,對OpenFlow設備下發(fā)流表進行控制。其部署方案如圖5所示。
控制器與路由反射器、相關的客戶機建立IBGP鄰居關系,并僅接收路由反射器反射的路由,同時獲取IGP metric矩陣信息。結合BGP路由數(shù)據(jù)庫及鏈路狀態(tài)數(shù)據(jù)庫,提取多路徑路由,計算源到路由接收段之間的SPF計算,針對不同的客戶機提取最優(yōu)路徑,經(jīng)校驗路由可達后分別對不同的客戶機反射相關路由,或者下發(fā)流表,具體算法見第3.1節(jié)中的描述??蛻魴C同時收到傳統(tǒng)路由反射器及控制器的路由,根據(jù)BGP選路信息可以進一步得到最佳路徑,放入路由表。該部署方案的好處在于,如果控制器發(fā)生故障或者計算錯誤,可以直接退出服務,原有IP地址仍然起效,不會對網(wǎng)絡運營造成巨大影響。為了更好地對全網(wǎng)路由進行維護和監(jiān)控,系統(tǒng)提供了相關的展示功能,如圖6所示。
路由表中的數(shù)據(jù)可以按 “路由前綴”(prefix字段)、歸屬AS(destAS字段)、next-hop進行查詢及顯示,方便人員進行操作。
圖5 網(wǎng)絡部署方案
圖6 多路徑路由發(fā)布界面
SDN控制器主要是一個軟件實體,目前主流的開源控制器主要有NOX、POX、Ryu等。本文提出的控制器主要基于 OpenDaylight開源平臺[8]實現(xiàn),采用 OSGI框架和 Java開發(fā),南向支持SNMP、BGP、OpenFlow等協(xié)議,北向提供RESTful接口[9],便于實現(xiàn)開放性。
測試的典型場景如圖5所示,大量ICP會在多地接入骨干網(wǎng),例如從上海、廣州兩地的ASBR均擁有ICP的路由,經(jīng)骨干網(wǎng)路由反射器后只優(yōu)選一條下一跳為上海節(jié)點的路由進行反射,導致廣州接入段的用戶需要繞轉到上海節(jié)點訪問ICP,造成時延增加,用戶體驗下降。尤其在國際網(wǎng)絡環(huá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所示。進一步地,國際訪問時延平均可降低30%。測試結果表明,本文方法可實現(xiàn)路由端到端優(yōu)化,提高互聯(lián)網(wǎng)訪問質(zhì)量,驗證了方法的可行性。
SDN作為一種優(yōu)化和簡化網(wǎng)絡操作的體系結構方式,具有更大的靈活性和敏捷性,為基礎互聯(lián)網(wǎng)設施提供了智能化選擇,成為當前網(wǎng)絡領域最熱門和最具發(fā)展前途的技術之一。本文針對BGP的缺陷導致IP骨干網(wǎng)路由不佳、流量繞轉問題,提出了一種基于SDN的路由反射方法,并給出了網(wǎng)絡規(guī)模部署方案。測試結果表明,新方法可減少流量繞轉情況,國際互聯(lián)網(wǎng)訪問質(zhì)量可大幅度提升,證明了方法的有效性。然而,SDN作為一項系統(tǒng)工程,仍有大量的技術研發(fā)及實例化工作,后續(xù)將進一步完善控制器功能,實現(xiàn)網(wǎng)絡的高質(zhì)量運營。
圖7 優(yōu)化前后訪問時延結果對比
[1]張朝昆,崔勇,唐翯祎,等.軟件定義網(wǎng)絡(SDN)研究進展[J].軟件學報,2015,26(1):62-81.ZHANG C K,CUI Y,TANG H Y,et al.State-of-the-art survey on software-defined networking (SDN)[J].Journal of Software,2015,26(1):62-81.
[2]李道豐,王高才,王志偉,等.標準模型下可證明安全的BGP路由屬性保護機制[J].計算機學報,2015,38(4):859-871.LI D F,WANG G C,WANG Z W,et al.Provable secure mechanism for BGP path protection in the standard model[J].Chinese Journal of Computers,2015,38(4):859-871.
[3]徐建鋒,朱華虹.改進BGP實現(xiàn)大型復雜IP網(wǎng)絡的負載均衡[J].電信科學,2004,20(10):15-19.XU J F,ZHU H H.Load sharing implementation in large complicated IP networks by improving BGP [J].Telecommunications Science,2004,20(10):15-19.
[4]SCUDDER J,RETANA A,WALTON D,et al.Advertisement of multiple paths in BGP [EB/OL]. [2012-12-30].http://xueshu.baidu.com/s?wd=Advertisement+of+Multiple+Paths+in+BGP&rsv_bp=0&tn=SE_baiduxueshu_c1gjeupa&rsv_spt=3&ie=utf-8&f =8&rsv_sug2 =1&sc_f_para =sc_tasktype% 3D%7BfirstSimpleSearch%7D&rsv_n=2.
[5]辛喆.一種基于SDN的IP骨干網(wǎng)流量調(diào)度方案的研究與實現(xiàn)[D].北京:北京郵電大學,2015.XIN Z.Research and realization of IP backbone network traffic scheduling program based on OpenFlow [D].Beijing:Beijing University of Posts and Telecommunications,2015.
[6]左青云,陳鳴,趙廣松,等.基于OpenFlow的 SDN技術研究[J].軟件學報,2013,24(5):1078-1097.ZUO Q Y,CHEN M,ZHAO G S,et al.SDN technology research based on OpenFlow[J].Journal of Software,2013,24(5):1078-1097.
[7]徐秋伊.基于SDN的路由映射算法的設計與實現(xiàn) [D].北京:北京郵電大學,2015.XU Q Y.Design and realization of route mapping algorithm based on SDN [D].Beijing:Beijing University of Posts and Telecommunications,2015.
[8]AHMED S,MARTINI B,GHARBAOUI M,et al.Orchestration algorithms for network-assisted virtual machine migrations using OpenDaylight controller[C]//2015 2nd International Conference on ElectricalInformation and Communication Technology(EICT),December10-12,2015,Khulna,Bangladesh.New Jersey:IEEE Press,2015.
[9]WEI Z,LI L,MIN L,et al.REST API design patterns for SDN northbound API [C]//2014 28th International Conference on Advanced Information Networking and Applications Workshops(WAINA),May 13-16,2014,Victoria,BC,USA.New Jersey:IEEE Press,2014:358-365.
Route optimization method for BGP based on SDN in large-scale IP network
TANG Hong,ZHU Huahong,CAO Weihua,ZOU Jie
Guangzhou Research Institute of China Telecom Co.,Ltd.,Guangzhou 510630,China
Aiming at rotation problem of route because of large-scale,multi-path,overlap in IP backbone networks,an optimization method for route reflection supported by both traditional routing devices and OpenFlow devices based on SDN controller technology was proposed.At first,the defects of traditional BGP routing mechanism was analyzed in detail.Then,a specific algorithm implementation and deployment scenarios were given.Test results of typical application scenarios demonstrate the validity of the proposed method.The average delay of international access reduces by 30%.
software defined networking,OpenFlow,border gateway protocol,OpenDaylight
TN915.41
A
10.11959/j.issn.1000-0801.2016112
2015-12-01;
2016-03-15
唐宏(1974-),男,中國電信股份有限公司廣州研究院高級工程師,主要研究方向為IP網(wǎng)絡技術、SDN技、移動互聯(lián)網(wǎng)技術。
朱華虹(1978-),女,中國電信股份有限公司廣州研究院高級工程師,主要研究方向為IP路由技術、SDN技術。
曹維華(1976-),女,中國電信股份有限公司廣州研究院高級工程師,主要研究方向為IP技術、移動互聯(lián)網(wǎng)技術。
鄒潔(1975-),女,中國電信股份有限公司廣州研究院高級工程師,主要研究方向為IP技術、SDN技術。