您所在的位置: 首頁 >
新聞資訊 >
技術(shù)前沿 >
基于SDN的互聯(lián)網(wǎng)域間路由研究
互聯(lián)網(wǎng)流量的爆發(fā)式增長,疊加互聯(lián)網(wǎng)流量固有的突發(fā)性特點,使得網(wǎng)絡(luò)流量不均衡現(xiàn)象日益加劇。傳統(tǒng)BGP協(xié)議由于缺乏全網(wǎng)拓撲和全局流量觀,只能遵循標準BGP選路原則,在解決流量調(diào)度和負載均衡方面存在不足。針對BGP協(xié)議存在的局限性,研發(fā)了基于RR+的互聯(lián)網(wǎng)骨干網(wǎng)流量調(diào)度系統(tǒng),并應(yīng)用于ChinaNet骨干網(wǎng)的網(wǎng)內(nèi)中繼、網(wǎng)間互聯(lián)出口、IDC出口等多個流量優(yōu)化場景。更進一步地,提出了一種基于SDN的互聯(lián)網(wǎng)域間路由架構(gòu),通過在域間控制器之間交換BGP路由,無需在域內(nèi)和域間運行BGP協(xié)議,極大地簡化了網(wǎng)絡(luò)協(xié)議,并能夠?qū)崿F(xiàn)靈活的流量調(diào)度和負載均衡。
邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol,BGP)作為互聯(lián)網(wǎng)基石的網(wǎng)間互聯(lián)協(xié)議,已經(jīng)把全世界所有大大小小的網(wǎng)絡(luò)互聯(lián)在一起,形成通達全球的Internet。BGP用于在不同自治系統(tǒng)(Autonomous System,AS)之間交換路由信息,實現(xiàn)不同AS之間IP可達性。
隨著互聯(lián)網(wǎng)流量的爆發(fā)式增長,網(wǎng)絡(luò)擴容總是滯后于流量增長速度,網(wǎng)絡(luò)資源捉襟見肘。網(wǎng)絡(luò)需要為高價值業(yè)務(wù)提供更好的傳輸服務(wù),在保持效率優(yōu)先的同時,還能夠體現(xiàn)出互聯(lián)網(wǎng)服務(wù)的普惠性和公平性,而傳統(tǒng)互聯(lián)網(wǎng)“盡力而為”的服務(wù)模式難以兼顧兩者之間的平衡。
與此同時,互聯(lián)網(wǎng)固有的流量突發(fā)性導(dǎo)致網(wǎng)絡(luò)流量不均衡,表現(xiàn)為網(wǎng)絡(luò)中部分鏈路擁塞不堪,而另一部分鏈路利用率低下,難以實現(xiàn)全網(wǎng)資源的最佳利用。盡管BGP可以提供靈活豐富的路由策略實現(xiàn)流量路徑優(yōu)化和負載均衡,但是由于全網(wǎng)設(shè)備都需要運行BGP,網(wǎng)絡(luò)運維人員需對設(shè)備進行復(fù)雜化、個性化的配置操作,進一步增加了網(wǎng)絡(luò)運維難度。
為簡化網(wǎng)絡(luò)操作,提升網(wǎng)絡(luò)效率,降低網(wǎng)絡(luò)運營商的CAPEX和OPEX,近年來SDN技術(shù)受到網(wǎng)絡(luò)界的追捧,全球運營商和設(shè)備提供商正積極探索利用SDN技術(shù)實現(xiàn)網(wǎng)絡(luò)運維自動化,提升網(wǎng)絡(luò)的智能化水平,實現(xiàn)極簡網(wǎng)絡(luò)。
本文分析用于互聯(lián)網(wǎng)域間路由的BGP協(xié)議存在局限性,然后研究利用SDN技術(shù)實現(xiàn)智能化域間路由,以期達到簡化網(wǎng)絡(luò)、優(yōu)化全網(wǎng)流量、實現(xiàn)多出口負載均衡的目的。
1. BGP協(xié)議的局限性分析
BGP是運行于TCP之上的自治系統(tǒng)邊界網(wǎng)關(guān)協(xié)議,必須在交換路由更新之前協(xié)商建立TCP連接。因此,BGP繼承了TCP的傳輸可靠性和面向連接的特性。BGP根據(jù)在BGP鄰居之間交換的路由信息建立一張自治系統(tǒng)圖。從BGP角度來看,整個互聯(lián)網(wǎng)就是由自治系統(tǒng)組成的一張圖。
BGP通告的網(wǎng)絡(luò)層可達信息(Network Layer Reachablility Information,NLRI)可攜帶豐富的路徑屬性(Path Attribute)。其中,AS_PATH屬性包含到達該目的網(wǎng)絡(luò)所經(jīng)過的一串AS列表,BGP基于AS_PATH屬性確保無環(huán)路的路徑選擇。
NEXT_HOP屬性用于IP報文轉(zhuǎn)發(fā)必經(jīng)的下一跳,其他如LOCAL_PREF、MULTI_EXIT_DISC、COMMUNITY屬性可由網(wǎng)絡(luò)管理員實施BGP路由策略,根據(jù)網(wǎng)間負載實際情況選擇流量出、入的最佳出口,根據(jù)自治系統(tǒng)內(nèi)部網(wǎng)絡(luò)的鏈路負載情況選擇最優(yōu)路徑等。
在一個由運營商管理的單個互聯(lián)網(wǎng)自治系統(tǒng)中,網(wǎng)絡(luò)規(guī)模龐大。例如,中國電信、中國聯(lián)通和中國移動的互聯(lián)網(wǎng)骨干網(wǎng)通常由成百上千臺核心路由器組成,不同網(wǎng)絡(luò)之間通過十幾臺自治系統(tǒng)邊界路由器(Autonomous System Boundary Router,ASBR)進行網(wǎng)間互聯(lián),以實現(xiàn)網(wǎng)間流量在多出口負載均衡。
充當網(wǎng)關(guān)設(shè)備的ASBR之間運行EBGP協(xié)議用于交換域間路由信息,而在自治系統(tǒng)內(nèi)部網(wǎng)絡(luò),路由器需要進行全網(wǎng)狀的IBGP連接,用于學(xué)習(xí)外部網(wǎng)絡(luò)路由,防止產(chǎn)生路由黑洞。
因為網(wǎng)內(nèi)路由器數(shù)量大,全網(wǎng)狀I(lǐng)BGP連接需要消耗大量CPU處理資源,存在嚴重的擴展性問題,所以普遍采用路由反射器(Route Reflector,RR)方式,網(wǎng)內(nèi)路由器只跟RR建立IBGP連接。
盡管如此,由于網(wǎng)內(nèi)路由器需同時運行IGP、BGP等多種路由協(xié)議,為實現(xiàn)全網(wǎng)流量工程和負載均衡,須協(xié)同IGP和BGP路由協(xié)議配置復(fù)雜的路由策略,使得網(wǎng)絡(luò)的運行和維護變得十分復(fù)雜。此問,不同路由策略之間相互影響,難以達到預(yù)期的優(yōu)化目標。
現(xiàn)以RR優(yōu)選BGP路由為例,分析基于BGP的路徑選擇的局限性。
由于自治系統(tǒng)存在多個ASBR出口,基于路徑冗余和負載均衡考慮,對端AS會從多個ASBR向本AS對應(yīng)的ASBR鄰居通告相同路由信息,網(wǎng)內(nèi)這些ASBR鄰居收到同一目的網(wǎng)絡(luò)路由并向RR通告。當RR接收到屬于外網(wǎng)同一目的地網(wǎng)絡(luò)的多條路由時,RR遵循標準BGP選路原則優(yōu)選唯一一條BGP路由向全網(wǎng)路由器反射。
這種基于RR的BGP路徑優(yōu)選存在以下局限性。
(1)BGP路由選擇的唯一性原則無法實現(xiàn)流量的多路徑負載均衡。
(2)RR基于自身到通告路由器(下一跳)的IGP度量(Metric)值選擇一條IGP距離最近的路由,這個優(yōu)選的路由與RR所處的位置有關(guān),并不能代表全網(wǎng)其他路由器到這個被選定的BGP下一跳是最近的。RR全網(wǎng)拓撲視角的缺失導(dǎo)致次優(yōu)路由的產(chǎn)生。
(3)只能基于報文流目的IP地址選路,不考慮源IP地址或基于元組對業(yè)務(wù)流選路。
(4)由于缺乏全局拓撲和全局流量觀,無視全網(wǎng)資源利用情況,因此無法實現(xiàn)全網(wǎng)流量工程。
(5)RR遵循標準BGP選路原則,無法實現(xiàn)流量按照規(guī)劃的路徑進行疏導(dǎo)。
以圖1為例說明RR選路引發(fā)次優(yōu)路由問題。RR收到來自北京ASBR和廣州ASBR到其他運營商的同一目的Prefix的路由,由于RR放置位置的不同,RR根據(jù)IGP Metric計算自身到北京ASBR和廣州ASBR的距離,發(fā)現(xiàn)廣州ASBR距離自身的IGP距離最近,于是把廣州ASBR作為該路由的下一跳向全網(wǎng)反射。
這樣帶來的結(jié)果是,由北京片區(qū)的路由器轉(zhuǎn)發(fā)的數(shù)據(jù)流要繞轉(zhuǎn)至廣州ASBR出口,而不是最短距離的北京ASBR出口。但是,根據(jù)實際網(wǎng)絡(luò)拓撲,RR應(yīng)該向北京片區(qū)的路由器反射該Prefix的路由的下一跳為北京ASBR,而向廣州片區(qū)的路由器反射該Prefix的路由的下一跳為廣州ASBR。這樣不僅可以實現(xiàn)流量的負載均衡,而且減少路徑繞轉(zhuǎn),提高網(wǎng)絡(luò)效率。
圖1 RR選路引發(fā)次優(yōu)路由
2. 基于SDN的互聯(lián)網(wǎng)域間路由
起初在制定BGP協(xié)議標準時,主要是為了解決全球互聯(lián)網(wǎng)跨自治域的IP可達性及擴展性問題。隨著互聯(lián)網(wǎng)流量爆發(fā)式增長和網(wǎng)絡(luò)規(guī)模的持續(xù)擴展,網(wǎng)絡(luò)流量不平衡以及服務(wù)同質(zhì)化現(xiàn)象日益突出。傳統(tǒng)基于RR的BGP路徑選擇由于缺乏全網(wǎng)拓撲和全局流量觀,難以實現(xiàn)全網(wǎng)流量工程,也難以為服務(wù)質(zhì)量要求較高的客戶提供優(yōu)化路徑。
SDN具有控制和狀態(tài)集中、網(wǎng)絡(luò)控制面和數(shù)據(jù)轉(zhuǎn)發(fā)面解耦以及網(wǎng)絡(luò)可編程等特點。通過集中控制器實現(xiàn)全網(wǎng)拓撲自動發(fā)現(xiàn),基于業(yè)務(wù)需求為客戶提供定制化的網(wǎng)絡(luò)服務(wù)。
這種全新的網(wǎng)絡(luò)架構(gòu)帶來的最大好處是集中控制器具有全局流量觀和全網(wǎng)的資源利用視圖,能實時發(fā)現(xiàn)各鏈路的帶寬利用情況,因此能基于每個業(yè)務(wù)流的源、宿端位置以及QoS需求(包括帶寬、時延、丟包等),并結(jié)合各鏈路負載情況為不同業(yè)務(wù)流確定合適的路徑。
因此,SDN技術(shù)在實現(xiàn)流量工程和負載均衡方面具有天然優(yōu)勢,目前廣泛部署在運營商網(wǎng)絡(luò)和大規(guī)模云數(shù)據(jù)中心需要流量優(yōu)化的場景。
2.1 基于RR+實現(xiàn)互聯(lián)網(wǎng)骨干網(wǎng)流量優(yōu)化
針對傳統(tǒng)RR在BGP路徑選擇存在的局限性,研究RR實現(xiàn)流量調(diào)優(yōu)能力,并對現(xiàn)有BGP路徑選擇原則進行改進。借助于SDN集中控制的思想,使改進的RR系統(tǒng)(被命名為RR+)具有發(fā)現(xiàn)全網(wǎng)拓撲和實時收集全網(wǎng)鏈路流量數(shù)據(jù)的能力。
同時,基于采集的Netflow流量流向數(shù)據(jù)分析到外網(wǎng)的目的Prefix所承載的流量TOP N排名,根據(jù)網(wǎng)內(nèi)中繼鏈路負載情況以及域間各個出口的負載情況,在鏈路利用率超過閾值的流量中挑選合適的業(yè)務(wù)流,通過修改BGP路徑屬性(如修改NEXT_HOP、LOCAL_PREF)等方式,把這部分流量分流到鏈路相對輕載的中繼鏈路和出口,從而達到實現(xiàn)全網(wǎng)流量工程和負載均衡的目的。RR+系統(tǒng)如圖2所示。
圖2 RR+流量調(diào)度系統(tǒng)
RR+系統(tǒng)主要包含如下功能模塊:
(1)拓撲管理。系統(tǒng)支持南向BGP-LS接口收集全網(wǎng)拓撲數(shù)據(jù),根據(jù)形成的拓撲數(shù)據(jù)庫自動發(fā)現(xiàn)全網(wǎng)拓撲結(jié)構(gòu)。
(2)BGP路由管理。系統(tǒng)基于BGP學(xué)習(xí)網(wǎng)內(nèi)網(wǎng)外BGP路由,包括來自多個ASBR的相同目的網(wǎng)絡(luò)的多路徑路由。
(3)鏈路流量分析。系統(tǒng)基于SNMP收集全網(wǎng)鏈路實時流量數(shù)據(jù),對超過鏈路利用率閾值的鏈路以及利用率低下的鏈路進行顏色標記。
(4)流量流向分析。系統(tǒng)基于Netflow收集全網(wǎng)流量流向數(shù)據(jù),生成流量流向矩陣表,并對網(wǎng)外目的prefix承載流量的TOP 進行排序。
(5)BGP路徑選擇。根據(jù)鏈路流量數(shù)據(jù)分析模塊得到標記顏色的超過利用率閾值的鏈路、利用率低下的鏈路以及根據(jù)流量流向分析模塊得到超過利用率閾值的鏈路承載外網(wǎng)目的prefix流量TOP 排名,在超過利用率閾值的鏈路挑選相應(yīng)目的prefix的業(yè)務(wù)流分流到利用率較低的鏈路和出口,形成到出口的端到端優(yōu)化路徑。
(6)路由策略管理。根據(jù)選擇的優(yōu)化路徑,修改相應(yīng)BGP路徑屬性(如NEXT_HOP、LOCAL_PREF等)生成BGP路由策略,向網(wǎng)內(nèi)相關(guān)路由器通告。研發(fā)的RR+流量調(diào)優(yōu)系統(tǒng)已部署在中國電信ChinaNet骨干網(wǎng)中,實現(xiàn)對網(wǎng)內(nèi)中繼、網(wǎng)間互聯(lián)出口以及IDC出口等多場景的流量調(diào)度,達到均衡網(wǎng)絡(luò)流量、提升服務(wù)質(zhì)量的效果。
2.2 基于SDN的互聯(lián)網(wǎng)域間路由
盡管RR+系統(tǒng)豐富了互聯(lián)網(wǎng)流量調(diào)優(yōu)手段,但是全網(wǎng)仍需運行IGP和BGP等多種路由協(xié)議,配置復(fù)雜的路由策略,并未從根本上簡化網(wǎng)絡(luò)。本文提出一種基于SDN的互聯(lián)網(wǎng)域間路由架構(gòu),能夠真正簡化網(wǎng)絡(luò)協(xié)議,降低網(wǎng)絡(luò)運維復(fù)雜度。
在各互聯(lián)網(wǎng)AS內(nèi)部署獨立的SDN控制器。AS域內(nèi)路由器只需運行IGP協(xié)議,無需運行iBGP和eBGP。由各AS域內(nèi)的SDN控制器負責域間路由信息交換,各個域內(nèi)的ASBR不再像傳統(tǒng)方式通過eBGP交換域間路由。
SDN控制器收集全網(wǎng)路由信息并相互交換各自域內(nèi)的路由信息,基于收集的全網(wǎng)拓撲信息對域間路由進行決策控制,然后向AS內(nèi)全網(wǎng)路由器下發(fā)域間路由的轉(zhuǎn)發(fā)信息表。這樣AS內(nèi)路由器對目的地址為外網(wǎng)的流量依據(jù)下發(fā)的域間路由轉(zhuǎn)發(fā)信息表進行轉(zhuǎn)發(fā)。
現(xiàn)以圖3為例對該域間路由架構(gòu)進行描述。
圖3 一種基于SDN的互聯(lián)網(wǎng)域間路由架構(gòu)
各AS中的SDN控制器對收集到的網(wǎng)內(nèi)路由進行匯總。SDN控制器之間可以采用非常成熟的BGP協(xié)議進行交換路由信息。圖3中AS1的控制器向AS2的控制器通告AS1的4條匯總路由1.0.0.0/8~4.0.0.0/8;AS2的控制器向AS1的控制器通告AS2的4條匯總路由5.0.0.0/8~8.0.0.0/8;雙方通告路由時,可以選擇指定下一跳信息。例如,AS1的控制器在通告的2條匯總路由1.0.0.0/8~2.0.0.0/8時選擇ASBR1作為下一跳,在通告的2條匯總路由3.0.0.0/8~4.0.0.0/8時選擇ASBR2作為下一跳。
為實現(xiàn)網(wǎng)間流量在多個ASBR間負載均衡,SDN控制器根據(jù)交換得到的域間路由信息及全網(wǎng)拓撲視圖信息,并根據(jù)監(jiān)測到每條匯總域間路由承載的流量大小及多個出口域間鏈路的利用率情況,向全網(wǎng)路由器(除ASBR外)動態(tài)下發(fā)指定下一跳的域間路由信息。
網(wǎng)內(nèi)路由器根據(jù)IGP最短路徑把外出流量轉(zhuǎn)發(fā)到一個或多個指定ASBR。網(wǎng)內(nèi)所有路由器只需運行IGP協(xié)議,無需運行IBGP和eBGP協(xié)議。同時,在所有ASBR上配置缺省路由,出接口為網(wǎng)間互聯(lián)接口,外出流量根據(jù)缺省路由轉(zhuǎn)發(fā)到網(wǎng)間互聯(lián)鏈路。假設(shè)AS1中控制器監(jiān)測到AS2通告的2條匯總路由5.0.0.0/8~6.0.0.0/8承載的流量為10 Gb/s,監(jiān)測到AS2通告的2條匯總路由7.0.0.0/8~8.0.0.0/8承載的流量為20 Gb/s。AS1中控制器同時也監(jiān)測到ASBR1與ASBR3之間網(wǎng)間互聯(lián)鏈路帶寬利用率比較高,剩余帶寬只能承載10 Gb/s的流量,而監(jiān)測到ASBR2與ASBR4之間網(wǎng)間互聯(lián)鏈路帶寬利用率較低,剩余帶寬能夠承載20 Gb/s的流量。這時AS1中控制器優(yōu)選ASBR1作為目的地址為5.0.0.0/8~6.0.0.0/8范圍內(nèi)的IP流量的出口,把域間匯總路由5.0.0.0/8~6.0.0.0/8向全網(wǎng)除ASBR外的路由器通告(如圖中R1和R2),并為5.0.0.0/8~6.0.0.0/8路由指定下一跳為ASBR1。
同樣地,AS1中控制器優(yōu)選ASBR2作為目的地址為7.0.0.0/8~8.0.0.0/8范圍內(nèi)的IP流量的出口,把域間匯總路由7.0.0.0/8~8.0.0.0/8向全網(wǎng)除ASBR外的路由器通告,并為7.0.0.0/8~8.0.0.0/8路由指定下一跳為ASBR2。
以上描述了SDN控制器根據(jù)多出口鏈路帶寬利用率情況實現(xiàn)外出流量在多個出口之間的負載均衡。SDN控制器也可以根據(jù)指定路徑、最短路徑、最小時延等策略,為不同外網(wǎng)目的IP地址的報文流指定出口路由器,無需基于BGP路由策略這種復(fù)雜的傳統(tǒng)技術(shù)實現(xiàn)多出口負載均衡。
3 結(jié) 語
互聯(lián)網(wǎng)經(jīng)歷了半個世紀的發(fā)展,已成為現(xiàn)代社會不可或缺的關(guān)鍵信息基礎(chǔ)設(shè)施,把人類文明駛向一個嶄新的高度。BGP協(xié)議把分散在全球各地的一個個孤立網(wǎng)絡(luò)互聯(lián)在一起,很好地解決了各個自治系統(tǒng)之間的連通性。
可以毫不夸張地說,沒有BGP協(xié)議就沒有Internet。隨著互聯(lián)網(wǎng)流量的急劇膨脹,疊加互聯(lián)網(wǎng)流量固有的突發(fā)性,網(wǎng)絡(luò)流量不均衡現(xiàn)象日益加劇。同時,互聯(lián)網(wǎng)上新業(yè)務(wù)和新應(yīng)用層出不窮,互聯(lián)網(wǎng)服務(wù)需要“效率優(yōu)先、兼顧公平”。面對互聯(lián)網(wǎng)新的變化趨勢,傳統(tǒng)BGP協(xié)議也在不斷完善和發(fā)展,重新煥發(fā)出新的生命力。
然而,BGP不斷擴展新的功能,在帶給網(wǎng)絡(luò)靈活調(diào)度的便利性同時,也增加了網(wǎng)絡(luò)運維復(fù)雜度。SDN技術(shù)在簡化網(wǎng)絡(luò)、實現(xiàn)流量工程和負載均衡方面具有天然優(yōu)勢,可以彌補BGP協(xié)議的不足。針對BGP存在的局限性,研發(fā)了基于RR+的互聯(lián)網(wǎng)骨干網(wǎng)流量調(diào)度系統(tǒng),并應(yīng)用于ChinaNet骨干網(wǎng)多個流量優(yōu)化場景。
更進一步,文章提出了一種基于SDN的互聯(lián)網(wǎng)域間路由架構(gòu),極大地簡化了網(wǎng)絡(luò)協(xié)議,并能夠?qū)崿F(xiàn)靈活的流量調(diào)度和負載均衡。后續(xù)將繼續(xù)探索利用SDN技術(shù)來提升互聯(lián)網(wǎng)的服務(wù)水平。
引用本文
何曉明,劉寧芳,陳文華?;赟DN的互聯(lián)網(wǎng)域間路由研究[J].通信技術(shù),2020,53(05):1146-1150.
HE Xiao-ming,LIU Ning-fang,CHEN Wen-hua.Research on Inter-Domain Routing Based on SDN[J].Communications Technology,2020,53(05):1146-1150.
作者簡介:
何曉明(1968—),男,博士,高級工程師,主要研究方向為數(shù)據(jù)網(wǎng)絡(luò);劉寧芳(1973—),男,碩士,工程師,主要研究方向為數(shù)據(jù)網(wǎng)絡(luò);陳文華(1967—),男,學(xué)士,高級工程師,主要研究方向為數(shù)據(jù)網(wǎng)絡(luò)、云計算。
選自《通信技術(shù)》2020年第五期 (為便于排版,已省去原文參考文獻)