自2012年源自於學術界的SDN框架被Google用以實踐全球資料中心的串連,引發各界高度關注,不少企業皆有意效法此成功標竿的作法,解決伺服器虛擬化後,網路層難以彈性因應設定配置的障礙。當時國際間不僅有開放網路基金會(ONF)為轉發層提出Openflow協定、Linux基金會亦釋出OpenDaylight開源專案建構控制層,市場上更是群雄四起,除了VMware高價併購新創公司Nicira取得網路虛擬化技術推出NSX,既有龍頭大廠思科發布自主研發的ACI(Application Centric Infrastructure)、Juniper則是在併購Contrail System後發展提出Contrail解決方案。
整合Underlay與Overlay建立單一控管
儘管SDN持續發展至今已數年,事實上,多數IT人員對於SDN的抽象化概念,受到市場推廣初期影響,通常會從Openflow通訊協定理解SDN的意涵,甚至誤以為兩者本質上為等號。若要真正理解SDN的現況,仍須話說從頭。Juniper Networks台灣區技術總監游源濱指出,原本實體路由器、交換器設備的設計,各家有自主研發的作業系統、客製化晶片、應用功能,設備彼此之間透過RFC標準或封閉式協定進行溝通,每台設備皆擁有處理封包的能力。架構之所以如此設計,主要是因應網路發展初期,運算效能無法處理龐大的封包量,必須交由多台實體設備來執行。
隨著運算資源變得日漸強大,再加上平行運算技術逐漸成熟,於是學術界基於ONF提出的SDN框架開始發展,運用Openflow協定建立溝通架構,讓各個節點全數整合到統一控管中心,也就是控制平面(Control Plane),透過API介接來擷取資訊,以降低溝通上的障礙;至於實際執行動作的設備,可能分散在異地機房,必須擔任轉發平面(Forwarding Plane),接受控制平面的指令。如此的架構模式,網路規模愈大才得以彰顯效益。
就SDN框架來看,除了可透過Openflow實作,亦可改用其他標準通訊協定例如EVPN(Ethernet VPN)、VXLAN等來達成。廣域網路也有PCEP協定,主要應用於電信領域,底層通道採用的是MPLS,執行轉發平面的工作,聽命於PCEP控制平面的指令,藉此實踐SDN。
SDN的框架剛開始被提出時,本來就是百家爭鳴,各有不同實踐之道。如今Openflow之所以漸趨式微,原因在於限制過多,若為全新建置的網路架構或許還可導入,但如欲整合於既有的架構,則實作難度過高,因此國際IT廠商多數已轉向支援VXLAN與EVPN,Juniper提出的Contrail Enterprise Multicloud即投入支持,藉此整合Overlay與Underlay,打通私有雲與公有雲的異質平台,並且讓IT維運者得以透過單一平台進行控管。
發展新興封裝協議擴增網路資訊交換
另一方面,IT基礎架構領域的技術供應商也投入發展SDN,著眼點卻不盡相同。VMware NSX資深架構師饒康立指出,多數硬體廠商是基於多台硬體設備的集中控管,或是透過可程式能力,以指令執行呼叫來快速部署多台實體設備,此架構統稱為Underlay;VMware著重的網路虛擬化,則屬於Overlay架構,可架構在任何廠商所提供的底層技術之上的IP網路,採用的是標準VXLAN封裝協定,同時也積極發展下一代Geneve協議。
儘管Geneve目前尚在申請IETF標準中,卻已經是業界公認的標準。由於VXLAN為固定長度的封裝機制,主要針對執行封裝的邏輯交換器連接埠編號等固定資訊,若廠商希望在Overlay環境中傳遞更多內容,例如QoS、廠商專有的訊號等,Geneve可基於VXLAN既有的封裝再增添一段長度與資訊皆可變動的表頭(Header),稱之為TLV(Type-Length-Value)來進行擴增,同樣可運行在任何廠商所建構的IP網路環境。只是經過封裝後的網路封包表頭長度會增加,通常會要求啟用IP網路環境的Jumbo Frame功能,並且將預設的1500位元組數值修改設為1700,如此一來,欲實作軟體定義網路時,毋須汰換裝置,基於現有實體環境即可運行。
「VMware解決方案的設計理念,就如同伺服器虛擬化,必須是基於現有的硬體來達到目的,而非重新建置。Overlay架構可運作在自家vSphere,也可支援KVM、建置Linux系統的實體伺服器(Bare-metal)。因此提出的SDN應用模式,可包含私有雲與公有雲,不論是虛擬主機或容器環境,皆得以建立透過軟體定義方式運行,並且確保統一控管與安全性配置。」饒康立強調。
軟體定義資源滿足現代應用變革需求
針對資料中心網路層的演進,思科提出的ACI解決方案,核心理念在於滿足現代應用服務運行所需。思科台灣技術長馮志良說明,「思科設計的硬體,可同時提供傳統實體建置與軟體定義模式,初期客戶嘗試採用軟體定義的比例並不多,但根據思科最新的統計數據,如今已大約有近五成的既有客戶已經啟用軟體定義網路,由此看來,透過軟體來定義資料中心運行確實已成為企業發展的主軸。」
企業導入軟體定義的目的,主要是為了因應應用層朝向雲端原生(Cloud Native)發展的變革,部署容器環境運行微服務架構,藉此便於封裝、彈性遷移到異質雲端平台,公有雲可說是其中的應用之一。原本集中於內部的工作負載如今變得分散,為了確保應用服務運行效能、縮短網路傳輸延遲時間,近年來邊緣運算的建置模式受到各產業青睞,讓資料得以在應用場域附近先行彙整處理,再拋送到資料中心。特別是物聯網應用場景,連網裝置接取到網路環境的當下,必須具備主動偵測、辨識的運算能力。在工作負載分散的現況下,必須建立較以往更宏觀的視野才得以掌控全局,網路環境自然無法置身事外。
「當初思科提出的ACI架構,即是以應用為核心的設計,只是觀念過新,多數人一時之間無法理解,事實上,軟體定義網路實現自動化調度底層資源的目的,即在於支援應用服務的演進。」馮志良強調。姑且不論各家技術供應商對於軟體定義的作法,單純就現代資料中心發生的變革來看,應用系統可能大量採用AWS、Azure等公有雲平台,軟體定義的策略已無法僅從網路的角度切入,而是必須整合資料中心的組成元件來滿足應用所需。讓實體特性予以抽象化之後,透過軟體定義方式實現自動化,進而達到一致性的安全政策管控,來保護分散式工作負載環境。