国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MicroNF:基于微服務(wù)的異構(gòu)網(wǎng)絡(luò)功能虛擬化框架

2019-08-29 08:09:38孫晨畢軍鄭智隆王舒鶴胡宏新
通信學(xué)報 2019年8期
關(guān)鍵詞:解析器異構(gòu)實例

孫晨,畢軍,鄭智隆,王舒鶴,胡宏新

(1.清華大學(xué)網(wǎng)絡(luò)科學(xué)與網(wǎng)絡(luò)空間研究院,北京 100084;2.清華大學(xué)信息科學(xué)技術(shù)學(xué)院,北京 100084;3.北京信信息科學(xué)與技術(shù)國家研究中心,北京 100084;4.克萊姆森大學(xué),南卡羅來納州 29634)

1 引言

計算機網(wǎng)絡(luò)中有著種類繁多的網(wǎng)絡(luò)功能,用于實現(xiàn)網(wǎng)絡(luò)安全、網(wǎng)絡(luò)監(jiān)控、流量調(diào)度等。在傳統(tǒng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)功能通過專有硬件來實現(xiàn),基于專有硬件的網(wǎng)絡(luò)功能通常被稱為中間件,添加新的網(wǎng)絡(luò)功能通常需要添加新的中間件。然而,中間件沒有通用的硬件框架,并且在高峰負載時難以擴展,因此,網(wǎng)絡(luò)功能虛擬化(NFV,network function virtualization)的概念被提出,以解決中間件的局限性。NFV 利用虛擬化技術(shù),通過軟件的形式實現(xiàn)網(wǎng)絡(luò)功能,從而增強服務(wù)交付的靈活性,降低總體成本[1]。NFV 中的網(wǎng)絡(luò)功能稱為虛擬化網(wǎng)絡(luò)功能(VNF,virtualized network function),常見的 VNF 包括網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,network address translation)、負載均衡、防火墻等。然而,基于軟件實現(xiàn)的VNF 性能較低,主要有以下2 個原因。

1)基于軟件的VNF 存在200 μs~1 ms 的轉(zhuǎn)發(fā)時延,這對于一些網(wǎng)絡(luò)應(yīng)用而言是不可接受的,例如,基于算法的股票交易和要求超低時延(幾微秒)的高性能分布式存儲器緩存[2]。

2)根據(jù)本文對一家主流網(wǎng)絡(luò)運營商的調(diào)研,目前該運營商部署的VNF 是由幾乎沒有相關(guān)性的獨立團隊構(gòu)建的單一、重型的實例。然而,多個VNF通常可以部分地共享相似的處理邏輯[4],例如,負載平衡和訪問控制都需要解析數(shù)據(jù)分組的分組頭來匹配規(guī)則。入侵檢測系統(tǒng)(IDS,intrusion detection system)和7 層防火墻都可以對流或數(shù)據(jù)分組執(zhí)行深度分組檢測(DPI,deep packet inspection)。如果沒有模塊重用,一個數(shù)據(jù)分組可能會在整個服務(wù)鏈中多次執(zhí)行同一個操作,這種動作的重復(fù)會進一步損害NFV 的性能。

針對問題1),最近的一些工作提出使用可編程硬件加速器來支持NFV。部分工作[2~5]揭示了基于軟件的中間件與商用硬件之間的差距,并提出將彈性的現(xiàn)場可編程門陣列(FPGA,field-programmable gate array)引入基于OpenStack 的NFV 以提高性能。但是,現(xiàn)有解決方案僅利用了高性能硬件來支持NFV,并未發(fā)揮可提供豐富資源和高靈活性的商用服務(wù)器的優(yōu)點。實際上,硬件設(shè)備上的TCAM(ternary content addressable memory)資源相當有限且昂貴,難以支持復(fù)雜且資源密集型的VNF,例如NAT。

針對問題2),本文注意到,微服務(wù)的概念在軟件工程領(lǐng)域越來越受關(guān)注[6]。微服務(wù)被定義為通過消息交互的最小獨立過程。復(fù)雜的VNF 可以分解為更簡單的微服務(wù),而一個微服務(wù)可以被不同的VNF 重用。在NFV 環(huán)境中,微服務(wù)的模塊化和可重用性可以消除重復(fù)的處理階段并縮短時延。

因此,本文提出一種高性能和可編程的架構(gòu)——MicroNF,利用可編程硬件和傳統(tǒng)軟件基礎(chǔ)架構(gòu)來支持VNF 的高性能和靈活性。MicroNF 可以容納最先進的硬件平臺,如FPGA、P4 和RMT、ClickOS 等軟件平臺[7],只要它們向外提供統(tǒng)一的控制接口即可。此外,MicroNF 通過組合和重用多個硬件或軟件的微服務(wù)來構(gòu)建所需的服務(wù)鏈,以消除重復(fù)并提高性能,而非構(gòu)建功能重疊的單片VNF。本文在MicroNF 中設(shè)計了一個策略解析器層,用于硬件和軟件的微服務(wù)管理,以隱藏NFV協(xié)調(diào)器底層基礎(chǔ)架構(gòu)的異構(gòu)性。

本文的主要貢獻如下。

1)提出了一種高性能 NFV 框架——MicroNF,該框架利用異構(gòu)基礎(chǔ)設(shè)施,結(jié)合了硬件和軟件功能,同時支持VNF 的高性能和靈活性。 此外,MicroNF 將單片VNF 分解為硬件或軟件微服務(wù),并通過在VNF 之間重用微服務(wù)來提高性能。

2)在MicroNF 中設(shè)計了一個策略解析器,以隱藏NFV 協(xié)調(diào)器的基礎(chǔ)設(shè)施異構(gòu)性。策略解析器還負責VNF 分解和微服務(wù)鏈接以形成服務(wù)鏈。

3)實現(xiàn)了基于 OpenStack 和 ONetCard 的MicroNF 原型。實驗結(jié)果表明,與純單片軟件VNF鏈相比,MicroNF 中具有微服務(wù)增強功能的異構(gòu)服務(wù)鏈可以實現(xiàn)時延平均降低70%。

2 MicroNF 架構(gòu)

基于NFV 網(wǎng)絡(luò)的MicroNF 架構(gòu)如圖1 所示。其中,編排器做出關(guān)于服務(wù)鏈的決定;策略解析器根據(jù)鏈接要求執(zhí)行VNF 分解和微服務(wù)鏈接,并將策略提供給相應(yīng)的模塊,包括控制硬件(H-MS,hardware function management service)與軟件(S-MS,software function management service)微服務(wù)生命周期的微服務(wù)管理器,以及可以基于SDN控制器實現(xiàn)的轉(zhuǎn)發(fā)策略實施器。策略實施器可以在微服務(wù)實例之間引導(dǎo)流量。可編程硬件基礎(chǔ)架構(gòu)與軟件基礎(chǔ)架構(gòu)結(jié)合構(gòu)建異構(gòu)基礎(chǔ)架構(gòu),支持異構(gòu)服務(wù)鏈。

2.1 策略解析器

傳統(tǒng)網(wǎng)絡(luò)中,編排器負責編排服務(wù)并直接通知相關(guān)VNF 管理器,部署VNF 實例并將其鏈接在一起形成服務(wù)鏈。然而,在MicroNF 中需要組裝并重用硬件或軟件微服務(wù)來構(gòu)建VNF 并形成服務(wù)鏈,這為服務(wù)鏈的生成提出了2 個問題:如何選擇軟硬件實例;如何將軟硬件實例混合編排。

圖1 MicroNF 架構(gòu)

為了解決上述問題,本文在MicroNF 框架中設(shè)計了一個策略解析器。策略解析器接收來自編排器的服務(wù)鏈決策,并將策略傳遞給最合適的微服務(wù)管理器(MSM,micro service management module)或轉(zhuǎn)發(fā)策略實施器。為了形成服務(wù)鏈,編排器只需簡單描述其對VNF 的要求,策略解析器就可以自動將VNF 分解為微服務(wù),并通知相關(guān)的MSM 和轉(zhuǎn)發(fā)策略實施器部署服務(wù)鏈。

2.2 VNF 分解

MicroNF 中的策略解析器負責將VNF 分解為微服務(wù),并利用微服務(wù)的可重用性來消除重復(fù)并縮短服務(wù)鏈時延。VNF 的分解示例如表1 所示。

表1 VNF 分解示例

2.3 微服務(wù)組裝與鏈接

VNF 分解過程將VNF 分成若干個微服務(wù),但是服務(wù)鏈中的多個VNF 可能會使用同一個微服務(wù)。為了提高服務(wù)鏈性能,本文考慮利用微服務(wù)的可重用性來刪除重復(fù)的微服務(wù),并用所有剩余的非冗余微服務(wù)來構(gòu)建微服務(wù)鏈。最后,策略解析器將服務(wù)鏈轉(zhuǎn)換為逐跳轉(zhuǎn)發(fā)策略,并通知轉(zhuǎn)發(fā)策略實施器。

為了充分利用微服務(wù)的可重用性,微服務(wù)的處理結(jié)果可以被傳遞至該服務(wù)器鏈中的后續(xù)微服務(wù),但是目前在NFV 中的VNF 之間沒有上下文傳遞機制。網(wǎng)絡(luò)服務(wù)分組頭(NSH,network service header)[8]是一種被廣泛接受的NFV 服務(wù)交付和鏈接機制,但其中沒有足夠的空間用于傳遞大量處理結(jié)果。接下來,本文將討論基于NSH 的設(shè)計方案。

若某一微服務(wù)需要將其處理結(jié)果傳遞給服務(wù)鏈中的2 個微服務(wù),則它可以將處理結(jié)果附加到目標微服務(wù)的現(xiàn)有NSH 中,如圖2 所示。具體而言,微服務(wù)應(yīng)首先解析數(shù)據(jù)分組攜帶的所有NSH 并識別其目標微服務(wù)。在處理分組之后,微服務(wù)將處理結(jié)果注入目標微服務(wù)NSH 的“上下文字段”中。隨后的目標微服務(wù)將從NSH 導(dǎo)出上下文,并利用上下文信息繼續(xù)完成自己的邏輯任務(wù)。

2.4 MSM 的統(tǒng)一控制接口

為了適應(yīng)MicroNF 中的異構(gòu)基礎(chǔ)設(shè)施,本文在MicroNF 中為所有平臺的MSM 設(shè)計了一個統(tǒng)一的控制接口集,以避免策略解析器承擔管理具有不同接口和內(nèi)部邏輯的異構(gòu)MSM 的負擔??刂平涌诩唧w如下。

圖2 使用NSH 上下文頭的微服務(wù)上下文傳遞

?deploy_instance (instance):用于部署實例instance。

?destruct_instance (instance_ID):用于銷毀編號為instance_ID 的實例。

? configure_instance (instance_ID,configuration):用于配置編號為instance_ID 的實例。

? migrate_instance (old_ID,new_ID,flows):將編號為old_ID 的實例上的部分流遷移至編號為new_ID 的實例。

? get_instance_state (instance_ID):用于獲取編號為instance_ID 的實例的狀態(tài)信息。

通過deploy_instance 和destruct_instance 接口可部署和銷毀微服務(wù)實例。策略解析器可以通過configure_instance 接口配置所有實例,還能夠指示特定MSM 通過migrate_instance 接口將一些數(shù)據(jù)流從舊實例遷移到新實例。運行時,協(xié)調(diào)器需要通過get_instance_state 接口查詢實例狀態(tài)。

圖3 為 DPI 微服務(wù)的生命周期。策略解析器調(diào)用 deploy_instance 接口部署 DPI;然后通過configure_instance 接口發(fā)出2 個規(guī)則,如實例過載,使用 deploy_instance 啟動 2 號實例并使用migrate_instance 從1 號實例遷移到2 號實例;最后,策略解析器將使用destruct_instance 對1 號實例進行清理。

3 系統(tǒng)實現(xiàn)

本文構(gòu)建了基于ONetCard 的MicroNF 基礎(chǔ)設(shè)施,在硬件資源ONetCard 上實現(xiàn)了帶狀態(tài)數(shù)據(jù)平面的抽象(SDPA,stateful data plane abstraction)[9],用于支持各種硬件網(wǎng)絡(luò)功能或微服務(wù)。本文實現(xiàn)了幾個微服務(wù)的硬件和軟件版本,包括分組頭解析器、規(guī)則匹配器、動作執(zhí)行器、分組頭修改器和計數(shù)器,并用構(gòu)建了3 個VNF,包括硬件和軟件版本的NAT、防火墻和長流檢測。本文基于OpenStack和OpenDaylight 實現(xiàn)了MSM、MicroNF 策略解析器和協(xié)調(diào)器。OpenStack 用于實現(xiàn)S-MSM(software MSM),使用H-MSM(hardware MEM)模塊擴展了 OpenDaylight,來管理硬件微服務(wù)實例。MicroNF 策略解析器在OpenDaylight 中被編寫為模塊,執(zhí)行NSH 服務(wù)鏈。具體如圖3 所示。

圖3 由控制接口支持的DPI 生命周期

4 系統(tǒng)性能評估

4.1 異構(gòu)VNF 鏈與軟件VNF 鏈的對比

本文通過生成由硬件和軟件VNF 組成的異構(gòu)鏈來評估MicroNF 的性能。在硬件上實現(xiàn)了狀態(tài)防火墻和NAT,分別在有數(shù)據(jù)平面開發(fā)套件(DPDK,data plane development kit)增強軟件和沒有DPDK 增強軟件的情況下完成了長流檢測的軟件實現(xiàn),并將它們的性能與純DPDK VNF 鏈進行了比較。使用Ixia 測試器生成固定大小的數(shù)據(jù)報文,并調(diào)整數(shù)據(jù)流量發(fā)送速率為1~10 Gbit/s,并將相同的流量發(fā)送到這2 個VNF 實例,測量處理延時和吞吐量。實驗結(jié)果如圖4 所示。根據(jù)實驗數(shù)據(jù),未優(yōu)化軟件的處理時延可能比硬件高119~154 倍,而DPDK 增強軟件的平均時延比硬件的平均時延高5.4 倍。未優(yōu)化軟件的吞吐量比硬件低91%,DPDK 增強軟件可以實現(xiàn)與硬件一樣高的吞吐量。由硬件和DPDK 增強軟件組成的異構(gòu)服務(wù)鏈在處理時延方面優(yōu)于純DPDK 解決方案(降低40%~67%)。

4.2 軟件微服務(wù)鏈與軟件VNF 鏈的對比

為了評估微服務(wù)引入NFV 帶來的性能提升,本文生成了一個具有DPDK 增強軟件的微服務(wù)軟件鏈,并將其性能與單片的服務(wù)鏈進行了比較。2個鏈都包括相同的軟件VNF 集合,包括NAT、狀態(tài)防火墻和長流檢測。從圖5 可以看出,基于微服務(wù)的服務(wù)鏈的轉(zhuǎn)發(fā)時延比基于單片VNF 的服務(wù)鏈低約40%。這表明將VNF 分解為微服務(wù)并刪除重復(fù)的微服務(wù)可以在很大程度上縮短轉(zhuǎn)發(fā)時延。

圖4 異構(gòu)VNF 鏈與軟件VNF 鏈的性能對比

圖5 軟件微服務(wù)鏈與軟件VNF 鏈的性能對比

4.3 MicroNF 鏈與軟件VNF 鏈的對比

為了全面評估MicroNF 的性能增強程度,本文生成了一個異構(gòu)微服務(wù)鏈,并將其性能與單片軟件VNF 鏈進行比較。對于異構(gòu)微服務(wù)鏈,本文在硬件上實現(xiàn)了分組頭解析器、規(guī)則匹配器和動作執(zhí)行器,在軟件上實現(xiàn)了計數(shù)器和分組頭修改器。對于單片軟件VNF 鏈,本文在硬件上實現(xiàn)了帶狀態(tài)防火墻和NAT,并且在具有DPDK 增強功能的情況下完成了長流檢測的軟件實現(xiàn)。實驗結(jié)果如圖6 所示。MicroNF 使服務(wù)鏈平均轉(zhuǎn)發(fā)時延降低70%。

圖6 異構(gòu)微服務(wù)鏈與軟件VNF 鏈的對比

5 相關(guān)工作

最近一些相關(guān)工作已經(jīng)認識到將硬件和軟件相結(jié)合來實現(xiàn)高性能和靈活性的優(yōu)勢[10-12]。Rohan 等[10]提出了Duet,它使用現(xiàn)有的交換機硬件和一小部分軟件來構(gòu)建高性能的負載均衡器。然而,Duet 僅限于實現(xiàn)負載均衡 VNF。Hendrik 等[11]提出了VNF-P,可以在專用硬件和通用軟件上支持VNF。

但是,專用硬件在VNF 管理的靈活性方面仍然受到限制。Andrew 等[12]提出了利用FPGA 擴展數(shù)據(jù)中心的服務(wù)器來提高性能。Arpit 等[13]提出結(jié)合可編程交換機和基于軟件的流處理器,實現(xiàn)了高效的網(wǎng)絡(luò)監(jiān)控功能。Georgios 等[14]提出結(jié)合可編程交換機和軟件基礎(chǔ)設(shè)施,支持高性能NFV 服務(wù)鏈。相比之下,MicroNF 是一種通用框架,可以基于最先進的可編程硬件、軟件平臺提供高性能和靈活性,并在框架中引入策略解析器層,從而支持多種網(wǎng)絡(luò)功能,減輕編排器與基礎(chǔ)架構(gòu)相關(guān)的管理負擔,提高可擴展性。

OpenBox[4]中提出的想法接近于微服務(wù)的概念。但是,它并沒有在NFV 的環(huán)境下討論這一想法。Muhammad 等[15]設(shè)計了一種可重用的網(wǎng)絡(luò)協(xié)議棧,供網(wǎng)絡(luò)功能調(diào)用而無需考慮底層分組處理邏輯。Guyue 等[16]設(shè)計了一種TCP 協(xié)議棧,以模塊的形式供一條服務(wù)鏈上的多個網(wǎng)絡(luò)功能調(diào)用,提高服務(wù)鏈性能。相比之下,MicroNF 不局限于提供一種網(wǎng)絡(luò)功能模塊,而是一種通用的異構(gòu)高性能框架,提供網(wǎng)絡(luò)功能分解方式,實現(xiàn)高性能服務(wù)鏈。

6 結(jié)束語

本文為 NFV 提出了一種異構(gòu)高性能框架MicroNF,通過硬件和軟件基礎(chǔ)設(shè)施的集成可以有效地支持網(wǎng)絡(luò)功能。設(shè)計了統(tǒng)一的控制接口,以支持更靈活、更高效的VNF 管理。此外,還將微服務(wù)的概念集成到MicroNF 中,從NFV 的服務(wù)鏈中刪除冗余處理邏輯并提高性能。實驗結(jié)果表明MicroNF 可以顯著提高服務(wù)鏈性能。

猜你喜歡
解析器異構(gòu)實例
試論同課異構(gòu)之“同”與“異”
基于多解析器的域名隱私保護機制
基于Wireshark的列控中心以太網(wǎng)通信協(xié)議解析器的研究與實現(xiàn)
如何防御DNS陷阱?常用3種DNS欺騙手法
一種基于無關(guān)DNS的通信隱私保護技術(shù)研究
電子世界(2018年14期)2018-04-15 16:14:25
overlay SDN實現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
在新興異構(gòu)SoCs上集成多種系統(tǒng)
完形填空Ⅱ
完形填空Ⅰ
邢台县| 安多县| 闻喜县| 惠来县| 行唐县| 通渭县| 维西| 青龙| 正阳县| 新余市| 山阴县| 神木县| 遵义市| 金湖县| 湘潭市| 红河县| 延吉市| 易门县| 华宁县| 平塘县| 双柏县| 延川县| 临猗县| 会宁县| 延安市| 玉林市| 三明市| 屯门区| 巩义市| 利津县| 贡山| 龙山县| 沈阳市| 汽车| 南郑县| 尤溪县| 梁河县| 嘉义市| 固阳县| 鸡泽县| 高邑县|