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

?

基于OpenFlow虛擬交換機(jī)的VxLAN技術(shù)研究

2021-08-08 08:02:12謝志偉
廣東通信技術(shù) 2021年7期
關(guān)鍵詞:流表內(nèi)核交換機(jī)

[謝志偉]

1 研究背景和意義

1.1 研究背景

現(xiàn)階段云計(jì)算數(shù)據(jù)中心采用的云計(jì)算架構(gòu),具有存儲(chǔ)、網(wǎng)絡(luò)資源耦合、多樣虛擬化設(shè)備、模塊化和自動(dòng)化程度較高等特點(diǎn)。云數(shù)據(jù)中心相比傳統(tǒng)數(shù)據(jù)中心能將資源虛擬化,按需分配。通過(guò)對(duì)各種資源用虛擬化技術(shù)進(jìn)行虛擬化,實(shí)現(xiàn)資源交付的靈活性。

隨著虛擬化技術(shù)的大規(guī)模使用,數(shù)據(jù)中心的計(jì)算密度呈現(xiàn)出大幅度的增加,甚至需要在不同的物理設(shè)備上實(shí)現(xiàn)虛擬機(jī)不限次數(shù)的遷移。顯然,傳統(tǒng)網(wǎng)絡(luò)已經(jīng)不能滿足當(dāng)前云計(jì)算業(yè)務(wù)環(huán)境下的功能需求。結(jié)合OpenFlow 技術(shù)的應(yīng)用,通過(guò)把控制與轉(zhuǎn)發(fā)分離,達(dá)到網(wǎng)絡(luò)的可編程目的,可以使得網(wǎng)絡(luò)和計(jì)算資源更加緊密的聯(lián)系起來(lái)并實(shí)現(xiàn)有效的控制。

1.2 研究目的與意義

將基于OpenFlow 的虛擬交換機(jī)應(yīng)用到云計(jì)算數(shù)據(jù)中心,從而實(shí)現(xiàn)數(shù)據(jù)中心(IDC)網(wǎng)絡(luò)數(shù)據(jù)的快速轉(zhuǎn)發(fā),以及在技術(shù)上解決用戶隔離等網(wǎng)絡(luò)需求。

其中主要研究?jī)?nèi)容包括:

(1)分析OpenFlow 交換機(jī)中的流表匹配方案,優(yōu)化流表匹配算法。

(2)VxLAN 技術(shù)應(yīng)用于OpenFlow 交換機(jī)中,以解決數(shù)據(jù)中心的用戶隔離等問(wèn)題。

2 OpenFlow 交換機(jī)中的流表匹配

2.1 轉(zhuǎn)發(fā)流程分析

相關(guān)報(bào)文進(jìn)入到OpenFlow 交換機(jī)的端口之后,OpenFlow 交換機(jī)將對(duì)數(shù)據(jù)進(jìn)行匹配,同時(shí)根據(jù)結(jié)果來(lái)執(zhí)行動(dòng)作。對(duì)于多級(jí)流表,處理程序類似流水線型。如圖1所示。

圖1 流水線處理

2.2 轉(zhuǎn)發(fā)方案差異分析

在轉(zhuǎn)發(fā)方案的技術(shù)實(shí)現(xiàn)上,以硬件實(shí)現(xiàn)可以達(dá)到較好的性能,但是不利于后期修改與新技術(shù)的優(yōu)化,開(kāi)發(fā)周期也相對(duì)較長(zhǎng)。基于OpenFlow 的交換機(jī)方案,則可以較好的規(guī)避硬件方面存在的缺點(diǎn),易于操作和修改。

2.2.1 使用硬件實(shí)現(xiàn)轉(zhuǎn)發(fā)功能

在芯片中固化轉(zhuǎn)化規(guī)則和流量表,只要接收到數(shù)據(jù)包,就在系統(tǒng)芯片中進(jìn)行直接處理,執(zhí)行流表匹配流程和指令集,實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)性能的提高。但是其硬件具有功能無(wú)法動(dòng)態(tài)變化和調(diào)整、開(kāi)發(fā)難度大等缺點(diǎn)。

2.2.2 優(yōu)化流表匹配算法

通常使用內(nèi)核態(tài)和用戶態(tài)來(lái)實(shí)現(xiàn)交換機(jī)的轉(zhuǎn)發(fā)功能,在用戶態(tài)下實(shí)現(xiàn)交換機(jī)的核心組件,將組件與控制器進(jìn)行連接,并形成規(guī)則,將流表項(xiàng)向內(nèi)核態(tài)下發(fā)。

將匹配域分為通配匹配和精確匹配,先采取精確匹配然后通配匹配,最終取得匹配結(jié)果。這種方式區(qū)別于常用的直接將匹配域進(jìn)行Hash 匹配,對(duì)匹配流程作了初步的劃分,方便進(jìn)一步的優(yōu)化工作。

2.3 流表匹配方案設(shè)計(jì)與實(shí)現(xiàn)

以內(nèi)核態(tài)和用戶態(tài)這兩種空間用以流表分布,內(nèi)核態(tài)流表的特點(diǎn)是數(shù)量大、更新速度快和匹配快,用戶態(tài)流表的處理能力相比較慢,但它可以實(shí)現(xiàn)網(wǎng)絡(luò)的全局配置。OpenFlow 交換機(jī)也是在用戶態(tài)空間下實(shí)現(xiàn)核心功能。流表匹配整體流程如圖2 所示。

圖2 流表匹配整體流程

3 基于OpenFlow 交換機(jī)的VxLAN 技術(shù)

3.1 VxLAN 的分析與設(shè)計(jì)

3.1.1 VxLAN 網(wǎng)絡(luò)模型

報(bào)文轉(zhuǎn)發(fā)過(guò)程中,若目標(biāo)虛擬機(jī)并非相同,則會(huì)轉(zhuǎn)發(fā)到VTIP,并對(duì)其進(jìn)行封裝后送至核心網(wǎng)絡(luò)。此后,再由VxLAN 隧道轉(zhuǎn)發(fā),當(dāng)對(duì)端VTEP 接收到報(bào)文后[1],也將進(jìn)行報(bào)文的解封裝,同時(shí)送到目的地址。

VxLAN 網(wǎng)絡(luò)模型如圖3 所示。

圖3 VxLAN 網(wǎng)絡(luò)模型

3.1.2 VxLAN 隧道的創(chuàng)建

VxLAN 隧道是VxLAN 網(wǎng)絡(luò)的核心,而vtep 則是VxLAN 隧道的核心。在vtep 中實(shí)現(xiàn)了對(duì)VxLAN 數(shù)據(jù)包的識(shí)別、封裝和解封裝,從而使用vtep 實(shí)現(xiàn)VxLAN 隧道。VTEP 可以在虛擬機(jī)、OVS、甚至物理交換機(jī)實(shí)現(xiàn)。OVS 通過(guò)軟件實(shí)現(xiàn)功能擴(kuò)展,以O(shè)VS 實(shí)現(xiàn)VTEP 更有利于VxLAN 的實(shí)現(xiàn)。

3.1.3 基于控制器的ARP 報(bào)文請(qǐng)求集中應(yīng)答

OVS 與虛擬機(jī)進(jìn)行連接后,根據(jù)需求形成若干虛擬端口,隨著虛擬機(jī)中的ARP 報(bào)文發(fā)送,虛擬端口便會(huì)從虛擬機(jī)中記錄ARP 與相關(guān)端口的映射關(guān)系,并在MAC 映射表中進(jìn)行保存。為實(shí)現(xiàn)對(duì)所有ARP請(qǐng)求作出統(tǒng)一的響應(yīng),需要控制器利用OpenFlow 虛擬交換機(jī)進(jìn)行集中管理,以解決因ARP請(qǐng)求廣播消息泛濫帶來(lái)的網(wǎng)絡(luò)寬帶壓力問(wèn)題。

3.1.4 數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)

ARP 請(qǐng)求廣播到目標(biāo)主機(jī),并接收返回信息,實(shí)現(xiàn)了VM1 虛擬機(jī)與VM2 虛擬機(jī)地址之間的的相互學(xué)習(xí)。如在ARP 學(xué)習(xí)MAC 的時(shí)候,OVS 同樣能學(xué)習(xí)到相應(yīng)的遠(yuǎn)端VTEP IP。由此,VM1 和VM2 之間就互相可以實(shí)現(xiàn)通信。

發(fā)送端:對(duì)數(shù)據(jù)報(bào)文進(jìn)行一系列處理和封裝,形成成VxLAN 報(bào)文,然后發(fā)送至VxLAN 隧道。

接收端:接收從VxLAN 隧道發(fā)來(lái)的報(bào)文,并檢測(cè)一致性。

在相同OVS 下的兩個(gè)虛擬機(jī),數(shù)據(jù)轉(zhuǎn)發(fā)流程也是一樣的。

3.2 基于OpenFlow 交換機(jī)中的VxLAN 應(yīng)用實(shí)現(xiàn)

3.2.1 控制平面的實(shí)現(xiàn)

虛擬機(jī)網(wǎng)卡與OVS 端口之間的映射關(guān)系,控制著兩者之間的連接,各OVS 端口具有單獨(dú)的命名,與之相對(duì)的網(wǎng)卡地址,也是唯一的。當(dāng)構(gòu)建mac 地址映射的關(guān)系時(shí),即可響應(yīng)ARP 請(qǐng)求的mac 地址。

3.2.2 轉(zhuǎn)發(fā)平面的實(shí)現(xiàn)

OVS 分別與eth 物理端口以及虛擬的Vnet 端口相連,為VxLAN 封裝與解封裝功能實(shí)現(xiàn)提供條件。通過(guò)VxLAN 端口的增加,從而更好地滿足VTEP 功能要求。

3.2.3 報(bào)文轉(zhuǎn)發(fā)流程

發(fā)送端先對(duì)VxLAN 中的數(shù)據(jù)包進(jìn)行識(shí)別后,對(duì)數(shù)據(jù)包進(jìn)行封裝后發(fā)出,經(jīng)過(guò)VxLAN 隧道的傳輸傳送至接收端,并在接收端進(jìn)行反向操作,從而實(shí)現(xiàn)了兩主機(jī)之間相互通信的目的。

4 功能與性能測(cè)試

4.1 測(cè)試環(huán)境建立

參照云計(jì)算數(shù)據(jù)中心特點(diǎn),以集群模式,采用OpenFlow 控制器,建立控制器集群測(cè)試環(huán)境。對(duì)于非性能的測(cè)試:應(yīng)用iperf 打流工具進(jìn)行打流,應(yīng)用tcpdump工具進(jìn)行監(jiān)聽(tīng)或Wireshark 進(jìn)行抓包分析。對(duì)于性能的測(cè)試主要應(yīng)用Spirent TestCenter(STC) 等工具來(lái)實(shí)現(xiàn)。

4.2 流表匹配功能測(cè)試

4.2.1 匹配域字段匹配測(cè)試

測(cè)試環(huán)境包括:OpenFlow 交換機(jī)、控制器集群及虛擬機(jī)CDS。OpenFlow 交換機(jī)連接控制器集群。虛擬機(jī)S向D 進(jìn)行數(shù)據(jù)包發(fā)送,與此同時(shí),由虛擬機(jī)C 對(duì)數(shù)據(jù)發(fā)送情況進(jìn)行監(jiān)聽(tīng),確認(rèn)能否接收到前者傳送的數(shù)據(jù)。

以mac 地址測(cè)試為例,從虛擬機(jī)s 向虛擬機(jī)d 發(fā)送數(shù)據(jù)包,使用tcpdump 工具在虛擬機(jī)d 和c 的端口抓取數(shù)據(jù)包,結(jié)果只接受到虛擬機(jī)d 的端口和虛擬機(jī)d 上接收到來(lái)自虛擬機(jī)s 的數(shù)據(jù)包,而虛擬機(jī)c 并沒(méi)有接收到數(shù)據(jù),這就說(shuō)明交換機(jī)對(duì)mac 地址字段的匹配過(guò)程是正確的。

4.2.2 匹配域覆蓋測(cè)試

在流表在用戶態(tài)項(xiàng)向核態(tài)下發(fā)時(shí),并非以單一流表項(xiàng)進(jìn)行匹配,而是生成全局流表。依據(jù)圖4 拓?fù)鋱D測(cè)試,將清空內(nèi)核態(tài)流表后,持續(xù)從虛擬機(jī)S 轉(zhuǎn)發(fā)udp 及tcp 報(bào)文到虛擬機(jī)D[2],并通過(guò)數(shù)據(jù)包抓取確認(rèn)數(shù)據(jù)發(fā)送到虛擬機(jī)C。從而根據(jù)全局流表生成內(nèi)核態(tài)流表的方法無(wú)誤。

4.3 VxLAN 功能測(cè)試

4.3.1 基本功能測(cè)試

建立VxLAN 功能測(cè)試,如圖4 所示。

圖4 VxLAN 測(cè)試網(wǎng)絡(luò)拓?fù)鋱D

構(gòu)建VaLAN 網(wǎng)絡(luò),設(shè)置虛擬機(jī)S 和虛擬機(jī)D 為主測(cè)試機(jī)。網(wǎng)絡(luò)搭建好后,通過(guò)抓包測(cè)試結(jié)論分析知道,具有一樣VNI 的虛擬機(jī)是能夠互相通信的,但不一樣的VNI搭接的虛擬機(jī)是相互隔離的。

4.3.2 ARP 代答測(cè)試

通過(guò)控制器集中控制的優(yōu)勢(shì)研究ARP 代答技術(shù),根據(jù)抓包情況能夠得知,本系統(tǒng)中僅需要由控制器對(duì)ARP的請(qǐng)求進(jìn)行集中應(yīng)答,而無(wú)需進(jìn)行ARP 廣播,與設(shè)計(jì)思路相符。經(jīng)過(guò)VxLAN 基功能和ARP 的檢驗(yàn)測(cè)試,充分證明了相同的VxLAN 能夠?qū)崿F(xiàn)互通,不同的VxLAN 之間實(shí)現(xiàn)有效隔離,很好地阻止了VxLAN 廣播在不同網(wǎng)絡(luò)之間的互連。

4.4 性能測(cè)試

4.4.1 普通報(bào)文流表匹配性能測(cè)試

通過(guò)以下網(wǎng)絡(luò)拓?fù)鋱D進(jìn)行測(cè)試普通報(bào)文的轉(zhuǎn)發(fā)性能。如圖5 所示。

圖5 性能測(cè)試網(wǎng)絡(luò)拓?fù)鋱D

以TCP 報(bào)文為例,將數(shù)據(jù)從虛擬機(jī)S 向D 進(jìn)行轉(zhuǎn)發(fā),然后在s0 和s1 的端口進(jìn)行抓包,并計(jì)算每個(gè)數(shù)據(jù)包時(shí)間差得出交換機(jī)中的數(shù)據(jù)時(shí)延,再發(fā)送一千個(gè)數(shù)據(jù)包進(jìn)行測(cè)試。

通過(guò)測(cè)試結(jié)果得到結(jié)論如下。

(1)用戶態(tài)匹配時(shí)間大于內(nèi)核態(tài);

(2)報(bào)文大小與數(shù)據(jù)在交換機(jī)中的匹配時(shí)延沒(méi)有必然關(guān)系;

(3)內(nèi)核態(tài)流表匹配時(shí)延比用戶態(tài)穩(wěn)定;

(4)第一用戶態(tài)流表匹配時(shí)延較大;第二性能不穩(wěn)定。

4.4.2 VxLAN 報(bào)文轉(zhuǎn)發(fā)性能測(cè)試

在報(bào)文轉(zhuǎn)發(fā)優(yōu)化之前,VxLAN 端口進(jìn)行識(shí)別,通過(guò)虛擬機(jī)的internal 端口,對(duì)報(bào)文進(jìn)行封裝與解封裝。在優(yōu)化之后,所有報(bào)文均由VxLAN 端口直接處理,無(wú)需通過(guò)internal 端口。優(yōu)化前后的VxLAN 轉(zhuǎn)發(fā)帶寬,如表1 所示。

表1 優(yōu)化前后VxLAN 轉(zhuǎn)發(fā)測(cè)試結(jié)果

采取圖5 的網(wǎng)絡(luò)拓?fù)鋵?duì)優(yōu)化前、后的VxLAN 報(bào)文的轉(zhuǎn)發(fā)帶寬測(cè)試結(jié)果如表1 所示,OpenFlow 虛擬交換機(jī)轉(zhuǎn)發(fā)報(bào)文的性能得到了較大幅度的提高,并且為交換機(jī)帶寬帶來(lái)了13%~20%的提升,優(yōu)化效果是明顯的。

5 總結(jié)

結(jié)合虛擬交換機(jī)在云計(jì)算數(shù)據(jù)中心的場(chǎng)景應(yīng)用,通過(guò)OpenFlow 流表匹配以及流表轉(zhuǎn)發(fā)等技術(shù)的研究,實(shí)現(xiàn)了VxLAN 報(bào)文轉(zhuǎn)發(fā)流程優(yōu)化,大大提升了數(shù)據(jù)包轉(zhuǎn)發(fā)速度,有效解決了虛擬機(jī)部署受限以及多用戶隔離問(wèn)題,為今后的云計(jì)算數(shù)據(jù)中心建設(shè)以及云計(jì)算、虛擬化技術(shù)的應(yīng)用提供了可行性的參考依據(jù)。

猜你喜歡
流表內(nèi)核交換機(jī)
萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
基于時(shí)序與集合的SDN流表更新策略
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
基于緩存策略的OpenFlow流表存儲(chǔ)優(yōu)化方案研究
修復(fù)損壞的交換機(jī)NOS
簡(jiǎn)析yangUI流表控制
軟件定義網(wǎng)絡(luò)中一種兩步式多級(jí)流表構(gòu)建算法
使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
鹤峰县| 安平县| 炎陵县| 巴中市| 舞钢市| 丹东市| 遂宁市| 肥西县| 麻栗坡县| 兴城市| 芒康县| 望奎县| 丽江市| 龙游县| 南乐县| 开远市| 昌平区| 闽清县| 依兰县| 临城县| 横山县| 衡东县| 长汀县| 公主岭市| 镶黄旗| 斗六市| 宜昌市| 西乌珠穆沁旗| 湖北省| 米泉市| 霍山县| 鲁甸县| 滨海县| 桐梓县| 建平县| 崇仁县| 田阳县| 云安县| 瑞昌市| 江源县| 临猗县|