李成博 加云崗

摘要:軟件定義網絡(SDN, Software-Defined Network)是一種新型網絡體系結構, 是未來互聯網以及互聯網革命的核心技術之一,OpenFlow協議則是SDN架構中的重要組成部分;二者對當今互聯網的發展具有深遠的意義。本文將基于OpenFlow協議,分別從定義,研究現狀,工作原理,應用場景等方面進行闡述。
關鍵詞:軟件定義網絡; SDN;OpenFlow;互聯網
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)27-0015-02
隨著互聯網進入21世紀的飛速發展,網絡用戶與終端數量爆炸性增長,當前的網絡規模越來越大,交換機路由器功能越來越多,導致當前網絡比較重要的問題。傳統網絡的體系架構已經越來越難以滿足迅速高效的海量數據傳輸對網絡的要求,并且在可擴展性、安全性、靈活性上存在不足。在這種情況下,網絡性能要得到迅速提升,就只能尋求一種更加開放,創新的網絡體系架構。
而SDN的出現打破了當前網絡在高性能上的瓶頸。SDN通過分離網絡控制轉發平面,集中控制,開放接口,通過開放的可編程接口供應用層實現其特定功能,網絡管理部署通過軟件來定義,實現了網絡由“硬”到“軟”的轉變。這樣的架構使得網絡變得更加靈活,軟硬分離的網絡模式,實現了網絡虛擬化,管理自動化,網絡狀態可視化,從根源上解決了傳統網絡的種種問題。
1? SDN的定義及介紹
1.1 SDN起源及發展歷程
2006年,以斯坦福大學教授Nike Mckeown為首的團隊在Ethane項目中提出了OpenFlow的概念,并基于OpenFlow技術實現網絡的可編程,使網絡像軟件一樣靈活編程。受該項目啟發,Martin 及Nick McKeown 提出將傳統網絡的數據平面(Data Plane)和控制平面(Control Plane)兩個功能模塊分離,改變原有的分布式架構,使用集中控制統一管理的模式管控整個網絡,同時以標準化API對網絡設備進行管理配置,這樣使網絡資源利用率大大提升,降低網絡后期運維難度,而且擴大網絡拓展靈活性,更有利于推動網絡快速發展革新。
軟件定義網絡(SDN)的概念最早由開放網絡基金會(ONF)在2010年提出 。其為OpenFlow的規范標準化發展傾注了巨大的力量,成為基于OpenFlow實現軟件定義網絡的國際標準制定方,其目的就是加速OpenFlow的發展,加速網絡革新的進程。
1.2 SDN架構介紹
1.2.1 傳統網絡架構特點
傳統網絡為管理平面、控制平面和數據平面。傳統網絡有分布式管理,控制與轉發高度耦合的特點,暴露出來的缺點越發嚴重,例如:
(1) 路徑的靈活調整能力不足。
(2) 實現復雜,運維難度較大。
(3) 業務升級速度慢。
1.2.2 SDN架構
SDN架構主要分為三層,應用層,控制層和轉發層。SDN控制器掌控全局網絡并持有全局網絡狀態,向上提供API接口(北向接口)供SDN應用調用,實現其需要定義的各種功能;控制器向下通過南向接口跟數據平面的轉發設備連接,實現控制管理,目前主流的南向接口例如OpenFlow協議。
相對傳統網絡而言,SDN具有集中控制、轉控分離、網絡能力開放的特點。
2 基于OpenFlow的SDN工作原理
2.1 OpenFlow介紹
OpenFlow概念是美國斯坦福大學的Nick McKeown教授于2008 年首次提出。OpenFlow作為SDN的原型實現方式,雖然只是SDN控制平面和數據平面之間多種通信協議之一,但已被看作是SDN南向協議事實上的標準,OpenFlow甚至被認為是狹義上的SDN。
OpenFlow交換機硬件模型架構圖,OpenFlow交換機主要由安全通道,流表和OpenFlow協議三部分組成。
安全通道是交換機與SDN控制器的通信通道;流表中規定了對數據包采取的處理方式;OpenFlow協議是負責交換機跟控制器之間的配置以及信息交換的通信協議。
流表是OpenFlow的核心,流表規定了流表項的優先級匹配域,優先級等信息。流表包含了多個流表項,流表項中規定了數據包的轉發動作。關于流表項進行如下說明:
(1) 匹配域與每個數據包的指定包頭標識集合進行比較。
(2) 優先級用來表示該流表項匹配的優先級,數據包與多條流表項匹配成功的時候,需要按照優先級來選擇一條流表項,并執行該表項的動作。
(3) 失效時間包括硬超時和軟超時,如果流表項的生存時間超過硬生存時間或者在軟生存時間內沒有匹配到數據包,則流表項中的內容將被清空。
2.2 工作原理
基于OpenFlow實現的SDN架構模型主要分三層:應用層,控制層和基礎設施層(數據層)。如圖1所示:其核心是控制層的SDN控制器,向上為應用層提供可編程接口API,也叫北向接口;向下通過OpenFlow協議對數據層的交換機進行配置管理,實時監控全局網絡各個節點狀態,從而按需分配網絡資源,更合理高效的管控全局網絡。
OpenFlow交換機處理數據包的過程如圖2所示。數據包到達OpenFlow交換機后,先根據已有流表進行匹配;如果匹配成功,更新流表的流量時間戳,然后直接按照流表給出的規則轉發數據包;如果流表中沒有可匹配的流表項,則把這個數據包通過安全通道(Packet-In)消息發給上層控制器??刂破鲹碛腥志W絡節點的網絡狀態,計算出數據包轉發路徑,生成新的一條流表項。接著給交換機下發新的流表項,如果流表有空閑空間則更新流表計數器,通過安全通道(Packet-Out消息)添加新的流表規則;如果流表空間已滿,則通過替換策略(例如LRU(Least Recently Used))去刪掉一個最“陳舊”的流表項,然后更新流表計數器,插入新的流表項。而后交換機根據新的流表項規則執行規定的轉發動作。
3 應用場景
目前SDN主要應用在電信運營商、政府及企業客戶、數據中心服務商以及互聯網公司。SDN應用場景主要聚焦在:數據中心網絡、數據中心間的互聯、政企網絡、電信運營商網絡、互聯網公司業務部署。
場景1: SDN在數據中心網絡的應用
數據中心的建設和維護一般統一由數據中心運營商或ICP/ISP維護,具有相對的封閉性,可統一規劃、部署和升級改造,SDN在其中部署的可行性高。數據中心網絡是SDN目前最為明確的應用場景之一,也是最有前景的應用場景之一。
場景2: SDN在數據中心互聯的應用
數據中心之間互聯網的網絡具有流量大、突發性強、周期性強等特點,需要網絡具備多路徑轉發與負載均衡、網絡帶寬按需提供、綠色節能、集中管理和控制的能力。引入SDN的網絡可通過部署統一的控制器來收集各數據中心之間的流量需求,進而進行統一的計算和調度、實施帶寬的靈活按需分配、最大程度優化網絡、提升資源利用率。
場景3: SDN在政企中的應用
SDN將復雜的業務功能剝離,由上層應用服務器實現,不僅可以降低設備硬件成本,更可使得企業網絡更加簡化,層次更加清晰。同時,SDN控制的邏輯集中,可以實現企業網絡的集中管理與控制,企業的安全策略集中部署和管理,更可以在控制器或上層應用靈活定制網絡功能,更好滿足企業網絡的需求。
場景4: SDN在電信運營商網絡的應用
電信運營商網絡包括了寬帶接入層、城域層、骨干層等層面。
SDN的控制邏輯集中特點可逐步實現網絡的集中化管理和全局優化,有效提升運營效率,提供端到端的網絡服務; 有效實現設備的逐步融合,降低設備硬件成本;DN的網絡能力虛擬化和開放化,也有利于電信運營商網絡向智能化,開放化發展,增加收入。
場景5: SDN在互聯網公司業務部署中的應用
思科,Juniper,以及國內知名互聯網公司華為,騰訊、百度等都在加快SDN的實驗室部署。例如思科的SDN解決方案APIC-EM,華為的SDN產品Agile Controller-Transport,騰訊利用SDN實現差異化的路徑計算、流量控制和服務。
4 結語
互聯網飛速發展的今天,在5G,大數據,云計算,物聯網等新興產業百花齊放的背景下,各種業務對網絡性能的要求越來越高,這導致傳統的網絡遠遠不能滿足新業務以及用戶的要求。SDN控制轉發分離的思想,集中管控的模式,根據業務對網絡資源按需分配,這些特點很好地解決了傳統網絡性能上的瓶頸。OpenFlow技術目前已經成為標準化的南向接口協議,且基于OpenFlow協議實現的SDN解決方案也越來越多地被企業、高校和研究所使用。SDN這種開放創新的架構實現了網絡資源可視化,網絡資源按需分配,網絡管理自動化等等,相信在未來SDN技術不斷地完善創新,一定能大大提升當前的網絡性能,為互聯網行業發展帶來更加強大的驅動力。
【通聯編輯:李雅琪】