計(jì)算機(jī)網(wǎng)絡(luò)課件:4_7_5 TCP滑動(dòng)窗口與差錯(cuò)控制_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件:4_7_5 TCP滑動(dòng)窗口與差錯(cuò)控制_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件:4_7_5 TCP滑動(dòng)窗口與差錯(cuò)控制_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件:4_7_5 TCP滑動(dòng)窗口與差錯(cuò)控制_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)課件:4_7_5 TCP滑動(dòng)窗口與差錯(cuò)控制_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第七章 傳輸層第五節(jié) TCP滑動(dòng)窗口與差錯(cuò)控制TCP協(xié)議的設(shè)計(jì)特點(diǎn):應(yīng)用進(jìn)程將數(shù)據(jù)作為一個(gè)字節(jié)流發(fā)送,沒(méi)有長(zhǎng)度限制。依靠TCP連接順序傳送字節(jié)流,沒(méi)有差錯(cuò)、丟失與重復(fù)。IP分組在傳輸過(guò)程中出錯(cuò)不可避免,TCP必須提供差錯(cuò)控制。TCP差錯(cuò)控制的實(shí)現(xiàn)方法:校驗(yàn)和(差錯(cuò)檢測(cè))、確認(rèn)和超時(shí)重傳。TCP差錯(cuò)控制的設(shè)計(jì)思想一、滑動(dòng)窗口TCP使用兩個(gè)緩存和一個(gè)窗口控制字節(jié)流的傳輸;字節(jié)流分成段,打包成TCP報(bào)文一起傳送、一起確認(rèn)。TCP協(xié)議使用以字節(jié)為單位的滑動(dòng)窗口協(xié)議 (sliding-windows protocol) 來(lái)控制字節(jié)流的發(fā)送、接收與重傳。傳輸?shù)淖止?jié)流的狀態(tài)分類(lèi)字節(jié)流傳輸方向18171619

2、22212023262524273029283134333235383736第1類(lèi)已發(fā)送且被確認(rèn)(19個(gè)字節(jié))已發(fā)送,但沒(méi)有被確認(rèn)尚未發(fā)送,但接收端已準(zhǔn)備好接收 尚未發(fā)送,且接收方?jīng)]有做好準(zhǔn)備第2類(lèi)第3類(lèi)第4類(lèi)發(fā)送窗口與可用窗口1817161922212023262524273029283134333235383736發(fā)送窗口右邊界發(fā)送窗口左邊界發(fā)送窗口,15字節(jié)已發(fā)送窗口,9字節(jié)可用窗口,6字節(jié)第1類(lèi)已發(fā)送且被確認(rèn)已發(fā)送,但沒(méi)有被確認(rèn)第3類(lèi). 尚未發(fā)送,但接收端已準(zhǔn)備好接收第4類(lèi). 尚未發(fā)送,且接收方?jīng)]有做好準(zhǔn)備第2類(lèi)窗口發(fā)送與字節(jié)類(lèi)型的變化1. 發(fā)送可用窗口字節(jié)數(shù)后,字節(jié)分類(lèi)與窗口的變化1

3、817161922212023262524273029283134333235383736發(fā)送窗口右邊界發(fā)送窗口左邊界發(fā)送窗口,15字節(jié)發(fā)送窗口已全部用完,可用窗口(第3類(lèi))字節(jié)數(shù)為 0第2類(lèi)第1類(lèi)第4類(lèi)2. 處理確認(rèn)并滑動(dòng)發(fā)送窗口2423222528272629323130333635343740393841444342第1類(lèi)第2類(lèi)第4類(lèi)第3類(lèi)發(fā)送窗口,15字節(jié)發(fā)送窗口右邊界發(fā)送窗口左邊界已發(fā)送窗口,9字節(jié)可用窗口,6字節(jié)20-25字節(jié)得到確認(rèn)TCP滑動(dòng)窗口協(xié)議的特點(diǎn)TCP使用發(fā)送與接收緩沖區(qū),以及滑動(dòng)窗口機(jī)制控制TCP連接上的數(shù)據(jù)傳輸;TCP滑動(dòng)窗口是面向字節(jié)的,它可以起到差錯(cuò)控制與流量控

4、制的作用;接收方可以在任何時(shí)候發(fā)送確認(rèn),窗口大小可以由接收方根據(jù)需要增大或減??;發(fā)送窗口值不能夠超過(guò)接收窗口值,發(fā)送方根據(jù)自身的狀況,根據(jù)接收到的窗口信息發(fā)送字節(jié)流,不一定要發(fā)送整個(gè)窗口大小的數(shù)據(jù)。二、選擇重發(fā)策略因報(bào)文段丟失,接收字節(jié)流序號(hào)不連續(xù)的例子。接收字節(jié)流序號(hào)不連續(xù)的處理方法1. 拉回方式在丟失第2個(gè)報(bào)文段時(shí),不管之后的報(bào)文段是否已經(jīng)正確接收,從第2個(gè)報(bào)文段第一個(gè)字節(jié)序號(hào)為151開(kāi)始,重發(fā)所有的4個(gè)報(bào)文段;拉回方式效率很低。2. 選擇重發(fā)方式( selective ACK, SACK )接收端收到與前面接收的字節(jié)流序號(hào)不連續(xù)時(shí),如果這些字節(jié)的序號(hào)都在接收窗口之內(nèi),則首先接收這些字節(jié),

5、然后將丟失的字節(jié)流序號(hào)通知發(fā)送方(注:并不是主動(dòng)發(fā)送丟失報(bào)文段),發(fā)送方只需要重發(fā)丟失的報(bào)文段,而不需要重發(fā)已經(jīng)接收的報(bào)文段;seq = 1, DATAseq = 201, DATAseq = 401, DATAseq = 301, DATAseq = 101, DATAseq = 201, DATAseq = 501, DATAACK = 1, ack = 201, rwnd = 300ACK = 1, ack = 601, rwnd = 0ACK = 1, ack = 501, rwnd = 100AB允許 A 發(fā)送序號(hào) 201 至 500 共 300 字節(jié)A 發(fā)送了序號(hào) 101 至 20

6、0,還能發(fā)送 200 字節(jié)A 發(fā)送了序號(hào) 301 至 400,還能再發(fā)送 100 字節(jié)新數(shù)據(jù)A 發(fā)送了序號(hào) 1 至 100,還能發(fā)送 300 字節(jié)A 發(fā)送了序號(hào) 401 至 500,不能再發(fā)送新數(shù)據(jù)了A 超時(shí)重傳舊的數(shù)據(jù),但不能發(fā)送新的數(shù)據(jù)允許 A 發(fā)送序號(hào) 501 至 600 共 100 字節(jié)A 發(fā)送了序號(hào) 501 至 600,不能再發(fā)送了不允許 A 再發(fā)送(到序號(hào) 600 為止的數(shù)據(jù)都收到了)丟失!舉例A 向 B 發(fā)送數(shù)據(jù)。在連接建立時(shí),B 告訴 A:“我的接收窗口 rwnd = 400(字節(jié))”。三、重傳計(jì)時(shí)器重傳計(jì)時(shí)器用來(lái)處理報(bào)文確認(rèn)與等待重傳時(shí)間。在重傳計(jì)數(shù)器規(guī)定的時(shí)間內(nèi)收到了ACK

7、報(bào)文在重傳計(jì)數(shù)器規(guī)定的時(shí)間內(nèi)沒(méi)有收到ACK報(bào)文三、重傳計(jì)時(shí)器重傳計(jì)時(shí)器用來(lái)處理報(bào)文確認(rèn)與等待重傳時(shí)間。設(shè)定重傳計(jì)時(shí)器的時(shí)間值需要注意的問(wèn)題設(shè)定適當(dāng)?shù)臅r(shí)間值至關(guān)重要。需要分別為每個(gè)TCP連接啟動(dòng)一個(gè)重傳計(jì)時(shí)器。實(shí)際互聯(lián)網(wǎng)環(huán)境中,客戶端與服務(wù)器端之間的報(bào)文傳輸延遲變化很大。設(shè)置重傳計(jì)時(shí)器的數(shù)值最好采用“動(dòng)態(tài)的自適應(yīng)重傳方法”計(jì)算重傳時(shí)間的方法*對(duì)于每個(gè)TCP連接都要維持一個(gè)RTT變量,是當(dāng)前到達(dá)目的結(jié)點(diǎn)的最佳估計(jì)往返延時(shí)值(Round-TripTime)。計(jì)算重傳時(shí)間的公式為: Timeout = RTT 為一個(gè)大于1的常數(shù)加權(quán)因子;RTT是一個(gè)加權(quán)平均值,其計(jì)算公式為: RTT = 舊RTT+(1-)最新RTT測(cè)量值舊RTT是上一個(gè)往返時(shí)間估算值;最新RTT測(cè)量值是實(shí)際測(cè)出的前一個(gè)報(bào)文的往返時(shí)間(樣本);也是一個(gè)常數(shù)加權(quán)因子(01)。已知:收到了3個(gè)連接的確認(rèn)報(bào)文段,它們比相應(yīng)的數(shù) 據(jù)報(bào)文段發(fā)送時(shí)間分別滯后26ms、32ms與24ms。假設(shè):=0.9,舊RTT=30ms 。求:新的估計(jì)往返延時(shí)值為多少? 解:從題意中可以找出以下的已知條件:=0.9,舊RTT=30ms,M1=26ms,M2=32ms,M3=24ms。根據(jù)公式可以計(jì)算出: RTT1=0.930+(1-0.9)26

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論