軟體定義網路( SDN )

軟體定義網路(SDN)

SDN的定義
軟體定義的網路 (Software-Defined Networking),是一種新的聯網概念或架構,旨在使資料網路更靈活、更易於操作和管理、及能夠更好地應對應用程式發展和網路條件不斷變化的需求、以及成本控制。

三種施行SDN的方法:
1.    Openflow: 目前最知名的方法就是 ONF 所定義與推廣的SDN/OpenFlow,將原本存在同一網路交換設備內的轉發與控制平面分離,將控制平面移動到一個單獨的設備稱為控制器(controller),負責計算網路的最佳路徑,通過標準協議控制交換機對特定資料流的轉發(forwarding)行為。

這種SDN方法的核心技術是OpenFlow,以規範網路交換器(switch)和控制器(controller)之間的溝通協議。OpenFlow由非營利性組織開放式網路基金會 (Open networking Foundation, ONF) 所推展,並主導以使用OpenFlow為controller的架構標準。ONF有70多個會員,成員包括服務提供者、大型網路設備商和初創企業。採用ONF的 SDN架構最主要優點,在於它有行業標準之通信協定OpenFlow,以及眾多的供應商支援。

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

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

SDN 的三個價值定位
1.    SDN定義基礎設施可以響應整個2層到第7層的業務邏輯
2.    SDN讓網路了解應用程序與計算資源的需要,並動態地提供其所需的網路資源
3.    透過配置管理的自動化,SDN提供基礎設施更好的控制、管理和安全性

價值定位1與2在近期內會吸引如超大規模數據中心,公共雲服務供應商和網路服務供應商的投入。價值定位3則是所有不同規模的組織與企業所共同關心的議題。除了降低成本、自動化管理、和安全策略的實施,其他SDN在企業的具體應用,也提供比傳統方式更佳的實行效果,包括:

  • 網路虛擬化 (Network virtualization)
  • 負載均衡(Load balancing)
  • 防火牆(Firewalls)
  • 分散式DoS保護(Distributed denial of service prevention)
  • 訊務工程(Traffic engineering)
  • 災難復原(Disaster recovery)
  • 應用程式加速(Application acceleration via techniques such as SSL offload)
  • 網站優化(Web optimization)
  • 網路訊務分析(Network analysis whereby management data is filtered from network elements and sent to a central site for analysis)

SDN 的優點
1.    根據InformationWeek 2012年對軟體定義網路的調研,IT組織認為SDN可以幫助他們克服一系列的挑戰,像是提高網絡的利用率和效率、提高日常任務的自動化、提高安全性。SDN還可以降低成本。
2.    SDN也提倡軟件接口的使用,允許第三方應用程序的導入來改善網絡服務或甚至成為新的網路服務,SDN並能跨越多種不同設備如交換機、路由器、防火牆和負載均衡等,協調資源的統合與協同運作。