王亞昕,陳 量,康宗緒,王建兵
(重慶金美通信有限責任公司,重慶 400030)
?
用SDN改造Google WAN網絡-Google B4網絡項目研究
王亞昕,陳量,康宗緒,王建兵
(重慶金美通信有限責任公司,重慶 400030)
摘要:Google公司成功的將SDN的概念引入其數據中心廣域網WAN的網絡構建,采用控制層面與數據轉發層面分離的思想,以Quaga協議棧為基礎構建SDN控制器,并通過運行BGP和ISIS同步數據中心之間的鏈路;以通用商用交換機為原型實現openflow交換機,配置交換機產生基于路由的LPM路由表和基于流量工程(TE)的ACL表,實現基于業務的隧道(Tunnel)選取和流量量化分攤。對Google公司的采用SDN搭建的B4網絡進行了分析和研究,針對如何借鑒該數據中心網絡搭建經驗進行初步研究。
關鍵詞:SDN;WAN;Google B4;LPM路由表;TE;Tunnel;ACL;流量量化分攤
0引言
SDN是典型的集中控制方式,其對網絡的虛擬能力,網絡功能、性能的自動處置能力,高效網絡管理能力,大大簡化了虛擬機部署復雜性,提高密級交換設備環境下智能化適配性能,很適合在云計算的環境中部署[1]。Google B4的SDN將網絡的控制層面與數據層面分離,并通過控制平面實現網絡的可編程性,SDN下的控制器可以對全網業務流量和帶寬情況進行掌控,下發最優化的路由策略滿足帶寬需求[2]。
本文通過分析Google搭建的B4網絡的SDN架構設計,研究其路由與流量工程集中控制的大體實現思路,最后描述流量工程如何采用OPENFLOW的協議思路進行設計。
1Google B4網絡的SDN設計
1.1B4網絡的SDN網絡架構
傳統互聯網體系結構是分布式的,每個網絡設備都擁有相對獨立的操作系統和控制層面,設備與設備之間通過分布式網絡協議交換信息和數據[3]。采用SDN構建的B4網絡采用集中控制的方式,其架構如圖1所示。
(1)站點控制器(Site controllers)層:主要由網絡控制服務(Network Control Service下簡稱NCS)構成,NCS又由OpenFlow 控制器(下簡稱OFC)和網絡控制應用(Network Control Application下簡稱NCA)組成。 NCS上運行分布式路由和流量工程協議,OFC基于NCA的指令維護網絡的狀態,同時根據NCA反饋的信息修改交換機的轉發表;
(2)全局部署(Global)層:運行了一些集中式的應用程序,比如SDN網關和流量工程中心服務器。B4網絡將路由協議與流量工程(下簡稱TE)當作不同的服務進行部署,并將中心化的TE服務部署在標準的路由應用之上。該層通過眾多NCS服務器上的NCA來實現對全網的中心控制,其中SDN網關通過TE中心服務器提取OPENFLOW信息和交換硬件信息(細節將會在第4節講到);
(3)交換機硬件(Switch hardware)層:所有物理交換機的集合,主要負責業務的轉發,并不運行復雜軟件。處于接入點位置的交換機通過一個具備BGP功能的外部路由器(該路由器未在圖1中畫出)連接到外部的服務器集群(serve cluster)。每個服務器集群在邏輯上都是一個自制系統(AS)并且根據IP地址進行劃分,并通過這些路由器連接入B4網絡。

圖1B4網絡架構
1.2B4網絡的SDN交換機設計
Google定制的交換機運行著linux操作系統。在linux中運行OPENFLOW Agent(下簡稱OFA)軟件,連接到遠端的OFC,接收OPENFLOW命令并將配置寫到交換機硬件中,同時將數據包和交換機上的鏈路信息通知OFC。
1.3B4網絡的SDN控制器設計
B4網絡的大部分功能都運行在控制器層面的NCS服務中。NCS和交換機共享帶外的控制通道。SDN控制器上主要運行著路由與流量工程集中控制的應用,詳細描述見后續章節。
1.4B4網絡的路由集中控制
在介紹B4網絡的路由過程之前,先介紹B4網絡采用OPENFLOW進行路由集中控制方式下的幾個重要構成部分:
(1)RIB:Routing Information Base,路由信息數據庫,包含路由所需要的網絡拓撲、路由規則等信息;
(2)Quaga:Google采用的開源協議棧,支持BGP/ISIS協議;
(3)RAP:Routing Application Proxy,路由應用代理,提供Quaga協議棧與交換機之間的連接,負責將路由更新信息下發給交換機,并將交換機收到的報文發送給Quaga協議棧。
圖2中對上述構成部分做了層次化的描述。
圖2描述了交換機硬件與OFC以及控制層服務之間的關系。一個路由應用代理客戶端進程向Quaga協議棧訂閱更新消息發送給路由應用代理服務器,并且通過RPC遠程調用獲取OFC得到的變化信息。RAP負責提取高層次的RIB中的路由信息,形成相應的流表,通過OPENFLOW協議下發給低層次的數據轉發平面的硬件平臺。Quaga為物理交換機的每個端口都建立了相應的虛擬接口,BGP與ISIS協議的會話運行這些接口之間。通過啟動NCS,協議報文會經過RAP轉發到OFC,然后再轉發至OFA,最后交付到數據轉發平面。一旦交換機檢測到端口狀態的變化,交換機上的OFA將OPENFLOW消息發送到控制器的OFC。OFC更新自己的網絡信息數據庫NIB,并將相關信息復制給RAP。RAP收到變換信息后會改變Quaga相應虛擬接口的狀態,隨后Quaga就會產生路由更新,重新選擇最短路徑并緊接著開始協議處理。

圖2 B4路由集中控制結構
2B4網絡的流量工程思路
B4采用的流量工程系統的目標是為每個應用提供最大-最小公平[4]的帶寬分配,該算法直接作用在TE Optimization Algorithm核心算法中。圖3描述了B4采用TE的軟件架構。

圖3 B4流量工程系統的軟件架構
業務流源抽象負責將業務流特征信息(包括帶寬信息和數據包信息)匯報給帶寬優先級加權模塊,由帶寬優先級加權模塊通過帶寬分配函數決定業務流如何分組以及帶寬分配,再將這些結果輸入TE最優化核心算法。算法同時也會收到由SDN 網關匯報再經過拓撲匯聚模塊提取的拓撲信息(主要是端口狀態變換導致的鏈路狀態變化和帶寬信息)作為算法的另一個輸入。最后由算法結果決定業務流組采用的隧道和隧道組。隧道和隧道組信息會繼續輸入到隧道數據庫管理模塊中,隧道數據庫管理模塊通過SDN 網關下發TE操作。
TE算法為不同的業務輸出隧道組信息,控制業務流采用不同的外層隧道封裝,從而控制業務間的帶寬分配。由于篇幅所限,TE所采用的帶寬分配核心算法將不在本文中著重論述。
3B4流量工程協議與OPENFLOW
B4采用OPENFLOW作為SDN的南向接口協議。對于B4這種應用了數據中心之間流量工程的環境,如果直接采用,可能導致流表數量太多。為了減少流表數目,B4的隧道封裝采用{源站點IP,目的站點IP,QoS}這種集合對業務流進行抽象與分類,即相同源封裝站點發出、抵達相同目的解封裝站點且優先級相同的數據流,都采用相同的隧道封裝。
3.1流量工程的OPENFLOW化設計
為了抽象B4中交換機的功能,B4網絡中的交換機分為3種身份,如表1所示。

表1 交換機的三種身份
OPENFLOW交換機的每個動作都與OPENFLOW流表想對應[5],為了詳細說明構成TE中的每個關鍵元素與OPENFLOW以及流表的映射,我們用表2來描述。

表2 TE構成與OPENFLOW定義流表的映射
源站點通過隧道封裝生成FG。交換機通過檢查數據包的目的IP是否被一個FG包含,如果包含則將這個數據包與這個FG映射起來。進入交換機且與某個FG映射(或者說屬于這個FG)的數據包將會使用相應的隧道進行轉發。每個進入的數據包都會根據自己的目的IP在TG查找到相應的T。在負責封裝的交換機上有一個流量工程配置列表,負責交換轉發的交換機使用這個表,根據數據包的隧道ID(外層IP頭部的目的IP)進行交換轉發。負責解封裝的交換機根據這個表針對數據包的隧道ID進行隧道終結,還原數據包頭部,整個過程完成。因此,完成整個隧道過程需要多個交換機的參與。
3.2路由策略與流量工程策略的結合
不同轉發機制下發的流表(含流和流組)將被作用到合適的硬件表項中。數據包在進入交換機時,會首先執行ACL規則,然后再被LPM表轉發。如圖4中所示,一個目的IP為9.0.0.1的數據包進入封裝交換機,在LPM表和ACL表中都查到了相應的轉發表項。LPM表指示數據包匹配等價多路徑表(下簡稱Multipath Table),并且使用索引號為2的entry,從端口2被輸出,且不通過隧道轉發;ACL表指示數據包匹配Multipath Table,且使用索引號分別為0、1的兩個entry。由于ACL會優先于LPM,數據包在這個表中使用索引號為0、1的兩個entry,這兩個entry又指向第四個表——隧道封裝表。隧道封裝表指示數據包使用兩個entry,分別被封裝為源/目的IP分別為2.0.0.1/3.0.0.1和2.0.0.1/4.0.0.1的兩個隧道。通過運算結果決定輸出使用Multipath Table中的entry,最終決定采用何種IP完成外層IP封裝。

圖4 LPM表與ACL表的執行順序
4B4部署的經驗分析
B4網絡流量工程集中化控制實施的成功,作為SDN在網絡中的應用起到了一個示范性作用,同時也為SDN流量工程的實現提出了一種新穎且可靠的方法:
(1)數據層面與控制層面分離,交換路由設備只負責數據轉發,軟件層面全部上移到控制器,控制器全面掌控網絡的拓撲信息和業務信息;
(2)結合隧道技術,通過外層隧道封裝的方式達到為數據業務重新選路的目的,在分攤流量的同時可以避開不穩定的低速鏈路;
(3)將指控業務分類,業務在產生時根據帶寬和優先級進行綜合考慮,控制器進行路徑選取時結合流量工程算法保證高優先級低帶寬業務及時可靠交付。
另外,SDN控制下采用兩種路徑選取機制,在一種失效的情況下,可以馬上切換到另外一種,保證數據的基本可交付性。
5結語
SDN作為一項新興技術,在市場上的發展前景尚不明朗,但是其所帶來的網絡概念是革命性的。對于下一代網絡的設計和規劃,SDN既是機遇又是挑戰,我們應該積極的吸取SDN的思想精髓,更好的服務于網絡設計,使之更完善、可靠。
參考文獻:
[1]張斌,羅東森.云計算數據中心SDN部署研究[J].通信技術,2014,47(12).1424-1428.
ZHANG Bin,LUO Dong-sen.SDN Deployment in Cloud-Comouting Data Center[J].Communications Technology, 2014, 47 (12).1424-1248.
[2]張衛峰. 深度解析SDN[M].北京:電子工業出版社,2014:174-181.
ZHANG Wei-feng. Depth Resolution of SDN[M]. Beijing: Publishing House of Electronics Industry,2014:174-181.
[3]王俊,陳志輝,田永春等.軟件定義網絡技術在戰術通信網中的應用研究[J].通信技術,2014,47(12):1392-1399.
WANG Jun, CHEN Zhi-hui, TIAN Yong-chun,et al. Application of Software-Defined Network Technology in Tactical Communication Network[J]. Communications Technology,2014, 47(12) :1392-1399.
[4]Danna E, Hassidim A, Kaplan H, Kumar A, Mansour, Y Raz D and Segalov M. Upward Max Min Fairness[J]. INFOCOM, March, 2012: 837-845.
[5]OpenFlow Switch Spec Version1.3.0. [EB/OL].(2012-11-05).http://www.opennetworking.org.

王亞昕(1981—),男,碩士,工程師,主要研究方向為計算機網絡及通信技術;
陳量(1974—),男,碩士,高級工程師,主要研究方向為計算機網絡及通信技術;
康宗緒(1972—),男,碩士,高級工程師,主要研究方向為計算機網絡及通信技術;
王建兵(1974—),男,碩士,高級工程師,主要研究方向為計算機網絡及通信技術。
Reconstruction of Google WAN by SDN-Research on Google B4
WANG Ya-xin, CHEN Liang, KANG Zong-xu, WANG Jian-bing
(Chongqing JINMEI Communication Ltd., Chongqing 400030, China)
Abstract:The concept of SDN is successfully introduced into the network construction of data center WAN by Google, and the idea of separating the control level from data forwarding level is adopted to construct SDN controller based on Quaga protocol stack. The link information is synchronized by operation of BGP and ISIS,and the openflow switch constructed by common commercial switch. Routing-based LPM and TE-based ACL are acquired through configured switch,thus to achieve the tunnel selection based on operation and traffic apart by quantity. Analysis and research are done on Google B4 constructed by SDN,and a pilot study on how to learn from the experience of the mentioned data center network construction is also given.
Key words:SDN; WAN; Google B4;LPM routing table; TE; Tunnel; ACL; traffic apart by quantity
作者簡介:
中圖分類號:TP393
文獻標志碼:A
文章編號:1002-0802(2015)12-1432-05
收稿日期:2015-07-01;修回日期:2015-10-28Received date:2015-07-01;Revised date:2015-10-28
doi:10.3969/j.issn.1002-0802.2015.12.022