999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TCP異構(gòu)網(wǎng)絡(luò)的動態(tài)性能擴(kuò)展代理

2007-12-31 00:00:00鄧超龍商建東
計(jì)算機(jī)應(yīng)用研究 2007年12期

摘要:由于互聯(lián)網(wǎng)中大量異構(gòu)網(wǎng)絡(luò)的存在,導(dǎo)致網(wǎng)絡(luò)的傳輸性能大大降低。為此,首先分析了異構(gòu)網(wǎng)絡(luò)中TCP的性能特點(diǎn),其次詳細(xì)介紹了如何通過增加PEP(performance enhancement proxies)的方法來改善異構(gòu)網(wǎng)絡(luò)的傳輸性能。

關(guān)鍵詞:異構(gòu)網(wǎng)絡(luò); 性能擴(kuò)展代理; 提前應(yīng)答; 往返延遲

中圖分類號:TP393.01文獻(xiàn)標(biāo)志碼:A

文章編號:1001-3695(2007)12-0324-03

0引言

隨著因特網(wǎng)的快速發(fā)展,其應(yīng)用范圍越來越廣。但是傳輸距離、延遲、有效帶寬不同,導(dǎo)致很多結(jié)構(gòu)不相同的局域網(wǎng)要進(jìn)行互聯(lián)。這種結(jié)構(gòu)的網(wǎng)絡(luò)稱為異構(gòu)網(wǎng)絡(luò),如衛(wèi)星網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、QoS網(wǎng)絡(luò)等。異構(gòu)網(wǎng)絡(luò)進(jìn)行互聯(lián)時,傳輸性能將大大下降。為了提高網(wǎng)絡(luò)的傳輸性能,本文首先分析在異構(gòu)網(wǎng)絡(luò)中TCP的性能,然后介紹一種通過路由器支持的動態(tài)擁塞控制方法來改善TCP的性能。其中特別使用了性能擴(kuò)展代理[1]。

1傳統(tǒng)TCP的問題

為了描述異構(gòu)網(wǎng)絡(luò)中TCP的性能指標(biāo),本文采用如圖1所示的網(wǎng)絡(luò)結(jié)構(gòu),并用NS2模擬軟件進(jìn)行模擬。

圖1中,在A與C、D與B之間的連接模擬本地可達(dá)的網(wǎng)絡(luò),并且它們固定為10 Mbps的帶寬和10 ms的延遲。C與D之間的連接模擬因特網(wǎng)中的異構(gòu)網(wǎng)絡(luò),并且它擁有不同的延遲(由參數(shù)d確定)和1 Mbps的帶寬,因此它是這個網(wǎng)絡(luò)的連接瓶頸。假設(shè)從A到B之間是一個長的TCP數(shù)據(jù)流,使用標(biāo)準(zhǔn)的TCP配置,如TCP NewReno,窗口大小為20,初始擁塞窗口為1,每個連接等待隊(duì)列大小為50。本文將比較B點(diǎn)的吞吐量。

首先來看在延遲與帶寬均不同的情況下TCP的性能。從圖2可以看到,隨著延遲的增加,吞吐量越來越低。這是因?yàn)橐坏┭舆t變高,要達(dá)到有效帶寬所允許的最大吞吐量,在瓶頸連接處就需要較大的TCP窗口和較大的緩存。從圖2中還可以看到,隨著延遲時間變大,慢啟動的時間也變長,從而導(dǎo)致TCP的性能下降。這是非常重要的,因?yàn)樵谝粋€TCP連接中,慢啟動時間對吞吐量影響很大,特別是在Web通信中。較大的時延將嚴(yán)重影響TCP性能。

圖2所示的模擬結(jié)果說明,延遲和帶寬這兩個參數(shù)將嚴(yán)重影響網(wǎng)絡(luò)的吞吐量,從而導(dǎo)致TCP的性能下降。其原因在于TCP端到端的控制模型。標(biāo)準(zhǔn)的TCP使用定時的ACK包來估計(jì)當(dāng)前可用的帶寬,并且使用加性增長和乘性減少的方法來對發(fā)送方的窗口大小作出反應(yīng)。假如給標(biāo)準(zhǔn)TCP一個小的緩存,這種方法將變得無效,因?yàn)榫彺娴姆磻?yīng)時間可能會比帶寬的變化速度還要慢,其結(jié)果將使TCP的性能下降。

2新的體系結(jié)構(gòu)解決方法

為了改善性能,提高吞吐量,可以通過在異構(gòu)網(wǎng)絡(luò)的邊緣路由器上設(shè)置PEP來控制TCP的數(shù)據(jù)流量(圖3)。其基本思路就是利用PEP來監(jiān)控網(wǎng)絡(luò)中通過其TCP數(shù)據(jù)流中的ACK包。在PEP處故意加快或減慢ACKs的發(fā)送,從而改變發(fā)送方數(shù)據(jù)包的發(fā)送速度,使控制循環(huán)(發(fā)送方到PEP再到發(fā)送方)縮短以達(dá)到更好的擁塞控制并提高吞吐量。

2.1在PEP下的擁塞控制

如果假設(shè)網(wǎng)絡(luò)擁塞通常發(fā)生在不同網(wǎng)絡(luò)的邊界處, PEP便可以控制所有經(jīng)過PEP的數(shù)據(jù)流,并且通過產(chǎn)生提前應(yīng)答來達(dá)到提高吞吐量的目的。通常情況下,當(dāng)接收方接收到一個數(shù)據(jù)包時,會給發(fā)送方發(fā)送一個ACK表示接收到數(shù)據(jù);發(fā)送方只有在接收到ACK后才可能繼續(xù)發(fā)送下一個數(shù)據(jù)包。但是如果采用了PEP,每當(dāng)有數(shù)據(jù)通過PEP時,它就會相應(yīng)地產(chǎn)生一個premature ACK返回給發(fā)送方;發(fā)送方在接收到premature ACK后,就可以發(fā)送下一個數(shù)據(jù)包,從而縮短了RTT的時間,增加了發(fā)送數(shù)據(jù)包的數(shù)量,提高了吞吐量。

當(dāng)使用premature ACK技術(shù)時,恢復(fù)那些被PEP確認(rèn)過但可能丟失的包便成了PEP要解決的問題。因此,PEP必須要為那些已經(jīng)被提前確認(rèn)過但相應(yīng)真實(shí)的ACK還沒有從接收方回到PEP的包提供一個緩存。當(dāng)真實(shí)的ACK到達(dá)時,PEP必須從緩存中清除相應(yīng)的數(shù)據(jù)包,并且丟棄這個真實(shí)的ACK(因?yàn)榘l(fā)送方已經(jīng)提前接收到了premature ACK)。同時也要注意其他可能引起丟包的情況,如超時重傳。此外,PEP必須控制premature ACK的發(fā)送速度,以防止發(fā)送方發(fā)包的速度過快而導(dǎo)致PEP的緩存溢出。

在PEP中設(shè)置一個緩存來存儲每一個通過PEP的數(shù)據(jù)包,并且通過設(shè)置一個閾值(watermark)來表示緩存的狀態(tài)。 這個狀態(tài)信息將被用于控制TCP數(shù)據(jù)流中的ACK。當(dāng)一個TCP數(shù)據(jù)流首次啟動時,PEP便相應(yīng)地設(shè)定緩存的最大值和watermark的初始值。當(dāng)一個TCP數(shù)據(jù)報(bào)文段到達(dá)邊緣路由器時,PEP將根據(jù)當(dāng)前緩存大小和watermark來做以下工作:

a)如果當(dāng)前緩存中數(shù)據(jù)包的數(shù)量小于watermark,PEP將拷貝這個報(bào)文段,并將其存入緩存;同時向發(fā)送方發(fā)送一個premature ACK,并將這個報(bào)文段標(biāo)志為packed。

b)如果當(dāng)前緩存中數(shù)據(jù)包的數(shù)量大于或等于watermark,但是小于最大的緩存大小,PEP也將拷貝這個報(bào)文段,并將其存入緩存,但是不產(chǎn)生premature ACK,并將這個報(bào)文段標(biāo)志為stored。

c)如果當(dāng)前緩存中數(shù)據(jù)包的數(shù)量大于或等于最大緩存大?。ㄈ缇彺嬉褲M),PEP什么也不做(如讓這個報(bào)文段就像沒有PEP一樣通過)。

當(dāng)一個真實(shí)的ACK返回到PEP時,相應(yīng)的數(shù)據(jù)報(bào)文段將從緩存中取出并清除掉。如果這個數(shù)據(jù)報(bào)文段已經(jīng)標(biāo)志為packed,路由器便丟棄這個ACK包。另外,由于這樣會縮短緩存長度,一些之前已經(jīng)被標(biāo)志為stored的報(bào)文段可能會下降且低于watermark。PEP將為這些報(bào)文段產(chǎn)生新的premature ACK,并且將它們的標(biāo)志從stored改為packed。這就是說,PEP向發(fā)送方發(fā)出提示以發(fā)送更多的數(shù)據(jù)。

2.2閾值

從以上的討論中可以看出,watermark在PEP的擁塞控制中是一個很重要的變量。Watermark是該方法設(shè)計(jì)中一個很重要的點(diǎn)。Watermark將PEP緩存分成兩部分。當(dāng)可用緩存長度下降到低于watermark時,表示TCP發(fā)送方發(fā)送速度過慢。因此,在這種情況下,PEP總是產(chǎn)生premature ACK。當(dāng)可用緩存長度上升大于watermark時,表示TCP發(fā)送方發(fā)送速度過快。此時,PEP便抑制premature ACK的發(fā)送。當(dāng)真實(shí)的ACK到來時,這些之前被抑制的premature ACK便可以被釋放。這樣,PEP便能夠使用TCP發(fā)送方的自同步(self-clocking)來控制它的發(fā)送速度。

在某種意義上,watermark決定了發(fā)送方向接收方發(fā)送數(shù)據(jù)的速度。由于這個最佳速度是基于當(dāng)前可用帶寬的,watermark必須是動態(tài)的,不能固定不變。例如,緩存長度低于watermark并且可用帶寬下降,由于固定的watermark,PEP將仍然發(fā)送premature ACK來促使發(fā)送方發(fā)送更多的數(shù)據(jù),這將導(dǎo)致緩存溢出和擁塞;如果可用帶寬上升,但是watermark沒有相應(yīng)地作出改變,盡管網(wǎng)絡(luò)中可以傳輸更多的數(shù)據(jù),PEP可能還是會抑制發(fā)送premature ACK,這將導(dǎo)致吞吐量達(dá)不到最大。

總結(jié)這個體系結(jié)構(gòu),PEP擁塞控制要優(yōu)于傳統(tǒng)TCP的擁塞控制。當(dāng)在異構(gòu)網(wǎng)絡(luò)中發(fā)生擁塞時,傳統(tǒng)TCP中端節(jié)點(diǎn)發(fā)現(xiàn)有效帶寬變化要很長一段時間,而PEP擁塞控制就是要利用premature ACK來縮短TCP控制循環(huán)的反饋時間以避免產(chǎn)生該問題。

3模擬結(jié)果

筆者已經(jīng)在NS2中實(shí)現(xiàn)了PEP體系結(jié)構(gòu)。模擬設(shè)置除了將PEP代理置于節(jié)點(diǎn)C之外與圖1的結(jié)構(gòu)一樣。C是異構(gòu)網(wǎng)絡(luò)的邊緣路由器。在為新的模擬過程采集完數(shù)據(jù)之后,筆者將其與先前沒有PEP時的情況作了比較,并將這些數(shù)據(jù)做成了圖表,如圖4所示。標(biāo)有“TCP”的曲線代表先前模擬過程所得的數(shù)據(jù),標(biāo)有“PEP”的曲線代表新的有PEP的模擬過程所得到的數(shù)據(jù)。

圖4比較了標(biāo)準(zhǔn)TCP和有PEP存在時的網(wǎng)絡(luò)基本吞吐量。結(jié)果表明有PEP存在時的吞吐量要比標(biāo)準(zhǔn)TCP的吞吐量提高了約100%。其原因首先在于premature ACK機(jī)制。在這個網(wǎng)絡(luò)模擬中,PEP收到發(fā)送方的數(shù)據(jù)報(bào)文段用了10 ms。所以每隔20 ms,一個premature ACK就可以回到發(fā)送方使其擁塞窗口加倍,然而標(biāo)準(zhǔn)TCP將花費(fèi)220 ms或者420 ms來收到第一個ACK并使其擁塞窗口加倍。其次,在TCP傳輸中,PEP將調(diào)整watermark的值以改變緩存長度從而使發(fā)送方加快或減慢數(shù)據(jù)的發(fā)送速度,以達(dá)到最大的吞吐量。標(biāo)準(zhǔn)的TCP不能預(yù)先確定高的延遲,并且當(dāng)有足夠帶寬時發(fā)送速度仍然很低,從而使吞吐量也低。

4結(jié)束語

國內(nèi)外也有很多方法來處理TCP的性能問題。它們大多是通過采用一種新的TCP機(jī)制(如TCP擴(kuò)展[2]和新的算法[3])或者是一種不合理的配置(如極大的窗口大?。﹣韺CP進(jìn)行修改。但是這些方法最大的缺點(diǎn)在于一開始就要搞清楚中間網(wǎng)絡(luò)的狀態(tài)并作出合理的配置。本文首先說明了在帶寬不同和延遲差距增大情況下TCP的性能,然后介紹了一種新的基于PEP的方法,使用了premature ACK和動態(tài)watermark機(jī)制來確保發(fā)送方與接收方之間數(shù)據(jù)流的傳輸速度,從而提高了網(wǎng)絡(luò)吞吐量。通過模擬試驗(yàn)可以得出,在TCP的傳輸中,PEP更加適合于帶寬和延遲不同的異構(gòu)網(wǎng)絡(luò)。

參考文獻(xiàn):

[1]BORDER J, KOJO M, GRINER J, et al. RFC 3135, Performance enhancing proxies[S].2000.

[2]JACBSON V, BRADEN R, BORMAN D. IETF RFC 1323, TCP ex-

tensions for high performance[S].1992.

[3]FLOYD S, HENDERSON T. IETF RFC 2582, The NewReno modification to TCP’s fast recovery algorithm[S]. 1999.

[4]TANENBAUM A S.計(jì)算機(jī)網(wǎng)絡(luò)[M].3版.北京:清華大學(xué)出版社,1998:259-432.

[5]徐雷鳴,龐博,趙耀.NS與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2003.

[6]STEVENS W R. TCP/IP詳解 卷1:協(xié)議[M].北京:機(jī)械工業(yè)出版社,2002:223-359.

[7]ALLMAN M, DAWKINS S, GLOVER D, et al. RFC 2760, Ongoing TCP research rebated to satellites[S]. 2000.

[8]DUTTA D, ZHANG Y. An active proxy based architecture for TCP in heterogeneous variable bandwidth networks[C]//IEEE Global Telecommunications Conference. San Antonio: IEEE Press, 2001:2316-2320.

[9]OSADA S, YOKOHIRA T, WANG H, et al. Performance improvement of TCP using performance enhancing proxies-effect of premature ACK transmission timing on throughput[C]//Proc of the 6th Asia-Pacific Symposium on Information and Telecommunication Technologies(APSITT). 2005:7-12.

“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”

主站蜘蛛池模板: 免费国产高清精品一区在线| 黄色网在线免费观看| 欧美日韩成人| a色毛片免费视频| 999福利激情视频| 国产精品9| 亚洲免费三区| 久久精品波多野结衣| 一区二区午夜| 久久a级片| 高清国产va日韩亚洲免费午夜电影| 久久婷婷综合色一区二区| 国产真实乱了在线播放| 沈阳少妇高潮在线| 久久久受www免费人成| 77777亚洲午夜久久多人| 国产精品自在在线午夜| 欧美日韩中文字幕二区三区| 欧美亚洲国产一区| 88av在线看| 成年人久久黄色网站| 视频二区亚洲精品| 综合色天天| 中文字幕在线观看日本| 幺女国产一级毛片| 亚洲精品成人片在线观看| 日本三级精品| 日韩第九页| 国产在线日本| 日本在线视频免费| 一本综合久久| 日韩毛片在线播放| 91人妻在线视频| 国产日韩欧美精品区性色| 丰满的少妇人妻无码区| 麻豆精品在线播放| 亚洲嫩模喷白浆| 国产午夜无码专区喷水| 毛片手机在线看| 中文字幕在线日韩91| 亚洲欧美成人| 视频二区中文无码| 2019年国产精品自拍不卡| 精品综合久久久久久97| 无码啪啪精品天堂浪潮av| 伊人欧美在线| 国产亚洲欧美日韩在线一区二区三区 | 免费A级毛片无码免费视频| 日韩性网站| 天天综合网色| 国产精品开放后亚洲| 久久久国产精品免费视频| 久久免费视频播放| 色一情一乱一伦一区二区三区小说 | AV不卡无码免费一区二区三区| 麻豆精品在线播放| 亚洲高清无码久久久| 国产乱子伦一区二区=| 亚洲bt欧美bt精品| 免费一级毛片在线观看| 日韩一区二区在线电影| 久草视频精品| 一本久道久综合久久鬼色| 白丝美女办公室高潮喷水视频| 色综合天天操| 尤物在线观看乱码| 99久久精品国产麻豆婷婷| 亚洲色偷偷偷鲁综合| 精品人妻无码中字系列| 欧美午夜在线观看| 国产你懂得| 婷婷久久综合九色综合88| 黑人巨大精品欧美一区二区区| 国产成人乱无码视频| 国产91丝袜在线播放动漫 | 99re热精品视频国产免费| 亚洲熟女中文字幕男人总站| 四虎综合网| 激情午夜婷婷| 国产精品无码久久久久久| 中文精品久久久久国产网址| 久久伊人操|