freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

tcp擁塞控制機制定量性能分析大學生畢業(yè)設(shè)計(編輯修改稿)

2024-09-29 10:05 本頁面
 

【文章內(nèi)容簡介】 能保留數(shù)據(jù)包,結(jié)果緩存會進一步消耗,加重擁塞。因此,擁塞控制是一個動態(tài)的、全局性的 復雜 過程,涉及到所有的主機、所有的路由器 , 以及與降低網(wǎng)絡(luò)傳輸性能有關(guān)的所有因素。 擁塞控制 為了最大限度地利用資源,使網(wǎng)絡(luò)工作在輕度擁塞狀態(tài)是最為理想的,但這增加了滑向擁塞崩潰的風險,因此需要一定的擁塞控制機制來加以約束和限制。 為了便于闡述擁塞控制機制的內(nèi)涵, 我們 首先 用圖 12來描述擁塞現(xiàn)象。當網(wǎng)絡(luò)負載較小時,吞吐量基本上隨著負載的增長而增長,呈線性關(guān)系,響應時間增長緩慢。當負載達到網(wǎng)絡(luò)容量時,吞吐量呈 現(xiàn)出緩慢增長,而響應時間急劇增加,這一點稱為 Knee。如果負載繼續(xù)增加,路由器就開始丟包,當負載超過一TCP 擁塞控制 機制 定量性能分析 3 定量時,吞吐量開始急劇下降,這一點稱為 Cliff。 擁塞控制機制包含擁塞避免 (Congestion Avoidance) 和擁塞控制(Congestion Control)兩種策略。前者的目的是使網(wǎng)絡(luò)運行在 Knee 附近,避免擁塞的發(fā)生 ; 而后者則是使得網(wǎng)絡(luò)運行在 Cliff的左側(cè)區(qū)域。前者是一種“預防”措施,維持網(wǎng)絡(luò)的高吞吐量、低延遲狀態(tài),避免進入擁塞;后者是一種“恢復”措施,使網(wǎng)絡(luò)從擁塞中恢復過來,進入正 常的運行狀態(tài)。 擁塞控制能夠有效地預防死鎖的發(fā)生,提高網(wǎng)絡(luò)的性能,其作用不言而喻。在下一章節(jié),我們將詳細介紹 TCP 擁塞控制機制。 2. TCP 擁塞控制 TCP 協(xié)議簡介 TCP(Transmission Control Protocol)協(xié)議是完成端到端信息傳輸?shù)膫鬏攲訁f(xié)議,是 TCP/IP協(xié)議 族的重要成員。 TCP協(xié)議主要由差錯控制機制和擁塞控制機制組成,它能夠自動適應網(wǎng)絡(luò)狀況的變化。 TCP協(xié)議引入差錯控制機制的目的是保障端到端傳輸?shù)目煽啃?,為無連接的IP網(wǎng)絡(luò)提供基于連接的傳輸服務。 TCP擁塞控制機制的 意義更為重大,它可以根據(jù)網(wǎng)絡(luò)狀況對發(fā)送速率進行調(diào)節(jié),避免擁塞的擴大,這使得互聯(lián)網(wǎng)絡(luò)的正常運行成為可能。它所采用的擁塞控制算法本質(zhì)上是一種窗口上限可變的滑窗 (SlidingWindow)式流量控制方法,是對滑窗流控算法的繼承和發(fā)展。傳統(tǒng)的滑窗式流控算法的窗口上限是固定的, 發(fā)送端 每發(fā)送一個報文其發(fā)送窗口減小一個單位 , 而每接收到一個報文的確認 , 發(fā)送窗口增加一個單位,這樣終端 在 一個輪次中能夠發(fā)送報文的最大個數(shù)是確定的,因此,在鏈路帶寬充足的情況下, 發(fā)送端 的傳輸能力將受到發(fā)送窗口上限的限制。 TCP流控算法對 傳統(tǒng)的 滑 窗算法進行 了 擴展,根據(jù)網(wǎng)絡(luò)狀況對窗口上限進行調(diào)節(jié)。在 TCP算法中,窗口上限由發(fā)送端的發(fā)送窗口和接收端的通知窗口共同決定 (取兩者中的最小值 )。這樣,在網(wǎng)絡(luò)正常工作時, TCP發(fā)送端 可以通過增大窗口上限盡可能多地占用網(wǎng)絡(luò)空閑帶寬;而當網(wǎng)絡(luò)發(fā)生擁塞時, TCP發(fā)送端 可以通過減小發(fā)送窗口上限的方式降低發(fā)送速率 , 從而起到緩解擁塞的作用。 TCP 擁塞控制 機制 定量性能分析 4 TCP 擁塞控制所要解決的主要問題 要改善 TCP傳輸?shù)姆€(wěn)定性,減少擁塞的發(fā)生,或者要與非標準 TCP應用在同一網(wǎng)絡(luò)中共存 , 采取一定的 TCP擁塞控制機制 是必要的。 TCP擁塞控制需要解決 的主要問題有 : 第一、滿足低的報文丟棄率的要求,提高帶寬利用率。 第二、高 TCP傳輸?shù)姆€(wěn)定性,減少網(wǎng)絡(luò)狀態(tài)的振蕩。 第三、保證 TCP公平,即 TCP友好特性。 TCP 擁塞控制涉及到的參數(shù) TCP擁塞控制 機制 是通過控制一些重要參數(shù)的改變來實現(xiàn)的。用于 TCP擁塞控制的參數(shù)主要有 : (1)擁塞窗口 (cwnd):是擁塞控制的關(guān)鍵參數(shù)。它描述發(fā)送端在擁塞控制情況下一次最多能發(fā)送 的 數(shù)據(jù)包數(shù)量。 (2)通知窗口 (awnd):是接收端給發(fā)送端預設(shè)的發(fā)送窗口大小,它只在 TCP連接建立的初始階段起作用。 (3)發(fā)送窗口 (win):是發(fā)送端每次實際發(fā)送數(shù)據(jù)的窗口大小。 (4)慢啟動門限 (ssthresh):是擁塞控制中用來限制發(fā)送窗口大小的門限值,它是慢啟動階段和擁塞避免階段的分界點,初始值設(shè)為 65535字節(jié)或 awnd的大小。 (5)回路響應時間 (RTT):一個 TCP數(shù)據(jù)包從發(fā)送端發(fā)送直至發(fā)送端收到確認的時間間隔。 (6)重傳超時 時長 (RTO):描述數(shù)據(jù)包從發(fā)送到失效的時間間隔,是判斷數(shù)據(jù)包丟失與否、網(wǎng)絡(luò)是否擁塞的重要參數(shù),通常設(shè)為 2RTT或 5RTT。 下面將介紹 TCP擁塞控制機制是如何改變上述參數(shù)以達到控制網(wǎng)絡(luò)擁塞、提高網(wǎng) 絡(luò)性能的目的的。 TCP 擁塞控制機制 TCP 的擁塞控制機制是由慢啟動、擁塞避免、快速重傳和快速恢復四個核心算法組成的。慢啟動階段用于快速探測并占有網(wǎng)絡(luò)可用帶寬;擁塞避免階段是數(shù)據(jù)傳輸?shù)闹饕獣r段;快速重傳則完成了丟失報文的重傳;而快速恢復避免了由于過 度 地減小發(fā)送窗口而導致網(wǎng)絡(luò)性能下降的發(fā)生,使得網(wǎng)絡(luò)迅速從擁塞狀態(tài)中恢復。圖 21描述了 TCP擁塞控制中慢啟動 和 擁塞避免兩個階段的動態(tài)情況。有關(guān)它們的具體 實現(xiàn) 將在下一節(jié) 詳細 闡述。 TCP 擁塞控制 機制 定量性能分析 5 TCP 擁塞控制算法 TCP協(xié)議經(jīng)過多年的發(fā)展,有了多種具體的實現(xiàn), 其中包括 Tahoe、 Reno、NewReno、 SACK和 Vegas TCP。運行在主機中的這些實現(xiàn)使得 TCP連接在網(wǎng)絡(luò)發(fā)生擁塞時回退,并對網(wǎng)絡(luò)中的擁塞信號進行響應,正是這些改進的 TCP實現(xiàn)的擁塞避免和擁塞控制算法防止了今天網(wǎng)絡(luò)的擁塞崩潰。下面詳細介紹這些 TCP實現(xiàn)以及運用于這些實現(xiàn)中的擁塞避免和擁塞控制算法。 Tahoe Tahoe算法是最早被提出來的 TCP擁塞控制算法,雖然已歷經(jīng)近二十年,但至今仍被大多數(shù) TCP實現(xiàn)所采用。它的一些經(jīng)典理論也被后來的大多數(shù) TCP擁塞控制算法所沿用,為后繼算法奠定 了基礎(chǔ)。其核心思想是讓 cwnd以指數(shù)型增長方式迅速逼進可用信道容量,然后慢慢接近均衡。 Tahoe包括慢啟動、擁塞避免和快速重傳三個部分。 (1)慢啟動 初始時, cwnd值 設(shè)置 為 1,每收到一個成功的 ACK,則: cwnd = cwnd + 1 理想情況下,在一個 RTT內(nèi),發(fā)送端會收到 cwnd個成功的 ACK。這樣,每隔一個 RTT: cwnd = 2*cwnd 即在慢啟動階段, cwnd以指數(shù)型增長,直到 cwnd超過 ssthresh值。當cwnd=ssthresh時, Tahoe進入擁塞避免階段。 慢啟動的 目的是避免連接建立時大量突發(fā)數(shù)據(jù)流可能造成的擁塞。 (2)擁塞避免 TCP 擁塞控制 機制 定量性能分析 6 在擁塞避免階段,每收到一個成功的 ACK,則: cwnd = cwnd + 1 / cwnd 因此,每隔一個 RTT, cwnd增 1。即在擁塞避免階段, cwnd線性增加。 如果發(fā)生超時或者連續(xù)收到 3個重復的 ACK(簡稱 dup ACK) , Tahoe就認為網(wǎng)絡(luò)發(fā)生了擁塞。 對于超時, ssthresh = max(cwnd/2, 2) cwnd =1 然后轉(zhuǎn)入慢啟動。 若是收到連續(xù) 3個 dup ACK,則 Tahoe進入快速重傳階段。 可以看到,當 算法進入擁塞避免階段后,擁塞窗口的增長趨于平緩,避免了擁塞窗口持續(xù)快速增長可能導致的擁塞。 (3)快速重傳 在此階段,首先立即重發(fā)丟失的分組,而不必等待重傳定時器超時,同時設(shè)置 : ssthresh=max(cwnd/2, 2) cwnd =1 然后,轉(zhuǎn)入慢啟動階段??焖僦貍骷涌炝怂惴ǖ捻憫俣龋瑴p少了重傳超時的發(fā)生。 Tahoe核心算法可簡單描述為 : for every ack {if cwnd ssthresh then cwnd++ //慢速啟動 else cwnd +=1/cwnd //擁塞避免 } for every loss //快速重傳 {ssthresh =max(cwnd/2, 2) cwnd=1 } Tahoe算法的提出使得 TCP由以前的單純流量控制轉(zhuǎn)向擁塞控制,它明確地將TCP數(shù)據(jù)流的發(fā)送過程劃分為三個階段,慢啟動避免了連接建立時突發(fā)數(shù)據(jù)流對網(wǎng)絡(luò)的沖擊;擁塞避免限制了在傳輸過程中無限制的速率增長,避免了由此可能導致的擁塞;快速重傳則加快了發(fā)送端對擁塞的響應速度,使得擁塞能快速 地 消除。 Reno Reno算法是對 Tahoe的改進, 從上一小節(jié)我們可以看到,在收到連續(xù) 3個 dup ACK或在超時的情況下, Tahoe設(shè)置 cwnd為 l,然后進入慢啟動階段。這一方面會引起網(wǎng)絡(luò)的激烈振蕩,另一方面大大降低了網(wǎng)絡(luò)的利用率。針對這個問題, 1990年 Jacobson在 Tahoe的基礎(chǔ)上提出了 Reno算法。 Reno算法對 Tahoe的改進主要在兩個方面。第一,收到連續(xù) 3個 dup ACK后,算法不經(jīng)過慢啟動,而直接進入擁塞避免階段。第二,增加了快速重傳 /快速恢復 (FR/FR)機制。事實上,每一個 dup ACK表明已經(jīng)有一個數(shù)據(jù)包離開了網(wǎng)絡(luò),不管它是不是我們 所期望的。根據(jù) Jacobson的數(shù)據(jù)守恒理論 (見 ),發(fā)送端這時可以向網(wǎng)絡(luò)發(fā)送下一個數(shù)據(jù)包??焖僦貍?/快速恢復機制就是這樣做的。TCP 擁塞控制 機制 定量性能分析 7 具體過程為 : (1)收到 3個 dup ACK進入 FR/FR ssthresh =max(cwnd/2, 2) (2)重發(fā)丟失的數(shù)據(jù)包 (3)窗口膨脹 cwnd =ssthresh + ndup ndup為收到的 dup ACK數(shù)。 (4)當 min(awnd, cwnd)足夠大時,發(fā)送新的數(shù)據(jù)包 (5)當收到非重復的 ACK時 cwnd =ssthresh (6)轉(zhuǎn)入擁塞避免階段 經(jīng)過分析,可以看出: Reno在收到 3個 dup ACK后,就轉(zhuǎn)入 FR/FR,而遇到超時 后, Reno和 Tahoe一樣進入慢啟動階段。可以從 Reno狀態(tài)轉(zhuǎn)換圖直觀地看到 Reno的整個數(shù)據(jù)傳輸過程。 Reno 目前被廣泛采用,以其算法的簡單、有效和魯棒性成為 TCP 擁塞控制算法的主流。針對 Reno 的局限性,一些新算法如: NewReno, SACK 等對其進行了改進。 NewReno Reno TCP提出的快速恢復算法提高了報文丟失后 TCP的吞吐量和頑健性,但是它僅考慮了每次 擁塞發(fā)生 時 只丟失一個報文的情形。然而在實際網(wǎng)絡(luò)中,一旦發(fā)生擁塞,路由器會丟棄大量的報文 (對于采用 Drop Tail的路由器而言,丟棄尤為嚴重 ), TCP在一次擁塞中丟失多個報文的情形非常普遍。在這種情況下,采用Reno TCP算法的發(fā)送端多次將 cwnd和 ssthresh減半,其結(jié)果是 TCP的發(fā)送速率呈指數(shù)降低,系統(tǒng)吞吐量急劇下降,更有甚者,當發(fā)送窗口小于 4 時無法有效地觸發(fā)快速重傳, Reno TCP發(fā)送端會陷入僅通過傳輸超時來發(fā)現(xiàn)報文丟失的困境中。 NewReno 在 Reno 的基礎(chǔ)上對快速恢復算法進行了修改,添 加了恢復應答(Recovery ACK)判斷功能,以增強 TCP 發(fā)送端通過 ACK報文信息分析報文傳輸狀況的能力。 NewReno 使 TCP 發(fā)送端可以把一次擁塞丟失多個報文的情形與多次擁塞的情形區(qū)分開來,進而在每一次擁塞發(fā)生后擁塞窗口僅減半一次,從而提高了TCP的頑健性和吞吐量。 恢復應答 (Recovery ACK)— 改進的快速恢復算法 為了介紹 NewReno中改進的快速恢復算法,首先定義部分應答 (Partial ACK,TCP 擁塞控制 機制 定量性能分析 8 簡稱 PACK)和恢復應答 (Recovery ACK,簡稱 RACK)報文。 把 TCP發(fā)送端恢 復階段中接收到的 ACK報文(非 dup ACK)記 為 ACKx,在接收到ACKx時 TCP終端己發(fā)出的序列號 (SN)最大的報文 記 為 PKTy,如果 ACKx不是 PKTy的應答報文則稱報文 ACKx為部分應答,即 PACK報文 ; 反之 , 若 ACKx恰好是 PKTy的應答報文,則報文 ACKx被稱為恢復應答,即 RACK報文。 TCP發(fā)送端 接收到恢復應答表明:經(jīng)過重傳, TCP發(fā)送端 發(fā)送的所有報文都己經(jīng)被接收端正確接收,網(wǎng)絡(luò)已經(jīng)從擁塞中恢復。 經(jīng)過 NewReno改進的快速恢復算法可以描述為以下幾個步驟 : 1. 重新定義“恢復階段”,這里把 從快速重傳算法發(fā)現(xiàn)丟失報文到 TCP發(fā)送端 接收到 RACK報文的時段稱為恢復階段。 2. 進入恢復階段后, TCP發(fā)送端 重傳被認定為丟失的報文,并分別設(shè)置ssthresh和 cwnd如下: ssthresh =max(cwnd/2, 2) cwnd = ssthresh + 3*SMSS 3. 當接收到 dup ACK后, TCP發(fā)送端 按照式子 cwnd =ssthresh + ndup對 cwnd進行設(shè)定 (與 Reno TCP的設(shè)定方式相似 )。 4. 當接收到 PACK后, TCP發(fā)送端 立即重傳 PACK所確認報文的 下一個報文,擁塞窗口不受影響。 5. 當接收到 RACK后, TCP發(fā)送端 認為擁塞中所有被丟棄的報文均
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1