在軟體定義網路上最佳路由之研究

關於系統

程式碼

範例影片
關於我們

系統

SDN

軟體定義的網路 (Software Defined Networks),是一種新的網際網路概念或架構,

旨在使資料網路更靈活、更易於操作和管理、及能夠更好地應對應用程式發展和網路條件不斷變化的需求、以及成本控制。

圖一 SDN架構
資料來源: iThome文章

其中有三施行SDN的方法: (1) Openflow  (2) Virtual networking   (3)API

Openflow

目前最知名的方法就是 ONF 所定義與推廣的SDN/OpenFlow,將原本存在同一網路交換設備內的轉發與控制平面分離,將控制平面移動到一個單獨的設備稱為控制器(controller),負責計算網路的最佳路徑,通過標準協議控制交換機對特定資料流的轉發(forwarding)行為。
這種SDN方法的核心技術是OpenFlow,以規範網路交換器(switch)和控制器(controller)之間的溝通協議。OpenFlow由非營利性組織開放式網路基金會 (Open networking Foundation, ONF) 所推展,並主導以使用OpenFlow為controller的架構標準。ONF有70多個會員,成員包括服務提供者、大型網路設備商和初創企業。採用ONF的 SDN架構最主要優點,在於它有行業標準之通信協定OpenFlow,以及眾多的供應商支援。

圖二 OpenFlow 架構圖
資料來源:iThome文章

Virtual networking

採用分離的控制平面和轉發平面,由特定廠商所推出控制器與虛擬交換機組成。通常與現有網路設備採共存(overlay)的機制,採用VXLAN (Virtual Extensible LAN)或NVGRE (Network Virtualization using Generic Routing Encapsulation) 等作為架構協議。這種方法可能會吸引目前已經採用大型網路設備與虛擬化設備的大型企業客戶,但是,其應用範圍僅限於管理虛擬主機管理程式內的虛擬交換機 (hypervisor-based virtual switch),且VXLAN與 NVGRE仍屬新興技術尚未成為 IETF標準。

API

  直接通過可程式化介面 (API) 對網路設備進行控制,廣義定義上它可控制包括OSI標準堆疊從 layer2到 layer7的所有設備。這種方式並沒有將控制平面和轉發平面分離,控制平面也不是集中的。目前由既有的網路設備大廠因應SDN趨勢而提供這樣的方式。以API方式提供其網路設備可被用戶程式直接控制。這個方法的好處是設備與協定堆疊等資訊可以非常深入,不需了解與佈署新協定如OpenFlow及面對控制器失效等情況。但是這個方法最大的缺點仍是它屬於設備商提供的方案,沒有業界統一標準,且存在供應商鎖定 (Vendor lock-in)與費用節省問題。

子系統功能與介面 (Subsystem Requirement and Interfaces)

SDN網路架構就是為了要解決傳統網路的這些問題,SDN的特色是修改了傳統網路架構的控制模式,將網路分為控制層(Control Plane)與資料層(Data Plane),將網路的管理權限交由控制層的控制器(Controller)軟體負責,採用集中控管的方式。
控制器軟體就像是人類的大腦,統一下達指令給網路設備,網路設備則專責於封包的傳遞,就像是人類的四肢負責執行各項動作。這樣的概念讓網管人員能更靈活也更彈性地配置網路資源,日後網管人員只需在控制器上下達指令就可以進行自動化的設定,無須逐一登入網路設備進行各別的設定,節省人力成本也降低了人為部署發生疏失的可能性。而OpenFlow技術則是一項通訊協定,用於控制層和資料層間建立傳輸通道,就像是人類的神經一樣,負責大腦與四肢的溝通,OpenFlow協定目前也是實現SDN架構最主流的技術。
OpenFlow技術將封包傳送的路徑看成是一條「Flow」,就好像是專屬的傳輸路徑,網管人員可依據企業政策或是服務層級協議(Service Level Agreement,SLA)在控制器軟體上設定各項網管功能以及預先建立邏輯網路,來決定封包傳輸方式,例如經過哪些交換器,需要多少的網路頻寬,再將傳輸路徑設定成OpenFlow路由表(Flow Table)。
接著在控制層和資料層之間利用SSL加密技術建立起安全的傳輸通道,控制器會將設定好的OpenFlow路由表透過傳輸通道傳送給資料層的網路設備來進行封包派送。因為傳輸路徑已預先設定完成,交換器不需要透過不斷學習來尋找封包傳送的路徑,可大幅提升傳輸效率,降低延遲(Latency)的時間。
此外,企業日後僅需透過廠商提供的OpenFlow韌體進行更新,即成為支援OpenFlow技術網路設備,就可以透過支援OpenFlow技術的控制器軟體來管理。也就是說,不論企業採購哪一家廠商支援OpenFlow技術的網路設備,都將交由控制器統一管理,被單一網通廠商綁定的問題就可以迎刃而解了。