亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向大規(guī)模容器集群的網(wǎng)絡(luò)控制技術(shù)*

        2019-03-19 07:59:28王寶生張維琦鄧文平
        關(guān)鍵詞:網(wǎng)橋網(wǎng)卡分類器

        王寶生,張維琦,鄧文平

        (國防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長沙 410073)

        數(shù)據(jù)中心通過虛擬化技術(shù)為云計(jì)算構(gòu)建虛擬資源池。云計(jì)算通過數(shù)據(jù)中心的虛擬資源管理技術(shù)即可實(shí)現(xiàn)資源自動(dòng)部署、動(dòng)態(tài)擴(kuò)展、按需分配等功能,滿足用戶按需和即付即用的資源獲取需求。虛擬化是構(gòu)建云基礎(chǔ)架構(gòu)不可或缺的關(guān)鍵技術(shù)之一。然而,當(dāng)前虛擬資源管理仍然存在著云計(jì)算資源利用率低、應(yīng)用與平臺(tái)無法解耦、應(yīng)用運(yùn)行環(huán)境局限性強(qiáng)、運(yùn)維人員控制力下降等問題。數(shù)據(jù)中心的資源虛擬化初始主要由虛擬機(jī)實(shí)現(xiàn),隨著容器技術(shù)的逐漸成熟,虛擬機(jī)體量大、部署困難的問題逐漸暴露[1-2]。

        隨著Docker[3-5]等容器化技術(shù)的發(fā)展和推廣,基于容器的資源虛擬化方式正在逐步代替虛擬機(jī),容器技術(shù)越來越多地被應(yīng)用于數(shù)據(jù)中心以實(shí)現(xiàn)大規(guī)模集群部署。容器是一種內(nèi)核虛擬化技術(shù),可以提供輕量級(jí)的虛擬化,以便隔離進(jìn)程和資源,而且不需要提供指令解釋機(jī)制以及全局虛擬化的復(fù)雜操作。容器的輕量級(jí)資源管理和秒級(jí)啟動(dòng)等特性可以簡化管理難度,解決數(shù)據(jù)中心當(dāng)前所面臨的虛擬資源管理等問題,使用容器代替虛擬機(jī)在數(shù)據(jù)中心實(shí)現(xiàn)大規(guī)模集群部署已經(jīng)成為必然趨勢[5-9]。

        容器技術(shù)仍處于發(fā)展階段,在集成部署等方面都有很大的發(fā)展空間,尤其是網(wǎng)絡(luò)層面缺乏系統(tǒng)的管理架構(gòu)和基本的控制手段[10]。容器的簡易部署特性使容器可以快速實(shí)現(xiàn)大規(guī)模的集群部署,但也相應(yīng)地增加了容器網(wǎng)絡(luò)的離散程度,導(dǎo)致網(wǎng)絡(luò)管理控制困難。容器在集群中不僅需要承擔(dān)復(fù)雜的計(jì)算任務(wù),還需要承擔(dān)不同節(jié)點(diǎn)間的網(wǎng)絡(luò)通信和數(shù)據(jù)交互,復(fù)雜的網(wǎng)絡(luò)交互和快速變化的網(wǎng)絡(luò)重構(gòu)也對(duì)網(wǎng)絡(luò)控制提出了更高的要求[11-13]。實(shí)現(xiàn)面向大規(guī)模容器集群的網(wǎng)絡(luò)控制成為數(shù)據(jù)中心進(jìn)行容器化變革時(shí)亟待解決的問題[14]。

        容器網(wǎng)絡(luò)模型是網(wǎng)絡(luò)控制面臨的首要難題。容器技術(shù)發(fā)展至今,網(wǎng)絡(luò)方面發(fā)展滯后,網(wǎng)絡(luò)層面缺乏標(biāo)準(zhǔn)接口,兩種后續(xù)的網(wǎng)絡(luò)方案——容器網(wǎng)絡(luò)模型(Container Network Model, CNM)和容器網(wǎng)絡(luò)接口(Container Network Interface, CNI)[15-16]也難以定義標(biāo)準(zhǔn)的網(wǎng)絡(luò)接入模型[17-18]。因此,大量的創(chuàng)業(yè)公司和開源組織開發(fā)了各式各樣的網(wǎng)絡(luò)實(shí)現(xiàn),產(chǎn)生了許多復(fù)雜的解決方案,從而增加了網(wǎng)絡(luò)管理的難度[19-22]。

        容器網(wǎng)絡(luò)的安全與隔離策略是當(dāng)前面臨的另一關(guān)鍵問題。由于容器網(wǎng)絡(luò)離散程度的提高,傳統(tǒng)網(wǎng)絡(luò)安全策略已經(jīng)不再適用,容器在網(wǎng)絡(luò)層面缺乏有效的隔離與控制手段。容器依賴于操作系統(tǒng)存在,雖然可以借用Linux系統(tǒng)原有的方案實(shí)現(xiàn)安全與隔離,但仍舊缺乏系統(tǒng)完整的安全控制方案。容器網(wǎng)絡(luò)急需一套完整的安全隔離方式,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的控制,保證容器網(wǎng)絡(luò)的安全[23-25]。

        本文采用基于虛擬可擴(kuò)展局域網(wǎng)[26-27](Virtual extensible Local Area Network, VxLAN)的Overlay組網(wǎng)和基于macvlan[28-31]的網(wǎng)絡(luò)模型為基礎(chǔ),分別發(fā)揚(yáng)兩者擴(kuò)展性強(qiáng)和傳輸性能高的特點(diǎn),根據(jù)不同網(wǎng)絡(luò)需求進(jìn)行適配;結(jié)合兩種網(wǎng)絡(luò)基本模型,采用機(jī)器學(xué)習(xí)中的邏輯回歸模型用于網(wǎng)絡(luò)模型適配,不僅實(shí)現(xiàn)了網(wǎng)絡(luò)模型的快速匹配,還在一定程度上實(shí)現(xiàn)了智能化與自動(dòng)化,保證了網(wǎng)絡(luò)模型適配的高效性;針對(duì)容器網(wǎng)絡(luò)系統(tǒng)管理控制方案的缺乏問題,結(jié)合現(xiàn)有安全手段,歸納出系統(tǒng)化實(shí)現(xiàn)網(wǎng)絡(luò)安全隔離的方法與手段,在保證基本網(wǎng)絡(luò)功能的前提下以最小的代價(jià)實(shí)現(xiàn)網(wǎng)絡(luò)的隔離與控制。

        1 容器網(wǎng)絡(luò)控制架構(gòu)

        在整個(gè)架構(gòu)中,以網(wǎng)絡(luò)模型選擇為基礎(chǔ),通過服務(wù)端實(shí)現(xiàn)網(wǎng)絡(luò)部署的全部過程。其中,Web界面負(fù)責(zé)對(duì)用戶需求進(jìn)行抽象,并將當(dāng)前網(wǎng)絡(luò)狀態(tài)進(jìn)行展示;服務(wù)端則掌握所有主機(jī)以及容器節(jié)點(diǎn)的互聯(lián)互通狀態(tài),通過節(jié)點(diǎn)反饋的信息繪制網(wǎng)絡(luò)拓?fù)?;?shù)據(jù)庫用于記錄網(wǎng)絡(luò)服務(wù)歷史,并提供鏡像管理等服務(wù)[32-33]。整體架構(gòu)如圖1所示。

        圖1 大規(guī)模容器集群網(wǎng)絡(luò)控制架構(gòu)Fig.1 Large-scale container cluster network control architecture

        整體架構(gòu)為上中下結(jié)構(gòu),通過設(shè)置獨(dú)立的管理層,便于實(shí)現(xiàn)容器網(wǎng)絡(luò)的靈活部署。最頂層為Web層,用戶在此填寫個(gè)人需求,查看日志,并向服務(wù)器發(fā)送指令。服務(wù)端采用應(yīng)用程序編程接口(Application Programming Interface, API)調(diào)用的方式對(duì)網(wǎng)絡(luò)進(jìn)行控制,根據(jù)Agent返回的信息形成整體網(wǎng)絡(luò)結(jié)構(gòu),并將相關(guān)信息通過Web界面向外界展示。最底層為容器所在主機(jī),采用Agent組件與上層服務(wù)進(jìn)行信息交互,通過API調(diào)用實(shí)現(xiàn)網(wǎng)絡(luò)配置、網(wǎng)絡(luò)狀態(tài)信息上傳等功能。底層容器網(wǎng)絡(luò)的所有配置信息都來自服務(wù)端,服務(wù)端可以根據(jù)組網(wǎng)需求,統(tǒng)一進(jìn)行規(guī)劃配置,從而最大限度地實(shí)現(xiàn)容器組網(wǎng)的靈活性。

        網(wǎng)絡(luò)控制架構(gòu)采用統(tǒng)一管理的方式,為容器網(wǎng)絡(luò)智能適配提供模式基礎(chǔ)。由Web界面獲取用戶網(wǎng)絡(luò)需求,根據(jù)網(wǎng)絡(luò)特點(diǎn)生成json文件,遞交智能適配模塊計(jì)算最佳適配網(wǎng)絡(luò),實(shí)現(xiàn)以特定網(wǎng)絡(luò)需求為牽引、智能適配容器網(wǎng)絡(luò)模型的目的[17-18]。

        隔離和控制是保證網(wǎng)絡(luò)安全性的重要方式[19]。良好的網(wǎng)絡(luò)隔離可以確保不同隔離區(qū)域的容器或主機(jī)不能相互通信,從不同方面進(jìn)行隔離,減少節(jié)點(diǎn)被攻擊和干擾的可能性。本架構(gòu)設(shè)計(jì)的隔離方式主要涉及以下幾個(gè)方面:

        1)主機(jī)間的物理隔離:容器部署在多臺(tái)主機(jī)上,不同主機(jī)間不能直接進(jìn)行通信,實(shí)現(xiàn)容器網(wǎng)絡(luò)間的第一層隔離。

        2)容器自身的安全隔離機(jī)制:Docker容器利用Namespace和cgroups來實(shí)現(xiàn)容器隔離技術(shù)。其中,Namespace為隔離技術(shù)的第一層,確保 Docker 容器內(nèi)的進(jìn)程不可見,并且與外部進(jìn)程相互隔離,互不影響。cgroups為LXC(Linux containers)技術(shù)的關(guān)鍵組件,用于實(shí)現(xiàn)運(yùn)行時(shí)的資源限制。

        3)容器網(wǎng)絡(luò)虛擬局域網(wǎng)(Virtual Local Area Network, VLAN)劃分:處于同一主機(jī)的容器可以劃分到不同VLAN中,不同VLAN的容器間不能進(jìn)行通信。

        4)iptables訪問控制:通過iptables過濾表對(duì)容器和容器間、容器和主機(jī)間的通信進(jìn)行限制,細(xì)致的訪問控制規(guī)則可以實(shí)現(xiàn)網(wǎng)絡(luò)的精細(xì)化隔離控制。

        2 基于大規(guī)模容器集群的靈活組網(wǎng)技術(shù)

        2.1 基于VxLAN的Overlay組網(wǎng)

        根據(jù)容器技術(shù)的特點(diǎn),計(jì)劃采用基于隧道技術(shù)的大二層網(wǎng)絡(luò)部署方式。隧道技術(shù)屬于數(shù)據(jù)平面的虛擬化,通過對(duì)二層幀進(jìn)行再封裝,把底層網(wǎng)絡(luò)歸結(jié)在一個(gè)平面,底層網(wǎng)絡(luò)可達(dá)之處便是二層網(wǎng)絡(luò)可及之處,在組網(wǎng)的物理位置上提供了幾乎無限的可擴(kuò)展性,可以充分發(fā)揚(yáng)容器組網(wǎng)擴(kuò)展性強(qiáng)的優(yōu)勢特點(diǎn)。在現(xiàn)存的多種隧道技術(shù)中,本文計(jì)劃采用以VxLAN技術(shù)為代表的第四代隧道技術(shù)進(jìn)行網(wǎng)絡(luò)部署。

        VxLAN技術(shù)將隧道設(shè)備與虛擬機(jī)直連,在物理接入交換機(jī)上甚至服務(wù)器內(nèi)部的管理程序中進(jìn)行部署,形成二層端到端的隧道。通過在接入設(shè)備上打通隧道,將IP的靈活性用于傳輸,從而實(shí)現(xiàn)了網(wǎng)絡(luò)的進(jìn)一步擴(kuò)展。在容器網(wǎng)絡(luò)集群中應(yīng)用VxLAN技術(shù),基于已有的服務(wù)或IP網(wǎng)絡(luò),為分散的物理站點(diǎn)提供二層互聯(lián)功能。不同物理站點(diǎn)可以涵蓋多個(gè)網(wǎng)段,同一站點(diǎn)中的容器分屬不同VLAN,不同VLAN的容器間不能進(jìn)行通信,示意圖如圖2所示。

        在容器網(wǎng)絡(luò)環(huán)境中,將每個(gè)服務(wù)器分屬不同集群網(wǎng)絡(luò)的容器分配到不同的子網(wǎng)網(wǎng)段,當(dāng)網(wǎng)絡(luò)中的信息經(jīng)過VxLAN tunnel傳輸?shù)竭_(dá)邊緣設(shè)備VTEP(VxLAN tunnel end point)后,對(duì)數(shù)據(jù)幀進(jìn)行識(shí)別、轉(zhuǎn)發(fā)、封裝/解封裝等操作,實(shí)現(xiàn)網(wǎng)絡(luò)信息的定向傳輸和隔離。根據(jù)待啟動(dòng)容器當(dāng)前的網(wǎng)絡(luò)狀態(tài),在容器啟動(dòng)命令中直接添加網(wǎng)絡(luò)信息,包括所屬網(wǎng)段、連接方式以及訪問權(quán)限等信息,實(shí)現(xiàn)網(wǎng)絡(luò)信息預(yù)配置。在確保網(wǎng)絡(luò)性能的條件下,通過簡化容器所占資源,實(shí)現(xiàn)容器節(jié)點(diǎn)的快速加入和刪除。

        2.2 基于macvlan的容器網(wǎng)絡(luò)模型

        為了充分發(fā)揮容器性能,提高網(wǎng)絡(luò)適配性,本文設(shè)計(jì)了基于macvlan的容器網(wǎng)絡(luò)模型,在保證網(wǎng)絡(luò)基本功能的前提下盡可能地提高網(wǎng)絡(luò)傳輸效率,保證網(wǎng)絡(luò)通信質(zhì)量。macvlan是Linux內(nèi)核實(shí)現(xiàn)的一個(gè)虛擬網(wǎng)絡(luò)設(shè)備,可以使一塊物理網(wǎng)卡虛擬出多塊虛擬網(wǎng)卡,每一塊虛擬網(wǎng)卡都擁有不同的媒體訪問控制地址(Media Access Control address, MAC)。當(dāng)物理網(wǎng)卡接收到數(shù)據(jù)時(shí),根據(jù)虛擬網(wǎng)卡MAC地址信息將數(shù)據(jù)轉(zhuǎn)發(fā)給相應(yīng)的網(wǎng)卡。macvlan設(shè)備共有四種模式,其功能和作用介紹如下:

        1)bridge模式:這種模式類似于Linux bridge。一塊物理網(wǎng)卡虛擬出來的所有macvlan設(shè)備之間可以直接交換數(shù)據(jù),如同連在同一個(gè)交換機(jī)上,結(jié)構(gòu)如圖3(a)所示。

        2)虛擬以太端口匯聚器(Virtual Ethernet Port Aggregator, VEPA)模式:當(dāng)父網(wǎng)卡從子網(wǎng)卡接收到數(shù)據(jù)時(shí),即使目的地址為同一主機(jī)上到虛擬設(shè)備,數(shù)據(jù)仍舊會(huì)通過處于外界的上游交換機(jī)進(jìn)行轉(zhuǎn)發(fā),結(jié)構(gòu)如圖3(b)所示。

        3)Private模式:這種模式是一種隔離模式,處在這種模式下的子設(shè)備不能與其他子設(shè)備之間通信。

        4)Passthru模式:在這種模式下,一塊物理網(wǎng)卡只允許擁有一個(gè)macvlan子設(shè)備。

        (a) bridge模式(a) bridge mode (b) VEPA網(wǎng)絡(luò)模式(b) VEPA network mode圖3 macvlan網(wǎng)絡(luò)模式Fig.3 macvlan network mode

        在容器網(wǎng)絡(luò)技術(shù)中,macvlan是與Docker Overlay類似的網(wǎng)絡(luò)方案,是一種支持跨主機(jī)方式的容器網(wǎng)絡(luò)驅(qū)動(dòng)。macvlan在進(jìn)行網(wǎng)絡(luò)通信時(shí)不需要?jiǎng)?chuàng)建網(wǎng)橋,直接通過以太網(wǎng)接口連接到物理網(wǎng)絡(luò),在眾多容器網(wǎng)絡(luò)方案中同環(huán)境下網(wǎng)絡(luò)性能最好。另外,macvlan根據(jù)終端設(shè)備的MAC地址來劃分VLAN,即使用戶改變了接入端口,容器也仍然處在原VLAN中,便于對(duì)容器節(jié)點(diǎn)進(jìn)行靈活的遷移控制。

        2.3 節(jié)點(diǎn)靈活遷移

        通過對(duì)容器組網(wǎng)過程進(jìn)行細(xì)化,充分發(fā)揚(yáng)容器精巧、靈活的特點(diǎn),實(shí)現(xiàn)容器在不同網(wǎng)絡(luò)中快速、穩(wěn)定的遷移。本文利用虛擬交換機(jī)(Open VSwitch, OVS)搭建主機(jī)間的網(wǎng)橋,通過Docker容器API調(diào)用的方式實(shí)現(xiàn)容器虛擬網(wǎng)卡的靈活添加和刪除,并分配相應(yīng)的IP地址,從而實(shí)現(xiàn)容器在不同網(wǎng)絡(luò)中的靈活部署。

        在網(wǎng)絡(luò)中對(duì)容器節(jié)點(diǎn)進(jìn)行加入或者退出操作時(shí),不僅需要考慮新網(wǎng)絡(luò)中網(wǎng)絡(luò)節(jié)點(diǎn)的連通關(guān)系,還需要保證原有網(wǎng)絡(luò)的穩(wěn)定性。網(wǎng)絡(luò)中容器主要分為兩種,一種為master節(jié)點(diǎn),一種為node節(jié)點(diǎn)。其中,master節(jié)點(diǎn)主要用于整體網(wǎng)絡(luò)架構(gòu)的管理,node節(jié)點(diǎn)實(shí)現(xiàn)基本的網(wǎng)絡(luò)功能,所有node節(jié)點(diǎn)定時(shí)向master節(jié)點(diǎn)發(fā)送狀態(tài)信息,實(shí)現(xiàn)網(wǎng)絡(luò)整體可控。當(dāng)node節(jié)點(diǎn)需要退出時(shí),需要先向master節(jié)點(diǎn)注銷;同理,當(dāng)節(jié)點(diǎn)需要加入網(wǎng)絡(luò)時(shí),也需要在master節(jié)點(diǎn)進(jìn)行注冊,實(shí)現(xiàn)節(jié)點(diǎn)的有序加入。

        由于容器網(wǎng)絡(luò)通信模式的不同特點(diǎn),網(wǎng)絡(luò)節(jié)點(diǎn)的遷移只能針對(duì)部分容器。當(dāng)前,容器網(wǎng)絡(luò)通信模式主要有host、bridge、container、none、自定義五種。其中,host與container模式采用共享主機(jī)和容器網(wǎng)絡(luò)的配置方式,限制節(jié)點(diǎn)向本機(jī)或者容器之外的網(wǎng)絡(luò)進(jìn)行遷移,不利于網(wǎng)絡(luò)的靈活性。所以本文在進(jìn)行容器網(wǎng)絡(luò)部署時(shí),主要采用bridge、none以及自定義模式,保證容器節(jié)點(diǎn)的可遷移性。

        3 網(wǎng)絡(luò)智能適配技術(shù)

        容器快速啟動(dòng)和易于遷移的特性對(duì)網(wǎng)絡(luò)模型的快速選擇提出了更高的要求。

        3.1 適配流程

        在對(duì)歷史任務(wù)進(jìn)行檢測的基礎(chǔ)上進(jìn)行智能分析匹配,具體步驟為:①提取任務(wù)對(duì)網(wǎng)絡(luò)的必要需求,將數(shù)據(jù)進(jìn)行分類,整理數(shù)據(jù)格式;②通過分類器實(shí)現(xiàn)網(wǎng)絡(luò)模型的快速適配;③添加數(shù)據(jù)進(jìn)入樣本集,重新生成分類器。建立歷史信息庫,當(dāng)接收到相同請求時(shí),直接參考?xì)v史任務(wù)所使用的網(wǎng)絡(luò)方案,減少計(jì)算開銷,流程如圖4所示。

        圖4 網(wǎng)絡(luò)智能選擇流程圖Fig.4 Network intelligent selection flow chart

        網(wǎng)絡(luò)需求信息采集主要針對(duì)容器網(wǎng)絡(luò)中的關(guān)鍵特點(diǎn)信息進(jìn)行收集,在綜合考慮容器網(wǎng)絡(luò)安全性、連通性和辨識(shí)性的前提下設(shè)定需求描述,主要包含網(wǎng)絡(luò)、主句、安全和標(biāo)簽等幾個(gè)方面。

        3.2 Logistic回歸模型

        Logistic回歸模型是一種多元統(tǒng)計(jì)分析模型,可以完成一組自變量與一個(gè)因變量之間的回歸統(tǒng)計(jì)分析工作,這些自變量可以是連續(xù)型數(shù)據(jù)也可以是離散型數(shù)據(jù)。Logistic回歸模型需要訓(xùn)練樣本和測試樣本兩種樣本,本文初始隨機(jī)生成2000條網(wǎng)絡(luò)需求特點(diǎn),并對(duì)網(wǎng)絡(luò)特點(diǎn)進(jìn)行專家適配,得到訓(xùn)練樣本,在訓(xùn)練樣本中隨機(jī)選擇300條數(shù)據(jù)作為測試樣本,樣本示例如表1所示。其中,安全性、網(wǎng)絡(luò)規(guī)模、傳輸效率、擴(kuò)展性四欄中的數(shù)據(jù)表示特征權(quán)重,網(wǎng)絡(luò)模型中“0”表示基于VxLAN的Overlay網(wǎng)絡(luò)模型,“1”表示基于macvlan的網(wǎng)絡(luò)模型。

        表1 樣本數(shù)據(jù)格式

        本文的網(wǎng)絡(luò)適配主要包含基于VxLAN的Overlay網(wǎng)絡(luò)模型和基于macvlan的網(wǎng)絡(luò)模型兩種,因此采用Binary Logistic回歸模型。二分類問題的概率與自變量之間的關(guān)系圖形往往是一個(gè)S形曲線,采用的Sigmoid函數(shù)實(shí)現(xiàn)邏輯函數(shù)的形式為:

        (1)

        根據(jù)離散型隨機(jī)變量期望值的定義,用P代表自變量為x時(shí)y=1的概率,并采用線性模型進(jìn)行分析,可得P(y=1)=p。采用線性模型進(jìn)行分析,其公式變換如下:

        P(y=1|x)=b0+b1x1+b2x2+…+bnxn

        (2)

        由于概率P和因變量非線性度較高,因此引入logit變換,使得logit(P)與自變量之間存在線性相關(guān)的關(guān)系,邏輯回歸模型定義如下:

        (3)

        此時(shí),可計(jì)算概率:

        (4)

        用α和β表示概率,可得:

        (5)

        (6)

        其中:α為選擇基于VxLAN的Overlay網(wǎng)絡(luò)模型的概率;β為選擇基于macvlan的網(wǎng)絡(luò)模型的概率;bi(i=0,1,2,…,n)為基于訓(xùn)練樣本得到的回歸系數(shù);n為參與回歸分析的自變量的數(shù)量;xi(i=0,1,2,…,n)為自變量。

        通過隨機(jī)邏輯回歸模型篩選特征的結(jié)果如表2所示。

        表2 隨機(jī)邏輯回歸模型特征篩選

        由特征篩選結(jié)果可得,安全性與傳輸效率為網(wǎng)絡(luò)模型選擇的主要影響因子,網(wǎng)絡(luò)規(guī)模與擴(kuò)展性的影響程度也接近50%,可以采用這四種特征對(duì)最終網(wǎng)絡(luò)模型進(jìn)行預(yù)測。經(jīng)過測試,本文通過邏輯回歸模型實(shí)現(xiàn)的網(wǎng)絡(luò)模型適配的正確率為94.6%。

        4 基于策略的容器網(wǎng)絡(luò)隔離控制技術(shù)

        結(jié)合容器自身的資源隔離特點(diǎn),融入OVS虛擬網(wǎng)橋技術(shù),用以搭建容器通信虛擬網(wǎng)橋,在OVS網(wǎng)橋基礎(chǔ)上使用VLAN隔離技術(shù),并基于不同策略利用iptables完善容器服務(wù)的訪問控制機(jī)制。通過在網(wǎng)絡(luò)配置中有針對(duì)性地設(shè)計(jì)網(wǎng)絡(luò)隔離策略,從而靈活控制容器網(wǎng)絡(luò)間、容器與主機(jī)間、主機(jī)間的通斷,保證容器網(wǎng)絡(luò)的安全性。

        4.1 基于iptables的訪問控制機(jī)制

        在超大規(guī)模容器集群網(wǎng)絡(luò)下,將不同功能、不同應(yīng)用及不同用戶的容器進(jìn)行邏輯隔離分層的主要方法是對(duì)其進(jìn)行訪問控制配置,本節(jié)主要說明iptables在容器網(wǎng)絡(luò)隔離分層中的應(yīng)用。iptables可以完成封包過濾、封包重定向和網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation, NAT)等功能,其架構(gòu)如圖5所示。

        圖5 iptables架構(gòu)Fig.5 iptables architecture

        iptables傳輸數(shù)據(jù)包的過程如下:

        1)當(dāng)一個(gè)數(shù)據(jù)包進(jìn)入網(wǎng)卡時(shí),首先傳入PREROUTING鏈,內(nèi)核根據(jù)數(shù)據(jù)包目的IP判斷是否需要轉(zhuǎn)送出去。

        2)如果數(shù)據(jù)包進(jìn)入本機(jī),則到達(dá)INPUT鏈,此次任何進(jìn)程都會(huì)收到它。本機(jī)上運(yùn)行的程序可以發(fā)送數(shù)據(jù)包,這些數(shù)據(jù)包會(huì)經(jīng)過OUTPUT鏈,然后到達(dá)POSTROUTING鏈輸出。

        3)如果數(shù)據(jù)包轉(zhuǎn)發(fā)出去,并且滿足Filter/Mangle規(guī)則,數(shù)據(jù)包會(huì)經(jīng)過PREROUTING鏈后到達(dá)POSTROUTING鏈輸出。

        在容器網(wǎng)絡(luò)中需要有針對(duì)性地應(yīng)用iptables過濾策略對(duì)網(wǎng)絡(luò)進(jìn)行配置,從而實(shí)現(xiàn)針對(duì)容器的網(wǎng)絡(luò)隔離方式。本文主要應(yīng)用iptables完成了以下幾個(gè)方面的網(wǎng)絡(luò)隔離策略:同一主機(jī)內(nèi)容器間的連通與隔離、容器間跨主機(jī)互聯(lián)互通、容器間跨主機(jī)單項(xiàng)通信、容器與外網(wǎng)單項(xiàng)通信等。

        4.2 基于VLAN的網(wǎng)絡(luò)隔離技術(shù)

        基于VLAN隔離的訪問控制方法在現(xiàn)今的虛擬網(wǎng)絡(luò)中有廣泛的應(yīng)用。VLAN是對(duì)二層交換機(jī)端口上的網(wǎng)絡(luò)節(jié)點(diǎn)的邏輯分段,不受網(wǎng)絡(luò)用戶物理位置的限制。VLAN的分組方式較為靈活,可以參考靠容器的作用、服務(wù)、結(jié)構(gòu)以及使用的應(yīng)用程序等特點(diǎn)進(jìn)行部署。VLAN在單個(gè)交換機(jī)甚至多個(gè)交換機(jī)之間進(jìn)行靈活的劃分,從而解決網(wǎng)絡(luò)中的域沖突、帶寬占用等問題。在容器平臺(tái)中使用VLAN技術(shù),可以增加容器集群的網(wǎng)絡(luò)連接靈活性,將不同地點(diǎn)、不同網(wǎng)絡(luò)、不同用戶組合在一起,形成一個(gè)虛擬的網(wǎng)絡(luò)環(huán)境,構(gòu)成單個(gè)廣播域,增加網(wǎng)絡(luò)隔離性。

        VLAN隔離在容器中的應(yīng)用不同于傳統(tǒng)網(wǎng)絡(luò),不同主機(jī)內(nèi)容器所屬VLAN網(wǎng)絡(luò)劃分成為關(guān)鍵。單個(gè)容器在集群網(wǎng)絡(luò)中的啟動(dòng)與刪除十分靈活,可以實(shí)現(xiàn)按需部署,從而保證了資源的按需分配,但這也導(dǎo)致容器網(wǎng)絡(luò)動(dòng)態(tài)性和離散性的增加,容器在VLAN中加入和刪除的效率也需要得到保證。另外,同一主機(jī)內(nèi)的容器可以分?jǐn)?shù)多個(gè)VLAN網(wǎng)絡(luò),多個(gè)主機(jī)間的容器也可以分屬同一VLAN,這對(duì)VLAN隔離控制提出了更高的要求。

        如圖6所示,通過OVS網(wǎng)橋可以為容器設(shè)置VLAN,將容器1和容器3所在VLAN的VLAN ID設(shè)置為1,容器2和容器4所在VLAN的VLAN ID設(shè)置為2。容器1、3和容器2、4分別屬于同一個(gè)廣播域,建立起完整的虛擬通信環(huán)境。此時(shí),容器1與容器2、4處于隔離狀態(tài),但能與容器3進(jìn)行通信。使用VLAN可以保證容器之間的隔離性,提高網(wǎng)絡(luò)利用率,增強(qiáng)容器網(wǎng)絡(luò)的安全性和保密性。

        圖6 基于OVS網(wǎng)橋的VLAN隔離結(jié)構(gòu)圖Fig.6 VLAN-based isolation OVS bridge structure

        5 實(shí)驗(yàn)與結(jié)果分析

        實(shí)驗(yàn)主要在華為FusionServer RH2288服務(wù)器上進(jìn)行,為保證網(wǎng)絡(luò)測試的正確性和準(zhǔn)確性,本文在10臺(tái)服務(wù)器上進(jìn)行實(shí)驗(yàn)驗(yàn)證,每臺(tái)服務(wù)器之間通過光纖進(jìn)行互聯(lián)。另外,為保證容器節(jié)點(diǎn)基數(shù),在每臺(tái)服務(wù)器上都部署了超過1000個(gè)容器節(jié)點(diǎn)進(jìn)行測試,基本滿足大規(guī)模容器網(wǎng)絡(luò)場景。為排除特殊因素的影響,每項(xiàng)實(shí)驗(yàn)數(shù)據(jù)都是進(jìn)行超過10次測量并篩選掉明顯錯(cuò)誤項(xiàng)后整理所得。

        5.1 容器靈活組網(wǎng)驗(yàn)證

        容器靈活組網(wǎng)實(shí)驗(yàn)主要針對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)靈活可控和高效的組網(wǎng)效率進(jìn)行。在基于VxLAN的Overlay網(wǎng)絡(luò)中進(jìn)行節(jié)點(diǎn)靈活遷移測試,在基于macvlan的網(wǎng)絡(luò)模型中進(jìn)行組網(wǎng)測試,從而分別突出兩種不同網(wǎng)絡(luò)模型擴(kuò)展性好和組網(wǎng)效率高的特點(diǎn)。

        5.1.1 節(jié)點(diǎn)靈活遷移

        以基于VxLAN的Overlay網(wǎng)絡(luò)為基礎(chǔ)網(wǎng)絡(luò)模型,分別測試node節(jié)點(diǎn)的靈活遷移和部署效率。在兩臺(tái)服務(wù)器上分別部署OVS,并搭建虛擬網(wǎng)橋,其中兩臺(tái)服務(wù)器配置信息如圖7所示。

        服務(wù)器1:網(wǎng)橋信息:Bridge vxbr: 10.1.2.1端口信息:Port “vxlan1”Interface“vxlan1” Type: vxlanOptions:{remote_ip=“202.197.18.35”}容器1虛擬網(wǎng)卡:10.1.2.3服務(wù)器2:網(wǎng)橋信息:Bridge vxbr: 10.1.2.2端口信息:Port “vxlan2”Interface“vxlan2” Type: vxlanOptions:{remote_ip=“202.197.18.34”}容器2虛擬網(wǎng)卡:10.1.2.4

        圖7 服務(wù)器配置

        Fig.7 Server configuration

        每臺(tái)主機(jī)都需要配置相互通信的虛擬網(wǎng)橋,并將挑選同處于一個(gè)網(wǎng)段的地址作為網(wǎng)關(guān)。VxLAN方式定義在端口信息中,Port中定義接口名稱為vxlan1和vxlan2,Type設(shè)定為vxlan方式。在進(jìn)行數(shù)據(jù)傳送時(shí),通過remote_ip信息定義到外部主機(jī),確保信息可以轉(zhuǎn)發(fā)到外部物理主機(jī)的IP地址。在容器中配置虛擬網(wǎng)卡,地址設(shè)定需要與虛擬網(wǎng)橋的網(wǎng)關(guān)地址相匹配。

        容器間跨主機(jī)交互數(shù)據(jù)轉(zhuǎn)發(fā)路徑如下:當(dāng)從服務(wù)器1上的容器1向服務(wù)器2上的容器2發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)首先從10.1.2.3轉(zhuǎn)到主機(jī)1的202.197.18.34地址,而后通過vxbr虛擬網(wǎng)橋跨主機(jī)傳送到202.197.18.35地址,最后再轉(zhuǎn)到10.1.2.4,實(shí)現(xiàn)容器間數(shù)據(jù)的跨主機(jī)傳輸。

        在基礎(chǔ)網(wǎng)絡(luò)平臺(tái)搭建完成的前提下對(duì)網(wǎng)絡(luò)靈活性進(jìn)行驗(yàn)證。當(dāng)容器需要加入到新網(wǎng)絡(luò)中時(shí),首先需要在master節(jié)點(diǎn)中進(jìn)行注冊,將任務(wù)和地址等信息進(jìn)行上傳,通過master節(jié)點(diǎn)對(duì)node節(jié)點(diǎn)信息進(jìn)行管理,如圖8(a)所示。同理,當(dāng)容器退出所在網(wǎng)絡(luò)時(shí),也需要在master節(jié)點(diǎn)中刪除信息,如圖8(b)所示。當(dāng)node節(jié)點(diǎn)在兩個(gè)網(wǎng)絡(luò)中進(jìn)行遷移時(shí),需要先在原有網(wǎng)絡(luò)中進(jìn)行注銷,然后再添加進(jìn)入新網(wǎng)絡(luò),node節(jié)點(diǎn)遷移情況如圖8(c)所示。同一node節(jié)點(diǎn)允許同時(shí)處于不同的網(wǎng)絡(luò)中,即容器可以在已經(jīng)加入一個(gè)網(wǎng)絡(luò)的情況下再次加入另一個(gè)網(wǎng)絡(luò)中,如圖8(d)所示。

        (a) 節(jié)點(diǎn)加入(a) Node join

        (b) 節(jié)點(diǎn)刪除(b) Node delete

        (c) 節(jié)點(diǎn)遷移(c) Node migration

        (d) 節(jié)點(diǎn)重復(fù)加入網(wǎng)絡(luò)(d) The node repeatedly joins the network圖8 節(jié)點(diǎn)靈活遷移Fig.8 Nodes flexible migration

        通過細(xì)化網(wǎng)絡(luò)節(jié)點(diǎn)的遷移過程,逐步進(jìn)行加入、刪除、遷移、重復(fù)加入等動(dòng)作,從而實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)靈活、有序的遷移。利用master節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)進(jìn)行基本控制,明確了node節(jié)點(diǎn)的加入、刪除步驟,增強(qiáng)了對(duì)網(wǎng)絡(luò)整體架構(gòu)的控制。但是,當(dāng)網(wǎng)絡(luò)規(guī)模到達(dá)一定程度的時(shí)候,單一控制節(jié)點(diǎn)難以對(duì)網(wǎng)絡(luò)進(jìn)行合理控制,可以采用多節(jié)點(diǎn)管理的方式解決這一問題。

        5.1.2 組網(wǎng)效率測試

        網(wǎng)絡(luò)部署效率是靈活組網(wǎng)的基礎(chǔ),通過在基于macvlan網(wǎng)絡(luò)模型中測試不同規(guī)模網(wǎng)絡(luò)的部署時(shí)間,獲取網(wǎng)絡(luò)部署的基礎(chǔ)數(shù)據(jù),為大規(guī)模容器網(wǎng)絡(luò)部署提供參考。由于busybox鏡像在保證較小的存儲(chǔ)占用的情況下集成了Linux中幾百個(gè)常用的命令及工具,便于實(shí)現(xiàn)網(wǎng)絡(luò)基本功能,所以本試驗(yàn)選用docker.io/busybox:latest為基礎(chǔ)容器鏡像進(jìn)行組網(wǎng)性能測試。在進(jìn)行測試時(shí),分別在macvlan網(wǎng)絡(luò)模型中創(chuàng)建200,400,600,800,1000個(gè)容器進(jìn)行組網(wǎng),測試不同規(guī)模容器的組網(wǎng)時(shí)間。以容器規(guī)模數(shù)目為主要參考繪制散點(diǎn)圖,如圖9所示。

        (a) 創(chuàng)建時(shí)間(a) Create time

        (b)刪除時(shí)間(b) Delete time圖9 不同規(guī)模容器組網(wǎng)效率Fig.9 Container under different sizes

        由測試結(jié)果可以看出,當(dāng)沒有超過主機(jī)處理極限的前提下,容器啟動(dòng)和刪除所用時(shí)間與容器數(shù)目成正相關(guān),容器創(chuàng)建數(shù)目的多少不影響后續(xù)容器的啟動(dòng)與刪除時(shí)間。在當(dāng)前環(huán)境下,容器平均創(chuàng)建時(shí)間均在200 ms以內(nèi)。

        5.2 網(wǎng)絡(luò)智能適配測試

        在服務(wù)器中配置網(wǎng)絡(luò)基本環(huán)境,對(duì)網(wǎng)絡(luò)智能適配技術(shù)進(jìn)行測試。在主機(jī)中設(shè)計(jì)好兩種網(wǎng)絡(luò)模型的適配方式,根據(jù)用戶需求,采用邏輯回歸模型計(jì)算出最佳匹配后直接應(yīng)用網(wǎng)絡(luò)模型,實(shí)現(xiàn)網(wǎng)絡(luò)的快速智能部署。

        通過2000條訓(xùn)練樣本由邏輯回歸模型生成網(wǎng)絡(luò)模型的分類型后,利用300條測試樣本對(duì)分類器進(jìn)行性能測試,測試結(jié)果表現(xiàn)為準(zhǔn)確率、精確率、召回率以及綜合評(píng)價(jià)指標(biāo)。其中,準(zhǔn)確率是分類器預(yù)測正確性的比例,但是并不能分辨出假陽性錯(cuò)誤和假陰性錯(cuò)誤;精確率是指分類器預(yù)測出網(wǎng)絡(luò)模型與實(shí)際相匹配的比例;召回率也叫作靈敏度,在本例中表示網(wǎng)絡(luò)模型被分類器正確找出來的比例;綜合評(píng)價(jià)指標(biāo)能反映分類器整體的性能特點(diǎn)。測試數(shù)據(jù)如表3所示。

        表3 性能測試指標(biāo)

        由測試指標(biāo)可得,分類器對(duì)網(wǎng)絡(luò)模型的選擇正確率達(dá)到90%以上,可以完成基本的網(wǎng)絡(luò)選型。通過受試者工作特征(Receiver Operating Characteristic, ROC)曲線以可視化的方式進(jìn)一步反應(yīng)分類器效果。ROC曲線對(duì)分類比例不平衡的數(shù)據(jù)集不敏感,顯示的是對(duì)超過限定閾值的所有預(yù)測結(jié)果的分類器效果,如圖10所示。

        圖10 分類器ROC曲線圖Fig.10 Classifier ROC curve

        圖10中,橫坐標(biāo)誤警率表示所有陰性樣本中分類器識(shí)別為陽性的樣本所占比例,AUC是ROC曲線下方的面積,它把ROC曲線變成一個(gè)值,表示分類器隨機(jī)預(yù)測的效果,由圖10可見分類器預(yù)測效果可以達(dá)到99%。由此可見,采用邏輯回歸方式生成的分類器可以有效地實(shí)現(xiàn)網(wǎng)絡(luò)模型的快速智能適配,節(jié)省網(wǎng)絡(luò)適配時(shí)間,減少適配隨機(jī)性,提高網(wǎng)絡(luò)適配效率。

        5.3 容器網(wǎng)絡(luò)隔離測試

        本實(shí)驗(yàn)以O(shè)VS網(wǎng)橋?yàn)橹饕B通手段,應(yīng)用VxLAN網(wǎng)絡(luò)隧道協(xié)議,在此基礎(chǔ)上測試VLAN隔離和iptables網(wǎng)絡(luò)策略隔離功能。其中VLAN劃分主要由OVS進(jìn)行配置,通過分配不同網(wǎng)段,實(shí)現(xiàn)網(wǎng)絡(luò)間的地址隔離。使用Linux iptables建立過濾表,有針對(duì)性地對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行截?cái)啵瑢?shí)現(xiàn)網(wǎng)絡(luò)通信鏈路的精確阻斷。簡單情況下,通過docker network create命令即可創(chuàng)建子網(wǎng),直接實(shí)現(xiàn)VLAN的劃分,在全局網(wǎng)絡(luò)規(guī)則中也可通過iptables的filter和nat表,限制不同網(wǎng)絡(luò)間的通信,部分隔離策略如表4所示。

        表4 網(wǎng)絡(luò)隔離策略

        對(duì)表4中已經(jīng)列舉出來的幾種基礎(chǔ)策略進(jìn)行測試,并以網(wǎng)絡(luò)拓?fù)鋱D的形式進(jìn)行展示,如圖11所示。通過定義過濾表的方式能實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)產(chǎn)生最小影響的情況控制網(wǎng)絡(luò)的通斷,從而對(duì)全局網(wǎng)絡(luò)進(jìn)行控制。單條過濾表策略,不僅可以控制單條鏈路的通信,也可以實(shí)現(xiàn)整個(gè)網(wǎng)段的隔離控制,如通過定義enable_icc為false,即可將整個(gè)子網(wǎng)

        (a) 同一VLAN阻斷(a) Same VLAN blocking

        (b) VLAN間單向阻斷(b) Unidirectional blocking between VLANs

        (c) VLAN間雙向阻斷(c) Bidirectional blocking between VLANs

        (d) 全網(wǎng)阻斷 (d) Blocking of the entire network圖11 網(wǎng)絡(luò)隔離測試Fig.11 Network isolation test

        中的網(wǎng)絡(luò)全部阻斷,如圖11(a)所示;若需要單項(xiàng)阻斷網(wǎng)橋,只需要將這一方向的數(shù)據(jù)包丟棄,雙向阻斷即丟棄網(wǎng)橋中的所有數(shù)據(jù)包,如圖11(b)、圖11(c)所示;全網(wǎng)阻斷則只需阻斷所有網(wǎng)絡(luò)通信即可,如圖11(d)所示。

        網(wǎng)絡(luò)隔離策略靈活多變,不僅可以將單個(gè)網(wǎng)絡(luò)進(jìn)行隔離,還能實(shí)現(xiàn)全網(wǎng)的數(shù)據(jù)傳輸。所有的阻斷策略均記錄在數(shù)據(jù)表中,即易于后期查詢和修改,也便于對(duì)新型網(wǎng)絡(luò)進(jìn)行配置。本文設(shè)計(jì)的網(wǎng)絡(luò)隔離方案,可以在對(duì)網(wǎng)絡(luò)通信影響最小的情況下實(shí)現(xiàn)網(wǎng)絡(luò)的基本隔離控制,但由于配置策略較為細(xì)致,合理的配置網(wǎng)絡(luò)規(guī)則需要對(duì)網(wǎng)絡(luò)通信規(guī)則有一定的掌握。

        6 結(jié)論

        通過對(duì)大規(guī)模集群環(huán)境下容器網(wǎng)絡(luò)技術(shù)的發(fā)展現(xiàn)狀進(jìn)行分析,探討分析了容器網(wǎng)絡(luò)控制技術(shù)在當(dāng)前大規(guī)模集群中的重要作用。根據(jù)對(duì)容器網(wǎng)絡(luò)和傳統(tǒng)網(wǎng)絡(luò)進(jìn)行對(duì)比,分析出容器網(wǎng)絡(luò)控制應(yīng)該重點(diǎn)突破靈活組網(wǎng)、智能適配以及安全隔離三個(gè)方面。設(shè)計(jì)并測試網(wǎng)絡(luò)節(jié)點(diǎn)遷移方案,通過細(xì)化遷移過程,逐步進(jìn)行加入、刪除、 遷移、重復(fù)加入等動(dòng)作,實(shí)現(xiàn)了網(wǎng)絡(luò)節(jié)點(diǎn)的靈活、有序遷移。網(wǎng)絡(luò)智能適配主要實(shí)現(xiàn)了網(wǎng)絡(luò)模型的快速智能匹配,安全隔離模塊則通過VLAN劃分和添加過濾策略的方式實(shí)現(xiàn)了對(duì)容器網(wǎng)絡(luò)的安全控制。未來計(jì)劃逐步完成容器網(wǎng)絡(luò)控制架構(gòu)的搭建,開發(fā)專用的控制平臺(tái),為應(yīng)用開發(fā)人員、系統(tǒng)管理員以及相關(guān)研究人員在大規(guī)模容器集群上更好地部署和控制容器網(wǎng)絡(luò)提供指導(dǎo)。

        猜你喜歡
        網(wǎng)橋網(wǎng)卡分類器
        在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
        Server 2016網(wǎng)卡組合模式
        網(wǎng)橋技術(shù)在海外工程項(xiàng)目中的應(yīng)用
        BP-GA光照分類器在車道線識(shí)別中的應(yīng)用
        電子測試(2018年1期)2018-04-18 11:52:35
        探析網(wǎng)橋優(yōu)先級(jí)
        加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
        結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
        “軟隔離”網(wǎng)橋造成的麻煩
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識(shí)別
        成年女人a毛片免费视频| 一区二区视频资源在线观看| 欧美在线不卡视频| 国产av91在线播放| 男女调情视频在线观看| 亚洲中文字幕久久精品无码a| 九九99无码精品视频在线观看| 亚洲成人av一区二区三区| 性色国产成人久久久精品二区三区| 又硬又粗进去好爽免费| 国模欢欢炮交啪啪150 | 丰满多毛的大隂户毛茸茸 | 人妻av一区二区三区av免费| 国产农村妇女毛片精品久久麻豆| 亚洲av永久无码精品网站| 黑人大荫道bbwbbb高潮潮喷| 在线无码国产精品亚洲а∨| 日韩av一区二区无卡| 全免费a级毛片免费看无码| 日日噜狠狠噜天天噜av| 精品91亚洲高清在线观看| 伊人久久大香线蕉av色婷婷| 丰满熟妇乱又伦精品| 亚洲av一宅男色影视| 国产不卡视频一区二区在线观看| 日韩国产精品一区二区三区| 天堂网www资源在线| 五月天丁香久久| 麻豆夫妻在线视频观看| 久久精品国产久精国产爱| 乱人伦视频中文字幕| 国产亚洲精品国看不卡| 青青草激情视频在线播放| 日产亚洲一区二区三区| 国产精品亚洲A∨天堂不卡| 亚洲一区亚洲二区中文字幕| 狠狠摸狠狠澡| 无码人妻一区二区三区免费n鬼沢| 国产不卡一区二区av| 国产精品一区二区av不卡| 人人妻人人澡人人爽精品欧美|