999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2022-04-21 07:23:00藺婧娜
計算機工程與設計 2022年4期
關鍵詞:功能服務系統(tǒng)

石 峰,藺婧娜

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

0 引 言

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

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

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

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

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

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

1 理論分析

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

1.1 系統(tǒng)模型

(1)

(2)

(3)

因此,獲得了如下等式

(4)

1.2 正確性分析

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

(5)

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

2 NFVMP設計

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

2.1 子鏈生成

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

2.1.1 服務功能鏈描述語言

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

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

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;]

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

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

2.1.2 子鏈生成算法

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

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

算法1:子鏈生成算法

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

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

初始化:每個數(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每個數(shù)據(jù)中心的NF_set and rule_set;

2.2 子鏈連接

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

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

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

當上流數(shù)據(jù)中心內的所有網(wǎng)絡功能完成數(shù)據(jù)包處理之后,數(shù)據(jù)中心需要將數(shù)據(jù)包轉發(fā)到下流數(shù)據(jù)中心進行后續(xù)處理。因此,在出口處安裝轉發(fā)器來建立數(shù)據(jù)包標簽與下流數(shù)據(jù)中心的轉發(fā)關系。數(shù)據(jù)包標簽能夠唯一確定下一個網(wǎng)絡功能,也就可以唯一確定下流數(shù)據(jù)中心。當數(shù)據(jù)中心從網(wǎng)卡收到數(shù)據(jù)包時,在入口處安裝分類器,從而正確地將數(shù)據(jù)包轉發(fā)到下一個網(wǎng)絡功能。分類器建立了上流數(shù)據(jù)中心、數(shù)據(jù)標簽與下一個網(wǎng)絡功能之間的綁定關系。上流數(shù)據(jù)中心與數(shù)據(jù)標簽能夠唯一地對下一個網(wǎng)絡功能進行確認。

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

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

輸出:分類表和轉發(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)到轉發(fā)表;

(7)else

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

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

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

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

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

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

2.3 子鏈更新

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

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

2.3.1 子鏈更新策略分析

客戶端負責分析所有子鏈的更新策略,也即網(wǎng)絡功能集變更NF_set(包括added_NF_set和expired_NF_set),以及規(guī)則集變更rule_set(包括added_rule_set和expired_rule_set)。算法3展示了子鏈更新算法,輸入是兩個服務功能鏈(原服務功能鏈與新服務功能鏈)的子鏈更新策略算法,輸出是所有相關數(shù)據(jù)中心的增量更新策略。其中第(2)行~第(5)行根據(jù)算法1生成兩個服務功能鏈的子鏈。第(7)行~第(11)行通過GetExpiredAddedSet函數(shù)生成所有數(shù)據(jù)中心的子鏈更新信息。其中GetExpiredAddedSet函數(shù)的功能是通過old_set與new_set的對比,生成expired_set與added_set。GetExpiredAddedSet通過如下的方法進行計算(見算法3的A1至A18行):首先,old_set與new_set分別按照字典序進行排序,然而對其中的每一條規(guī)則同步進行瀏覽。如果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。每個數(shù)據(jù)中心基于接收到的子鏈更新策略進行增量部署,包括以下幾方面:①添加或者移除網(wǎng)絡功能;②修改網(wǎng)絡功能之間的轉發(fā)關系;③修改與其它數(shù)據(jù)中心之間的轉發(fā)關系。如果src_node與dst_node全部是網(wǎng)絡功能類型,那么做第一類或者第二類重新配置,在每個數(shù)據(jù)中心內進行完成配置。如果src_node屬于input、output或者dc類信息,那么需要進行第三類更新配置,對分類表和轉發(fā)表進行修改,改變與鄰居數(shù)據(jù)中心之間的數(shù)據(jù)包轉發(fā)關系。

算法3:子鏈更新算法

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

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

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

(expired_NF_set, expired_rule_set, added_NF_set, added_rule_set);

初始化:每個數(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每個數(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)實現(xiàn)

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

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

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

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

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

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

4 驗證與評價

在本文中,從以下幾個方面對NFVMP系統(tǒng)進行了性能評價:

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

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

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

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

4.1 正確性驗證

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

4.2 算法性能

在本節(jié),對3種算法運行時間進行了評估,包括子鏈生成算法、分類和轉發(fā)表生成算法以及子鏈更新算法。

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

圖2 控制層算法性能

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

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

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

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

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

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

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

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

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

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

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

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

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

4.3.3 真實網(wǎng)絡流量測試

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

綜上所述,對NFVMP系統(tǒng)從幾個方面進行了驗證工作:

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

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

5 結束語

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

猜你喜歡
功能服務系統(tǒng)
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
服務在身邊 健康每一天
服務在身邊 健康每一天
服務在身邊 健康每一天
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關于非首都功能疏解的幾點思考
主站蜘蛛池模板: 在线视频亚洲色图| 69视频国产| 性网站在线观看| 久久精品人人做人人爽电影蜜月| 久久人与动人物A级毛片| 国产亚洲美日韩AV中文字幕无码成人| 精久久久久无码区中文字幕| 国产精选小视频在线观看| 国产成人一区在线播放| 就去色综合| 91欧洲国产日韩在线人成| 国产在线自乱拍播放| 亚洲制服丝袜第一页| 亚洲高清在线天堂精品| 中文字幕日韩视频欧美一区| 亚洲成年人网| 国产91高跟丝袜| 国产精品一区在线麻豆| 亚洲大学生视频在线播放| 久久国产av麻豆| 欧美人在线一区二区三区| 高清色本在线www| 999福利激情视频| 亚洲另类色| 自慰网址在线观看| 国产成年女人特黄特色毛片免 | 日韩欧美国产成人| 久久香蕉国产线看观看式| 日本a∨在线观看| 亚洲国产亚洲综合在线尤物| 日韩精品视频久久| 亚洲日本www| 99伊人精品| 午夜福利无码一区二区| 亚洲va在线∨a天堂va欧美va| 一本视频精品中文字幕| 在线精品自拍| 国产欧美中文字幕| 精品精品国产高清A毛片| 亚洲熟女偷拍| 精品国产自在在线在线观看| 手机精品福利在线观看| 色综合天天综合| 国产美女91呻吟求| 国产成人凹凸视频在线| 久久国产精品夜色| 中国国产高清免费AV片| 亚洲黄色片免费看| 欧美中文字幕在线播放| 91香蕉国产亚洲一二三区| 在线亚洲精品福利网址导航| 亚洲 欧美 偷自乱 图片| 亚洲天堂视频网| 亚洲午夜久久久精品电影院| 粗大猛烈进出高潮视频无码| 99热线精品大全在线观看| 无码高潮喷水专区久久| 9cao视频精品| 国产va免费精品观看| 在线观看视频99| 精品91视频| 91视频国产高清| 91久久青青草原精品国产| 久视频免费精品6| 日韩a在线观看免费观看| 国产精品13页| 久久精品aⅴ无码中文字幕| 日本不卡视频在线| 欧美日韩va| 天堂va亚洲va欧美va国产| 欧美亚洲第一页| 亚洲人成在线免费观看| 亚洲黄色视频在线观看一区| 久青草网站| 中文字幕无码中文字幕有码在线| 日本在线免费网站| 综合网天天| 蜜桃视频一区| 色综合国产| 国产亚洲精品97在线观看| 久久婷婷五月综合97色| 亚洲中文在线视频|