張政
摘 要:主機虛擬化可以通過編程方式實現創建、刪除和還原基于軟件的虛擬機(VM)和快照、鏡像等操作,SDN也能夠對基于軟件的虛擬網絡實現類似功能。文章討論的SDN在主機虛擬化環境中的應用是一種全新的聯網方法,不僅使數據中心管理人員學習、管理難度大幅降低,還能極大地簡化底層物理網絡的運行模式。
關鍵詞:SDN;主機虛擬化;融合應用
前言
當前的主機虛擬化環境中,網絡與安全解決方案較為復雜,配置調整較慢、工作負載分配和移動受到限制。一方面物理網絡連接和安全的限制,將日益活躍的虛擬世界重新束縛到了缺乏靈活性的專用硬件上,阻礙了網絡體系結構和容量利用率的優化;另一方面,手動調配和雜亂無章的管理界面降低了維護效率,限制了企業根據業務需要快速部署、移動、擴展和保護應用系統及生產數據的能力。
利用SDN技術可以將底層物理網絡作為簡單的數據包轉發設備,以編程方式創建、調配和管理邏輯網絡,從而擺脫硬件限制;同時網絡和安全服務將分布并附加到網絡中的VM上,因此當VM移動到另一個主機上時,這些服務仍然附加在VM上并隨之移動。此外,在網絡中添加新VM來擴展應用程序時,策略也會動態地應用于新VM。
1 SDN相關理論
SDN(Software Defined Network,軟件定義網絡),是一種新型網絡架構,其核心技術OpenFlow通過將網絡設備控制面與數據面分離開來,從而實現了網絡流量的靈活控制,為核心網絡及應用的創新提供了良好的平臺。
如果將網絡中所有的網絡設備視為被管理的資源,那么參考操作系統的原理,可以抽象出一個網絡操作系統(Network OS)的概念,這個網絡操作系統抽象了底層網絡設備的具體細節,提供了統一的管理視圖和編程接口。這樣,基于網絡操作系統這個平臺,用戶可以開發各種應用程序,通過軟件來定義邏輯上的網絡拓撲,以滿足對網絡資源的不同需求,而無需關心底層網絡的物理拓撲結構。
2 SDN在主機虛擬化環境的工作原理
與主機虛擬化的模式相似,SDN方法允許數據中心管理員將物理網絡看作透明容量池,可以根據需要使用和調整。VM是一個軟件容器,可以為應用提供邏輯CPU、內存和存儲,虛擬網絡與之相似,也是一個軟件容器,可以為連接的工作負載提供邏輯網絡組件,包括邏輯交換機、路由器、防火墻、負載平衡器、VPN及其他組件。
SDN以編程方式創建、調配和管理虛擬網絡。網絡服務以編程方式分發到每個VM,與底層網絡硬件或拓撲無關,因此工作負載可以動態添加或移動,VM連接的所有網絡和安全服務不管其在數據中心的什么位置都會隨之移動。SDN在主機虛擬化環境的工作原理如下:
2.1 不依賴物理網絡硬件
SDN軟件定義網絡在任何物理網絡硬件的上一層工作,支持大部分主機虛擬化管理程序平臺。它對物理網絡的唯一要求是必須提供IP傳輸,對底層硬件或虛擬化管理程序無任何依賴。SDN網關允許將舊式VLAN和物理主機映射到虛擬網絡。
2.2 軟件重現物理網絡模型
SDN在每個主機虛擬網絡中的軟件中重現整個網絡環境、L2、L3以及L4-L7網絡服務。SDN為L2-L7服務提供分布式邏輯體系結構,包括邏輯交換機、路由器、防火墻、負載平衡器和VPN。這些邏輯網絡服務在部署VM時以編程方式調配,并且隨著VM移動而移動。現有應用無需修改即可運行,并且虛擬網絡與物理網絡連接之間看不到任何差異。
2.3 可擴展性
SDN由于其軟件定義的特性,能夠提供可插入其他網絡功能的平臺,可擴展集成式軟件產品和硬件設備,包括網絡網關服務、應用交付服務和網絡安全平臺以及安全服務等。
3 SDN在主機虛擬化環境的主要功能
3.1 邏輯交換
邏輯交換網絡是創建彈性可移動虛擬數據中心的基礎,通過它管理員可以快速方便地設立各自獨立的二層網絡,SDN的邏輯交換有著如下優勢:(1)靈活性,通過支持跨交換機和單元邊界的“擴展集群”,數據中心主機與存儲的利用率和靈活性可實現最大化;(2)優化網絡操作,邏輯交換網絡在標準第三層IP網絡上運行,不再需要構建和管理龐大的第二層基礎傳輸層;(3)投資保值,邏輯交換網絡包跑在標準交換機硬件上,交換機上無需進行軟件升級,也不必采用特殊的代碼版本。
3.2 邏輯路由
3.2.1 集中式路由
SDN可提供傳統的集中式路由功能,提供數據中心南北向路由通信,同時還能提供Firewall、DHCP、NAT、VPN、負載均衡等多種網絡服務。
3.2.2 分布式路由
SDN的分布式路由功能優化了主機虛擬化環境的東西向流量,并提供了一個分布式處理、水平擴展的網絡架構。VM間流量或者主機間流量成為東西向流量。主機之間的高帶寬通信需求要求數據中心能夠提供分布式的、面向服務的網絡。
若VM之間的通信是跨不同網段的(跨三層)則在通常狀況下需要物理路由器做轉發,VM流量需要流出物理主機到物理路由器轉發后再回到主機做處理,這種由于不優化的網絡架構產生的流量通常稱為發卡流量(hair pinning)。發卡流量能夠通過分布式路由解決,因為SDN把東西向路由功能(模塊)放到了主機里的hypervisor層。每個hypervisor有個路由的內核模塊來提供跨不同邏輯交換網絡間的通信。
3.3 邏輯防火墻
SDN提供分布式的內核防火墻,該防火墻部署在每個hypervisor內核,提供安全過濾轉發,支持VM對象屬性,支持以用戶ID為對象的安全監控,同時把其他安全服務融入SDN軟件定義網絡。通過邏輯防火墻,在主機虛擬化環境可以實現如下功能。
3.3.1 網絡隔離
網絡隔離是最普遍的網絡安全需求,不同于傳統的依靠手工配置物理網絡設備(防火墻、ACL等)來實現網絡管控,SDN軟件定義網絡平臺天生可以實現多租戶的網絡隔離。
虛擬網絡之間在缺省狀況下是自動相互隔離的,除非管理員指定虛擬網絡之間的關聯。而且這種網絡隔離不需要物理網絡劃分子網、設置VLAN、ACL或防火墻策略。
而且維護這種網絡隔離的同時,VM可以部署在數據中心任意的主機上,不同網絡的VM可以配置在同一個主機上,也可以在不同的主機,隔離的策略不變。這種網絡隔離意味著不同VM可以使用相同的IP地址,即兩套相同IP地址的測試環境VM在同一個物理網絡上運行而不互相干擾。并且由于overlay封裝,物理網絡、虛擬網絡各自的IP環境相互獨立,如用戶可以使用IPv4的物理網絡來承載IPv6的虛擬網絡。
3.3.2 網絡分區
使用軟件定義網絡可以輕松實現網絡分區。相對于傳統網絡隔離,軟件定義網絡可以實現multi-tier的虛擬網絡組,及網絡分區。傳統的方式下網絡分區是由配置物理路由器防火墻的方式來實現的,該方式很容易造成人為的配置失誤,帶來繁瑣的troubleshooting,為運維管理帶來的較大的負擔。
網絡分區同網絡隔離一樣是軟件定義網絡的核心功能,SDN可支持多個虛擬網絡L3互聯,同時支持二層虛擬網絡上使用分布式防火墻策略實現網絡分區。而且上述功能可通過軟件自動化部署,減少傳統方式下的人為失誤。
在一個虛擬網絡里,網絡服務(L3,L2,QoS,Firewall等)都是程序化地執行、推送到各個hypevisor的vSwitch上。網絡隔離、防火墻策略是直接加載到VM的虛擬網卡(vNIC)上。VM之間的通信不會轉發到物理網絡上,即物理網絡不需配置ACL、防火墻來管控虛擬網絡。
3.3.3 跨物理和虛擬基礎架構
SDN支持跨虛擬和物理安全平臺自動化資源調配和上下文共享。結合虛擬接口處的流量轉向和策略實施功能,過去部署在物理網絡環境中的第三方服務將可以輕松地在虛擬網絡環境中調配和實施,SDN可以跨駐留在物理或虛擬工作負載中的應用為用戶提供一致的可見性和安全性模型。
3.4 邏輯功能擴展
SDN是一個可擴展的平臺,它包括一個分布式服務框架,支持加入第三方服務。利用標準的SDN API讓第三方能夠集成管理、數據和控制平面,并增強SDN的核心功能,包括邏輯防火墻、負載均衡、VPN、交換、路由等。用戶將能夠從第三方提供的廣泛解決方案中選出最佳的解決方案,無縫地集成到任何管理系統并確保一致的用戶體驗。
3.5 跨管理中心的網絡
在跨虛擬主機管理中心環境中,多個管理中心Server必須同對應的SDN Server進行配對,同時在眾多SDN Server選擇一個為主角色,其他SDN Server分配為輔助角色。
主SDN Server用于部署通用控制器群集,為跨管理中心SDN環境提供控制層面的管理,輔助SDN Server不必擁有自己的控制器群集。主SDN Server可以創建通用對象,如通用邏輯交換機、邏輯路由器等,這些對象通過SDN同步到輔助SDN Server。從輔助SDN Server中可以查看這些對象,但無法編輯。而從主SDN Server可用于配置環境中的任何輔助SDN Server和相應的邏輯對象。
4 結束語
SDN真正給網絡帶來服務器虛擬化一樣的服務,提供了全新的網絡運行模式,突破了當前物理網絡障礙,使數據中心管理員得以將部署速度、維護效率大幅提高,解決了主機虛擬化環境中的如下問題。
4.1 簡化部署
SDN通過在物理網絡上重新構建一套Overlayer的虛擬網絡,將所有的VM部署在一個統一的網絡環境下。并且通過分布式交換、路由、防護墻等網絡服務模塊,為用戶構建了一個可以跨物理設備,甚至跨管理中心的虛擬化基礎架構。用戶的VM可以部署在任意物理位置,而它的網絡策略,安全策略都可以隨VM保持一致。避免了管理員大量重復勞動,解決了主機虛擬化環境快速中網絡配置瓶頸,從而簡化應用系統部署過程。
4.2 安全管控
SDN通過分布式邏輯防火墻,可以在每臺物理主機上都部署內核級防火墻。為每個VM都部署獨立的安全策略,保障每個VM的安全,而且安全策略可以和VM一起遷移。這些安全策略的設置是根據VM自己的條件來設置,如VM名字、登錄用戶名、操作系統等,因此不論運行多長時間,后來的管理維護人員都能夠馬上理解并在此基礎上根據實際情況進行調整。降低了新管理員學習時間成本,減少了不同批次安全策略沖突的幾率,增加了主機虛擬化環境內部VM之間安全策略,進而提高安全管控效率。
參考文獻
[1]張順淼,鄒復民.軟件定義網絡研究綜述[J].計算機應用研究,2013,08:2246-2251.
[2]陶松.基于SDN的網絡虛擬化安全研究[J].電腦知識與技術,
2015,15:23-25.
[3]韋樂平.SDN的戰略性思考[J].電信科學,2015,1:7-12.
[4]殷波,張云勇,王志軍,等.基于SDN的數據中心網絡技術研究[J].信息通信技術,2015,1:29-33.
[5]張斌,羅東森.云計算數據中心SDN部署研究[J].通信技術,
2014,12:1424-1428.