




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、NS-2 實(shí)踐:分析 TCP 的擁塞控制原理作者:何堅(jiān)(來(lái)源:賽迪網(wǎng))http:/2005 年 07 月 05 日之前我曾經(jīng)給大家介紹了如何安裝網(wǎng)絡(luò)模擬器 NS-2,如何安裝移動(dòng) IPv6 快速切換協(xié)議的擴(kuò)展,以及如何使用NAM 和 XGRAPH 對(duì)試驗(yàn)結(jié)果進(jìn)行分析(請(qǐng)參見NS-2 實(shí)踐:在 NS-2 環(huán)境下模擬移動(dòng) IPv6 的快速切換)。這篇文章中,我將在上篇文章的基礎(chǔ)上,給大家詳細(xì)介紹如何利用 XGRAPH 來(lái)分析 TCP 的擁塞控制原理。TCP 是 TransmissionControlProtocol 的縮寫,即傳輸控制協(xié)議,它對(duì)應(yīng)于 OSI 七層模型中的傳輸層,建立于網(wǎng)絡(luò)層之上。T
2、CP 旨在給互聯(lián)網(wǎng)提供一種可靠的端到端的字節(jié)傳輸流。自從 1988 年問(wèn)世以來(lái),TCP 在研究者的努力下先后得到了許多新的發(fā)展,目前主要的模型包括四個(gè),即 TCPTAHOE,TCPRENO,TCPNEWRENO 和 TCPSACK。TCPTAHOE 模型是最早的 TCP 協(xié)議之一,它由 Jacobson 提出。Jacobson觀察到,TCP 報(bào)文段(TCPSegment)丟失有兩種原因,其一是報(bào)文段損壞,其二是網(wǎng)絡(luò)阻塞,而當(dāng)時(shí)的網(wǎng)絡(luò)主要是有線網(wǎng)絡(luò),不易出現(xiàn)報(bào)文段損壞的情況,網(wǎng)絡(luò)阻塞為報(bào)文段丟失的主要原因。針對(duì)這種情況,TCPTAHOE 對(duì)原有協(xié)議進(jìn)行了性能優(yōu)化,其特點(diǎn)是,在正常情況下,通過(guò)重傳
3、計(jì)時(shí)器是否超時(shí)和是否收到重復(fù)確認(rèn)信息(dupack)這兩種丟包監(jiān)測(cè)機(jī)制來(lái)判斷是否發(fā)生丟包,以啟動(dòng)擁塞控制策略;在擁塞控制的情況下,采用慢速啟動(dòng)(SlowStart)算法和快速重傳(FastRetransmit)算法來(lái)控制傳輸速率。在試驗(yàn)中,我們以 TCPTAHOE 模型為例,對(duì) TCP 的擁塞控制原理進(jìn)行分析,包括兩種丟包監(jiān)測(cè)機(jī)制和擁塞控制中的慢速啟動(dòng)算法和快速重傳算法。1.1. TCPTCP 擁塞控制相關(guān)技術(shù)簡(jiǎn)介1.11.1 慢速啟動(dòng)算法在 TCPTAHOE 模型中,擁塞控制主要是通過(guò)調(diào)整發(fā)送端的發(fā)送速率,而這又主要是通過(guò)三個(gè)變量實(shí)現(xiàn)的:擁塞窗口(CongestionWindow),接收端窗
4、口(ReceiverssWindow,慢速啟動(dòng)閾值(SlowStartThreshold,SSTHRESH)。發(fā)送端一旦監(jiān)測(cè)到數(shù)據(jù)包丟失(其原因可能是重傳計(jì)時(shí)器超時(shí),亦可能是收到重復(fù)的 ACK 信令),它就會(huì)開始調(diào)整發(fā)送速率。這包括,ssthresh 調(diào)整為當(dāng)前擁塞窗口的一半,同時(shí)擁塞窗口將降低到 1 個(gè)報(bào)文段。然后,隨著通信過(guò)程的恢復(fù),擁塞窗口持續(xù)增長(zhǎng)。在擁塞窗口大小未達(dá)到 ssthresh 之前,它以指數(shù)速度增長(zhǎng);到達(dá)之后則開始線性增長(zhǎng)。有趣的是,雖然這種算法稱為慢速啟動(dòng)算法,但實(shí)際上一點(diǎn)兒也不慢,它是指數(shù)增長(zhǎng)的。1.21.2 快速重傳算法當(dāng)發(fā)送端連續(xù)收到 3 個(gè)對(duì)應(yīng)于同一個(gè)序列號(hào)的 AC
5、K 信令時(shí),就觸發(fā)了其快速重傳算法,即發(fā)送端不等重傳計(jì)時(shí)器超時(shí),立即向接收端發(fā)送指定的報(bào)文段。1.31.3 丟包檢測(cè)機(jī)制有如下兩種.重復(fù) ACK 信令重復(fù) ACK 有兩個(gè)作用,其一,發(fā)送端可以確信該 ACK 序列號(hào)之前的 TCP 報(bào)文段都已經(jīng)被接收端成功接收;其二,發(fā)送端可以據(jù)此判斷出接收端接收到的 TCP 報(bào)文段發(fā)生了亂序的情況和接收端當(dāng)前期待的 TCP 報(bào)文段序列號(hào),從而觸發(fā)其擁塞控制策略。.超時(shí)重傳發(fā)送端發(fā)出報(bào)文段后,在規(guī)定的時(shí)間內(nèi)沒有能夠收到接收端返回的 ACK 信令,從而使得發(fā)送端認(rèn)為該報(bào)文段丟失,觸發(fā)其擁塞控制策略。在這里面主要涉及到重傳計(jì)時(shí)器(retransmissiontime
6、r),它是 TCP 協(xié)議中最重要的計(jì)時(shí)器。根據(jù)ComputerNetworks,FourthEdition,當(dāng)報(bào)文段發(fā)出后,重傳計(jì)時(shí)器立即啟動(dòng),如果發(fā)送端在計(jì)時(shí)器超時(shí)之前得到 ACK,則計(jì)時(shí)器停止; 如果計(jì)時(shí)器超時(shí)后仍然沒有收到新啟動(dòng)。 計(jì)算超時(shí)的主要公式有:Timeout=RTT+4DD=aD+(-Pa)|RTTM|RTT=aRTT+(1-a)M其中 M、RTT、D 均為可變值,M 是當(dāng)次的 RTT 值。. .試驗(yàn)網(wǎng)絡(luò)拓?fù)鋱D與參數(shù)該試驗(yàn)基于 NS-2 網(wǎng)絡(luò)模擬器,并在我們之前搭建好的無(wú)線環(huán)境中進(jìn)行,試驗(yàn)?zāi)康氖欠治?TCP 擁塞控制原理。圖 1 是試驗(yàn)網(wǎng)絡(luò)拓?fù)鋱D。由于網(wǎng)絡(luò)層協(xié)議是移動(dòng) IPv6
7、,因此有名稱為通信節(jié)點(diǎn)(CorrespondingNode,CN)、家鄉(xiāng)代理(HomeAgent,HA)、接入路由器(AccessRouter,AR)、移動(dòng)節(jié)點(diǎn)(MobileNode,MN)的網(wǎng)絡(luò)實(shí)體,其中 CN 為數(shù)據(jù)發(fā)送端,MN 為數(shù)據(jù)接收端,AR 是接入路由器,HA 則對(duì)于我們這次的試驗(yàn)沒有影響,因此不予介紹。NodeX 為普通網(wǎng)絡(luò)節(jié)點(diǎn)。網(wǎng)絡(luò)鏈路的典型參數(shù),即帶寬和延遲,標(biāo)于每條鏈路之上。一般情況下,由于 Internet 上傳送的數(shù)據(jù)量大,相應(yīng)的延遲比較大,因此 Internet 的延遲設(shè)為了 50ms;無(wú)線網(wǎng)絡(luò)的帶寬比較小,因此我們?cè)O(shè)為了 1M。整個(gè)試驗(yàn)過(guò)程持續(xù) 80 秒。CN 為
8、FTP 型的數(shù)據(jù)源,TCP 報(bào)文段大小為 256bytes,擁塞控制窗口(CongestionWindow)為 32。CN 從第 6 秒開始向 MN1 發(fā)送 TCP 報(bào)文段,一直到整個(gè)試驗(yàn)結(jié)束。該 TCP 協(xié)議采用 NS-2中的 Tahoe 模型。兩個(gè)接入路由器(AccessRouter,AR)分別接入兩個(gè)局域網(wǎng),它們的位置分別為(85.0,135.0),(155.0,135.0),相隔70 米,AR 的有效覆蓋范圍是以 AR 自身為中心,半徑 40 米的圓,又因?yàn)?PAR 和 NAR 在縱坐標(biāo)相同,因此在他們兩者的中心連線上,有 10 米重復(fù)的覆蓋范圍。MN從第5秒開始接收CN發(fā)送過(guò)來(lái)的FT
9、P數(shù)據(jù), 經(jīng)過(guò)5秒鐘的穩(wěn)定時(shí)間后, 于第10秒以1m/s的恒定速度由位置(85.0,135.1)走到(155.0,135.1)處,相當(dāng)于沿著 PAR 與 NAR 的中心連線,由 PAR 走向 NAR 處。試驗(yàn)進(jìn)行到第 80 秒的時(shí)候,MN 剛好走到目的地。對(duì)于網(wǎng)絡(luò)節(jié)點(diǎn)而言,沒有配置好網(wǎng)絡(luò)層就不能夠正常的進(jìn)行傳輸層通信。在該試驗(yàn)中,MN 在移動(dòng)過(guò)程中會(huì)發(fā)生切換,其間由于 MN 需要進(jìn)行網(wǎng)絡(luò)層的配置將不能夠進(jìn)行正常的傳輸層通信,因此 CN 會(huì)監(jiān)測(cè)到報(bào)文段丟失的情況,并且會(huì)啟動(dòng)其擁塞控制策略,這就是我們觀察的重點(diǎn)。. .試驗(yàn)與分析我們的測(cè)試分為兩部分。第一部分試驗(yàn)以重復(fù) ACK 信令彳為 TCP 擁
10、塞控制策略的觸發(fā)事件,第二部分試驗(yàn)以超時(shí)重傳作為 TCP 擁塞控制策略的觸發(fā)事件。每部分都做 10 次模擬試驗(yàn)以求試驗(yàn)數(shù)據(jù)的客觀性。ACK,那么報(bào)文段就重傳,并且計(jì)時(shí)器重當(dāng)試驗(yàn)結(jié)束后,我們用 XGRAPH 制圖,有兩種類型。第一種為 TCP 序列號(hào)圖,它們基于通信節(jié)點(diǎn)(發(fā)送報(bào)文段的節(jié)點(diǎn))和移動(dòng)節(jié)點(diǎn)(接收?qǐng)?bào)文段的節(jié)點(diǎn))的發(fā)送和接收緩存中的 TCP 序列號(hào)制成,能反映 TCP 報(bào)文段的傳輸情況,這類圖的橫坐標(biāo)為時(shí)間,縱坐標(biāo)為 TCP 序列號(hào)。第二類圖為擁塞窗口變化圖,能反映數(shù)據(jù)包的傳輸速率,這類圖的橫坐標(biāo)為時(shí)間,縱坐標(biāo)為擁塞窗口大小。首先我們根據(jù)圖 2 至圖 7 來(lái)分析通過(guò)重復(fù) ACK 信令觸發(fā)
11、CN(發(fā)送節(jié)點(diǎn))啟用 TCP 擁塞控制策略的情況。圖 4 通信節(jié)點(diǎn)和移動(dòng)節(jié)點(diǎn)發(fā)送端 TCP 序列號(hào)詳圖圖 6 通信節(jié)點(diǎn)擁塞控制窗口變化4142圖 7 通信節(jié)點(diǎn)擁塞控制窗口變化詳圖其中,圖 2 至圖 5 是試驗(yàn)期間 CN(通信節(jié)點(diǎn),在試驗(yàn)中又是發(fā)送節(jié)點(diǎn))和 MN(移動(dòng)節(jié)點(diǎn),在試驗(yàn)中又是接收節(jié)點(diǎn))的接收緩存和發(fā)送緩存中的 TCP 序列號(hào)圖。圖 6 和圖 7 則是試驗(yàn)期間 CN 的擁塞窗口變化圖。圖 4、圖 5分別為為圖 2、圖 3 紅色矩形區(qū)域的放大圖;圖 7 為圖 6 藍(lán)色矩形區(qū)域的放大圖。具體分析如下:.MN 進(jìn)行切換的過(guò)程中,短時(shí)間內(nèi)將不能夠接收 TCP 報(bào)文段,這在圖 5 中,表現(xiàn)為 MN
12、 的接收端 TCP 序列號(hào)在 40.4 至40.6 秒期間,有一個(gè)缺口;.由于 CN 并不了解 MN 已經(jīng)不能夠接收 TCP 報(bào)文段,所以它繼續(xù)發(fā)送數(shù)據(jù)??梢詮膱D 4 中看到 CN 發(fā)送的 TCP 報(bào)文段序列號(hào)比 MN 的長(zhǎng)了一段,而正常通信情況下,應(yīng)該是 CN 發(fā)出的每一個(gè)報(bào)文段,MN 都會(huì)回應(yīng)一個(gè) ACK 信令,在圖中表現(xiàn)為縱坐標(biāo)相同;.由于 MN 接收的報(bào)文段序列號(hào)有缺口,意味著它收到了亂序的報(bào)文段,因此 MN 發(fā)送了一連串的重復(fù) ACK信令,對(duì)應(yīng)于圖 4 中一段平行于時(shí)間軸的直線;.40.6 秒左右,CN 收到一連串的來(lái)自 MN 的重復(fù) ACK 信息,即圖 5 中一段平行于時(shí)間軸的直線
13、,這就觸發(fā)了 CN 的擁塞控制策略及快速重傳算法;.根據(jù)快速重傳算法,CN 在收到第 3 個(gè)重復(fù)確認(rèn)信令后,不等重傳計(jì)時(shí)器超時(shí),立即發(fā)送 MN 在 ACK 信令中所指定的報(bào)文段,因此在圖 4 中,在 40.6 秒時(shí)間軸的右方,有個(gè)紅色的三角形,即代表 CN 發(fā)出的 TCP 報(bào)文段。快速重傳算法在此處加速了通信速度,因?yàn)?,CN 與 MN 間的 RTT(RoundTripTime)至少為它們之間網(wǎng)絡(luò)延遲之和的兩倍,即 112 毫秒,RTO(RetransmissionTimeOut)還要更長(zhǎng),如果等到 RTO 超時(shí)再重發(fā)數(shù)據(jù)包,則需要花至少 112 毫秒;但實(shí)際上,從圖 4 中可以看出,CN 重發(fā)
14、數(shù)據(jù)包只花了 40 毫秒左右的時(shí)間。因此,快速重傳在這里發(fā)揮了作用。.與此同時(shí),在圖 7 中可以看到,啟動(dòng)擁塞控制策略后,CN 對(duì)擁塞窗口大小進(jìn)行了調(diào)整,首先是在 40.6 秒左右降到 1 個(gè)報(bào)文段,然后根據(jù)慢速啟動(dòng)算法,CN 以指數(shù)形式來(lái)提高擁塞窗口大小,即 20,21,22,23,直到將其調(diào)整到慢速啟動(dòng)閾值(SSTHRESH,SlowStartThreshold)。在這里,由于試驗(yàn)中定義擁塞窗口大小為 32,因此,發(fā)生網(wǎng)絡(luò)擁塞時(shí),SSTHRESH 調(diào)整為擁塞窗口大小的一半,即 16。從圖 7 中可以看出,擁塞窗口大小增長(zhǎng)到 16 后進(jìn)入線性增長(zhǎng)階段。.此外,由于擁塞窗口大小的限制,CN 在
15、快速重傳開始后,前面四次 TCP 報(bào)文段傳送速率分別是一次發(fā)送20,21,22,23 個(gè) TCP 報(bào)文段,這在圖 4 中,表現(xiàn)為紅色三角形在 40.6 秒后的四次發(fā)送數(shù)量分別是 1,2,4,8上述就是根據(jù)數(shù)據(jù)圖對(duì)重復(fù) ACK 信令引起的擁塞控制策略進(jìn)行的分析,如果對(duì)此有了充分的理解,那么超時(shí)重傳的情況也與此類似。因此,接下來(lái)我們根據(jù)圖 8 至圖 9 來(lái)簡(jiǎn)單說(shuō)明通過(guò)超時(shí)重傳觸發(fā)發(fā)送端啟用 TCP 擁塞控制策略的情況。-UN圖 8 通信節(jié)點(diǎn)和移動(dòng)節(jié)點(diǎn)發(fā)送端 TCP 序列號(hào)可以看到,從圖 9 中可以看到,50.1 秒左右,由于 MN 開始切換,不能夠正常接收 TCP 報(bào)文段;并且由于切換時(shí)間較長(zhǎng),M
16、N 長(zhǎng)時(shí)間內(nèi)都不能夠給 CN 進(jìn)行回應(yīng)。于是當(dāng) CN 等到自己的重傳計(jì)時(shí)器超時(shí),就再次發(fā)送沒有得到 MN 回應(yīng)的報(bào)文段。在 50.1 秒后,CN 分另 I隔了 0.5 秒,1.0 秒,2.0 秒發(fā)送了三次同樣的 TCP 報(bào)文段,這對(duì)應(yīng)于圖 8 中的標(biāo)記。該超時(shí)重傳過(guò)程持續(xù)到 MN 最終完成切換配置,并對(duì)第三次重發(fā)的報(bào)文段進(jìn)行回應(yīng),于是兩者開始恢復(fù)通信。4 4.小結(jié)通過(guò)該試驗(yàn),一方面我們?cè)囼?yàn)數(shù)據(jù)分析和驗(yàn)證了 TCP 的擁塞控制原理;另一方面,我們可以看到,TCPTAHOE模型并不太適合作為無(wú)線網(wǎng)絡(luò)的傳輸協(xié)議。TCP 協(xié)議由于出現(xiàn)的比較早,其性能方面的優(yōu)化主要是基于傳輸網(wǎng)絡(luò)為有線網(wǎng)絡(luò)這個(gè)假設(shè),因此,一旦根據(jù)重傳計(jì)時(shí)器超時(shí)或者重復(fù) ACK 信令判斷出發(fā)生了數(shù)據(jù)包丟失,當(dāng)前的 TCP 協(xié)議就認(rèn)為發(fā)生了網(wǎng)絡(luò)擁塞,于是啟用網(wǎng)絡(luò)擁塞策略來(lái)降低傳輸速率,比如慢速啟動(dòng),將擁塞窗口調(diào)整為 1 個(gè) TCP 報(bào)文段;而實(shí)際情況是,我們的傳輸基于無(wú)線網(wǎng)絡(luò),當(dāng)不能夠接收到 ACK 信令的時(shí)候,很有可能是因?yàn)橐苿?dòng)節(jié)點(diǎn)正在進(jìn)行切換或者是無(wú)線網(wǎng)絡(luò)的信號(hào)不好,因此,需要發(fā)送節(jié)點(diǎn)保持或者加快發(fā)送速率,而不是減速發(fā)送。適合無(wú)線網(wǎng)絡(luò)運(yùn)行的 TCP 協(xié)議已
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年不良資產(chǎn)處置市場(chǎng)格局與創(chuàng)新模式研究報(bào)告:政策與市場(chǎng)分析
- 2025年便利店智能化門店管理與顧客體驗(yàn)優(yōu)化報(bào)告
- 2025年便利店數(shù)字化轉(zhuǎn)型與業(yè)務(wù)拓展案例分析報(bào)告
- 北京航空航天大學(xué)《影像藝術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年項(xiàng)目承包協(xié)議
- 北華大學(xué)《口譯理論與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 北部灣大學(xué)《醫(yī)學(xué)基礎(chǔ)(下)》2023-2024學(xué)年第二學(xué)期期末試卷
- 保定理工學(xué)院《設(shè)計(jì)創(chuàng)新技術(shù)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025至2031年中國(guó)色彩打樣系統(tǒng)軟件行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)等離子雙極腹腔鏡手術(shù)器械行業(yè)投資前景及策略咨詢研究報(bào)告
- 《風(fēng)力發(fā)電廠調(diào)試規(guī)程》
- 水穩(wěn)基層雙層連鋪專項(xiàng)方案
- 中國(guó)加速康復(fù)外科臨床實(shí)踐指南(2021)解讀
- 叮咚智能鎖說(shuō)明書
- DB32T 4719-2024酒店服務(wù)與廚師職業(yè)技能等級(jí)認(rèn)定工作規(guī)范
- 園林綠化風(fēng)險(xiǎn)因素辨識(shí)及防控措施課件
- 2024年湖南省郴州湘能農(nóng)電服務(wù)有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年度安徽白帝集團(tuán)限公司社會(huì)招聘高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 2023年遼寧卷物理高考試卷(含答案)
- 3.2.2細(xì)胞器之間的協(xié)調(diào)配合和生物膜系統(tǒng)(教師版)
- 河源網(wǎng)約車考試題附帶答案
評(píng)論
0/150
提交評(píng)論