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

        ?

        NFV系統(tǒng)跨數(shù)據(jù)中心網(wǎng)絡(luò)連接管理機(jī)制

        2022-04-21 07:23:00藺婧娜
        關(guān)鍵詞:功能服務(wù)系統(tǒng)

        石 峰,藺婧娜

        (1.太原學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,山西 太原 030032;2.山西工程科技職業(yè)大學(xué) 信息工程學(xué)院,山西 太原 030031)

        0 引 言

        對(duì)于企業(yè)用戶而言,大規(guī)模網(wǎng)絡(luò)功能部署面臨以下幾方面的挑戰(zhàn):網(wǎng)絡(luò)功能數(shù)量繁多、網(wǎng)絡(luò)功能種類多樣、網(wǎng)絡(luò)功能處理邏輯復(fù)雜。網(wǎng)絡(luò)功能的日常運(yùn)維工作包括網(wǎng)絡(luò)功能升級(jí)、監(jiān)控診斷、配置調(diào)試等多種復(fù)雜操作[1-3]。

        考慮到本地部署的高昂開銷以及復(fù)雜操作,越來越多的中小型企業(yè)將網(wǎng)絡(luò)功能外包到云平臺(tái),在云服務(wù)提供商內(nèi)部署虛擬網(wǎng)絡(luò)功能服務(wù)。目前已經(jīng)有大量的云服務(wù)提供商為中小型企業(yè)提供豐富的網(wǎng)絡(luò)功能服務(wù),包括運(yùn)營商(例如:AT&T)以第三方云服務(wù)提供商(例如:Akamai,Amazon)等[4,5]。

        NFV技術(shù)是云計(jì)算催生的下一代網(wǎng)絡(luò)變革。NFV技術(shù)可以有效地在云平臺(tái)進(jìn)行部署實(shí)現(xiàn),實(shí)現(xiàn)虛擬網(wǎng)絡(luò)功能的按需訂購、靈活調(diào)度以及便捷管理。目前已經(jīng)有大量的研究工作致力于實(shí)現(xiàn)基于NFV的云平臺(tái)網(wǎng)絡(luò)功能高效部署[6-8]。

        網(wǎng)絡(luò)功能調(diào)度管理的基本要求是:按照服務(wù)功能鏈信息,實(shí)現(xiàn)網(wǎng)絡(luò)功能連接關(guān)系的靈活配置。然而,目前大部分的NFV系統(tǒng)[9,10]均在單一數(shù)據(jù)中心場景下進(jìn)行設(shè)計(jì),以網(wǎng)絡(luò)功能為獨(dú)立單元,在通用數(shù)據(jù)平面上利用控制器的集中調(diào)度管理實(shí)現(xiàn)服務(wù)功能鏈部署。

        為了實(shí)現(xiàn)數(shù)據(jù)中心靈活連接,用戶必須手動(dòng)建立一個(gè)轉(zhuǎn)發(fā)表確保數(shù)據(jù)包在數(shù)據(jù)中心之間得到正確轉(zhuǎn)發(fā)。除此之外,如FlowTag[11]所分析,現(xiàn)實(shí)部署存在大量的網(wǎng)絡(luò)功能在完成數(shù)據(jù)處理之后輸出一些必要的標(biāo)簽,用于保證數(shù)據(jù)包在之后的正確轉(zhuǎn)發(fā)。

        本文提出了一個(gè)跨數(shù)據(jù)中心的網(wǎng)絡(luò)功能連接管理機(jī)制——NFVMP(network function virtualization for multiple providers)。NFVMP將每一個(gè)數(shù)據(jù)中心的子鏈視作一個(gè)單元,在每個(gè)數(shù)據(jù)中心內(nèi)建立與其它數(shù)據(jù)中心的連接關(guān)系,支持跨數(shù)據(jù)中心服務(wù)功能鏈自動(dòng)靈活部署,有效提高了網(wǎng)絡(luò)功能調(diào)度管理的靈活性。

        1 理論分析

        NFVMP系統(tǒng)的基礎(chǔ)功能是保障正確性,確保數(shù)據(jù)包按照服務(wù)功能鏈以正確的轉(zhuǎn)發(fā)路徑被多個(gè)網(wǎng)絡(luò)功能處理。在本文中,對(duì)多數(shù)據(jù)中心場景下的數(shù)據(jù)流進(jìn)行理論建模,并且與傳統(tǒng)單一數(shù)據(jù)中心場景的數(shù)據(jù)流進(jìn)行對(duì)比分析,從而得出NFVMP系統(tǒng)的設(shè)計(jì)原則。

        1.1 系統(tǒng)模型

        (1)

        (2)

        (3)

        因此,獲得了如下等式

        (4)

        1.2 正確性分析

        企業(yè)網(wǎng)用戶將網(wǎng)絡(luò)功能f1,f2,…,fn部署在p1,p2,…,pm數(shù)據(jù)中心。根據(jù)系統(tǒng)正確性,NFVMP必須與傳統(tǒng)NFV系統(tǒng)產(chǎn)生相同的數(shù)據(jù)包處理結(jié)果。因此,總結(jié)得出了以下的等式

        (5)

        其中,等式左邊代表了NFVMP的數(shù)據(jù)包結(jié)果,等式右邊代表傳統(tǒng)NFV系統(tǒng)生成的數(shù)據(jù)包結(jié)果。傳統(tǒng)的NFV系統(tǒng)將每個(gè)網(wǎng)絡(luò)功能視作獨(dú)立單元,并致力于解決網(wǎng)絡(luò)功能部署以及網(wǎng)絡(luò)功能連接問題。為了讓上述公式成立,NFVMP需要將每個(gè)數(shù)據(jù)中心的子鏈視作獨(dú)立單元,并且實(shí)現(xiàn)以下兩步操作:①每一個(gè)數(shù)據(jù)中心生成各自的子鏈,使得數(shù)據(jù)包在數(shù)據(jù)中心內(nèi)部能夠正確地進(jìn)行處理和轉(zhuǎn)發(fā);②實(shí)現(xiàn)子鏈之間的正確連接。

        2 NFVMP設(shè)計(jì)

        在本文節(jié),分別對(duì)子鏈生成、子鏈連接以及子鏈更新機(jī)制進(jìn)行具體介紹,其中第2.1節(jié)介紹了子鏈生成機(jī)制,第2.2節(jié)展示了子鏈連接機(jī)制,第2.3節(jié)展示了子鏈更新機(jī)制。

        2.1 子鏈生成

        全局服務(wù)功能鏈被分解為兩個(gè)部分:數(shù)據(jù)中心A的服務(wù)功能子鏈以及數(shù)據(jù)中心B的服務(wù)功能子鏈。子鏈生成算法計(jì)算得到的子鏈需要滿足兩個(gè)要求:①表明數(shù)據(jù)中心內(nèi)部實(shí)現(xiàn)的網(wǎng)絡(luò)功能及其轉(zhuǎn)發(fā)關(guān)系;②表明與其它子鏈的連接關(guān)系。設(shè)計(jì)了一個(gè)子鏈生成算法,以全局服務(wù)功能鏈為輸入信息,計(jì)算生成所有相關(guān)數(shù)據(jù)中心的子鏈。除此之外,為了方便描述輸入以及輸出信息,設(shè)計(jì)了一個(gè)服務(wù)功能鏈描述語言,能夠兼容多數(shù)據(jù)中心場景。

        2.1.1 服務(wù)功能鏈描述語言

        在之前的工作中,E2[13]已經(jīng)設(shè)計(jì)了一個(gè)服務(wù)功能鏈描述語言,能夠有效描述所有網(wǎng)絡(luò)功能以及它們之間的連接關(guān)系。然而,出于以下兩點(diǎn)考慮,它并不能直接應(yīng)用在NFVMP系統(tǒng)中:①未說明數(shù)據(jù)中心相關(guān)信息;②未能表達(dá)與其它服務(wù)功能鏈之間的連接關(guān)系。

        這里設(shè)計(jì)了一種新的服務(wù)功能鏈描述語言,能夠有效兼容多數(shù)據(jù)中心場景。下面展示了服務(wù)功能鏈描述語言的示例。

        NF_set: NF1 {DC А}, NF2 {DC B},

        NF3 {DC B}, NF4 {DC B};

        rule-set { input->NF1,

        NF1[cl]-> NF2,

        NF2[c2]->NF3,

        NF3[c3]->NF4,

        NF2->NF4,

        NF3->NF4,

        NF4->output;]

        服務(wù)功能鏈描述語言主要由兩個(gè)部分組成:NF_set以及rule_set。NF_set包含了所有的網(wǎng)絡(luò)功能以及它們對(duì)應(yīng)的數(shù)據(jù)中心信息。rule_set 描述了網(wǎng)絡(luò)功能之間或者與上流、下流數(shù)據(jù)中心之間的轉(zhuǎn)發(fā)關(guān)系。每一條rule都通過以下的格式進(jìn)行定義:src_node[condition]->dst_node。

        與傳統(tǒng)描述語言相比,src_node/dst_node可能是上流或者下流數(shù)據(jù)中心,從而描述與其它數(shù)據(jù)中心之間的連接關(guān)系。例如:“dc A[c1]->NF2”表示從數(shù)據(jù)中心A發(fā)出并且攜帶cl標(biāo)簽的數(shù)據(jù)包發(fā)送到NF2進(jìn)行后續(xù)處理。如果condition為空,那么表示在默認(rèn)情況下并不需要對(duì)數(shù)據(jù)包進(jìn)行過濾處理。

        2.1.2 子鏈生成算法

        算法1展示了提出的子鏈生成算法。根據(jù)輸入的全局服務(wù)功能鏈,該算法為所有相關(guān)數(shù)據(jù)中心生成各自的子鏈。其中第(2)行~第(3)行用來生成所有數(shù)據(jù)中心的NF_sets。剩下的部分用于生成rule_sets。對(duì)于rule_set中的規(guī)則符合以下任何一個(gè)條件:①src_node以及dst_node隸屬于同一個(gè)數(shù)據(jù)中心;②src_node是input;③dst_node是output,則直接添加該規(guī)則到唯一存在的數(shù)據(jù)中心的子鏈中。如果src_node與dst_node不隸屬于同一個(gè)數(shù)據(jù)中心,那么將產(chǎn)生兩條規(guī)則并分配到兩個(gè)子鏈中。第一條規(guī)則加入到src_node的數(shù)據(jù)中心子鏈中,dst_node被dst_node的數(shù)據(jù)中心代替。第二條規(guī)則加入到dst_node的數(shù)據(jù)中心子鏈中,src_node被src_node的數(shù)據(jù)中心代替。

        客戶端通過上述子鏈生成算法得到所有相關(guān)數(shù)據(jù)中心的子鏈,并將其通過特定的接口下發(fā)到各個(gè)數(shù)據(jù)中心進(jìn)行后續(xù)子鏈部署。

        算法1:子鏈生成算法

        輸入:全局服務(wù)功能鏈描述(NF_set and rule_set);

        輸出:每個(gè)數(shù)據(jù)中心的子鏈描述(NF_set and rule_set);

        初始化:每個(gè)數(shù)據(jù)中心子鏈:NF_set, rule_set?,?;

        (1)functionChainPartition(NF_set, rule_set)

        (2)forNF∈NF_ENF_setdo

        (3) 添加NF到NF.dc的NF_set;

        (4)forrule∈rule_setdo

        (5) src_node, dst_node←rule.src_node, rule.dst node;

        (6)ifsrc_node = input or src_node.dc= dst_node.dcthen

        (7) 添加rule 到dst_node.dc的rule_set;

        (8)elseifdstNode = outputthen

        (9) 添加rule 到src_node.dc的rule_set;

        (10)else

        (11) 添加(src_node[rule.condition]→dst_node.dc)到

        (12) src_node.dc 的rule_set;

        (13) 添加(src_node.dc[rule.condition]→dst_node)到

        (14) dst_node.dc 的 rule_set;

        (15)return每個(gè)數(shù)據(jù)中心的NF_set and rule_set;

        2.2 子鏈連接

        對(duì)于傳統(tǒng)的NFV系統(tǒng),網(wǎng)絡(luò)功能全部部署在通用數(shù)據(jù)平面上,控制器通過數(shù)據(jù)平面交換機(jī)配置網(wǎng)絡(luò)功能之間的連接關(guān)系。然而,在多數(shù)據(jù)中心場景下,獨(dú)立自治的數(shù)據(jù)中心使得通用數(shù)據(jù)平面以及集中控制器均無法實(shí)現(xiàn)。除此之外,現(xiàn)實(shí)部署中存在大量狀態(tài)相關(guān)的網(wǎng)絡(luò)功能,其輸出的狀態(tài)信息決定后續(xù)的數(shù)據(jù)包轉(zhuǎn)發(fā)路徑。這類網(wǎng)絡(luò)功能使得子鏈連接更加復(fù)雜。下面小節(jié),將對(duì)以上兩個(gè)挑戰(zhàn)進(jìn)行具體分析,并提出相應(yīng)的解決方案。

        2.2.1 數(shù)據(jù)中心間轉(zhuǎn)發(fā)策略

        由于缺乏集中控制器以及通用數(shù)據(jù)平面,無法采用集中式的方法實(shí)現(xiàn)子鏈連接。采取分布式的方法將此問題分解為兩個(gè)子問題:①上流數(shù)據(jù)中心將數(shù)據(jù)包轉(zhuǎn)發(fā)到正確的下流數(shù)據(jù)中心;②下流數(shù)據(jù)中心將數(shù)據(jù)包轉(zhuǎn)發(fā)到正確的網(wǎng)絡(luò)功能。下面,將分別對(duì)兩個(gè)子問題進(jìn)行具體說明。

        當(dāng)上流數(shù)據(jù)中心內(nèi)的所有網(wǎng)絡(luò)功能完成數(shù)據(jù)包處理之后,數(shù)據(jù)中心需要將數(shù)據(jù)包轉(zhuǎn)發(fā)到下流數(shù)據(jù)中心進(jìn)行后續(xù)處理。因此,在出口處安裝轉(zhuǎn)發(fā)器來建立數(shù)據(jù)包標(biāo)簽與下流數(shù)據(jù)中心的轉(zhuǎn)發(fā)關(guān)系。數(shù)據(jù)包標(biāo)簽?zāi)軌蛭ㄒ淮_定下一個(gè)網(wǎng)絡(luò)功能,也就可以唯一確定下流數(shù)據(jù)中心。當(dāng)數(shù)據(jù)中心從網(wǎng)卡收到數(shù)據(jù)包時(shí),在入口處安裝分類器,從而正確地將數(shù)據(jù)包轉(zhuǎn)發(fā)到下一個(gè)網(wǎng)絡(luò)功能。分類器建立了上流數(shù)據(jù)中心、數(shù)據(jù)標(biāo)簽與下一個(gè)網(wǎng)絡(luò)功能之間的綁定關(guān)系。上流數(shù)據(jù)中心與數(shù)據(jù)標(biāo)簽?zāi)軌蛭ㄒ坏貙?duì)下一個(gè)網(wǎng)絡(luò)功能進(jìn)行確認(rèn)。

        算法2:分類表和轉(zhuǎn)發(fā)表生成算法

        輸入:子鏈描述(NF_set and rule_set);

        輸出:分類表和轉(zhuǎn)發(fā)表;

        (1)functionTableGeneration(NF_set, rule_set)

        (2)forrule∈rule_setdo

        (3)ifrule.src_node ?NF_setthen

        (4) 添加(rule.src_node, rule.condition, rule.dst_node)到分類表;

        (5)elseifrule.dst_node?NF_setthen

        (6) 添加規(guī)則(condition, rule.dst_node)到轉(zhuǎn)發(fā)表;

        (7)else

        (8) 跳過這條規(guī)則;

        (9)return分類表和轉(zhuǎn)發(fā)表;

        算法2展示了分類表和轉(zhuǎn)發(fā)表生成算法。該算法根據(jù)下發(fā)的子鏈信息,生成每個(gè)數(shù)據(jù)中心的分類表和轉(zhuǎn)發(fā)表。其中,第(3)行~第(4)行用于分類表的生成,第(5)行~第(6)行用于轉(zhuǎn)發(fā)表的生成。如果一條規(guī)則的src_node不屬于本地?cái)?shù)據(jù)中心并且dst_node屬于本地?cái)?shù)據(jù)中心,那么一條分類表的表項(xiàng)生成。上流數(shù)據(jù)中心由src_node的地址表示,標(biāo)簽通過規(guī)則的condition信息生成,網(wǎng)絡(luò)功能由dst_node生成。同理,如果一條規(guī)則的dst_node不屬于本地?cái)?shù)據(jù)中心并且src_node屬于本地?cái)?shù)據(jù)中心,則生成一條轉(zhuǎn)發(fā)表的表項(xiàng)。其中,標(biāo)簽由規(guī)則的condition生成,下流數(shù)據(jù)中心由dst_node生成。

        2.2.2 數(shù)據(jù)包標(biāo)簽處理策略

        如FlowTag所述,現(xiàn)實(shí)部署中存在大量的網(wǎng)絡(luò)功能在對(duì)數(shù)據(jù)包處理之后生成一些標(biāo)簽信息,用于指導(dǎo)數(shù)據(jù)包的后續(xù)轉(zhuǎn)發(fā)路徑。對(duì)于NFVMP,生成的數(shù)據(jù)包標(biāo)簽可能會(huì)影響到數(shù)據(jù)包在其它數(shù)據(jù)中心內(nèi)的轉(zhuǎn)發(fā)路徑。本文基于FlowTags設(shè)計(jì)了數(shù)據(jù)包標(biāo)簽處理策略,從而支持多數(shù)據(jù)中心場景。

        數(shù)據(jù)包標(biāo)簽需要考慮以下3個(gè)方面的問題:①網(wǎng)絡(luò)功能生成狀態(tài)標(biāo)簽;②網(wǎng)絡(luò)標(biāo)簽對(duì)網(wǎng)絡(luò)功能數(shù)據(jù)處理的影響;③網(wǎng)絡(luò)標(biāo)簽對(duì)轉(zhuǎn)發(fā)策略的影響。對(duì)于第一個(gè)方面,NFVMP采用了FlowTags類似的策略進(jìn)行標(biāo)簽存儲(chǔ)。對(duì)于IPv6協(xié)議,利用20比特的flow label字段來存儲(chǔ);對(duì)于IPv4協(xié)議,利用8比特的TOS字段進(jìn)行存儲(chǔ)。對(duì)于第二個(gè)方面,生成的網(wǎng)絡(luò)功能可能對(duì)下流網(wǎng)絡(luò)功能的數(shù)據(jù)處理產(chǎn)生影響。因?yàn)?,在整個(gè)數(shù)據(jù)處理的流水線中,生成的數(shù)據(jù)包標(biāo)簽始終保存并且不會(huì)刪除。對(duì)于第三個(gè)方面,數(shù)據(jù)包的標(biāo)簽信息可能對(duì)數(shù)據(jù)中心之間的轉(zhuǎn)發(fā)產(chǎn)生影響。在NFVMP設(shè)計(jì)中,在分類器和轉(zhuǎn)發(fā)器中包含標(biāo)簽信息,從而支持?jǐn)?shù)據(jù)中心之間根據(jù)狀態(tài)信息進(jìn)行轉(zhuǎn)發(fā)。

        2.3 子鏈更新

        上述子鏈生成與子鏈連接策略均基于靜態(tài)不變的服務(wù)功能鏈進(jìn)行實(shí)現(xiàn)。然而,在現(xiàn)實(shí)部署中,服務(wù)功能鏈會(huì)隨著時(shí)間動(dòng)態(tài)變化,從而滿足用戶的不同時(shí)刻需求。NFV系統(tǒng)設(shè)計(jì)需要支持靈活變化的服務(wù)功能鏈,包括動(dòng)態(tài)增加或者刪減的網(wǎng)絡(luò)功能或者轉(zhuǎn)發(fā)關(guān)系變化。

        一種簡單直白的解決方案是按照更新的服務(wù)功能鏈,將所有網(wǎng)絡(luò)功能重新在底層進(jìn)行部署,重復(fù)之前的子鏈部署與子鏈連接過程。然而,這種方式導(dǎo)致大量的時(shí)間消耗與資源浪費(fèi)。在本文,設(shè)計(jì)了一種增量策略更新方法,計(jì)算每個(gè)數(shù)據(jù)中心需要變更的策略,包括刪除的規(guī)則以及增加的規(guī)則等??蛻舳烁鶕?jù)新舊服務(wù)功能鏈分析計(jì)算子鏈更新內(nèi)容并進(jìn)行下發(fā),數(shù)據(jù)中心則對(duì)接收到的更新策略進(jìn)行實(shí)際部署。下面部分,將從這兩方面進(jìn)行具體分析。

        2.3.1 子鏈更新策略分析

        客戶端負(fù)責(zé)分析所有子鏈的更新策略,也即網(wǎng)絡(luò)功能集變更NF_set(包括added_NF_set和expired_NF_set),以及規(guī)則集變更rule_set(包括added_rule_set和expired_rule_set)。算法3展示了子鏈更新算法,輸入是兩個(gè)服務(wù)功能鏈(原服務(wù)功能鏈與新服務(wù)功能鏈)的子鏈更新策略算法,輸出是所有相關(guān)數(shù)據(jù)中心的增量更新策略。其中第(2)行~第(5)行根據(jù)算法1生成兩個(gè)服務(wù)功能鏈的子鏈。第(7)行~第(11)行通過GetExpiredAddedSet函數(shù)生成所有數(shù)據(jù)中心的子鏈更新信息。其中GetExpiredAddedSet函數(shù)的功能是通過old_set與new_set的對(duì)比,生成expired_set與added_set。GetExpiredAddedSet通過如下的方法進(jìn)行計(jì)算(見算法3的A1至A18行):首先,old_set與new_set分別按照字典序進(jìn)行排序,然而對(duì)其中的每一條規(guī)則同步進(jìn)行瀏覽。如果old_rule與new_rule相同,那么做跳過處理,將兩條規(guī)則都在集合中刪除。如果old_rule小于new_rule,那么將old_rule添加到expired_set中。否則,將new_rule添加到added_set中。

        2.3.2 子鏈更新策略部署

        上述算法生成了所有數(shù)據(jù)中心的子鏈更新策略,包括add_NF_set、expired_NF_set、add_rule_set以及expired_rule_set。每個(gè)數(shù)據(jù)中心基于接收到的子鏈更新策略進(jìn)行增量部署,包括以下幾方面:①添加或者移除網(wǎng)絡(luò)功能;②修改網(wǎng)絡(luò)功能之間的轉(zhuǎn)發(fā)關(guān)系;③修改與其它數(shù)據(jù)中心之間的轉(zhuǎn)發(fā)關(guān)系。如果src_node與dst_node全部是網(wǎng)絡(luò)功能類型,那么做第一類或者第二類重新配置,在每個(gè)數(shù)據(jù)中心內(nèi)進(jìn)行完成配置。如果src_node屬于input、output或者dc類信息,那么需要進(jìn)行第三類更新配置,對(duì)分類表和轉(zhuǎn)發(fā)表進(jìn)行修改,改變與鄰居數(shù)據(jù)中心之間的數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系。

        算法3:子鏈更新算法

        輸入:舊服務(wù)功能鏈描述(old_NF_set and old_rule_set);

        新服務(wù)功能鏈描述(new_NF_set and new_rule_set);

        輸出:每個(gè)數(shù)據(jù)中心的增量更新子鏈

        (expired_NF_set, expired_rule_set, added_NF_set, added_rule_set);

        初始化:每個(gè)數(shù)據(jù)中心的增量子鏈:

        expired_NF_set, expired rule_set, added_NF_set, added_rule_set←?, ?, ?, ?;

        (1)functionChainUpdate(old_NF_set,old_rule_set,new_NF_set, new_rule_set)

        (2) ChainPartition(old_NF_set, old_rule_set)

        獲得dc_set_old以及子鏈;

        (3) ChainPartition(new_NF_set, new_rule_set)

        獲得dc_set_new以及子鏈;

        (4) dc_set←(dc_set_old)∪(dc_ set_ new);

        (5)fordc∈dc_ setdo

        (6) dc.expired_NF_set, dc.added_NF_set ←

        (7) Comparison(dc.old_NF_set, dc.new_NF_set);

        (8) dc.expired_rule_set, dc.added_rule_ set)←

        (9) Comparison(dc.old_rule_set, dc.new_rule_set);

        (10)return每個(gè)數(shù)據(jù)中心:expired_NF_set, added_ NF_ set,

        (11) expired_rule_set, added_rule_set;

        A1:functionComparison(old_set, new_set)

        A2: expired_set, added_set←?, ?

        A3: old_sorted_queue = SortInLexicographicOrder(old_set);

        A4: new_sorted_queue = SortInLexicographicOrder(new_set);

        A5:while(old_sorted_queue != ?)and

        (new_sorted_queue!= ?)do

        A6: old, new←old_sorted_queue.first,

        new_sorted_queue.first

        A7:ifold == newthen

        A8: 從old_sorted_queue 移除old;

        A9: 從new_sorted_queue 移除new;

        A10:elseifold < newthen

        A11: 添加old 到expired_set;

        A12: 從old_sorted_queue 移除old;

        A13:else

        A14: 添加new到added_set;

        A15: 從new_sorted_queue移除new;

        A16: 將old_sorted_queue的所以規(guī)則添加到expired_set;

        A17: 將new_sorted_queue 的所以規(guī)則添加到added_set;

        A18:returnexpired_set, added_set;

        3 原型系統(tǒng)實(shí)現(xiàn)

        在DPDK[16]以及OpenNetVM[14]的基礎(chǔ)上,對(duì)NFVMP進(jìn)行了原型系統(tǒng)實(shí)現(xiàn)。在一系列的服務(wù)器上進(jìn)行了開發(fā)部署,以下是每個(gè)服務(wù)器的硬件信息:兩塊Intel(R)Xeon(R)E5-2620v3 CPU(2.40 GHz,12核),64 G RAM以及兩個(gè)10 G網(wǎng)卡。這些服務(wù)器都運(yùn)行在Linux操作系統(tǒng),其內(nèi)核版本為3.10.0。

        在實(shí)現(xiàn)的原型系統(tǒng)中,每一個(gè)服務(wù)器作為一個(gè)單獨(dú)的數(shù)據(jù)中心,與其它的數(shù)據(jù)中心進(jìn)行直連。在每一個(gè)數(shù)據(jù)中心內(nèi),基于OpenNetVM運(yùn)行一個(gè)單獨(dú)的NFV系統(tǒng)。在每個(gè)NFV系統(tǒng)內(nèi),采用Docker[14]技術(shù)進(jìn)行網(wǎng)絡(luò)功能實(shí)現(xiàn),從而保證每一個(gè)網(wǎng)絡(luò)功能在單獨(dú)的核內(nèi)運(yùn)行。除此之外,將分類器和轉(zhuǎn)發(fā)器也在Docker內(nèi)運(yùn)行,分別占用一個(gè)物理核。Docker方式能夠保障物理核不會(huì)被操作系統(tǒng)等其它任務(wù)所占用。

        針對(duì)原型系統(tǒng)性能測(cè)試,基于MoonGen[15]進(jìn)行流量生成。MoonGen是一個(gè)基于DPDK的流量生成器,在單獨(dú)的服務(wù)器上運(yùn)行并且與其它服務(wù)器進(jìn)行直連。流量生成器發(fā)送與接收生成的數(shù)據(jù)包,從而對(duì)系統(tǒng)的性能包括時(shí)延和吞吐量進(jìn)行測(cè)量。

        為了驗(yàn)證NFVMP原型系統(tǒng)的性能,對(duì)以下4個(gè)網(wǎng)絡(luò)功能進(jìn)行了實(shí)現(xiàn):虛擬專用網(wǎng)絡(luò)、深度包檢測(cè)、網(wǎng)絡(luò)緩存以及網(wǎng)絡(luò)監(jiān)控。上述網(wǎng)絡(luò)功能采用圖1的方式進(jìn)行部署與連接。其中數(shù)據(jù)中心A負(fù)責(zé)前兩個(gè)網(wǎng)絡(luò)功能,數(shù)據(jù)中心B負(fù)責(zé)后面兩個(gè)網(wǎng)絡(luò)功能。從數(shù)據(jù)中心A流出的數(shù)據(jù)包如果目的端口是80,那么發(fā)送到網(wǎng)絡(luò)緩存,否則發(fā)送到網(wǎng)絡(luò)監(jiān)控進(jìn)行后續(xù)處理。

        圖1 NFVMP原型系統(tǒng)部署的服務(wù)功能鏈

        將NFVMP系統(tǒng)與OpenNetVM進(jìn)行對(duì)比。對(duì)于OpenNetVM系統(tǒng)而言,所有的網(wǎng)絡(luò)功能在一個(gè)數(shù)據(jù)中心內(nèi)運(yùn)行,可以作為最佳模式。通過對(duì)比,可以得知NFVMP系統(tǒng)與最佳模式之間的差距。

        4 驗(yàn)證與評(píng)價(jià)

        在本文中,從以下幾個(gè)方面對(duì)NFVMP系統(tǒng)進(jìn)行了性能評(píng)價(jià):

        驗(yàn)證了NFVMP可以跨數(shù)據(jù)中心實(shí)現(xiàn)數(shù)據(jù)包的正確轉(zhuǎn)發(fā),與傳統(tǒng)的NFV系統(tǒng)產(chǎn)生相同的數(shù)據(jù)包處理結(jié)果。

        評(píng)估NFVMP加入的3種算法運(yùn)行時(shí)間開銷,包括子鏈生成算法、分類表和轉(zhuǎn)發(fā)表生成算法和子鏈更新算法。

        評(píng)估NFVMP在數(shù)據(jù)層的性能開銷,包括變化的數(shù)據(jù)包大小、網(wǎng)絡(luò)功能數(shù)量以及數(shù)據(jù)中心數(shù)量對(duì)性能結(jié)果的影響。

        驗(yàn)證NFVMP系統(tǒng)在數(shù)據(jù)中心真實(shí)流量條件下的系統(tǒng)性能,包括數(shù)據(jù)包處理時(shí)延和吞吐量。

        4.1 正確性驗(yàn)證

        生成一系列的數(shù)據(jù)包,并且在數(shù)據(jù)包負(fù)載中標(biāo)記序列數(shù)字。將生成的流量分別發(fā)送到NFVMP以及OpenNetVM系統(tǒng)中,并且將最終的數(shù)據(jù)包結(jié)果進(jìn)行對(duì)比分析。最終結(jié)果表明,NFVMP與OpenNetVM系統(tǒng)能夠得到相同的數(shù)據(jù)包結(jié)果,符合正確性準(zhǔn)則,有效地提高了網(wǎng)絡(luò)功能跨數(shù)據(jù)中心調(diào)度的靈活性。

        4.2 算法性能

        在本節(jié),對(duì)3種算法運(yùn)行時(shí)間進(jìn)行了評(píng)估,包括子鏈生成算法、分類和轉(zhuǎn)發(fā)表生成算法以及子鏈更新算法。

        圖2展示了上述3種算法的運(yùn)行時(shí)間與連接數(shù)之間的對(duì)應(yīng)關(guān)系。兩種算法的運(yùn)行時(shí)間均在毫秒數(shù)量級(jí)。例如:對(duì)于一個(gè)1000條連接數(shù)的服務(wù)功能鏈,子鏈生成算法消耗1.69 ms進(jìn)行服務(wù)功能鏈分解,分類表和轉(zhuǎn)發(fā)表生成算法花費(fèi)1.21 ms進(jìn)行表生成,子鏈更新算法則花費(fèi)6.45 ms來生成所有子鏈的增量更新策略。除此之外,網(wǎng)絡(luò)連接數(shù)與運(yùn)行時(shí)間呈現(xiàn)線性增加的趨勢(shì)。上述時(shí)間開銷均發(fā)生在系統(tǒng)運(yùn)行之前。對(duì)于NFV系統(tǒng)若干分鐘啟動(dòng)時(shí)間而言,毫秒級(jí)別的時(shí)間是微不足道并且可以忽略不計(jì)的。

        圖2 控制層算法性能

        4.3 數(shù)據(jù)層性能

        相比于傳統(tǒng)的NFV架構(gòu),NFVMP系統(tǒng)在數(shù)據(jù)層帶來調(diào)度管理靈活性優(yōu)勢(shì),使得服務(wù)功能鏈跨數(shù)據(jù)中心靈活部署。但是,NFVMP方案也給數(shù)據(jù)層性能帶來了一定的負(fù)載,并主要體現(xiàn)在以下兩方面:①數(shù)據(jù)中心間的數(shù)據(jù)包轉(zhuǎn)發(fā);②數(shù)據(jù)中心內(nèi)的表查詢。第一點(diǎn)的主要決定因素在于數(shù)據(jù)中心間的網(wǎng)絡(luò)通信資源,與NFVMP機(jī)制的設(shè)計(jì)無關(guān),必須通過改良網(wǎng)間通信資源來提升性能。第二點(diǎn)的主要決定因素則是NFVMP設(shè)計(jì)帶來的分類器和轉(zhuǎn)發(fā)器。因此,在本文節(jié),對(duì)表查詢?cè)斐傻男阅茇?fù)載進(jìn)行測(cè)量,并與最佳模式進(jìn)行性能對(duì)比分析。

        4.3.1 數(shù)據(jù)包大小的性能影響

        使用64字節(jié)到1500字節(jié)的數(shù)據(jù)包來測(cè)試數(shù)據(jù)包大小對(duì)系統(tǒng)性能的影響,包括數(shù)據(jù)包處理時(shí)延和吞吐量。圖3的實(shí)驗(yàn)結(jié)果表明:對(duì)于任意數(shù)據(jù)包大小,NFVMP均只引入極小的時(shí)延大約1.8μs。圖4表明了數(shù)據(jù)包大小與吞吐量之間的對(duì)應(yīng)關(guān)系。隨著數(shù)據(jù)包大小的增加,NFVMP引入的網(wǎng)絡(luò)擁塞被緩解,與最佳模式的性能越來越接近。對(duì)于最差的結(jié)果(對(duì)應(yīng)于64字節(jié)),吞吐量下降比例是2.24%。如果數(shù)據(jù)包大小超過512字節(jié),NFVMP與最佳模式的性能幾乎相同。

        圖3 數(shù)據(jù)包大小對(duì)時(shí)延的影響

        圖4 數(shù)據(jù)包大小對(duì)吞吐量的影響

        4.3.2 網(wǎng)絡(luò)功能數(shù)量的性能影響

        在此實(shí)驗(yàn)中,采用了2個(gè)~6個(gè)相同的網(wǎng)絡(luò)功能,分布在兩個(gè)數(shù)據(jù)中心內(nèi)進(jìn)行部署。所有的網(wǎng)絡(luò)功能全部都是網(wǎng)絡(luò)緩存,并且數(shù)據(jù)包大小全部采用256字節(jié)。如果網(wǎng)絡(luò)功能的總數(shù)是偶數(shù),兩個(gè)數(shù)據(jù)中心進(jìn)行均勻分布,如果是奇數(shù),那么數(shù)據(jù)中心A比數(shù)據(jù)中心B多部署一個(gè)網(wǎng)絡(luò)功能。圖5和圖6分別展示了網(wǎng)絡(luò)功能數(shù)量與時(shí)延、吞吐量之間的對(duì)應(yīng)關(guān)系。在時(shí)延方面,對(duì)于所有的功能數(shù)量,NFVMP的時(shí)延開銷均為1.8μs。在網(wǎng)絡(luò)功能數(shù)量為4時(shí),吞吐量下降率為3.51%。隨著網(wǎng)絡(luò)功能數(shù)量的增加,NFVMP與最佳模式的性能越來越接近。網(wǎng)絡(luò)功能數(shù)量越多,系統(tǒng)性能瓶頸在于多個(gè)網(wǎng)絡(luò)功能的數(shù)據(jù)處理,而不是分類器和轉(zhuǎn)發(fā)器造成的數(shù)據(jù)查詢工作。

        圖5 網(wǎng)絡(luò)功能數(shù)量對(duì)時(shí)延的影響

        圖6 網(wǎng)絡(luò)功能數(shù)量對(duì)吞吐量的影響

        在此實(shí)驗(yàn)中,驗(yàn)證了NFVMP向多個(gè)數(shù)據(jù)中心擴(kuò)展的能力,并測(cè)試了數(shù)據(jù)中心數(shù)量變化帶來的性能開銷。采用圖1的服務(wù)功能鏈,以及256字節(jié)的數(shù)據(jù)包進(jìn)行實(shí)驗(yàn)測(cè)量。對(duì)于4個(gè)網(wǎng)絡(luò)功能的服務(wù)功能鏈,最小的數(shù)據(jù)中心數(shù)量是1,最大的數(shù)據(jù)中心數(shù)量是4。圖7和圖8展示了網(wǎng)絡(luò)功能數(shù)量與時(shí)延、吞吐量之間的關(guān)系。每增加一個(gè)數(shù)據(jù)中心,系統(tǒng)時(shí)延增加1.8μs,吞吐量下降0.82%~26%。對(duì)于NFV系統(tǒng)而言,為了更好地滿足用戶需求提高網(wǎng)絡(luò)功能調(diào)度靈活性,這些微小的性能負(fù)載是可以忽略不計(jì)的。

        圖7 數(shù)據(jù)中心數(shù)量對(duì)時(shí)延的影響

        圖8 數(shù)據(jù)中心數(shù)量對(duì)吞吐量的影響

        4.3.3 真實(shí)網(wǎng)絡(luò)流量測(cè)試

        在本文節(jié),在數(shù)據(jù)中心的真實(shí)網(wǎng)絡(luò)流量上進(jìn)行了性能測(cè)試以及性能比較。根據(jù)數(shù)據(jù)中心測(cè)量工作中分析的數(shù)據(jù)包大小分布情況,生成大量符合真實(shí)數(shù)據(jù)包大小分布的流量進(jìn)行測(cè)試。與最佳模式系統(tǒng)相比,NFVMP僅僅引入了1.8μs的網(wǎng)絡(luò)時(shí)延,對(duì)于真實(shí)系統(tǒng)部署是可以忽略不計(jì)的。兩個(gè)系統(tǒng)的吞吐量幾乎相同,并沒有帶來明顯性能下降。

        綜上所述,對(duì)NFVMP系統(tǒng)從幾個(gè)方面進(jìn)行了驗(yàn)證工作:

        正確性:NFVMP實(shí)現(xiàn)了數(shù)據(jù)包在多個(gè)數(shù)據(jù)中心之間的正確路徑轉(zhuǎn)發(fā),有效地提高了網(wǎng)絡(luò)功能調(diào)度靈活性;

        系統(tǒng)性能:與最佳模式相比,NFVMP在控制層以及數(shù)據(jù)層引入的性能負(fù)載極小,幾乎可以忽略不計(jì)。

        5 結(jié)束語

        本文設(shè)計(jì)了一個(gè)跨數(shù)據(jù)中心的網(wǎng)絡(luò)功能連接管理機(jī)制——NFVMP。通過理論分析,得出NFVMP的設(shè)計(jì)原則是將每個(gè)數(shù)據(jù)中心的子鏈視為一個(gè)獨(dú)立單元,并且實(shí)現(xiàn)子鏈生成、子鏈連接與子鏈更新。對(duì)于子鏈生成,NFVMP設(shè)計(jì)了一個(gè)子鏈生成算法用來計(jì)算所有相關(guān)數(shù)據(jù)中心的子鏈。對(duì)于子鏈連接,考慮到?jīng)]有集中控制器以及通用數(shù)據(jù)平面實(shí)現(xiàn)網(wǎng)絡(luò)功能連接,采用了分布式方法進(jìn)行網(wǎng)絡(luò)功能靈活連接。每個(gè)數(shù)據(jù)中心通過分類器和轉(zhuǎn)發(fā)器建立與上流、下流數(shù)據(jù)中心之間的連接關(guān)系。除此之外,設(shè)計(jì)了一個(gè)增量式的策略更新算法來動(dòng)態(tài)地對(duì)子鏈進(jìn)行更新?;贠penNetVM系統(tǒng)對(duì)NFVMP進(jìn)行原型系統(tǒng)實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果表明,NFVMP在多數(shù)據(jù)中心場景下能夠?qū)崿F(xiàn)網(wǎng)絡(luò)功能靈活連接,其帶來的性能開銷非常微小,幾乎可以忽略不計(jì)。

        猜你喜歡
        功能服務(wù)系統(tǒng)
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        日韩av在线手机免费观看| 人人做人人妻人人精| 亚洲AV成人无码国产一区二区| 亚洲高清一区二区三区视频| 国产成人高清在线观看视频| 未满十八勿入av网免费| 麻豆av传媒蜜桃天美传媒| 亚洲一区不卡在线导航| 国产内射一级一片内射高清视频1| 亚洲综合色无码| 国产av一区二区精品久久凹凸| 91超碰在线观看免费| 自拍情爱视频在线观看| 国产欧美日韩中文久久| 性一交一乱一伦a片| 久久亚洲国产欧洲精品一| 久久老熟女一区二区三区| 久久久久人妻一区二区三区| 欧美丰满熟妇aaaaa片| 国产精品麻豆A啊在线观看| 国产91极品身材白皙| 欧美多人片高潮野外做片黑人| 国产精品熟妇视频国产偷人| 久久av一区二区三区下| 亚洲国产av一区二区三区精品| 激性欧美激情在线| 亚洲AV无码精品色欲av| 国产精品第一区亚洲精品| 亚洲国产精品久久艾草| 亚洲精品无码久久久久sm| 激,情四虎欧美视频图片| 手机久草视频福利在线观看| 精东天美麻豆果冻传媒mv| 国产精品亚洲一区二区杨幂| 亚洲天堂线上免费av| 久久精品国产字幕高潮| 久久亚洲精品ab无码播放| 亚洲色图在线视频免费观看| 亚洲综合偷自成人网第页色| 人人妻人人妻人人片av| 亚洲国产精品线观看不卡|