石珊姍 任勇毛 李 俊③ 李靈玲 智 江
(* 中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心 北京 100190)(**中國(guó)科學(xué)院大學(xué) 北京 100049)
?
一種基于緩存交互的命名數(shù)據(jù)網(wǎng)絡(luò)擁塞控制算法①
石珊姍②***任勇毛*李 ?、?李靈玲*智 江***
(*中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心 北京 100190)(**中國(guó)科學(xué)院大學(xué) 北京 100049)
研究了命名數(shù)據(jù)網(wǎng)絡(luò)(NDN)的擁塞控制。為了解決突發(fā)流量問(wèn)題和提高吞吐量及網(wǎng)絡(luò)資源利用率,考慮了路由器緩沖區(qū)大小與擁塞控制機(jī)制的相互影響以及NDN內(nèi)部署緩存這一重要特性,提出了一種基于緩存交互的NDN擁塞控制算法。該算法通過(guò)利用NDN中的路由器緩存,在邏輯上動(dòng)態(tài)擴(kuò)充緩沖區(qū)大小并控制Data包的發(fā)送速率,同時(shí)與現(xiàn)有的NDN擁塞控制算法相結(jié)合,動(dòng)態(tài)調(diào)整Interest包發(fā)送速率閾值,以平滑突發(fā)流量,緩解網(wǎng)絡(luò)擁塞?;趎dnSIM的仿真實(shí)驗(yàn)結(jié)果表明,該算法能有效提高NDN的傳輸效率、吞吐量和網(wǎng)絡(luò)資源利用率。
命名數(shù)據(jù)網(wǎng)絡(luò)(NDN), 擁塞控制, 緩存, 緩沖隊(duì)列大小, 動(dòng)態(tài)閾值(DT), 突發(fā)流量
命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking,NDN)[1,2]作為一種以信息為中心的網(wǎng)絡(luò)(information-centric networking, ICN)[3]體系結(jié)構(gòu),是未來(lái)互聯(lián)網(wǎng)體系結(jié)構(gòu)研究的一個(gè)熱點(diǎn)方向。體系結(jié)構(gòu)的革新使NDN與傳統(tǒng)TCP/IP網(wǎng)絡(luò)相比,表現(xiàn)出新的傳輸模式和傳輸特點(diǎn),因此,NDN擁塞控制機(jī)制是NDN體系結(jié)構(gòu)中有待研究的關(guān)鍵技術(shù)之一。目前NDN擁塞控制機(jī)制[4]主要考慮Interest包和Data包一對(duì)一的傳輸特點(diǎn),通過(guò)在接收端控制Interest的發(fā)送速率控制Data包的發(fā)送速率。當(dāng)網(wǎng)絡(luò)發(fā)生擁擠時(shí),通過(guò)隱式或顯式方式通知接收端調(diào)整Interest包的發(fā)送速率。其中,隱式擁塞控制代表算法如ICP[5],通過(guò)借鑒TCP協(xié)議的加性增長(zhǎng)乘性減少(AIMD)算法,在接收端根據(jù)往返時(shí)間(RTT)的值調(diào)整Interest的發(fā)送速率,以及根據(jù)重傳超時(shí)時(shí)間(RTO)判斷擁塞的發(fā)生,但很難估計(jì)RTO的值[6]。顯式擁塞控制算法通常在中間節(jié)點(diǎn)檢測(cè)網(wǎng)絡(luò)擁塞狀態(tài),并顯式反饋給接收端,接收端據(jù)此調(diào)整Interest包發(fā)送速率,以控制Data包返回速率,主要的算法有CHoPCoP[7],ECP[8]和ECN-based[9]等。
雖然命名數(shù)據(jù)網(wǎng)絡(luò)(NDN)擁塞控制方面的研究已有了一些成果,但仍不成熟。一方面未充分利用NDN中間節(jié)點(diǎn)部署緩存這一重要特點(diǎn)。另一方面也未充分考慮網(wǎng)絡(luò)層面對(duì)擁塞的控制以及突發(fā)流量的問(wèn)題,比如網(wǎng)絡(luò)供給、流量整形等。在數(shù)據(jù)中心網(wǎng)絡(luò)中普遍存在micro-burst[10]、突發(fā)流量[11]問(wèn)題,針對(duì)此問(wèn)題通常采用大緩沖區(qū)將部分流量緩存下來(lái),暫緩發(fā)送,從而減小丟包率,防止數(shù)據(jù)包重傳。同時(shí)采用動(dòng)態(tài)閾值(dynamic threshold,DT)算法[12]或改進(jìn)的增強(qiáng)動(dòng)態(tài)閾值(enhancing dynamic threshold,EDT)算法[10]進(jìn)行緩沖隊(duì)列管理,從而有效地吸收突發(fā)流量?;谝陨峡紤],本文從NDN中間節(jié)點(diǎn)部署緩存這一特點(diǎn)出發(fā),針對(duì)突發(fā)流量問(wèn)題,提出了一種基于緩存交互的命名數(shù)據(jù)網(wǎng)絡(luò)擁塞控制算法。將該算法作為獨(dú)立的組件,與現(xiàn)有的基于端或基于hop-by-hop的流量整形算法相結(jié)合,在邏輯上擴(kuò)充緩沖隊(duì)列,可以減小丟包,平滑突發(fā)流量。實(shí)驗(yàn)結(jié)果表明,引入基于緩存交互(content store-based, CS-based)模塊的擁塞控制算法可以更好地吸收突發(fā)流量,緩解突發(fā)流量帶來(lái)的不穩(wěn)定性,具有更高的傳輸效率、網(wǎng)絡(luò)吞吐量以及資源利用率。
1.1 算法設(shè)計(jì)動(dòng)機(jī)與原理
本節(jié)首先論述緩沖區(qū)大小與擁塞控制的相互影響,然后再?gòu)睦碚撋虾?jiǎn)單論述使用緩存(content store,CS)在邏輯上擴(kuò)充輸出隊(duì)列的合理性,即利用NDN緩存的優(yōu)勢(shì),從邏輯上擴(kuò)充輸出緩沖隊(duì)列,以平滑短暫的突發(fā)性流量,減小丟包率,從而提高吞吐量和資源利用率。
1.1.1 緩沖區(qū)大小與擁塞控制的相互影響
網(wǎng)絡(luò)中路由器都配有緩沖區(qū),當(dāng)網(wǎng)絡(luò)發(fā)生擁塞或遭遇突發(fā)流量時(shí),緩沖區(qū)可以緩存網(wǎng)絡(luò)中的數(shù)據(jù)包,減小丟包率,防止數(shù)據(jù)包重傳,但緩沖隊(duì)列過(guò)長(zhǎng)則會(huì)增加排隊(duì)時(shí)延[13]。因此,路由器緩沖區(qū)大小與TCP擁塞控制算法的動(dòng)態(tài)性密切相關(guān)。同時(shí)路由器端口隊(duì)列的建立依賴(lài)于可用緩沖區(qū)空間大小和TCP流量的突發(fā)性[14],而TCP流量大小又依賴(lài)于流量經(jīng)過(guò)的鏈路的擁塞程度。DT算法[12]通過(guò)管理輸出隊(duì)列的共享緩沖區(qū)改善系統(tǒng)損耗以及公平性,提高網(wǎng)絡(luò)傳輸性能。隊(duì)列延遲控制(controlling queue delay, CoDel)[15]考慮到目前網(wǎng)絡(luò)緩沖區(qū)的不斷增大、延遲敏感應(yīng)用的廣泛發(fā)展以及流媒體業(yè)務(wù)的不斷興起,對(duì)主動(dòng)隊(duì)列管理機(jī)制(AQM)進(jìn)行改進(jìn),可適應(yīng)鏈路的動(dòng)態(tài)變化以及突發(fā)流量的情況。因此,本文在NDN中也將擁塞控制機(jī)制與緩沖區(qū)和緩沖隊(duì)列管理進(jìn)行綜合考慮,同時(shí)利用NDN緩存優(yōu)勢(shì),以應(yīng)對(duì)網(wǎng)絡(luò)突發(fā)流量,提高網(wǎng)絡(luò)性能。
1.1.2 動(dòng)態(tài)擴(kuò)充緩沖隊(duì)列的合理性分析
動(dòng)態(tài)閾值(DT)算法[12]認(rèn)為輸出隊(duì)列的閾值與空閑緩沖區(qū)大小成正比,并為所有端口配置相同大小的隊(duì)列閾值,即分配相同的緩沖資源。用T(t)表示隊(duì)列控制閾值,其計(jì)算公式如下:
T(t)=α(B-Q(t))=α(B-∑iQi(t))
(1)
式中,Qi(t)表示端口i在t時(shí)刻的輸出隊(duì)列長(zhǎng)度,B表示系統(tǒng)共享緩沖區(qū)大小,α為控制參數(shù)。當(dāng)隊(duì)列長(zhǎng)度Q(t)等于或超過(guò)控制閾值T(t)時(shí),將不再允許數(shù)據(jù)包進(jìn)入隊(duì)列,即進(jìn)行丟包。根據(jù)上述緩沖資源分配公式,我們結(jié)合NDN緩存構(gòu)造如下緩沖資源分配公式:
(2)
式中,我們?cè)黾恿薈,表示為擴(kuò)充輸出緩沖隊(duì)列借用緩存的容量,這里C≥0,表示緩存邏輯擴(kuò)充緩沖隊(duì)列算法可作為獨(dú)立模塊。當(dāng)C=0時(shí),表示不使用該模塊,當(dāng)C>0時(shí),表示使用該模塊。q(t)表示瞬時(shí)隊(duì)列長(zhǎng)度平均值,q(t)的計(jì)算公式見(jiàn)1.4節(jié)。由于隊(duì)列閾值T(t)與空閑緩沖區(qū)成正比,因此C+B擴(kuò)大了共享緩沖區(qū),則空閑緩沖區(qū)增大,隊(duì)列閾值T(t)增大,從而減小了丟包可能性,防止數(shù)據(jù)包重傳。
同時(shí),DT算法為吸收突發(fā)流量,保持系統(tǒng)穩(wěn)定性,會(huì)預(yù)留一部分緩沖區(qū),用Ω表示,并給出如下公式:
Q=S.T+Ω
(3)
式中,Q為穩(wěn)定狀態(tài)下系統(tǒng)總的緩沖區(qū)占用量,T為穩(wěn)定狀態(tài)下的隊(duì)列閾值,S為工作的端口數(shù)。增強(qiáng)動(dòng)態(tài)閾值(EDT)算法[10]通過(guò)理論和實(shí)驗(yàn)論證,由于DT算法預(yù)留部分緩沖資源,當(dāng)發(fā)生丟包時(shí),系統(tǒng)中仍有部分緩沖區(qū)未使用。同時(shí),DT算法為確保輸出端口緩沖區(qū)公平分配,即使突發(fā)流大小遠(yuǎn)遠(yuǎn)小于緩沖區(qū)大小時(shí),數(shù)據(jù)包也會(huì)被丟掉,造成了緩沖資源的浪費(fèi)。因此,我們結(jié)合NDN緩存給出如下公式:
Q=(S.T+Ω)+Ωc
(4)
式中,我們?cè)黾恿甩竎表示通過(guò)緩存(CS)在邏輯上增加的預(yù)留緩沖區(qū)。同上,Ωc≥0,表示緩存邏輯擴(kuò)充緩沖隊(duì)列算法可作為獨(dú)立模塊,當(dāng)Ωc=0時(shí),表示不使用該模塊,當(dāng)Ωc>0時(shí),表示使用該模塊??梢钥闯觯褂镁彺姒竎代替Ω作為預(yù)留緩沖資源,可以提高原有緩沖區(qū)的利用率,防止丟包,更好地吸收突發(fā)流。
需要指出的是,本文僅初步論證了考慮到NDN緩存的天然特性,在邏輯上動(dòng)態(tài)擴(kuò)充緩沖隊(duì)列的有效性,目的在于利用NDN路由器緩存對(duì)緩沖區(qū)管理和擁塞控制提供一種參考,而對(duì)于緩沖區(qū)大小初始值設(shè)置,以及利用的緩存大小的最優(yōu)值還未做進(jìn)一步探討。
1.2 基于緩存交互的擁塞控制模型
本節(jié)給出的NDN中基于緩存交互的擁塞控制機(jī)制模型如圖1所示。緩存交互擁塞控制算法運(yùn)行在NDN路由器上。該模型在原有NDN路由模型的基礎(chǔ)上增加了數(shù)據(jù)表(data table,DT)和基于緩存的速率調(diào)整(content store-based rate adjusting, CRA)兩個(gè)模塊,當(dāng)遇到突發(fā)流量導(dǎo)致緩沖隊(duì)列平均隊(duì)列長(zhǎng)度瞬間增大時(shí),CRA和DT可控制Data包的轉(zhuǎn)發(fā),將Data包暫存于CS中,并延遲Data包的轉(zhuǎn)發(fā),實(shí)現(xiàn)在邏輯上擴(kuò)充輸出緩沖隊(duì)列,從而平滑突發(fā)流量,減小丟包數(shù),提高網(wǎng)絡(luò)吞吐量。同時(shí)該算法與已有的基于接收端的擁塞控制算法進(jìn)行協(xié)商,決定是否使用該算法,或使用該算法所需的參數(shù)設(shè)置,以此控制Interest包的發(fā)送速率,從而緩解網(wǎng)絡(luò)擁塞問(wèn)題。
圖1 擁塞控制模型
1.3 基于緩存交互的Data包轉(zhuǎn)發(fā)控制算法
利用緩存控制Data包的轉(zhuǎn)發(fā)是基于緩存交互的網(wǎng)絡(luò)擁塞控制算法的核心部分。本節(jié)將著重介紹如何進(jìn)行實(shí)際的緩沖隊(duì)列擴(kuò)充,即如何通過(guò)緩存交互控制Data包的轉(zhuǎn)發(fā)。
NDN中,Data包遠(yuǎn)大于Interest包大小,因此擴(kuò)充緩沖隊(duì)列實(shí)質(zhì)是擴(kuò)充Data包的輸出隊(duì)列長(zhǎng)度。同時(shí)one-Interest-one-Data的傳輸特點(diǎn)[4]使得可以通過(guò)調(diào)整下游節(jié)點(diǎn)Interest包的發(fā)送速率控制Data包的返回速率,因此Data隊(duì)列增大,實(shí)際上是Interest隊(duì)列增大。我們將結(jié)合圖2給出更詳細(xì)的描述。
圖2 動(dòng)態(tài)擴(kuò)充緩沖隊(duì)列示例
圖2中,C-R1-R2-S為工作流量,假設(shè)Interest和Data隊(duì)列長(zhǎng)度已達(dá)到飽和且穩(wěn)定(此時(shí)網(wǎng)絡(luò)不擁塞),在某一時(shí)刻由于突發(fā)流C1,C2,…的加入,使得R1的Interest隊(duì)列瞬間增大。如果使用緩存交互模塊,則進(jìn)行如下操作,R1接受新增流C1、C2、Cn發(fā)來(lái)的Interest請(qǐng)求包,這樣就達(dá)到了放行突發(fā)流請(qǐng)求的效果。同時(shí),R2對(duì)Data隊(duì)列檢測(cè),如果新增流量持續(xù)較長(zhǎng),為防止流量后壓,需向下游節(jié)點(diǎn)R1通過(guò)顯式或隱式方式反饋擁塞信息使其控制Interest包的速率,從而從根本上緩解網(wǎng)絡(luò)擁塞。
算法中增加DT模塊,DT為FIFO類(lèi)型,DT中一個(gè)條目記錄未被轉(zhuǎn)發(fā)的Data的控制信息,用于控制這些Data的轉(zhuǎn)發(fā),即控制Data包進(jìn)入輸出緩沖隊(duì)列的速率。當(dāng)Data包被正常轉(zhuǎn)發(fā)后,刪除DT中相應(yīng)的條目。
Data從到達(dá)到離開(kāi)路由器的過(guò)程偽代碼:
BEGIN輸入:Data包PITmatch;//查詢(xún)PIT表If(PIT表中存在匹配條目){CSinsert; If(q≥qmax) { If(q≥pmax) { 擁塞通知請(qǐng)求端降低 Interest發(fā)送速率; } else { 在DataTable中增加條目, 表示Data包需要調(diào)整速率發(fā)送; CRA(Data);//發(fā)送Data; } } else { 將Data包原速率轉(zhuǎn)發(fā)到對(duì)應(yīng)的端口; }else(PIT表中不存在匹配條目) { 丟棄Data包; }END
1.4 Data緩沖隊(duì)列檢測(cè)方法
如圖3所示,R2使用緩存擴(kuò)充Data包的輸出緩沖隊(duì)列長(zhǎng)度,只限于短暫突發(fā)流量的場(chǎng)景,而非永久擴(kuò)充緩沖隊(duì)列,如果緩沖隊(duì)列一直過(guò)長(zhǎng),則會(huì)增加大量包的排隊(duì)時(shí)延,從而影響網(wǎng)絡(luò)服務(wù)質(zhì)量。因此,當(dāng)檢測(cè)到突發(fā)流量時(shí)間過(guò)長(zhǎng)或流量過(guò)大時(shí),則需要向下游節(jié)點(diǎn)發(fā)送擁塞信息通知其減小Interest包的發(fā)送速率。這里,我們通過(guò)檢測(cè)R2的Data包的輸出隊(duì)列長(zhǎng)度,如果隊(duì)列長(zhǎng)度飽和超過(guò)一定時(shí)間Δt(Δt的值與帶寬有關(guān)),并且DT中仍有未完成發(fā)送的Data條目,表示突發(fā)流量時(shí)間過(guò)長(zhǎng)或流量過(guò)大,此時(shí)R2通知R1進(jìn)行端的Interest發(fā)送速率控制,R2檢測(cè)Data包的輸出隊(duì)列長(zhǎng)度的方法如下:
圖3 Data包轉(zhuǎn)發(fā)過(guò)程
2.1 實(shí)驗(yàn)環(huán)境與設(shè)置
本實(shí)驗(yàn)在ndnSIM[16]仿真平臺(tái)上進(jìn)行。ndnSIM基于NS-3[17],它將NDN網(wǎng)絡(luò)協(xié)議模塊化,模擬實(shí)現(xiàn)了NDN通信模型,是目前最為流行的NDN開(kāi)源仿真工具。
實(shí)驗(yàn)中在接收端采用NDN中一種典型的Interest請(qǐng)求速率控制算法——ICP算法[5](也可以使用其他現(xiàn)有的NDN擁塞控制算法),在ICP基礎(chǔ)上,針對(duì)突發(fā)流量情況比較使用緩存模塊和不使用緩存模塊的性能,即對(duì)ICP+CS-based模塊與ICP+non-CS-based模塊的性能進(jìn)行分析比較。
實(shí)驗(yàn)拓?fù)淙鐖D4、圖5所示,實(shí)驗(yàn)參數(shù)設(shè)置如表1所示,接收端Client1、Client2分別向發(fā)送端Server1、Server2請(qǐng)求不同的數(shù)據(jù)。Client1和Server1之間的流量為工作流量,記作flow1。Client2和Server2之間的流量為背景流量,特點(diǎn)是具有突發(fā)性,記作flow2。瓶頸鏈路帶寬為10Mbps,其他鏈路帶寬為100Mbps,鏈路時(shí)延為10ms。圖4所示為單瓶頸鏈路,瓶頸鏈路為R2-R3,圖5所示為雙瓶頸鏈路,瓶頸鏈路為R1-R2和R3-R4。Interest包和Data包大小分別是40B和1040B(后續(xù)實(shí)驗(yàn)均采用此設(shè)置)。隨著突發(fā)流量flow2的變化,比較兩種方案的性能。
圖4 單瓶頸鏈路拓?fù)?/p>
圖5 雙瓶頸鏈路拓?fù)?/p>
工作流量Client1—Server1突發(fā)流量Client2—Server2Interest包大小40BData包大小1040B鏈路帶寬100Mbps瓶頸鏈路帶寬10Mbps鏈路時(shí)延10ms
2.2 實(shí)驗(yàn)場(chǎng)景與結(jié)果分析
2.2.1 單瓶頸-1次突發(fā)CBR-突發(fā)流量持續(xù)時(shí)間1s
該場(chǎng)景使用圖4所示拓?fù)洌寒?dāng)t=0s時(shí),實(shí)驗(yàn)開(kāi)始運(yùn)行,Client1向Server1請(qǐng)求80M的Data包。當(dāng)t=20s時(shí),加入突發(fā)流量flow2,Client2向Server2發(fā)送Interest請(qǐng)求Data包。
flow2使用恒定比特率(CBR)控制請(qǐng)求Interest的速率,參數(shù)Frequency控制突發(fā)流大小,參數(shù)Maxseq控制突發(fā)流量持續(xù)時(shí)間,例如Frequency=400,Maxseq=400,表示突發(fā)流大小為400Interests/s,持續(xù)時(shí)間為1s。該場(chǎng)景改變flow2的大小,持續(xù)時(shí)間為1s。
圖6為突發(fā)流flow2的Frequency大小為600時(shí)Client1的吞吐量。實(shí)驗(yàn)開(kāi)始時(shí),只有flow1,因此Client1的吞吐量即收到Data包的速率不斷增加,在t=16.5s時(shí)達(dá)到最大,此時(shí)瓶頸鏈路R2-R3的容量達(dá)到飽和,R2、R3的Interest和Data隊(duì)列達(dá)到最大值,在t=23.5s時(shí),Client2請(qǐng)求的突發(fā)流量到來(lái)。由于增加了新的流量,為避免網(wǎng)絡(luò)發(fā)生擁塞即R2-R3發(fā)生擁塞,CS-based和non-CS-based方案都使Client1收到Data包的速率降低,但原因不同。在CS-based方案中,由于突發(fā)流量很短暫,Client1并不需要減低發(fā)送Interest的速率,同時(shí)放行Client2的Interest請(qǐng)求,Server1、Server2收到Interest請(qǐng)求后返回Data,由于利用緩存在邏輯上增加了R2和R3的輸出緩沖隊(duì)列長(zhǎng)度,并且控制Data的速率,所以Client1收到Data的速率降低,同時(shí)由于Client1 不降低Interest請(qǐng)求速率,所以Client2突發(fā)流量消失后,可以很快恢復(fù)飽和狀態(tài)。在non-CS-based方案中,由于突發(fā)流量的到來(lái),R2、R3的Interest/Data隊(duì)列滿(mǎn),因此丟包觸發(fā)Client1降低Interest發(fā)送速率,使其收到Data的速率降低,突發(fā)流量消失后,Client1進(jìn)入擁塞避免階段,需要一段時(shí)間恢復(fù)到飽和狀態(tài)。因此從實(shí)驗(yàn)結(jié)果可以看出,CS-based在t=23.5s時(shí)達(dá)到最大速率,在t=76.5s時(shí)傳輸完成,non-CS-based在t=39.5s時(shí)達(dá)到最大速率,在t=83.5時(shí)傳輸完成。與non-CS-based相比,CS-based的收斂性提高了(39.5-23.5)/23.5=68%,帶寬利用率提高了(1179.6-864.4)/1179.6=26.7%,傳輸時(shí)間減少了(83.5-76.5)/83.5=8.38%。
圖6 Client1吞吐量600Interest/s
如圖7所示,當(dāng)突發(fā)流量持續(xù)時(shí)間不變時(shí),Client1的傳輸完成時(shí)間受突發(fā)流量大小的影響。其中,突發(fā)流量從400Interests/s增大到1000Interests/s時(shí),使用 CS-based的傳輸完成時(shí)間遞增的非常緩慢且?guī)缀醪话l(fā)生改變,而使用CS-based的傳輸完成時(shí)間出現(xiàn)了較大幅度遞增且波動(dòng)的現(xiàn)象,并且CS-based比non-CS-based的完成時(shí)間更短。因此CS-based能更有效地吸收突發(fā)流量,具有更好的傳輸性能。
圖7 Client1完成時(shí)間
2.2.2 單瓶頸-多次突發(fā)CBR-突發(fā)流量持續(xù)時(shí)間1s
該場(chǎng)景使用圖4所示拓?fù)洌话l(fā)流量flow2使用CBR控制請(qǐng)求Interest的速率。改變突發(fā)流量flow2的大小,比較突發(fā)流量次數(shù)不同時(shí),兩種機(jī)制的傳輸性能。
如圖8所示,為Client1的傳輸完成所需時(shí)間隨突發(fā)流量大小的改變。CS-based比non-CS-based的完成時(shí)間更短。且突發(fā)流次數(shù)增加對(duì)CS-based幾乎無(wú)影響,而non-CS-based完成時(shí)間隨突發(fā)流次數(shù)增加而增加。因此CS-based能有效地平滑多次突發(fā)流量,具有更好的傳輸性能。
圖8 Client1完成時(shí)間
2.2.3 單瓶頸-1次突發(fā)CBR-突發(fā)流量持續(xù)時(shí)間5s
該場(chǎng)景使用圖4所示拓?fù)洌话l(fā)流量flow2使用CBR控制請(qǐng)求Interest的速率。改變突發(fā)流量flow2的持續(xù)時(shí)間,比較兩種機(jī)制的傳輸性能。
如圖9所示,隨著突發(fā)流量持續(xù)時(shí)間的增大,兩種方案下,Client1完成時(shí)間都增大,但CS-based比non-CS-based的完成時(shí)間更短。因此CS-based具有更高的傳輸效率。
圖9 Client1完成時(shí)間
2.2.4 單瓶頸-1次突發(fā)-Zipf突發(fā)流量持續(xù)時(shí)間1s
該場(chǎng)景使用圖4所示拓?fù)?,突發(fā)流量flow2使用Zipf控制請(qǐng)求Interest的速率。突發(fā)流量的flow2的大小不變,為800Interests/s,改變Zipf參數(shù)α。分析兩種機(jī)制下的傳輸性能。
如圖10所示,在Client1端,CS-based比non-CS-based的完成時(shí)間更短,且分布指數(shù)增加對(duì)CS-based幾乎無(wú)影響,而使用non-CS-based時(shí)傳輸完成時(shí)間隨Zipf參數(shù)α的增大而增大。因此CS-based能有效地平滑突發(fā)流量,具有更好的傳輸性能。
圖10 Client1完成時(shí)間
2.2.5 多瓶頸-突發(fā)流量持續(xù)時(shí)間1s
該場(chǎng)景使用圖5所示的雙瓶頸鏈路拓?fù)洌话l(fā)流量flow2使用CBR控制請(qǐng)求Interest的速率。改變突發(fā)流量flow2大小,同時(shí)與單瓶頸鏈路場(chǎng)景進(jìn)行對(duì)比。
如圖11所示,在Client1端,CS-based比non-CS-based的完成時(shí)間更短,且瓶頸鏈路數(shù)對(duì)CS-based 無(wú)影響,但在non-CS-based方案中,雙瓶頸比單瓶頸需要更長(zhǎng)的時(shí)間。因此CS-based能有效地平滑突發(fā)流量,且適應(yīng)多個(gè)瓶頸鏈路的情況,具有更好的傳輸性能。
圖11 Client1完成時(shí)間
本文從NDN內(nèi)部署緩存這一特點(diǎn)出發(fā),結(jié)合緩沖區(qū)大小與擁塞控制的相互影響,簡(jiǎn)單論述了動(dòng)態(tài)擴(kuò)充緩沖隊(duì)列的合理性,提出了一種基于NDN緩存交互的擁塞控制算法。該算法使用NDN緩存在邏輯上擴(kuò)充緩沖隊(duì)列長(zhǎng)度,并與已有的NDN擁塞控制算法結(jié)合,動(dòng)態(tài)調(diào)整Interest發(fā)送速率閾值,目的在于充分利用NDN緩存的特點(diǎn)和優(yōu)勢(shì),提高NDN資源利用率、網(wǎng)絡(luò)傳輸性能,尤其是針對(duì)突發(fā)流量的情形,減小突發(fā)流量給網(wǎng)絡(luò)帶來(lái)的不穩(wěn)定性。該算法可作為獨(dú)立的組件與已有的NDN擁塞控制算法相結(jié)合?;趎dnSIM仿真實(shí)驗(yàn)結(jié)果表明,該擁塞控制算法可以更好地平滑突發(fā)流量以及減小丟包率,與不使用緩存模塊的擁塞控制算法相比具有更高的傳輸效率、吞吐量以及資源利用率。
在下一步工作中,將進(jìn)一步通過(guò)實(shí)驗(yàn)和理論計(jì)算,確定NDN路由器緩沖隊(duì)列長(zhǎng)度的最優(yōu)值,以及動(dòng)態(tài)擴(kuò)充的緩沖隊(duì)列長(zhǎng)度的最優(yōu)值,從而進(jìn)一步提高傳輸效率和資源利用率。同時(shí),需要對(duì)算法的公平性進(jìn)行評(píng)估,進(jìn)而在考慮公平性的基礎(chǔ)上優(yōu)化算法,使本算法在保證高效傳輸?shù)耐瑫r(shí)兼顧公平性。
[1] Jacobson V, Smetters D, Thornton J, et al. Networking named content. In: Proceedings of the 5th International Conference on Emerging Networking Experiments and Technologies, Rome, Italy, 2009. 1-12
[2] Zhang L, Estrin D, Burke J, et al. Named Data Networking (NDN) Project:[Technology Report]. Xerox Palo Alto Research Center-PARC, 2010
[3] Ahlgren B, Dannewitz C, Imbrenda C, et al. A survey of information-centric networking.IEEECommunicationsMagazine, 2012, 50(7): 26-36
[4] Yi C, Afanasyev A, Wang L, et al. Adaptive forwarding in named data networking.ACMSIGCOMMComputerCommunicationReview, 2012, 42(3): 62-67
[5] Carofiglio G, Gallo M, Muscariello L. ICP: Design and evaluation of an interest control protocol for content-centric networking. In: Proceedings of Computer Communications Workshops (INFOCOM WKSHPS), Orlando, USA, 2012. 304-309
[6] Zhang L X. Why TCP timers don’t work well.ACMSIGCOMMComputerCommunicationReview, 1986, 16(3): 397-405
[7] Zhang F, Zhang Y, Reznik A, et al. A transport protocol for content-centric networking with explicit congestion control. In: Proceedings of the 23rd International Conference on Computer Communication and Networks, Shanghai, China, 2014. 1-8
[8] Ren Y M, Li J, Shi S S, et al. An interest control protocol for named data networking based on explicit feedback. In: Proceedings of the 11th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, Oakland, USA, 2015. 199-200
[9] Zhou J M, Wu Q H, Li Z Y, et al. A proactive transport mechanism with explicit congestion notification for NDN. In: Proceedings of IEEE International Conference on Communications (ICC), London, UK, 2015. 5242-5247
[10] Shan D F, Jiang W C, Ren F Y. Absorbing micro-burst traffic by enhancing dynamic threshold policy of data center switches. In: Proceedings of IEEE Conference on Computer Communications (INFOCOM), Hong Kong, China, 2015. 118-126
[11] Alizadeh M, Greenberg A, Maltz D A, et al. Data center TCP (DCTCP).ACMSIGCOMMComputerCommunicationReview, 2010, 40(4): 63-74
[12] Choudhury A, Hahne E. Dynamic queue length thresholds for shared-memory packet switches.IEEE/ACMTransactionsonNetworking, 1998, 6(2): 130-140
[13] Appenzeller G, Keslassy I, McKeown N. Sizing router buffers.ACMSIGCOMMComputerCommunicationReview, 2004, 34(4): 281-292
[14] Wischik D. Buffer sizing theory for bursty TCP flows. In: Proceedings of the International Zurich Seminar on Communications, Zurich, Switzerland, 2006. 98-101
[15] Nichols K, Jacobson V. Controlling queue delay.ACMCommunications, 2012, 55(7): 42-50
[16] Alexander A, Moiseenko I, Zhang L X. ndnSIM: NDN simulator for NS-3. Named Data Networking (NDN) Project:[Technology Report]. Los Angeles: University of California, 2012
[17] Henderson T R, Roy S, Floyd S, et al. ns-3 project goals. In: Proceedings of the 2006 Workshop on ns-2: the IP Network Simulator, Pisa, Italy, 2006
A content store-based congestion control algorithm for named data networking
Shi Shanshan***, Ren Yongmao*, Li Jun*, Li Lingling*, Zhi Jiang***
(*Computer Network Information Center, Chinese Academy of Sciences, Beijing 100190)(**University of Chinese Academy of Sciences, Beijing 100049)
The congestion control of named data networking (NDN) was studied. To solve the bursty traffic problem, increase the throughput, and improve the network resource utilization, a content store-based congestion control algorithm for NDN was proposed under the considerations of the mutual influence between the buffer size of the router and the congestion control mechanism, as well as the in-network caching scheme of NDN. This algorithm logically performs the dynamical extension of the buffer size and controls the forwarding rate of Data packets by utilizing the router content store of NDN, and dynamically adjusts the sending rate threshold of Interest packets to smooth the bursty traffic and alleviate the network congestion by the combination with the existing NDN congestion control algorithms. The results of the experiment conducted based on ndnSIM indicate that this algorithm can effectively improve NDN’s transmission efficiency, throughput and the network resource utilization.
named data network (NDN), congestion control, content store, buffer size, dynamic threshold (DT), bursty traffic
10.3772/j.issn.1002-0470.2016.04.005
①973計(jì)劃(2012CB315803)和中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心“一三五”計(jì)劃(CNIC_PY-1401)資助項(xiàng)目。
, E-mail: lijun@cnic.cn(
2015-12-29)
②女,1988年生,碩士生;研究方向:信息中心網(wǎng)絡(luò)擁塞控制;E-mail: shishanshan@cstnet.cn