讀書有三到:謂心到,眼到,口到?!鳌ぶ祆?/strong>
對鏈接吞吐量的簡化描述
為了簡化對一條TCP連接吞吐量的描述,我們首先忽略連接過程中處于慢啟動狀態(tài)的時間,因?yàn)檫@一狀態(tài)時間極短,而且相比于其他狀態(tài)的線性增長,該狀態(tài)的指數(shù)式增長會將計(jì)算復(fù)雜化;而對于快速恢復(fù)狀態(tài),這一狀態(tài)僅在網(wǎng)絡(luò)輕度擁塞時出現(xiàn),時間也極短,予以忽略。因此,我們只考慮處于擁塞避免狀態(tài)時的吞吐量。
在擁塞避免狀態(tài)下,每經(jīng)過一個RTT擁塞窗口長度增加一個MSS,直到發(fā)生超時事件時,設(shè)當(dāng)前擁塞窗口長度為W,則切換到慢啟動狀態(tài)再切換回來時,擁塞窗口長度變?yōu)楫?dāng)前的sstresh值(即W/2),然后重復(fù)這一過程。因此,當(dāng)W不變時,窗口長度從W/2線性增長到W,然后再回到W/2,其平均吞吐量也就是(W/2RTT+W/RTT)/2=0.75W/RTT:
高帶寬路徑的TCP
隨著數(shù)據(jù)量增大,TCP的吞吐量要求也在提高。有公式可以計(jì)算一條TCP連接的吞吐量(L是丟包率):
因此想保證高吞吐量的話,丟包率必須很低很低。因此我們需要根據(jù)一些方面的考慮設(shè)計(jì)新版的TCP。文章來源:http://www.zghlxwxcb.cn/news/detail-471162.html
公平性
當(dāng)多條TCP連接通過一個鏈路時,我們需要考慮TCP連接的公平性,即是否每個連接能分到同樣的鏈路資源。我們先考慮一種理想情況,此時有兩條連接共享一條鏈路,這兩條連接的MSS和RTT相同,且假設(shè)它們一直處于擁塞避免狀態(tài)。
下圖是兩條連接的吞吐量情況,設(shè)一開始一條連接的吞吐量明顯大于另一條:
我們可以發(fā)現(xiàn)代表當(dāng)前吞吐量的點(diǎn)逐漸趨于平等帶寬共享的線,我們可以對這個過程進(jìn)行分析。一開始該點(diǎn)處于A處,由于處于擁塞避免狀態(tài),兩條TCP連接的吞吐量都線性增長;增長到B點(diǎn)后,鏈路發(fā)生丟包,于是兩條鏈接吞吐量都減半,到達(dá)C點(diǎn)(注意此時連接1減的比連接2要多);由于假設(shè)一直處于擁塞避免狀態(tài),吞吐量從C點(diǎn)線性增長到D點(diǎn),然后再減半,如此循環(huán)往復(fù),兩條連接的吞吐量逐漸趨于相等。
注意,這只是理想化的情形,在實(shí)際應(yīng)用中,由于多條連接的各種參數(shù)不同,TCP的這種趨于平等共享的自動調(diào)節(jié)機(jī)制也會失效。特別的,具有較小RTT的連接往往能占到更多的鏈路資源,因?yàn)樗蜷_擁塞窗口的速度更快;如果UDP連接和TCP連接共享鏈路,由于UDP連接不會去限制吞吐量,所以正常情況下它會無限的擠壓TCP連接的鏈路資源;第三種情況是,如果一個應(yīng)用同時用多條TCP連接進(jìn)行傳輸,這個應(yīng)用占據(jù)的鏈路資源也會多于只用一條TCP連接傳輸資源的應(yīng)用。
我是霜_哀,在算法之路上努力前行的一位萌新,感謝你的閱讀!如果覺得好的話,可以關(guān)注一下,我會在將來帶來更多更全面的知識講解!文章來源地址http://www.zghlxwxcb.cn/news/detail-471162.html
到了這里,關(guān)于《計(jì)算機(jī)網(wǎng)絡(luò)——自頂向下方法》精煉——3.7(2)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!