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