鄭濤,王菲,姜?jiǎng)倜?/p>
(上海海事大學(xué)信息工程學(xué)院,上海 201306)
在以移動(dòng)自組織網(wǎng)絡(luò)為代表的無(wú)線多跳網(wǎng)絡(luò)中,其網(wǎng)絡(luò)信道質(zhì)量往往較差,存在著大量的非擁塞型丟包,傳統(tǒng)TCP的擁塞控制乃至擁塞判斷的方法,均不再適用。基于這種情況而提出的Semi-TCP改變了對(duì)網(wǎng)絡(luò)擁塞狀況判斷的依據(jù),不再簡(jiǎn)單地使用傳輸層ACK的數(shù)量進(jìn)行估測(cè)[1],改用數(shù)據(jù)鏈路層的緩存占用情況作為評(píng)判標(biāo)準(zhǔn),從而在非擁塞型丟包狀況嚴(yán)重的無(wú)線多跳網(wǎng)絡(luò)中也能做出正確的擁塞判斷[2]。
但是,Semi-TCP和傳統(tǒng)TCP使用不同的擁塞判斷標(biāo)準(zhǔn)和擁塞處理方法,當(dāng)二者共存于同一條通信鏈路時(shí),截然不同的兩種擁塞控制算法無(wú)法與對(duì)方進(jìn)行溝通轉(zhuǎn)換,勢(shì)必會(huì)造成網(wǎng)絡(luò)整體性能的下降[3]。在仿真軟件EXata中,當(dāng)中間節(jié)點(diǎn)采用了不同的傳輸層協(xié)議,那么發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)之間的數(shù)據(jù)有時(shí)無(wú)法正常傳輸,這取決于Semi-TCP的具體實(shí)現(xiàn)方法。當(dāng)一條通信鏈路同時(shí)包含有線和無(wú)線兩部分,且二者傳輸層分別使用傳統(tǒng)TCP和Semi-TCP協(xié)議時(shí),本文提出一種方法,在協(xié)議交界面對(duì)兩種擁塞控制算法進(jìn)行轉(zhuǎn)換。
另外,還有其他思路進(jìn)行擁塞控制,例如TCPAP[4],他根據(jù)網(wǎng)絡(luò)擁塞狀況在發(fā)送方自適應(yīng)地調(diào)整發(fā)送速率,本文在EXata上對(duì)該協(xié)議也進(jìn)行了實(shí)現(xiàn),并與Semi-TCP設(shè)置平行實(shí)驗(yàn)進(jìn)行對(duì)比。
擁塞控制對(duì)提高網(wǎng)絡(luò)吞吐量具有重要作用,理想的擁塞控制能夠隨著負(fù)載的提高逐漸提高網(wǎng)絡(luò)的吞吐量,直到某一最大值。實(shí)際的擁塞控制很難達(dá)到該最大值,并且由于擁塞控制需要付出相應(yīng)的代價(jià),所以會(huì)在網(wǎng)絡(luò)未發(fā)生擁塞或者輕度擁塞時(shí),反而會(huì)降低網(wǎng)絡(luò)的吞吐量。但若不進(jìn)行擁塞控制,一旦網(wǎng)絡(luò)發(fā)生擁塞,吞吐量會(huì)隨著負(fù)載的增加大幅降低,當(dāng)負(fù)載達(dá)到一定程度時(shí),網(wǎng)絡(luò)會(huì)無(wú)法工作,進(jìn)入死鎖狀態(tài)[5]。
圖1 擁塞控制的作用
(1)傳統(tǒng)TCP協(xié)議:滑動(dòng)窗口機(jī)制
TCP協(xié)議自最初的Tahoe開(kāi)始,到目前為止已經(jīng)有較多版本,例如 Reno、SACK、New Reno,其中 New Reno是目前無(wú)線網(wǎng)絡(luò)中應(yīng)用最多的一種。本文所述的傳統(tǒng)TCP協(xié)議即以New Reno為例。傳統(tǒng)TCP的滑動(dòng)窗口用于暫存通信用數(shù)據(jù)[6],每臺(tái)計(jì)算機(jī)都有用于發(fā)送和接收的兩個(gè)滑動(dòng)窗口[5]。傳統(tǒng)TCP通過(guò)窗口的滑動(dòng)來(lái)調(diào)節(jié)傳輸速率,并進(jìn)行流量控制。
圖2 發(fā)送緩存和發(fā)送窗口
圖3 接收窗口和接收緩存
發(fā)送窗口win的大小取決于擁塞窗口cwnd和接收窗口rwnd的較小者,即win=min(rwnd,cwnd),使得發(fā)送速率能夠根據(jù)擁塞狀況進(jìn)行調(diào)節(jié),起到一定的擁塞控制作用。每當(dāng)發(fā)方收到一個(gè)確認(rèn),就把擁塞窗口cwnd加1。每當(dāng)發(fā)方檢測(cè)到擁塞發(fā)生,就降低擁塞窗口。
傳統(tǒng)TCP是在超時(shí)重傳和快速重傳之后進(jìn)行的擁塞處理,也就是說(shuō),傳統(tǒng)TCP對(duì)擁塞判定的主要依據(jù)是發(fā)方能否在傳輸層及時(shí)地收到相應(yīng)數(shù)據(jù)包的確認(rèn)ACK。
(2)Semi-TCP協(xié)議:MAC層緩存占用率
在以鏈路不穩(wěn)定、信道質(zhì)量差、節(jié)點(diǎn)移動(dòng)為特點(diǎn)的MANET網(wǎng)絡(luò)中,傳統(tǒng)TCP的擁塞處理機(jī)制頻繁地被非擁塞原因觸發(fā)[7],錯(cuò)誤地降低發(fā)送速率,導(dǎo)致傳統(tǒng)TCP在無(wú)線網(wǎng)絡(luò)中性能下降。針對(duì)無(wú)線場(chǎng)景的關(guān)于TCP協(xié)議的改進(jìn)思路有很多,其中Semi-TCP認(rèn)為,網(wǎng)絡(luò)擁塞是傳輸層之下的網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的概念,傳輸層只能采用估計(jì)的形式進(jìn)行擁塞判斷,這才導(dǎo)致傳統(tǒng)TCP在無(wú)線網(wǎng)絡(luò)中經(jīng)常發(fā)生擁塞的誤判。所以,Semi-TCP提出將擁塞控制功能轉(zhuǎn)到MAC層來(lái)實(shí)現(xiàn)。
目前已有兩種Semi-TCP的實(shí)現(xiàn)方式,基于RTS/CTS握手機(jī)制實(shí)現(xiàn)的Semi-TCP和基于MAC層確認(rèn)機(jī)制實(shí)現(xiàn)的Semi-TCP??紤]到RTS/CTS握手機(jī)制主要應(yīng)用于大文件傳輸?shù)膱?chǎng)景,其使用范圍受到更多地限制,故而本文所做的兼容性研究與優(yōu)化都是以后者為基礎(chǔ)的。
基于確認(rèn)機(jī)制實(shí)現(xiàn)的Semi-TCP,根據(jù)自身MAC緩存占用率對(duì)自身?yè)砣闆r做出定量的判斷,并根據(jù)一跳內(nèi)的鄰居節(jié)點(diǎn)廣播的擁塞信息對(duì)鄰居節(jié)點(diǎn)的擁塞狀況進(jìn)行記錄。為避免ACK對(duì)MAC層緩存的占用可能引起擁塞的誤判,還將MAC層緩存細(xì)分為兩部分:發(fā)送緩存和接收緩存[8]。
擁塞判據(jù):如圖4,假設(shè)接收緩存容量的最大值為L(zhǎng)1,CT1為其擁塞門(mén)限,即當(dāng)接收緩存內(nèi)數(shù)據(jù)包個(gè)數(shù)N1≥CT1時(shí),節(jié)點(diǎn)判定自身為擁塞狀態(tài);L2為發(fā)送緩存容量的最大值,CT2為其擁塞門(mén)限,當(dāng)傳輸層有數(shù)據(jù)要發(fā)送,且當(dāng)前發(fā)送緩存中數(shù)據(jù)包個(gè)數(shù)N2滿足N1+N2<CT2時(shí),將數(shù)據(jù)直接送往發(fā)送緩存,否則,暫時(shí)不將數(shù)據(jù)送往發(fā)送緩存,以此來(lái)控制傳輸層的發(fā)送速率[9]。
(3)TCP-AP協(xié)議:速率自適應(yīng)
Elrakabawy等人提出的 TCP-AP(TCP with Adap?tive Pacing),是一種應(yīng)用于無(wú)線網(wǎng)絡(luò)的基于速率自適應(yīng)的擁塞避免算法。TCP-AP[10]通過(guò)在發(fā)方調(diào)節(jié)發(fā)送間隔來(lái)實(shí)現(xiàn)對(duì)發(fā)送速率的控制,間隔的計(jì)算依賴于發(fā)方檢測(cè)到的RTT,通過(guò)RTT的變化來(lái)判定網(wǎng)絡(luò)當(dāng)前的負(fù)載程度,并在每次接收到ACK后,重新計(jì)算發(fā)送間隔,從而實(shí)現(xiàn)發(fā)方根據(jù)網(wǎng)絡(luò)狀況對(duì)發(fā)送速率的自適應(yīng)調(diào)節(jié)。該協(xié)議能夠避免傳統(tǒng)TCP協(xié)議在無(wú)線網(wǎng)絡(luò)中容易產(chǎn)生突發(fā)流量的問(wèn)題,但其計(jì)算公式非常復(fù)雜,很容易受到網(wǎng)絡(luò)中節(jié)點(diǎn)計(jì)算能力的限制,且其對(duì)無(wú)線多跳網(wǎng)絡(luò)吞吐量的提高也很有限[11]。
圖4 節(jié)點(diǎn)內(nèi)緩存的劃分
傳統(tǒng)TCP協(xié)議使用滑動(dòng)窗口機(jī)制進(jìn)行擁塞控制,使用擁塞窗口對(duì)擁塞信息進(jìn)行表征,當(dāng)擁塞發(fā)生,即發(fā)方在規(guī)定時(shí)間內(nèi)沒(méi)有收到對(duì)某一數(shù)據(jù)包的確認(rèn)或者收到超過(guò)三次以上對(duì)某一數(shù)據(jù)包的重復(fù)確認(rèn)時(shí),通過(guò)主動(dòng)減小擁塞窗口來(lái)間接地減小發(fā)送窗口,以此降低發(fā)送速率,減輕網(wǎng)絡(luò)擁塞。傳統(tǒng)TCP的擁塞控制是一種端到端的全局擁塞管控,只在通信兩端對(duì)擁塞進(jìn)行檢測(cè)和處理,無(wú)法得知是在通信鏈路中何處發(fā)生擁塞。
Semi-TCP協(xié)議屬于逐跳擁塞控制,使用節(jié)點(diǎn)內(nèi)MAC層緩存占用率對(duì)擁塞信息進(jìn)行表征,當(dāng)節(jié)點(diǎn)檢測(cè)到自身緩存占有率到達(dá)某閾值,即判定自身處于擁塞狀態(tài),并向上游節(jié)點(diǎn)反饋?zhàn)陨頁(yè)砣麪顩r,當(dāng)上游節(jié)點(diǎn)收到擁塞信息反饋時(shí),就降低發(fā)送速率,以此實(shí)現(xiàn)擁塞的檢測(cè)和處理[7]。Semi-TCP舍棄了傳輸層的擁塞控制功能,通過(guò)MAC層緩存占用率來(lái)表示和檢測(cè)網(wǎng)絡(luò)擁塞狀況,能夠精確地檢測(cè)到擁塞發(fā)生在通信過(guò)程中的哪個(gè)節(jié)點(diǎn),進(jìn)行局部擁塞管控。
TCP-AP是一種透過(guò)表象做反應(yīng)的協(xié)議,它使用最近一次往返時(shí)間RTT的大小來(lái)表征網(wǎng)絡(luò)擁塞信息。當(dāng)RTT較大時(shí),說(shuō)明當(dāng)前網(wǎng)絡(luò)負(fù)載嚴(yán)重,需要降低發(fā)送速率。發(fā)送速率的控制則依賴于兩次數(shù)據(jù)發(fā)送的間隔,當(dāng)需要降低發(fā)送速率時(shí),就將該間隔增大。
圖5 端到端通信中TCP與Semi-TCP共存現(xiàn)象
如圖5,傳統(tǒng)節(jié)點(diǎn)是使用傳統(tǒng)TCP協(xié)議的節(jié)點(diǎn),Semi節(jié)點(diǎn)是使用Semi-TCP協(xié)議的節(jié)點(diǎn),兩端分別是傳統(tǒng)節(jié)點(diǎn)和Semi節(jié)點(diǎn)的節(jié)點(diǎn)稱(chēng)為協(xié)議交界面,在協(xié)議交界面對(duì)兩種協(xié)議的兼容問(wèn)題進(jìn)行解決。假設(shè)①的左側(cè)均為傳統(tǒng)節(jié)點(diǎn),稱(chēng)為傳統(tǒng)區(qū),②的右側(cè)均為Semi節(jié)點(diǎn),稱(chēng)為Semi區(qū)。二者使用不同的擁塞控制機(jī)制,具有不同的擁塞判斷標(biāo)準(zhǔn),①和②之間如果不做擁塞信息的轉(zhuǎn)換,勢(shì)必會(huì)對(duì)網(wǎng)絡(luò)整體性能造成負(fù)面影響。
(1)協(xié)議交界面的確定
在TCP連接的建立階段,確定協(xié)議交界面,具體做法如下:
選擇幀結(jié)構(gòu)中的某一空閑位作為flag,并修改Semi-TCP協(xié)議,使得只要是由Semi節(jié)點(diǎn)生成或者轉(zhuǎn)發(fā)的信息,就對(duì)該flag做置位操作,傳統(tǒng)節(jié)點(diǎn)不對(duì)flag進(jìn)行檢測(cè)和置位。一條通信鏈路如果只存在一個(gè)協(xié)議交界面,則該交界面必然是所有節(jié)點(diǎn)中唯一一個(gè)既能接收到未被置位信息,又能接收到被置位信息的Semi節(jié)點(diǎn)。
圖6 仿真場(chǎng)景
傳統(tǒng)節(jié)點(diǎn)雖然也能接收到具有兩種flag狀態(tài)的消息,但本文只對(duì)Semi-TCP協(xié)議進(jìn)行修改,因此傳統(tǒng)節(jié)點(diǎn)不會(huì)檢測(cè)flag,更不可能被設(shè)置為協(xié)議交界面。另外,這里僅考慮通信鏈路中僅存在一個(gè)協(xié)議交界面的情況。當(dāng)一條通信鏈路中存在多個(gè)協(xié)議交界面時(shí),上述檢測(cè)算法僅能檢測(cè)出圖5中最左邊的協(xié)議交界面。
(2)協(xié)議交界面的功能
被設(shè)置為協(xié)議交界面的節(jié)點(diǎn),在收發(fā)雙方建立TCP連接時(shí),會(huì)在傳輸層創(chuàng)建與傳統(tǒng)節(jié)點(diǎn)匹配的虛擬發(fā)送/接收/擁塞窗口,以及與Semi節(jié)點(diǎn)相匹配的MAC層緩存,整個(gè)節(jié)點(diǎn)被分為圖5中的①和②兩部分,網(wǎng)絡(luò)擁塞控制也被劃分為傳統(tǒng)區(qū)和Semi區(qū)兩部分。
在協(xié)議交界面,所有消息都會(huì)被上傳到本節(jié)點(diǎn)的傳輸層,再根據(jù)flag位判斷信息來(lái)源,根據(jù)數(shù)據(jù)發(fā)送方向做相應(yīng)的處理,具體流程如下:
1)數(shù)據(jù)發(fā)送方向:傳統(tǒng)節(jié)點(diǎn)->Semi節(jié)點(diǎn)
傳統(tǒng)節(jié)點(diǎn)將數(shù)據(jù)發(fā)往協(xié)議交界面,①接收到來(lái)自傳統(tǒng)節(jié)點(diǎn)的消息(Data)后,按照滑動(dòng)窗口機(jī)制保存數(shù)據(jù)并修改接收窗口,只不過(guò)數(shù)據(jù)不再上傳至更高層,而是交給②,之后按照Semi-TCP的方式轉(zhuǎn)發(fā)該數(shù)據(jù);Semi節(jié)點(diǎn)正確接收該報(bào)文后,回復(fù)ACK;當(dāng)②接收到來(lái)自Semi節(jié)點(diǎn)的消息(ACK)后,根據(jù)②的緩存占用率判斷當(dāng)前節(jié)點(diǎn)是否擁塞,若擁塞,則延遲適當(dāng)時(shí)間后再將該確認(rèn)包交給①,這樣,本應(yīng)更早到達(dá)傳統(tǒng)節(jié)點(diǎn)的ACK,沒(méi)有那么早到達(dá),作為數(shù)據(jù)發(fā)送方的傳統(tǒng)節(jié)點(diǎn)就會(huì)因等待ACK而延遲發(fā)送下一個(gè)數(shù)據(jù),從而實(shí)現(xiàn)發(fā)送速率的降低。
2)數(shù)據(jù)發(fā)送方向:Semi節(jié)點(diǎn)->傳統(tǒng)節(jié)點(diǎn)
Semi節(jié)點(diǎn)將數(shù)據(jù)發(fā)往協(xié)議交界面,②接收到來(lái)自Semi節(jié)點(diǎn)的消息(Data)后,發(fā)給①,由①保存并決定何時(shí)轉(zhuǎn)發(fā)出去;傳統(tǒng)節(jié)點(diǎn)正確接收到該數(shù)據(jù)后,回復(fù)ACK;當(dāng)①接收到來(lái)自傳統(tǒng)節(jié)點(diǎn)的消息(ACK)后,按照滑動(dòng)窗口機(jī)制更新?lián)砣翱诘刃畔?,并將該ACK轉(zhuǎn)發(fā)給②,由②按照Semi-TCP協(xié)議的方法進(jìn)行轉(zhuǎn)發(fā)。
本章將具體介紹傳統(tǒng)TCP協(xié)議與Semi-TCP協(xié)議共存于同一條通信鏈路時(shí)的性能測(cè)試,以及本文算法在EXata平臺(tái)上的實(shí)現(xiàn)與測(cè)試,主要是在考慮路由重建以及不考慮路由重建兩種情況下對(duì)優(yōu)化前后的混合場(chǎng)景的網(wǎng)絡(luò)吞吐量進(jìn)行對(duì)比。
本文使用軟件EXata進(jìn)行所有的仿真實(shí)驗(yàn),EXata是美國(guó)SNT公司針對(duì)新型無(wú)線通信技術(shù)設(shè)計(jì)開(kāi)發(fā)的網(wǎng)絡(luò)仿真系統(tǒng),支持TCP/IP協(xié)議棧的標(biāo)準(zhǔn)層間接口,允許客戶對(duì)其核心代碼進(jìn)行修改以實(shí)現(xiàn)并測(cè)試客戶自身實(shí)現(xiàn)的協(xié)議,由于采用先進(jìn)的并行算法,其精確程度可以和真實(shí)網(wǎng)絡(luò)媲美。
吞吐量是評(píng)價(jià)一個(gè)網(wǎng)絡(luò)性能高低的重要參數(shù),在對(duì)本文所提出的算法進(jìn)行性能測(cè)試時(shí)所使用的評(píng)價(jià)標(biāo)準(zhǔn)就是網(wǎng)絡(luò)吞吐量。在本文進(jìn)行的所有測(cè)試中,除了傳輸層所選用的協(xié)議以及節(jié)點(diǎn)移動(dòng)性設(shè)置以外,包括節(jié)點(diǎn)位置信息在內(nèi)的所有參數(shù)均不再變化。表1給出了幾項(xiàng)相對(duì)重要的仿真場(chǎng)景的參數(shù),這些參數(shù)的設(shè)置在所有實(shí)驗(yàn)中均不改變:
(1)靜態(tài)場(chǎng)景測(cè)試
在圖6的仿真場(chǎng)景中,所有節(jié)點(diǎn)均不移動(dòng),僅改變傳輸層所使用的協(xié)議。當(dāng)所有節(jié)點(diǎn)的傳輸層均使用NewReno協(xié)議時(shí),多次重復(fù)實(shí)驗(yàn)表明其網(wǎng)絡(luò)吞吐量維持在185.6kbps;當(dāng)傳輸層協(xié)議換成基于確認(rèn)機(jī)制實(shí)現(xiàn)的Semi-TCP協(xié)議時(shí),網(wǎng)絡(luò)吞吐量維持在49.9kbps;當(dāng)節(jié)點(diǎn)1-4使用NewReno作為傳輸層協(xié)議,而5-9節(jié)點(diǎn)使用Semi-TCP協(xié)議時(shí),實(shí)驗(yàn)結(jié)果各不相同,網(wǎng)絡(luò)吞吐量在49.9kbps到185.6kbps之間波動(dòng),多次仿真結(jié)果中從未出現(xiàn)高于185.6kbps的情況,但偶爾會(huì)低于49.9kbps,這證實(shí)了本文的猜想:當(dāng)一條通信鏈路中的節(jié)點(diǎn)在傳輸層使用不同的擁塞檢測(cè)標(biāo)準(zhǔn)和擁塞解決方法時(shí),如果不加以處理,其吞吐量會(huì)大大降低。這里取8次重復(fù)實(shí)驗(yàn)的平均值作為混合場(chǎng)景的網(wǎng)絡(luò)吞吐量。
表1 場(chǎng)景固定參數(shù)
圖7 不考慮路由重建時(shí)各場(chǎng)景吞吐量對(duì)比(bps)
由仿真結(jié)果可以發(fā)現(xiàn),在不考慮路由重建時(shí),Ne?wReno協(xié)議是傳輸層更好的選擇,使用Semi-TCP協(xié)議的網(wǎng)絡(luò)吞吐量較低。在混合場(chǎng)景中,網(wǎng)絡(luò)吞吐量會(huì)受到Semi-TCP/ACK的限制,使得網(wǎng)絡(luò)吞吐量較之New Reno場(chǎng)景降低了43.6%,當(dāng)使用本文方法進(jìn)行中間節(jié)點(diǎn)的設(shè)置及優(yōu)化后,較之優(yōu)化前,網(wǎng)絡(luò)吞吐量提高了39.0%。
(2)動(dòng)態(tài)場(chǎng)景測(cè)試
較之圖6的仿真實(shí)驗(yàn),這里設(shè)置所有節(jié)點(diǎn)具有隨機(jī)移動(dòng)的屬性,其他參數(shù)均不改變,仿真結(jié)果如圖8所示。
在動(dòng)態(tài)場(chǎng)景中,節(jié)點(diǎn)移動(dòng)會(huì)導(dǎo)致路由信息的丟失,NewReno協(xié)議的吞吐量大幅降低,而Semi-TCP/ACK的吞吐量則大幅提高,原因在于實(shí)驗(yàn)設(shè)置的仿真場(chǎng)景中節(jié)點(diǎn)的數(shù)量較少,而且為了保證實(shí)驗(yàn)場(chǎng)景中僅存在一個(gè)中間節(jié)點(diǎn),節(jié)點(diǎn)初始位置的選擇都不是隨機(jī)設(shè)置而導(dǎo)致的。
圖8 考慮路由重建時(shí)各場(chǎng)景吞吐量對(duì)比(bps)
混合場(chǎng)景的性能在這里受到了NewReno協(xié)議的限制,原因在于其對(duì)擁塞的誤判使得發(fā)送窗口頻頻降低,浪費(fèi)了網(wǎng)絡(luò)帶寬資源。優(yōu)化前的混合場(chǎng)景在吞吐量方面較之Semi-TCP降低了48.1%,而在優(yōu)化后的場(chǎng)景中,吞吐量有所提高,較之Semi-TCP僅降低了25.9%。
由于TCP-AP是在TCP發(fā)送方檢測(cè)RTT變化來(lái)調(diào)整發(fā)送速率,因此其性能不會(huì)受到通信鏈路中其他節(jié)點(diǎn)傳輸層所設(shè)置的協(xié)議種類(lèi)的影響。
本文對(duì)一條通信鏈路中,當(dāng)節(jié)點(diǎn)傳輸層使用不同的擁塞檢測(cè)標(biāo)準(zhǔn)及擁塞解決方法時(shí)所產(chǎn)生的影響進(jìn)行分析,針對(duì)傳統(tǒng)TCP協(xié)議和Semi-TCP協(xié)議的共存情況提出一種解決方法,方法能夠在不改變傳統(tǒng)TCP協(xié)議的情況下檢測(cè)出中間節(jié)點(diǎn)。在靜態(tài)與動(dòng)態(tài)場(chǎng)景的仿真分析中均驗(yàn)證了使用不同擁塞檢測(cè)標(biāo)準(zhǔn)會(huì)導(dǎo)致網(wǎng)絡(luò)性能下降,并且,當(dāng)在中間節(jié)點(diǎn)進(jìn)行優(yōu)化處理時(shí),網(wǎng)絡(luò)性能會(huì)得到提高。本算法在不改變?cè)袀鹘y(tǒng)TCP協(xié)議的情況下,使得配置了Semi-TCP協(xié)議的節(jié)點(diǎn)能夠檢測(cè)出中間節(jié)點(diǎn),并在中間節(jié)點(diǎn)對(duì)不同發(fā)送方向的數(shù)據(jù)進(jìn)行適當(dāng)?shù)难舆t發(fā)送,提高了混合場(chǎng)景的吞吐量。