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

        ?

        可編程數(shù)據(jù)平面的業(yè)務(wù)相關(guān)路由方法

        2020-02-19 14:08:18博,吳靜,羅威,朱
        關(guān)鍵詞:信息

        吳 博,吳 靜,羅 威,朱 劼

        1.武漢大學(xué) 電子信息學(xué)院,武漢430072

        2.中國(guó)艦船研究設(shè)計(jì)中心,武漢430064

        1 引言

        面對(duì)越來越豐富的網(wǎng)絡(luò)業(yè)務(wù),人們對(duì)于網(wǎng)絡(luò)服務(wù)質(zhì)量的要求也不斷提高。如何靈活調(diào)度網(wǎng)絡(luò)資源,實(shí)現(xiàn)特定業(yè)務(wù)流量的路徑規(guī)劃成為一個(gè)問題。軟件定義網(wǎng)絡(luò)中將交換機(jī)的控制和轉(zhuǎn)發(fā)解耦,形成一種由數(shù)據(jù)面、控制面和應(yīng)用面組成的三層架構(gòu)??刂破骶哂腥诌壿嬕晥D,交換機(jī)成為簡(jiǎn)單的轉(zhuǎn)發(fā)設(shè)備,實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)進(jìn)行集中式的管理。

        在SDN框架下,控制器對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行全局的控制,通過對(duì)網(wǎng)絡(luò)狀態(tài)的收集,實(shí)現(xiàn)了對(duì)數(shù)據(jù)流的全局調(diào)度。文獻(xiàn)[1]提出一種方法,根據(jù)鏈路間的距離、帶寬等因素周期性地更新網(wǎng)絡(luò)狀態(tài),計(jì)算出多條路徑,然后在其中選出一條鏈路利用率最小的路徑進(jìn)行流量傳輸,即使網(wǎng)絡(luò)出現(xiàn)故障也可以動(dòng)態(tài)調(diào)節(jié),但是該方法沒有考慮業(yè)務(wù)的屬性;文獻(xiàn)[2]通過SDN控制器對(duì)數(shù)據(jù)層的網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行探測(cè),根據(jù)鏈路帶寬,應(yīng)用ECMP實(shí)現(xiàn)路由選路,提高了網(wǎng)絡(luò)的負(fù)載均衡度;文獻(xiàn)[3]使用鏈路的時(shí)延帶寬作為選路約束,將問題抽象為多約束問題,對(duì)于優(yōu)先級(jí)別高的數(shù)據(jù)進(jìn)行優(yōu)先路由,但是這種方法只保證了一種數(shù)據(jù)流的屬性;文獻(xiàn)[4]通過在控制器中實(shí)行基于DPI的流量分類技術(shù),根據(jù)流的需求,動(dòng)態(tài)分配帶寬給流,從而提高流的QoS,但是控制器運(yùn)行dpi引擎需要較高CPU資源,當(dāng)網(wǎng)絡(luò)繁忙或網(wǎng)絡(luò)規(guī)模大時(shí),控制器負(fù)荷較大。文獻(xiàn)[5]通過控制器向交換機(jī)發(fā)起packet_in指令獲取流的ToS字段,以此判斷業(yè)務(wù)類型并利用K最短路徑算法為該業(yè)務(wù)進(jìn)行路由,但是此方法需要控制器對(duì)于每條流都發(fā)起詢問,效率很慢。以上方法普遍通過控制器的全局視野,利用獲取到的網(wǎng)絡(luò)參數(shù),在算法上進(jìn)行改進(jìn)實(shí)現(xiàn)路由規(guī)劃,數(shù)據(jù)平面只是作為單純的轉(zhuǎn)發(fā)設(shè)備進(jìn)行轉(zhuǎn)發(fā)操作,在處理流量時(shí),并沒有為流量業(yè)務(wù)屬性進(jìn)行快速的劃分。

        可編程數(shù)據(jù)平面[6]拓寬了對(duì)網(wǎng)絡(luò)自定義的能力。通過改進(jìn)可編程數(shù)據(jù)平面的處理流水線,對(duì)解析器、匹配器和處理器進(jìn)行編程,可以實(shí)現(xiàn)對(duì)業(yè)務(wù)的識(shí)別;同時(shí),可編程數(shù)據(jù)平面支持對(duì)TCP/IP協(xié)議外的新型網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包的處理,可以實(shí)現(xiàn)數(shù)據(jù)包本身對(duì)網(wǎng)絡(luò)狀態(tài)進(jìn)行采集。這為網(wǎng)絡(luò)帶來了巨大的靈活性。

        根據(jù)3GPP對(duì)網(wǎng)絡(luò)中數(shù)據(jù)流的分類,可分為:信息會(huì)話類業(yè)務(wù)、數(shù)據(jù)傳輸類業(yè)務(wù)、流媒體業(yè)務(wù)、網(wǎng)絡(luò)交互類業(yè)務(wù)[7]。根據(jù)業(yè)務(wù)類型的不同,數(shù)據(jù)在網(wǎng)絡(luò)傳輸中會(huì)有不同的傳輸需求。例如,對(duì)于會(huì)話類型的業(yè)務(wù),此類業(yè)務(wù)數(shù)據(jù)量一般較小,但是需要保證業(yè)務(wù)數(shù)據(jù)及時(shí)的交付,因此此類業(yè)務(wù)要求傳輸延時(shí)一定要小,而對(duì)帶寬沒有特殊的要求;而對(duì)于類似文件傳輸、視頻點(diǎn)播這種業(yè)務(wù),由于其傳輸?shù)臄?shù)據(jù)量大,因此對(duì)網(wǎng)絡(luò)的帶寬有較高的要求,而對(duì)時(shí)延并不敏感。

        本文在SDN的框架下,結(jié)合可編程數(shù)據(jù)平面的特性,通過重新定義交換機(jī)處理數(shù)據(jù)包的流程,提出一種基于業(yè)務(wù)屬性的路由方法,可以在數(shù)據(jù)平面上實(shí)現(xiàn)業(yè)務(wù)的自動(dòng)區(qū)分和網(wǎng)絡(luò)鏈路狀態(tài)的收集,并在控制面上為不同業(yè)務(wù)選路。最后通過搭建實(shí)驗(yàn)平臺(tái)驗(yàn)證了本文所提方法的可行性和有效性。

        2 方案分析與設(shè)計(jì)

        為了實(shí)現(xiàn)一種業(yè)務(wù)相關(guān)的路由選路,需要考慮以下問題。

        (1)首先,為了分擔(dān)控制面上的處理壓力,應(yīng)該如何在數(shù)據(jù)面上協(xié)助實(shí)現(xiàn)業(yè)務(wù)流量的自動(dòng)識(shí)別。

        在SDN架構(gòu)下,數(shù)據(jù)面上的交換機(jī)是一種白盒設(shè)備,往往僅做匹配轉(zhuǎn)發(fā)動(dòng)作,自身并沒有決策能力,所有分析決策能力被集中在控制器上,這就導(dǎo)致了控制器的處理壓力巨大。并且交換機(jī)將功能固化在芯片中,嚴(yán)重依賴于廠商,在協(xié)議擴(kuò)展上不具有靈活性且更新周期長(zhǎng)。而在可編程數(shù)據(jù)平面上,由于不再受限于傳統(tǒng)的TCP/IP協(xié)議棧的束縛,可以自定義數(shù)據(jù)包的結(jié)構(gòu),通過改變交換機(jī)處理數(shù)據(jù)包的業(yè)務(wù)邏輯,識(shí)別包頭中的特定字段,就可以實(shí)現(xiàn)數(shù)據(jù)面對(duì)于流量的自動(dòng)識(shí)別,分擔(dān)了控制面的處理壓力。

        (2)其次,在獲取網(wǎng)絡(luò)鏈路參數(shù)時(shí),應(yīng)該如何確保信息的時(shí)效性。

        為了能夠保證業(yè)務(wù)傳輸?shù)男枨?,只有獲取了網(wǎng)絡(luò)的狀態(tài)參數(shù),才能以此作為依據(jù)為業(yè)務(wù)數(shù)據(jù)選擇一條符合傳輸要求的路徑。對(duì)于網(wǎng)絡(luò)鏈路參數(shù)的采集[8],大多普遍采用南向接口,例如通過OpenFlow輪詢獲取交換機(jī)的信息推算出鏈路的狀態(tài)[9];或者通過在交換機(jī)上安放sflow周期性采樣[10];或者通過額外流量探針探測(cè)網(wǎng)絡(luò)的狀態(tài)[11]。這些方法收集的數(shù)據(jù)細(xì)粒度大,準(zhǔn)確度低,不能很好地反映當(dāng)前的網(wǎng)絡(luò)狀態(tài)。而在可編程交換機(jī)上,可以在數(shù)據(jù)包上嵌入所需要的交換機(jī)內(nèi)部信息,例如時(shí)間信息、隊(duì)列信息、出口計(jì)數(shù)器的信息等[12],這樣每當(dāng)數(shù)據(jù)包流經(jīng)交換機(jī),測(cè)量信息隨著業(yè)務(wù)流量進(jìn)行傳輸。由于測(cè)量數(shù)據(jù)為傳輸過程中交換機(jī)本身的數(shù)據(jù),細(xì)粒度高,可以很好地反映網(wǎng)絡(luò)的狀態(tài)。

        (3)最后,如何針對(duì)特定業(yè)務(wù),規(guī)劃出適合不同業(yè)務(wù)的路徑。

        不同業(yè)務(wù)在傳輸中對(duì)網(wǎng)絡(luò)狀態(tài)的要求不同,為了能夠?qū)崿F(xiàn)在全網(wǎng)中根據(jù)業(yè)務(wù)的要求進(jìn)行選路,需要針對(duì)性地改進(jìn)選路算法。在算法中,面對(duì)不同業(yè)務(wù)類型的流量,特定的改變算法中的約束條件,使之規(guī)劃出的路徑能夠滿足傳輸要求,保證業(yè)務(wù)質(zhì)量。

        基于上述問題,在數(shù)據(jù)面上采用可編程交換機(jī),發(fā)揮可編程交換機(jī)的可自定義的優(yōu)勢(shì),利用P4[13](Programming Protocol-Independent Packet Processors)語言對(duì)其進(jìn)行編程,改變數(shù)據(jù)轉(zhuǎn)發(fā)流水線的邏輯,實(shí)現(xiàn)業(yè)務(wù)流量的自動(dòng)劃分,分擔(dān)控制器的處理壓力,同時(shí)對(duì)網(wǎng)絡(luò)鏈路的狀態(tài)參數(shù)進(jìn)行采集;在控制器上根據(jù)收集到的鏈路狀態(tài)信息,由選路應(yīng)用為不同業(yè)務(wù)規(guī)劃路徑。因此本文提出的基于可編程數(shù)據(jù)平面的業(yè)務(wù)路由(Business Routing Based on Programmable DataPlane,BR-DP)總體框架如圖1所示。

        圖1 總體架構(gòu)圖

        3 方案實(shí)現(xiàn)

        3.1 業(yè)務(wù)分類與識(shí)別

        在數(shù)據(jù)包的IP包頭中存在6個(gè)比特的DSCP字段,用于區(qū)分服務(wù)代碼。利用這6個(gè)比特可以將業(yè)務(wù)分為4個(gè)類型[14],如圖2所示,分別是類選擇器CS、加速轉(zhuǎn)發(fā)EF、確保轉(zhuǎn)發(fā)AF和默認(rèn)BE。典型的DSCP值有流式視頻CS4(100000)、交互式語音EF(101110)、大塊數(shù)據(jù)AF11(001010)等。

        圖2 DSCP分類圖

        為了能夠在交換機(jī)內(nèi)實(shí)現(xiàn)對(duì)業(yè)務(wù)種類的識(shí)別并進(jìn)行相應(yīng)的操作,需要在原有轉(zhuǎn)發(fā)基礎(chǔ)上改進(jìn)交換機(jī)對(duì)于數(shù)據(jù)包的處理流水線,增加對(duì)特定字段的匹配操作實(shí)現(xiàn)對(duì)業(yè)務(wù)的識(shí)別,在識(shí)別到業(yè)務(wù)屬性后將流分配到不同流表中執(zhí)行對(duì)應(yīng)的轉(zhuǎn)發(fā)規(guī)則,整個(gè)處理流程如圖3所示。在整個(gè)流水線中,可編程交換機(jī)對(duì)數(shù)據(jù)的處理基于“匹配-動(dòng)作”模式。

        首先,進(jìn)入“匹配”階段,為了能夠自動(dòng)識(shí)別流量的業(yè)務(wù)類型,在匹配過程中,包頭解析器不僅需要提取數(shù)據(jù)包的源地址、目的地址、源端口和目的端口用于基本的轉(zhuǎn)發(fā),而且要添加對(duì)DSCP字段的獲取。通過對(duì)DSCP字段進(jìn)行匹配,交換機(jī)可以實(shí)現(xiàn)對(duì)業(yè)務(wù)種類的自動(dòng)識(shí)別。當(dāng)識(shí)別到流量所屬業(yè)務(wù)類型后,就要進(jìn)入“動(dòng)作”階段。

        圖3 業(yè)務(wù)處理流程圖

        在動(dòng)作階段中,要在交換機(jī)中定義不同的流表,如類選擇器型業(yè)務(wù)流表、加速轉(zhuǎn)發(fā)型業(yè)務(wù)流表、確保轉(zhuǎn)發(fā)型業(yè)務(wù)流表和默認(rèn)流表。每個(gè)流表對(duì)應(yīng)著不同DSCP類型的業(yè)務(wù)。上層控制器上的選路應(yīng)用會(huì)為不同屬性的業(yè)務(wù)規(guī)劃出相應(yīng)合適的路徑,并以流規(guī)則的形式通過南向接口分發(fā)至對(duì)應(yīng)的流表中,指導(dǎo)數(shù)據(jù)包的轉(zhuǎn)發(fā)規(guī)則。數(shù)據(jù)包在匹配階段中識(shí)別到流量業(yè)務(wù)屬性后,根據(jù)業(yè)務(wù)的屬性,由交換機(jī)將數(shù)據(jù)流分配到不同的流表,并按照流表中的轉(zhuǎn)發(fā)規(guī)則進(jìn)行相應(yīng)的轉(zhuǎn)發(fā)。

        3.2 鏈路狀態(tài)信息收集

        為了給接下來的選路應(yīng)用提供選路依據(jù),需要對(duì)網(wǎng)絡(luò)的鏈路狀態(tài)信息進(jìn)行采集。在可編程數(shù)據(jù)平面上,可以通過數(shù)據(jù)包本身攜帶測(cè)量信息的方式或者控制器通過南向接口采集的方式,得到多種網(wǎng)絡(luò)狀態(tài)參數(shù),例如時(shí)間、隊(duì)列、端口信息等。本文選取時(shí)間敏感的語音業(yè)務(wù)和帶寬敏感的視頻業(yè)務(wù)為例進(jìn)行說明,對(duì)網(wǎng)絡(luò)的鏈路延時(shí)和剩余帶寬容量進(jìn)行采集。

        3.2.1時(shí)延測(cè)量

        時(shí)延在為對(duì)時(shí)間敏感型的業(yè)務(wù)路由規(guī)劃時(shí)是一項(xiàng)重要的參照指標(biāo)。本文對(duì)于每跳鏈路的時(shí)延采集采用帶內(nèi)測(cè)量的方式。首先,利用P4語言編寫可編程交換機(jī)處理數(shù)據(jù)包流程,根據(jù)需求,可以指定需要測(cè)量的具體指標(biāo),每個(gè)交換機(jī)根據(jù)指令會(huì)將相應(yīng)的指標(biāo)嵌入到數(shù)據(jù)包中。編譯好的文件經(jīng)由控制器通過南向接口部署到每臺(tái)交換機(jī)上。其次,控制器具有全局視圖,可以獲知交換機(jī)是否處于數(shù)據(jù)包傳輸路徑上的邊緣節(jié)點(diǎn)。當(dāng)正常的數(shù)據(jù)包進(jìn)入到網(wǎng)絡(luò)中,在開始的邊緣節(jié)點(diǎn)交換機(jī)上會(huì)被打入帶內(nèi)測(cè)量指令標(biāo)簽。然后,數(shù)據(jù)包流經(jīng)每臺(tái)交換機(jī),交換機(jī)根據(jù)指令,將自己的內(nèi)部信息封裝到每個(gè)包頭里。最后,在最后一跳交換機(jī)上,控制器識(shí)別并指導(dǎo)交換機(jī)彈出帶內(nèi)測(cè)量信息報(bào)告,剩余部分恢復(fù)為正常數(shù)據(jù)包交付到目的主機(jī),流程如圖4所示。

        當(dāng)數(shù)據(jù)包通過每個(gè)交換機(jī)時(shí),交換機(jī)在每個(gè)數(shù)據(jù)包頭上嵌入此數(shù)據(jù)包從入口進(jìn)入交換機(jī)的時(shí)間戳,那么數(shù)據(jù)包從這一跳的i交換機(jī)到下一跳的j交換機(jī)的鏈路延時(shí)dij如公式(1)所示,其中包括了這一跳鏈路的處理延時(shí)、排隊(duì)延時(shí)、傳輸延時(shí)和傳播延時(shí)。

        圖4 帶內(nèi)測(cè)量示意圖

        3.2.2 剩余帶寬測(cè)量

        每條鏈路的剩余帶寬對(duì)于帶寬敏感型的業(yè)務(wù)流量有重要意義。在可編程交換機(jī)中,通過編程在每個(gè)表項(xiàng)添加一個(gè)計(jì)數(shù)器counter。每完成一次流表項(xiàng)匹配操作后對(duì)計(jì)數(shù)器進(jìn)行更新,這樣就可以記錄每個(gè)端口流經(jīng)的包的個(gè)數(shù)和比特大小。在每一個(gè)測(cè)量周期Δt內(nèi),通過南向接口命令來獲取counter的值,在每次獲取到值后再將counter清零,以此來記錄這段測(cè)量周期內(nèi)流經(jīng)的數(shù)據(jù)信息。

        對(duì)于交換機(jī)Si的i端口,在一個(gè)測(cè)量周期內(nèi)發(fā)送的數(shù)據(jù)包字節(jié)數(shù)為tx_bytes,接收到的數(shù)據(jù)包字節(jié)數(shù)為rx_bytes,則鏈路的輸入吞吐率和輸出吞吐量分別如公式(2)和(3)所示:

        那么數(shù)據(jù)占用的帶寬B(Sii)和剩余帶寬B_available(Sii)如公式(4)和(5)所示:

        3.3 選路實(shí)現(xiàn)

        3.3.1 算法基礎(chǔ)

        蟻群算法[15]是一種受啟于蟻群覓食行為的算法。相比于傳統(tǒng)路由算法,蟻群算法簡(jiǎn)單,收斂速度快,可以動(dòng)態(tài)地適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?,具有極高的適應(yīng)性和擴(kuò)展性,且是一種全局搜索算法,能夠有效地避免局部最優(yōu)。

        獲取到了每段鏈路的延時(shí)和剩余帶寬后,就可以構(gòu)建網(wǎng)絡(luò)的延時(shí)矩陣和剩余帶寬矩陣,用延時(shí)和剩余帶寬取代路徑長(zhǎng)短的概念,將問題抽象為網(wǎng)絡(luò)模型如公式(6)描述:

        網(wǎng)絡(luò)中有i個(gè)節(jié)點(diǎn),j條邊,用圖G(N,E)表示,其中節(jié)點(diǎn)n1,n2,…,ni的集合為N,表示每個(gè)交換機(jī)代表一個(gè)節(jié)點(diǎn);邊e1,e2,…,ej的集合為E,表示每?jī)蓚€(gè)節(jié)點(diǎn)間的鏈路。

        基本的蟻群算法描述如下,螞蟻k從i節(jié)點(diǎn)到j(luò)節(jié)點(diǎn)的跳轉(zhuǎn)概率如公式(7):

        其中,τij(t)為在時(shí)間t時(shí)刻鏈路eij殘留的信息素;ηij(t)為選擇下一跳為新路徑的啟發(fā)函數(shù);α作為信息素函數(shù)的作用系數(shù),表示在螞蟻選路的過程中信息素的影響能力;β為啟發(fā)函數(shù)的作用系數(shù),表示選路過程中受啟發(fā)函數(shù)的影響能力。對(duì)于作用系數(shù)來說,如果α越大,信息素的影響力就越強(qiáng),會(huì)造成局部最優(yōu)的狀況,而β越大,啟發(fā)函數(shù)的影響能力越強(qiáng),選擇路徑時(shí)更加隨機(jī),會(huì)造成收斂慢的狀況。nodesk為螞蟻下一跳可選的路徑節(jié)點(diǎn)集合,為了防止螞蟻?zhàn)呋芈窢顩r的出現(xiàn),每當(dāng)走過一個(gè)節(jié)點(diǎn),就從nodesk集合中剔除這個(gè)節(jié)點(diǎn)。

        在尋路過程中,螞蟻?zhàn)哌^的路徑會(huì)留下信息素,而信息素也在不停的揮發(fā),因此,網(wǎng)絡(luò)中路徑的信息素會(huì)不停的更新。因此信息素按照公式(8)和(9)進(jìn)行更新。

        其中,ρ為揮發(fā)系數(shù),(1-ρ)為信息素剩余系數(shù),因此下一時(shí)刻的信息素濃度為上一時(shí)刻剩余信息素濃度與信息素濃度增量的和。其中Q為信息素濃度強(qiáng)度,Lk表示螞蟻k所經(jīng)過的路徑長(zhǎng)度。

        3.3.2 參數(shù)重定義

        在經(jīng)典蟻群算法中,路徑長(zhǎng)短作為影響因子。為了適應(yīng)對(duì)于不同業(yè)務(wù)傳輸過程中的不同的需求,引入獲取得到的鏈路指標(biāo)作為選路的參考信息。在判定業(yè)務(wù)類型后,將對(duì)應(yīng)的網(wǎng)絡(luò)性能參數(shù)運(yùn)用在啟發(fā)函數(shù)和信息素更新的計(jì)算中,實(shí)現(xiàn)對(duì)不同業(yè)務(wù)的路由。

        針對(duì)不同業(yè)務(wù)在網(wǎng)絡(luò)傳輸中的需求不同,對(duì)應(yīng)改變算法中的參數(shù)設(shè)置。當(dāng)業(yè)務(wù)判定為時(shí)延敏感的語音業(yè)務(wù)時(shí),令啟發(fā)函數(shù)ηij(t)=1/dij(t),信息素更新函數(shù)中的Lk為所經(jīng)過路徑的延遲之和,表示延時(shí)越低,留下的信息素越多;當(dāng)業(yè)務(wù)判定為帶寬敏感的視頻業(yè)務(wù)時(shí),令啟發(fā)函數(shù)ηij(t)=B_availableij(t),信息素更新函數(shù)中的Lk為所經(jīng)過路徑的剩余帶寬之和的倒數(shù),表示剩余帶寬越多,留下的信息素就越多。

        3.3.3算法流程

        基于業(yè)務(wù)性質(zhì)的選路步驟如圖5所示。

        圖5 算法流程圖

        根據(jù)不同的啟發(fā)函數(shù),分別為時(shí)延和帶寬生成兩條最優(yōu)路徑,通過控制器分別下發(fā)到路徑上的交換機(jī)的對(duì)應(yīng)的流表中。當(dāng)數(shù)據(jù)經(jīng)過交換機(jī)時(shí),交換機(jī)會(huì)匹配包頭中的DSCP字段,判斷數(shù)據(jù)包所屬的業(yè)務(wù)類型,然后執(zhí)行對(duì)應(yīng)流表中的轉(zhuǎn)發(fā)規(guī)則,以此實(shí)現(xiàn)流量的業(yè)務(wù)屬性自動(dòng)識(shí)別和轉(zhuǎn)發(fā)。

        4 實(shí)驗(yàn)與評(píng)估

        4.1 仿真平臺(tái)搭建

        園區(qū)網(wǎng)中承載著文件傳輸,視頻點(diǎn)播,語音聊天等各種業(yè)務(wù),為了模擬這一場(chǎng)景,驗(yàn)證本文方法的可行性,利用mininet搭建小型網(wǎng)絡(luò)拓?fù)?,其中使用的交換機(jī)是支持P4語言的bmv2交換機(jī),拓?fù)淙鐖D6所示。

        圖6 實(shí)驗(yàn)拓?fù)鋱D

        圖中包含8臺(tái)bmv2交換機(jī),設(shè)定每條鏈路帶寬為80 Mb/s,延遲3 ms。同時(shí)為了模擬真實(shí)的網(wǎng)絡(luò)場(chǎng)景,讓H1用iperf分別向H2~H5主機(jī)打UDP流量作為背景流量。實(shí)驗(yàn)過程中,以H1為發(fā)送端,H6為接受端,以5 Mb/s的增幅分別傳輸DSCP為101110和100000的流量,以此模擬語音業(yè)務(wù)和視頻業(yè)務(wù)。

        配合網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量,設(shè)置蟻群的參數(shù)初始值,其中螞蟻數(shù)量為30,迭代50次,信息素和啟發(fā)函數(shù)的啟發(fā)因子分別為1和5,揮發(fā)系數(shù)0.5,總量Q為10。根據(jù)獲得的延時(shí)拓?fù)浜褪S鄮捦負(fù)洌謩e為不同業(yè)務(wù)生成相關(guān)路由規(guī)劃策略,以流表項(xiàng)的形式下發(fā)至交換機(jī)中。

        4.2 性能比較

        對(duì)比實(shí)驗(yàn)中,數(shù)據(jù)平面向控制平面發(fā)送OpenFlow信息,控制器通過解析ToS字段判定業(yè)務(wù)屬性;并通過對(duì)OpenFlow攜帶的信息進(jìn)行處理,獲取到鏈路的狀態(tài),而控制器的選路采用蟻群算法,稱這種基于OpenFlow的方法為BR-OF。另一個(gè)對(duì)比實(shí)驗(yàn)中,業(yè)務(wù)的判斷以及網(wǎng)絡(luò)狀態(tài)的采集同樣采用OpenFlow信息獲取,而控制器的選路應(yīng)用采用K最短路徑算法,利用多元素的路徑權(quán)值進(jìn)行路由規(guī)劃,簡(jiǎn)稱為BR-K。本文設(shè)置四個(gè)對(duì)比實(shí)驗(yàn),分別從端到端響應(yīng)時(shí)間、時(shí)延和吞吐量比較三種方法在業(yè)務(wù)識(shí)別時(shí)的響應(yīng)速度和最終的選路效果以及在本文方法下不同業(yè)務(wù)的表現(xiàn)。

        (1)端到端響應(yīng)時(shí)間比較

        首先觀察端到端響應(yīng)時(shí)間的表現(xiàn),即從源主機(jī)發(fā)送數(shù)據(jù)到目的主機(jī)接收所經(jīng)過的時(shí)間。為了盡量減少鏈路時(shí)延對(duì)于結(jié)果的影響,讓三種方法下路由算法輸入的鏈路參數(shù)一致,并采用視頻流量進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)中,對(duì)業(yè)務(wù)流量處理方法不同,導(dǎo)致對(duì)業(yè)務(wù)流量響應(yīng)的時(shí)間也不相同。在BR-OF、BR-K方法中,當(dāng)數(shù)據(jù)包輸入網(wǎng)絡(luò)后,控制器會(huì)發(fā)起OpenFlow請(qǐng)求,通過OpenFlow詢問數(shù)據(jù)流量所屬的業(yè)務(wù),在判斷業(yè)務(wù)屬性后,為該流進(jìn)行路由計(jì)算,在整個(gè)過程中,OpenFlow信息的傳輸和路由計(jì)算都會(huì)產(chǎn)生額外時(shí)間;而本文的BR-PD方法,業(yè)務(wù)屬性的判斷發(fā)生在交換機(jī)解析數(shù)據(jù)包的過程中,節(jié)約了控制器詢問的時(shí)間;在判別數(shù)據(jù)所屬業(yè)務(wù)后,數(shù)據(jù)會(huì)執(zhí)行對(duì)應(yīng)流表中的表項(xiàng),進(jìn)行相應(yīng)的轉(zhuǎn)發(fā),而流表中的轉(zhuǎn)發(fā)規(guī)則是控制器周期性獲取鏈路狀態(tài)后預(yù)先下放的,這也節(jié)約了一部分路由計(jì)算的時(shí)間。因此由圖7可知,在同樣的場(chǎng)景設(shè)定下,BR-PD的端到端響應(yīng)時(shí)間要明顯低于BR-OF和BR-K,同時(shí),隨著源主機(jī)發(fā)送業(yè)務(wù)速率的提高,響應(yīng)時(shí)間呈上升趨勢(shì),這可能由于隨著負(fù)載的加重,擁塞導(dǎo)致的延時(shí)變大。由此可以說明,BR-PD在自動(dòng)識(shí)別業(yè)務(wù)響應(yīng)速度方面有一定優(yōu)勢(shì)。

        (2)延時(shí)比較

        圖7 端到端響應(yīng)時(shí)間

        在另一組實(shí)驗(yàn)中,觀察語音流在不同方法下的延時(shí)情況。如圖8所示,可以看到BR-PD下的延時(shí)明顯低于BR-OF和BR-K。這是因?yàn)?,在BR-OF和BR-K中,鏈路延時(shí)的采集是通過在兩個(gè)節(jié)點(diǎn)間反復(fù)發(fā)送OpenFlow信息,然后整合這些信息推算出測(cè)量時(shí)刻的鏈路延時(shí),推算過程中包含控制器到交換機(jī)間的rtt;另外,測(cè)量的延時(shí)反映的僅僅是測(cè)量那一時(shí)刻的鏈路狀態(tài),而鏈路的延時(shí)是一個(gè)時(shí)變的參數(shù),因此BR-OF和BR-K方法獲取的鏈路延時(shí)不夠準(zhǔn)確。并且,BR-K是將多個(gè)鏈路參數(shù)加權(quán)進(jìn)行選路的,因此對(duì)于只單純從延時(shí)角度看不占優(yōu)勢(shì)。而BR-PD方法采用帶內(nèi)測(cè)量的方式,延時(shí)信息是交換機(jī)嵌入的自身實(shí)時(shí)信息,通過收集測(cè)量周期內(nèi)所有的鏈路延時(shí)并取平均值,可以反映這段時(shí)間該鏈路的延時(shí)平均水平,相較于另外兩種方法,獲得的延時(shí)信息比較準(zhǔn)確。準(zhǔn)確的鏈路狀態(tài)信息可以為后續(xù)的選路提供準(zhǔn)確的參考,因此BR-PD方法可以為時(shí)間敏感的語音流提供一條延時(shí)較小的路徑。

        圖8 時(shí)延

        (3)吞吐量比較

        在H1向H6持續(xù)10 s發(fā)送80 Mb/s的視頻流量,吞吐量結(jié)果如圖9所示,可以看到三者的差異并不是很大。這是因?yàn)?,在獲取鏈路的可用帶寬時(shí),BR-OF、BR-K是通過OpenFlow獲取交換機(jī)端口計(jì)數(shù)器的數(shù)據(jù),而BR-PD是通過可編程交換機(jī)的P4Runtime接口獲取交換機(jī)計(jì)數(shù)器的數(shù)據(jù)。三者都是通過南向接口訪問交換機(jī)獲取到鏈路端口的使用狀態(tài),因此三者獲取的鏈路可用帶寬信息大同小異,總體上為視頻流規(guī)劃的路徑所表現(xiàn)的性能相當(dāng),但BR-K是由多參數(shù)進(jìn)行加權(quán)選路,單從吞吐量來看結(jié)果略遜。

        圖9 吞吐量

        (4)不同業(yè)務(wù)比較

        在BR-PD方法下,對(duì)比語音流和視頻流兩種業(yè)務(wù)的延時(shí)和吞吐量,結(jié)果如圖10和圖11所示??梢缘弥摲椒梢詫?duì)不同業(yè)務(wù)進(jìn)行相應(yīng)的路由規(guī)劃,對(duì)于時(shí)間敏感的業(yè)務(wù),語音流的延時(shí)要小于視頻流的;而對(duì)于帶寬敏感的業(yè)務(wù),視頻流的吞吐量要略大于語音流。

        圖10 不同業(yè)務(wù)時(shí)延

        圖11 不同業(yè)務(wù)吞吐量

        根據(jù)以上的對(duì)比結(jié)果可以得出,BR-PD方法可以在數(shù)據(jù)面上快速地自動(dòng)識(shí)別業(yè)務(wù)流量的屬性,并能為選路應(yīng)用提供時(shí)效性網(wǎng)絡(luò)參數(shù),根據(jù)不同業(yè)務(wù)對(duì)于網(wǎng)絡(luò)的不同需求,可以規(guī)劃出合適的路徑進(jìn)行傳輸,滿足業(yè)務(wù)的傳輸要求。

        5 結(jié)束語

        本文在SDN的網(wǎng)絡(luò)框架下,發(fā)揮可編程數(shù)據(jù)平面的特性,提出了一種數(shù)據(jù)面與控制面協(xié)作的選路方法。在可編程數(shù)據(jù)面上,通過對(duì)字段進(jìn)行解析,匹配不同的流表,實(shí)現(xiàn)了在交換機(jī)上快速自動(dòng)判別數(shù)據(jù)的業(yè)務(wù)屬性并進(jìn)行相應(yīng)轉(zhuǎn)發(fā);同時(shí)通過帶內(nèi)測(cè)量的方法,在不引入額外網(wǎng)絡(luò)負(fù)擔(dān)的前提下,可以統(tǒng)計(jì)到網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的時(shí)效性參數(shù)。在控制面上,將網(wǎng)絡(luò)的實(shí)時(shí)性能參數(shù)應(yīng)用到蟻群算法中,生成匹配的路由規(guī)則并下發(fā)至數(shù)據(jù)面。下一步,將對(duì)流量的業(yè)務(wù)類型做出更細(xì)致的區(qū)分,并對(duì)控制器中的算法進(jìn)一步優(yōu)化,使其成為一種更優(yōu)的路由方案。

        猜你喜歡
        信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會(huì)信息
        信息超市
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        国产av天堂成人网| 亚洲爆乳精品无码一区二区| 亚洲av久久无码精品九九| 亚洲精品中文字幕观看| 国产一区二区在线中文字幕| 无码人妻丰满熟妇区免费| 高清偷自拍第1页| 中文字幕无码专区一VA亚洲V专| 久久夜色精品亚洲天堂| 中文字幕人妻饥渴浪妇| 久久精品免费一区二区三区| 亚洲成av人片天堂网九九| 中文字幕这里都是精品| 国产成人精品一区二区20p| 色偷偷噜噜噜亚洲男人| 图图国产亚洲综合网站| 亚洲不卡毛片在线观看| 香蕉视频在线观看亚洲| 中文字幕人妻熟女人妻洋洋 | 久久精品成人欧美大片| AV中文字幕在线视| 第一九区另类中文字幕| 欧美成免费a级毛片| 最新国产三级| 蜜臀一区二区av天堂| 欧美巨鞭大战丰满少妇| 夜夜欢性恔免费视频| 精品久久杨幂国产杨幂| 免费人妖一区二区三区| 亚洲精品tv久久久久久久久久| 六月婷婷国产精品综合| 免费毛片一区二区三区女同 | 骚货人妻视频中文字幕| 久久国产人妻一区二区| 236宅宅理论片免费| Jizz国产一区二区| 亚洲熟女一区二区三区250p| 无遮挡h肉动漫在线观看| 无码天堂亚洲国产av麻豆| 国产一区二区三区护士| 国产放荡对白视频在线观看|