耿俊杰,顏金堯
(中國(guó)傳媒大學(xué) 信息與通信工程學(xué)院,北京 100024)
當(dāng)前互聯(lián)網(wǎng)中存在大量的在線業(yè)務(wù)需要網(wǎng)絡(luò)對(duì)高頻率的用戶請(qǐng)求做出快速應(yīng)答,對(duì)數(shù)據(jù)中心提出了超低時(shí)延的要求;隨著近年來(lái)機(jī)器學(xué)習(xí)和人工智能技術(shù)的高速發(fā)展,對(duì)于數(shù)據(jù)中心計(jì)算能力的需求大幅上升,因此數(shù)據(jù)中心部署了大量的分布式計(jì)算集群[1]以滿足日益復(fù)雜的神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)模型,大量的分布式計(jì)算集群采用的并行程序會(huì)導(dǎo)致通訊延遲,進(jìn)而嚴(yán)重影響數(shù)據(jù)中心的計(jì)算效率;同時(shí),隨著近年來(lái)數(shù)據(jù)中心流量的激增[2],數(shù)據(jù)中心往往會(huì)利用以太網(wǎng)融合組網(wǎng)的分布式存儲(chǔ)技術(shù)來(lái)解決數(shù)據(jù)存儲(chǔ)和讀取效率問題。而大象流占據(jù)分布式存儲(chǔ)網(wǎng)絡(luò)流量的主要比例,當(dāng)分布式存儲(chǔ)網(wǎng)絡(luò)中一旦因擁塞發(fā)生數(shù)據(jù)包丟失導(dǎo)致大象流重傳,會(huì)嚴(yán)重影響數(shù)據(jù)中心效率并且會(huì)加重?fù)砣潭?,進(jìn)一步影響網(wǎng)絡(luò)性能,因此高吞吐量、超低延遲的高性能無(wú)損數(shù)據(jù)中心網(wǎng)絡(luò)成為現(xiàn)在研究的熱點(diǎn)[3-5]。RDMA(remote direct memory access)技術(shù)[6]是目前實(shí)現(xiàn)超低時(shí)延、高吞吐量的高性能數(shù)據(jù)中心網(wǎng)絡(luò)最常用的技術(shù),RoCE(RDMA over converged Ethernet)協(xié)議[7]因?yàn)榫邆涿黠@的性能和成本優(yōu)勢(shì),目前在融合以太網(wǎng)數(shù)據(jù)中心中占據(jù)主流市場(chǎng)地位。而RoCEv2基于PFC(priority flow control)[8]算法實(shí)現(xiàn)了無(wú)損傳輸。
另一方面,傳統(tǒng)網(wǎng)絡(luò)架構(gòu)封閉、固化,網(wǎng)絡(luò)協(xié)議開發(fā)部署周期長(zhǎng),很難適應(yīng)當(dāng)前對(duì)于網(wǎng)絡(luò)創(chuàng)新的要求。在此背景下,為了應(yīng)對(duì)當(dāng)前網(wǎng)絡(luò)面臨的挑戰(zhàn),開放網(wǎng)絡(luò)可編程能力,擴(kuò)大網(wǎng)絡(luò)創(chuàng)新的空間,2008年,斯坦福大學(xué)Nick McKeown教授為首的研究團(tuán)隊(duì)提出了OpenFlow以及軟件定義網(wǎng)絡(luò)SDN(software defined networking)技術(shù)[9-10]。軟件定義網(wǎng)絡(luò)技術(shù)獲得了學(xué)術(shù)界和工業(yè)界的高度關(guān)注,2014年,研究者在SDN基礎(chǔ)上又提出了可編程數(shù)據(jù)平面技術(shù)[11-12],將網(wǎng)絡(luò)編程能力擴(kuò)展到數(shù)據(jù)平面。在網(wǎng)絡(luò)領(lǐng)域的各種創(chuàng)新和發(fā)展,對(duì)應(yīng)對(duì)當(dāng)前數(shù)據(jù)中心面臨的各種問題和挑戰(zhàn)提供了新的思路和方法。該文基于可編程數(shù)據(jù)平面技術(shù)實(shí)現(xiàn)了PFC算法,進(jìn)而實(shí)現(xiàn)了無(wú)損數(shù)據(jù)中心網(wǎng)絡(luò),為實(shí)現(xiàn)高性能數(shù)據(jù)中心網(wǎng)絡(luò)提供了新的思路和實(shí)現(xiàn)方法。
在傳統(tǒng)網(wǎng)絡(luò)架構(gòu)中,網(wǎng)管系統(tǒng)被作為網(wǎng)絡(luò)管理平面,而控制平面和數(shù)據(jù)平面則被分別部署在每個(gè)網(wǎng)絡(luò)設(shè)備上。在這種部署方式下,網(wǎng)絡(luò)管理十分復(fù)雜繁瑣。另外,除了標(biāo)準(zhǔn)協(xié)議外,各個(gè)廠家都會(huì)有一些私有協(xié)議,這樣就進(jìn)一步加大了網(wǎng)絡(luò)管理的復(fù)雜性。同時(shí),傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下的控制平面和數(shù)據(jù)平面分布式地部署在網(wǎng)絡(luò)中的各個(gè)設(shè)備上,并且控制平面和數(shù)據(jù)平面是固化、封閉的,實(shí)現(xiàn)網(wǎng)絡(luò)創(chuàng)新需要的新功能部署周期非常長(zhǎng)(往往是幾年),顯然傳統(tǒng)網(wǎng)絡(luò)架構(gòu)已經(jīng)完全不能滿足當(dāng)前對(duì)于網(wǎng)絡(luò)創(chuàng)新的需求。在此背景下,軟件定義網(wǎng)絡(luò)技術(shù)以及可編程數(shù)據(jù)平面技術(shù)應(yīng)運(yùn)而生。
軟件定義網(wǎng)絡(luò)技術(shù)(SDN)是斯坦福大學(xué)Nick McKeown教授團(tuán)隊(duì)在Clean Slate項(xiàng)目提出的一個(gè)概念,特別是2009年SDN南向接口協(xié)議OpenFlow1.0的發(fā)布,標(biāo)志著軟件定義網(wǎng)絡(luò)技術(shù)進(jìn)入高速發(fā)展的階段。
軟件定義網(wǎng)絡(luò)技術(shù)將網(wǎng)絡(luò)設(shè)備控制平面和數(shù)據(jù)平面分離,通過(guò)邏輯集中的控制器實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備的集中管理。在軟件定義網(wǎng)絡(luò)架構(gòu)中,控制平面具有全局化視野,通過(guò)南向接口協(xié)議實(shí)現(xiàn)與數(shù)據(jù)平面通信,通過(guò)開放控制平面的可編程特性,使得網(wǎng)絡(luò)功能更加靈活和易于擴(kuò)展,因此對(duì)于網(wǎng)絡(luò)功能的部署更加靈活,同時(shí)也簡(jiǎn)化了網(wǎng)絡(luò)的管理。軟件定義網(wǎng)絡(luò)技術(shù)是當(dāng)前網(wǎng)絡(luò)領(lǐng)域最為活躍的技術(shù)創(chuàng)新,被MIT評(píng)為“改變世界的十大創(chuàng)新技術(shù)之一”[13]。
如圖1所示,軟件定義網(wǎng)絡(luò)架構(gòu)實(shí)現(xiàn)了控制平面和數(shù)據(jù)平面的分離,同時(shí)通過(guò)北向接口協(xié)議開放API,允許用戶編程實(shí)現(xiàn)網(wǎng)絡(luò)功能自定義。同時(shí)使用南向接口協(xié)議OpenFlow實(shí)現(xiàn)控制平面與數(shù)據(jù)平面的通信。
圖1 SDN網(wǎng)絡(luò)架構(gòu)
軟件定義網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)了數(shù)據(jù)平面和控制平面的分離,開放了控制平面編程能力,實(shí)現(xiàn)了控制平面的邏輯集中,這些特點(diǎn)為網(wǎng)絡(luò)的管理和開放帶來(lái)了一定的靈活性。但是在軟件定義網(wǎng)絡(luò)架構(gòu)下,數(shù)據(jù)平面并沒有被開放,其行為仍然是固定的。OpenFlow協(xié)議已經(jīng)從2008年OpenFlow1.0版本演進(jìn)到1.5版本,其中匹配域中支持的元組數(shù)量也從支持12元組增加到目前支持45個(gè)元組,其支持的元組數(shù)量隨著OpenFlow協(xié)議的更新也不斷增加。但OpenFlow協(xié)議支持的匹配域都是協(xié)議設(shè)定的,并不能支持靈活的彈性增加,對(duì)于新匹配元組的支持都需要重新編寫數(shù)據(jù)平面與控制平面兩端的協(xié)議棧以及數(shù)據(jù)平面的數(shù)據(jù)包處理邏輯,這種局限性導(dǎo)致了OpenFlow交換機(jī)的設(shè)計(jì)難度大大增加。OpenFlow協(xié)議的版本穩(wěn)定性也存在很大問題,對(duì)軟件定義網(wǎng)絡(luò)技術(shù)所追求的網(wǎng)絡(luò)創(chuàng)新是一種阻礙。
Nick McKeown教授等人提出了協(xié)議無(wú)關(guān)(programming protocol-independent packet processors)的高級(jí)編程語(yǔ)言P4[11]。P4是一種聲明性的高級(jí)編程語(yǔ)言,通過(guò)編寫P4代碼可以自定義網(wǎng)絡(luò)數(shù)據(jù)平面數(shù)據(jù)包的處理流程,也就是開放了數(shù)據(jù)平面的可編程能力。
圖2描述了可編程數(shù)據(jù)平面的抽象轉(zhuǎn)發(fā)模型,主要由輸入、輸出端口、解析器、Ingress/Egress控制流水線、隊(duì)列緩存組成。解析器負(fù)責(zé)報(bào)文解析,當(dāng)數(shù)據(jù)包進(jìn)入交換機(jī)時(shí),解析器按照解析表對(duì)進(jìn)入的數(shù)據(jù)包進(jìn)行報(bào)文解析,解析表是由P4代碼定義,并由編譯器編譯生成,通過(guò)P4代碼自定義報(bào)文頭和報(bào)文頭解析順序,實(shí)現(xiàn)數(shù)據(jù)包的報(bào)文解析邏輯,解析器從進(jìn)入交換機(jī)的數(shù)據(jù)包的報(bào)文首部解析出自定義的報(bào)文頭,并賦值給P4定義的實(shí)例化首部。
圖2 可編程數(shù)據(jù)平面抽象轉(zhuǎn)發(fā)模型
匹配動(dòng)作表是數(shù)據(jù)平面執(zhí)行轉(zhuǎn)發(fā)邏輯的基本單元,對(duì)進(jìn)入交換機(jī)并匹配成功的數(shù)據(jù)包執(zhí)行相應(yīng)的動(dòng)作,實(shí)現(xiàn)對(duì)數(shù)據(jù)包的處理??删幊虜?shù)據(jù)平面的抽象轉(zhuǎn)發(fā)模型實(shí)現(xiàn)了全流水線可編程,控制程序負(fù)責(zé)定義匹配動(dòng)作表的執(zhí)行順序,進(jìn)而實(shí)現(xiàn)轉(zhuǎn)發(fā)邏輯的實(shí)現(xiàn),控制流水線分為Ingress control和Egress control兩部分。
可編程數(shù)據(jù)平面真正實(shí)現(xiàn)了協(xié)議無(wú)關(guān)的數(shù)據(jù)轉(zhuǎn)發(fā),并且作為一種描述性的高級(jí)編程語(yǔ)言,無(wú)需關(guān)心底層設(shè)備的具體信息,實(shí)現(xiàn)了設(shè)備無(wú)關(guān)性和代碼可移植性,使得網(wǎng)絡(luò)更加靈活和開放。
隨著各種網(wǎng)絡(luò)應(yīng)用以及移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,近些年網(wǎng)絡(luò)流量也出現(xiàn)了爆發(fā)式的增長(zhǎng)。網(wǎng)絡(luò)流量的激增對(duì)于作為基礎(chǔ)設(shè)施的網(wǎng)絡(luò)提出了更高的性能要求。網(wǎng)絡(luò)中的不同應(yīng)用對(duì)于網(wǎng)絡(luò)性能的要求也不同,例如交互式應(yīng)用需要網(wǎng)絡(luò)提供更小的時(shí)延,分布式存儲(chǔ)應(yīng)用需要網(wǎng)絡(luò)更小的丟包率,但概括來(lái)說(shuō),網(wǎng)絡(luò)性能指標(biāo)主要包括時(shí)延、吞吐量以及丟包率。因此實(shí)現(xiàn)超低時(shí)延、高吞吐量以及無(wú)丟包的高性能數(shù)據(jù)中心網(wǎng)絡(luò)成為當(dāng)前研究的熱點(diǎn)。
遠(yuǎn)程直接數(shù)據(jù)存取技術(shù)(RDMA)最早應(yīng)用在高性能計(jì)算領(lǐng)域,是為了解決網(wǎng)絡(luò)傳輸中服務(wù)器側(cè)數(shù)據(jù)處理延遲、降低服務(wù)器CPU負(fù)載而設(shè)計(jì)的一種技術(shù)協(xié)議。如圖3所示,RDMA技術(shù)通過(guò)允許用戶態(tài)的應(yīng)用程序直接讀取和寫入遠(yuǎn)程服務(wù)器端內(nèi)存,避免了CPU多次介入拷貝內(nèi)存,在沒有雙方服務(wù)器端操作系統(tǒng)參與的情況下,可以繞過(guò)服務(wù)器內(nèi)核,直接向網(wǎng)卡寫數(shù)據(jù),將數(shù)據(jù)直接從網(wǎng)絡(luò)中一臺(tái)服務(wù)器的內(nèi)存?zhèn)鬏數(shù)骄W(wǎng)絡(luò)中另一臺(tái)服務(wù)器。這樣就釋放了部分服務(wù)器的計(jì)算能力。并且,通過(guò)避免雙方操作系統(tǒng)的介入可以消除外部存儲(chǔ)器復(fù)制和上下文切換的開銷,從而可以解放服務(wù)器內(nèi)存帶寬,有助于應(yīng)用系統(tǒng)性能提升。RDMA技術(shù)可以實(shí)現(xiàn)低時(shí)延、高吞吐量的高性能數(shù)據(jù)中心網(wǎng)絡(luò)。
目前RDMA有三種實(shí)現(xiàn)方式,分別是InfiniBand、iWARP(internet wide area RDMA protocol)和RoCE(RDMA over converged Ethernet)。
(1)InfiniBand技術(shù)[14]是由IBTA(InfiniBand trade association)行業(yè)協(xié)會(huì)在1999年提出的,其標(biāo)準(zhǔn)規(guī)范在1999年開始起草并于2000年正式發(fā)表,經(jīng)過(guò)不斷發(fā)展,InfiniBand架構(gòu)在2005年之后開始在集群式超級(jí)計(jì)算機(jī)上廣泛應(yīng)用。
InfiniBand技術(shù)目前主要應(yīng)用于高性能計(jì)算數(shù)據(jù)中心網(wǎng)絡(luò)。InfiniBand技術(shù)在RDMA三種實(shí)現(xiàn)方式中具有最好的性能,但需要有定制的硬件設(shè)備來(lái)實(shí)現(xiàn),因此也是成本最高的一種實(shí)現(xiàn)方案。
圖3 RDMA模式與傳統(tǒng)模式對(duì)比
(2)iWARP協(xié)議[15]是RDMA技術(shù)的另外一種實(shí)現(xiàn)方案,是由RDMA聯(lián)盟在2002年向IETF提出的,iWARP協(xié)議通過(guò)在標(biāo)準(zhǔn)TCP/IP協(xié)議棧上定義一個(gè)多層處理?xiàng)?shí)現(xiàn)將RDMA的特性集成到以太網(wǎng)上。iWARP協(xié)議利用RDMA技術(shù)的內(nèi)核旁路、零內(nèi)存拷貝以及避免CPU介入等特點(diǎn),有效地降低了網(wǎng)絡(luò)延遲和服務(wù)器CPU的負(fù)載,釋放了服務(wù)器部分CPU的計(jì)算能力。
iWARP協(xié)議是第一個(gè)在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施上實(shí)現(xiàn)了RDMA技術(shù)的方案,另外,iWARP協(xié)議沒有具體指定底層物理層設(shè)備信息,因此所有工作在使用TCP/IP協(xié)議棧的上層協(xié)議都可以被支持,在iWARP協(xié)議中,TCP/IP協(xié)議棧在網(wǎng)卡中設(shè)計(jì)并實(shí)現(xiàn)。因此需要專有網(wǎng)卡來(lái)實(shí)現(xiàn)。當(dāng)數(shù)據(jù)中心網(wǎng)絡(luò)規(guī)模較大時(shí),使用iWARP協(xié)議會(huì)產(chǎn)生大量的TCP連接,大量的TCP連接會(huì)占用服務(wù)器大量的內(nèi)存資源,進(jìn)而影響系統(tǒng)性能,所以會(huì)帶來(lái)性能和成本問題。
(3)RoCE技術(shù)是IBTA提出的在融合以太網(wǎng)上實(shí)現(xiàn)RDMA技術(shù)的一個(gè)實(shí)現(xiàn)方案。目前主流版本是RoCEv2版本。
RoCEv2是基于UDP/IP協(xié)議實(shí)現(xiàn)的。RoCEv2由于在性能和成本上占據(jù)明顯優(yōu)勢(shì),因此占據(jù)了目前融合以太網(wǎng)數(shù)據(jù)中心市場(chǎng)的主流地位。RoCEv2是基于不可靠傳輸?shù)腢DP協(xié)議實(shí)現(xiàn),與TCP協(xié)議相比,UDP協(xié)議更加快速、占用較少的計(jì)算資源,但其是不可靠傳輸,沒有TCP協(xié)議的滑動(dòng)窗口、確認(rèn)應(yīng)答等機(jī)制,當(dāng)出現(xiàn)丟包時(shí)會(huì)大大降低RDMA技術(shù)的工作效率。圖4顯示了當(dāng)發(fā)生丟包時(shí)RDMA技術(shù)的吞吐率情況,可以看出丟包會(huì)嚴(yán)重影響RDMA的性能。所以為了實(shí)現(xiàn)RDMA技術(shù)的真正性能,必須實(shí)現(xiàn)無(wú)損傳輸。RoCEv2協(xié)議依靠基于優(yōu)先級(jí)的流量控制PFC算法實(shí)現(xiàn)無(wú)損傳輸。
圖4 RDMA的丟包率與吞吐率關(guān)系
基于優(yōu)先級(jí)的流量控制算法PFC是由電氣和電子工程師協(xié)會(huì)在2008年提出的,PFC算法通過(guò)劃分虛擬實(shí)現(xiàn)是對(duì)傳統(tǒng)流控協(xié)議的優(yōu)化。當(dāng)出現(xiàn)擁塞時(shí),傳統(tǒng)流控協(xié)議會(huì)將鏈路上的所有流量禁止發(fā)送。而PFC協(xié)議通過(guò)在以太網(wǎng)鏈路上創(chuàng)建8個(gè)優(yōu)先級(jí)通道,并實(shí)現(xiàn)對(duì)每個(gè)優(yōu)先級(jí)通道進(jìn)行暫停發(fā)送,同時(shí)不會(huì)影響其他優(yōu)先級(jí)通道數(shù)據(jù)的發(fā)送。
優(yōu)先級(jí)流控PFC的基本運(yùn)行機(jī)制如下:當(dāng)網(wǎng)絡(luò)鏈路中發(fā)生擁塞時(shí),即交換機(jī)的入端口隊(duì)列長(zhǎng)度超過(guò)設(shè)定的閾值時(shí),交換機(jī)生成一個(gè)暫停幀,并將暫停幀發(fā)送給上一跳交換機(jī),上一跳交換機(jī)接收到暫停幀后,會(huì)根據(jù)暫停幀中的信息,暫停交換機(jī)中對(duì)應(yīng)優(yōu)先級(jí)通道中數(shù)據(jù)的發(fā)送,暫停的時(shí)間根據(jù)暫停幀中攜帶的字段信息設(shè)定;同時(shí),如果上一跳交換機(jī)中也發(fā)生了擁塞則會(huì)向其上一跳交換機(jī)發(fā)送暫停幀,如果擁塞繼續(xù)則逐級(jí)暫停。同樣的,如果交換機(jī)中擁塞消除,則向上一跳交換機(jī)發(fā)送一個(gè)暫停時(shí)間為0的暫停幀,以恢復(fù)上一跳交換機(jī)中對(duì)應(yīng)優(yōu)先級(jí)隊(duì)列中數(shù)據(jù)的發(fā)送,以此類推,逐級(jí)發(fā)送。PFC算法[16]被廣泛應(yīng)用于高性能數(shù)據(jù)中心網(wǎng)絡(luò),以確保數(shù)據(jù)中心網(wǎng)絡(luò)的無(wú)損傳輸。
圖5顯示了優(yōu)先級(jí)流量控制PFC的報(bào)文格式,其中DA字段是目的MAC地址,SA是源MAC地址,type字段是報(bào)文類型,其中有關(guān)暫停優(yōu)先級(jí)和暫停時(shí)間的信息包含在Parameters字段中。
圖5 PFC報(bào)文格式
該文在可編程數(shù)據(jù)平面的協(xié)議無(wú)關(guān)架構(gòu)下實(shí)現(xiàn)了基于優(yōu)先級(jí)的流量控制PFC算法,進(jìn)而實(shí)現(xiàn)了無(wú)損傳輸網(wǎng)絡(luò),并在Mininet仿真環(huán)境下進(jìn)行了仿真實(shí)驗(yàn)。
該文基于可編程數(shù)據(jù)平面協(xié)議無(wú)關(guān)架構(gòu)的特點(diǎn),設(shè)計(jì)實(shí)現(xiàn)了基于優(yōu)先級(jí)的流量控制PFC算法。實(shí)現(xiàn)模型如圖6所示。
圖6 PFC算法實(shí)現(xiàn)模型
首先在協(xié)議無(wú)關(guān)架構(gòu)交換機(jī)的入端口隊(duì)列對(duì)隊(duì)列長(zhǎng)度進(jìn)行判斷,根據(jù)設(shè)定的閾值判斷交換機(jī)是否發(fā)生擁塞,如果入端口隊(duì)列長(zhǎng)度超出閾值,則判定交換機(jī)發(fā)生了擁塞,交換機(jī)生成PFC暫停幀,并發(fā)送給上一跳交換機(jī)。其中,通過(guò)自定義報(bào)文頭實(shí)現(xiàn)對(duì)暫停幀的報(bào)文解析。
header pause_t {
bit<48> dstAddr;
bit<48> srcAddr;
bit<16> etherType;
bit<16> conCode;
bit<16> priEnable;
bit<16> time0;
bit<16> time1;
bit<16> time2;
bit<16> time3;
bit<16> time4;
bit<16> time5;
bit<16> time6;
bit<16> time7;
bit<208> reserved;
bit<32> fcs;
}
上述代碼為使用P4自定義的暫停幀報(bào)文頭Header字段,經(jīng)過(guò)Parser解析器將進(jìn)入交換機(jī)的數(shù)據(jù)包按照Header字段定義進(jìn)行解析。獲得相應(yīng)的報(bào)文頭實(shí)例,報(bào)文頭實(shí)例將會(huì)在匹配動(dòng)作表中使用。其中暫停幀的生成與發(fā)送,以及接收到暫停幀后暫停相應(yīng)優(yōu)先級(jí)通道數(shù)據(jù)發(fā)送等動(dòng)作是在匹配動(dòng)作表和控制流水線中完成。
該文基于Mininet工具搭建了一個(gè)仿真網(wǎng)絡(luò)環(huán)境,采用了數(shù)據(jù)中心網(wǎng)絡(luò)常用的葉脊結(jié)構(gòu)拓?fù)?,包?個(gè)spine交換機(jī),4個(gè)leaf交換機(jī),4個(gè)tor交換機(jī)和8個(gè)終端主機(jī)。實(shí)驗(yàn)拓?fù)淙鐖D7所示。
圖7 仿真實(shí)驗(yàn)拓?fù)?/p>
其中交換機(jī)使用bmv2軟件交換機(jī),實(shí)驗(yàn)拓?fù)渲墟溌穾捲O(shè)置為5 Mbps,分別使用Iperf從主機(jī)h11和h31以3 Mbps的速度向主機(jī)h41發(fā)送UDP流,則在交換機(jī)L3、L4、T4中必有一個(gè)會(huì)發(fā)生擁塞。此時(shí)測(cè)試網(wǎng)絡(luò)丟包率,實(shí)驗(yàn)結(jié)果如圖8所示。
圖8 PFC算法和UDP丟包率對(duì)比
通過(guò)網(wǎng)絡(luò)丟包率的實(shí)驗(yàn)結(jié)果可以看出,在沒有部署PFC時(shí),使用UDP協(xié)議在發(fā)生擁塞時(shí)產(chǎn)生了丟包,而在部署了PFC后,可以實(shí)現(xiàn)無(wú)丟包網(wǎng)絡(luò)。
圖9 PFC算法和UDP、TCP協(xié)議時(shí)延對(duì)比
同時(shí),在仿真網(wǎng)絡(luò)環(huán)境下對(duì)比了基于可編程數(shù)據(jù)平面實(shí)現(xiàn)的PFC算法與UDP、TCP協(xié)議的平均端到端時(shí)延,實(shí)驗(yàn)結(jié)果如圖9所示。UDP協(xié)議由于沒有使用丟包重傳以及流控機(jī)制,因此具有最小的端到端時(shí)延,但是不能保證無(wú)丟包傳輸,而基于可編程數(shù)據(jù)平面實(shí)現(xiàn)的PFC算法相對(duì)于TCP協(xié)議具有更低的端到端時(shí)延。
該文驗(yàn)證了在可編程數(shù)據(jù)平面下采用軟件定義的方式可以實(shí)現(xiàn)基于優(yōu)先級(jí)的流量控制PFC算法,并能確保網(wǎng)絡(luò)無(wú)丟包傳輸。對(duì)網(wǎng)絡(luò)功能的開發(fā)升級(jí)周期短,相對(duì)于傳統(tǒng)的PFC算法實(shí)現(xiàn)方式更加靈活和高效。
當(dāng)前各種快速發(fā)展的應(yīng)用對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)提出了性能上的挑戰(zhàn),因此高性能數(shù)據(jù)中心網(wǎng)絡(luò)是當(dāng)前研究的熱點(diǎn)。該文介紹了當(dāng)前高性能數(shù)據(jù)中心網(wǎng)絡(luò)研究的現(xiàn)狀以及實(shí)現(xiàn)無(wú)損傳輸?shù)囊饬x,同時(shí)介紹了當(dāng)前在網(wǎng)絡(luò)領(lǐng)域最具活力的軟件定義網(wǎng)絡(luò)和可編程數(shù)據(jù)平面技術(shù),最后在可編程數(shù)據(jù)平面下實(shí)現(xiàn)了基于優(yōu)先級(jí)的流量控制PFC算法,并在Mininet仿真網(wǎng)絡(luò)環(huán)境下對(duì)采用軟件定義方式實(shí)現(xiàn)的PFC算法進(jìn)行了實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果顯示使用可編程數(shù)據(jù)平面可以很靈活、便捷地實(shí)現(xiàn)基于優(yōu)先級(jí)的流量控制PFC算法,并確保了網(wǎng)
絡(luò)的無(wú)損傳輸,說(shuō)明可編程數(shù)據(jù)平面技術(shù)在實(shí)現(xiàn)高性能數(shù)據(jù)中心網(wǎng)絡(luò)中可以發(fā)揮巨大的作用。傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下,網(wǎng)絡(luò)功能的開發(fā)升級(jí)周期長(zhǎng),往往需要花費(fèi)數(shù)年的時(shí)間,該文使用軟件定義的方式實(shí)現(xiàn)網(wǎng)絡(luò)功能,更加高效、便捷,也證明了可編程數(shù)據(jù)平面技術(shù)為網(wǎng)絡(luò)創(chuàng)新帶來(lái)的巨大空間。