計(jì)算機(jī)網(wǎng)絡(luò),自頂向下方法與Internet特色課后習(xí)題答案第三章中文版_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò),自頂向下方法與Internet特色課后習(xí)題答案第三章中文版_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò),自頂向下方法與Internet特色課后習(xí)題答案第三章中文版_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò),自頂向下方法與Internet特色課后習(xí)題答案第三章中文版_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò),自頂向下方法與Internet特色課后習(xí)題答案第三章中文版_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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、WRI 研究生06013復(fù)習(xí)題1. P127 源端口號(hào)為y,目的端口號(hào)為x。2. P 131 應(yīng)用程序開發(fā)者可能不想其應(yīng)用程序使用TCP的擁塞控制,因?yàn)檫@會(huì)在出現(xiàn)擁塞時(shí)降低應(yīng)用程序的傳輸速率。通常,IP電話和IP視頻會(huì)議應(yīng)用程序的設(shè)計(jì)者選擇讓他們的應(yīng)用程序運(yùn)行在UDP上,因?yàn)樗麄兿胍苊釺CP的擁塞控制。還有,一些應(yīng)用不需要TCP提供的可靠數(shù)據(jù)傳輸。3. P131 是的,應(yīng)用程序開發(fā)者可以將可靠數(shù)據(jù)傳輸放到應(yīng)用層協(xié)議中完成。但是這需要相當(dāng)大的工作量和進(jìn)行調(diào)試。4. a) false b) false c) true d) false e) true f) false g) false5. a)

2、 20 bytes (110-90=20bytes) b) ack number = 90 P155 第一個(gè)包丟失,發(fā)送第一個(gè)包之前的一個(gè)包的ACK6. P155 3個(gè)報(bào)文段,第一個(gè)報(bào)文段,客戶機(jī)到服務(wù)器,seq43,ack80;第二個(gè)報(bào)文段,服務(wù)器到客戶機(jī),seq80,ack44;第三個(gè)報(bào)文段,客戶機(jī)到服務(wù)器,seq44,ack81。7. R/2 P180 R/28. P176 錯(cuò)誤,其閾值將被設(shè)置為擁塞窗口目前值的一半(乘性減)。習(xí)題1. A S 源端口號(hào):467 目的端口號(hào):23b) B S源端口號(hào):513目的端口號(hào):23c) S A源端口號(hào):23目的端口號(hào):467d) S B源端口號(hào):

3、23目的端口號(hào):513e) Yes.f) No.2. P128 假設(shè)主機(jī)A,B,C的IP地址為a,b,c.(a,b,c各不相同)到主機(jī)A:源端口80,源IP地址b, 目的端口26145,目的IP地址a;到主機(jī)C:左邊進(jìn)程:源端口80,源IP地址b, 目的端口7532,目的IP地址c;到主機(jī)C:右邊進(jìn)程:源端口80,源IP地址b, 目的端口26145,目的IP地址c;3. P132 UDP檢查和01010101+01110000 11000101 11000101+01001100 000100011的補(bǔ)碼11101110為了檢測(cè)錯(cuò)誤,接收方將四個(gè)字相加(三個(gè)原始字和一個(gè)檢測(cè)字)。如果結(jié)果包含0

4、,那么接收方就知道分組中存在錯(cuò)誤。所有的1bit錯(cuò)誤都將被檢測(cè)出來(lái),但是年個(gè)個(gè)比特的錯(cuò)誤有可能被忽略(例如,如果第一個(gè)字的最后一個(gè)數(shù)變?yōu)?,并且第二個(gè)字的最后最后一個(gè)數(shù)變?yōu)?)。4. P138 假設(shè)發(fā)送方處于“等待來(lái)自上層的調(diào)用1”狀態(tài),接收方處于“等待來(lái)自下層的1”。發(fā)送方發(fā)送一個(gè)帶有序列號(hào)1的分組,然后轉(zhuǎn)到“等待ACK或NAK1”的狀態(tài)等待ACK或NAK。假設(shè)現(xiàn)在接收方正確接收到帶有序列號(hào)1的分組,發(fā)送一個(gè)ACK,然后轉(zhuǎn)入“等待來(lái)自下層的0“狀態(tài),等待帶有序列號(hào)0的分組。然而,ACK出錯(cuò)了。當(dāng)rdt2.1發(fā)送方接收到出錯(cuò)的ACK,它就重發(fā)帶有序列號(hào)1的分組。然而,接收方在等待帶有序列號(hào)0的

5、分組并在它沒(méi)有收到帶有序列號(hào)0的分組時(shí)一直發(fā)送NAK。因此發(fā)送方會(huì)一直發(fā)送帶有序列號(hào)1的分組,這時(shí)接收方會(huì)一直發(fā)送這個(gè)分組的NAK信息。兩邊都不會(huì)從這個(gè)狀態(tài)中跳出,進(jìn)入了死循環(huán)。5. P140 為了回答這個(gè)問(wèn)題,首先考慮為什么我們需要序列號(hào)。我們看到發(fā)送方需要序列號(hào)以便于接收方能夠區(qū)分出一個(gè)分組是不是已經(jīng)接收到的分組的重復(fù)??紤]ACK信息,發(fā)送方不需要這個(gè)信息(也就是一個(gè)ACK的序列號(hào))來(lái)告訴發(fā)送方檢測(cè)到一個(gè)重復(fù)的ACK.因?yàn)楫?dāng)他接收到原始ACK信息后它就轉(zhuǎn)入下一個(gè)狀態(tài),所以一個(gè)重復(fù)的ACK信息對(duì)rdt3.0的發(fā)送方是很明顯的。重復(fù)的ACK信息不是發(fā)送方需要的ACK信息,因此被red3.0發(fā)送

6、方忽略了。6. P139 rdt3.0協(xié)議的發(fā)送方與rdt2.2協(xié)議的發(fā)送方的不同之處在于引入了超時(shí)機(jī)制.我們已經(jīng)看到超時(shí)機(jī)制地引入增加了從發(fā)送方到接收方數(shù)據(jù)流中出現(xiàn)重復(fù)分組地可能性.然而,rdt2.2協(xié)議地接收方已經(jīng)能夠處理重復(fù)分組.(在rdt2.2中當(dāng)接收方發(fā)送地ACK丟失時(shí),發(fā)送方就會(huì)重傳舊的數(shù)據(jù).這時(shí)接收方就會(huì)接收到重復(fù)的分組.) 因此rdt3.0中的接收方同rdt2.2中的接收方相同.7. Suppose the protocol has been in operation for some time. The sender is in state “Wait for call fr

7、om above” (top left hand corner) and the receiver is in state “Wait for 0 from below”. The scenarios for corrupted data and corrupted ACK are shown in Figure 1.Figure 1: rdt 3.0 scenarios: corrupted data, corrupted ACK8. P138 這里,我們加入一個(gè)定時(shí)器,它的值比我們已知的往返傳播時(shí)延大.我們?cè)凇钡却鼳CK或NAK0”和”等待ACK或NAK1”狀態(tài)各加入一個(gè)超時(shí)事件.如果超時(shí)

8、事件出現(xiàn),那么最后傳輸?shù)姆纸M將被重傳.讓我們看看為什么這個(gè)協(xié)議仍然能和rdt2.1的接收方協(xié)同工作.假設(shè)超時(shí)是由數(shù)據(jù)分組的丟失引起的,比如,一個(gè)從發(fā)送方到接收方的信道上的分組丟失.在這種情況下,接收方從沒(méi)有接收過(guò)之前傳送的分組,從接收方的角度看,如果超時(shí)重傳的分組被接收到,它看起來(lái)就和最初傳輸?shù)姆纸M被接收是一樣的.現(xiàn)在假設(shè)一個(gè)ACK丟失.接收方最終將由于超時(shí)重傳分組.但是這個(gè)重傳動(dòng)作是和當(dāng)一個(gè)錯(cuò)誤ACK出現(xiàn)時(shí)的重傳動(dòng)作是完全相同的.因此當(dāng)出現(xiàn)ACK丟失或出現(xiàn)錯(cuò)誤ACK時(shí),發(fā)送方的重傳動(dòng)作是一樣的.rdt2.1的接收方已經(jīng)能夠處理出現(xiàn)錯(cuò)誤ACK的狀況.9. 協(xié)議仍將工作,因?yàn)槿绻邮盏降膸в绣e(cuò)誤

9、的分組實(shí)際上被丟掉的話,重傳就會(huì)發(fā)生(從接收方的觀點(diǎn)看,這兩種情況哪一個(gè)會(huì)發(fā)生,或者同時(shí)發(fā)生是不可知的).要對(duì)這個(gè)問(wèn)題進(jìn)行更進(jìn)一步的討論,就必須考慮到定時(shí)器超時(shí)過(guò)早發(fā)生的情況.在這種情況下,如果每個(gè)超大分組被確認(rèn),并且每個(gè)接收的超大分組確認(rèn)信息導(dǎo)致另一個(gè)超大分組被發(fā)送,當(dāng)n趨近于無(wú)窮時(shí),分組n被發(fā)送的次數(shù)將無(wú)限增加.10.11. 在僅使用NAK的協(xié)議中,只有當(dāng)接收到分組x+1時(shí)才能檢測(cè)到分組x的丟失.也就是說(shuō)接收方接收到x-1然后接收到x+1,只有當(dāng)接收方接收到x+1時(shí)才發(fā)現(xiàn)x的丟失.如果在傳輸x和傳輸x+1之間有很長(zhǎng)時(shí)間的延時(shí),那么在只有NAK的協(xié)議中,x的修復(fù)要花費(fèi)很長(zhǎng)的時(shí)間.另一方面,如

10、果要發(fā)送大量的數(shù)據(jù),那么在只有NAK的協(xié)議中修復(fù)的速度將很快.并且,如果錯(cuò)誤很少,那么NAK只是偶爾發(fā)送,并且從不發(fā)送ACK.與只有ACK的情況相比,只有NAK的情況將明顯減少反饋時(shí)間.12. It takes 8 microseconds (or 0.008 milliseconds) to send a packet. in order for the senderto be busy 90 percent of the time, we must have util = 0.9 = (0.008n) / 30.016 or n approximately 3377 packets.13.

11、 在GBN可靠數(shù)據(jù)傳輸協(xié)議中,發(fā)送方持續(xù)發(fā)送分組直到它接收到一個(gè)NAK.如果到n-1之前的分組已經(jīng)被正確的接收,這個(gè)NAK只是為分組n產(chǎn)生.也就是說(shuō),n總是未被接收的分組的最小序號(hào).當(dāng)發(fā)送方接收到分組n的NAK,它從分組n開始重傳.這和書上講的GBN協(xié)議相類似,除了在流水線上沒(méi)有未被確認(rèn)分組的最大數(shù).注意發(fā)送方不能確切的直到有多少分組未被確認(rèn).如果當(dāng)前的序號(hào)是k,最后一個(gè)NAK是分組n的,那么在流水線上或許就有k-(n-1)的分組未被確認(rèn).還要注意接收方只有在接收到更高序列號(hào)的分組時(shí)才能確認(rèn)分組n的丟失.(接收分組的序列號(hào)的空缺告訴接收方位于孔雀位置的分組丟失).因此,對(duì)于接收方,當(dāng)數(shù)據(jù)速率低

12、時(shí),(比如,兩個(gè)分組之間的時(shí)間比較長(zhǎng)),將會(huì)比數(shù)據(jù)速率高時(shí)花費(fèi)更長(zhǎng)的時(shí)間來(lái)確認(rèn)分組的丟失.14. 在我們的解決方案中,發(fā)送方在接收到一對(duì)報(bào)文的ACK(seqnum和seqnum+1)后才開始發(fā)送下一對(duì)報(bào)文.數(shù)據(jù)分組攜帶有兩bit的序列碼.也就是說(shuō),游泳的序列號(hào)是0,1,2,3.ACK信息攜帶已經(jīng)確認(rèn)的數(shù)據(jù)分組的序列號(hào).接收方和發(fā)送方的FSM由下圖所示.注意發(fā)送狀態(tài)記錄:(1)當(dāng)前對(duì)沒(méi)有收到ACKs;(2)只收到seqnum的ACK或只收到seqnum+1的ACK.在本圖中,我們假設(shè)seqnum由0起始,發(fā)送方已經(jīng)發(fā)送第一對(duì)數(shù)據(jù).15. 這個(gè)問(wèn)題是簡(jiǎn)單停等協(xié)議rdt3.0的變種.因?yàn)樾诺烙锌赡軄G

13、失數(shù)據(jù),還因?yàn)樵谄渲幸粋€(gè)接收方已經(jīng)接收到數(shù)據(jù)的情況下發(fā)送方也有可能重傳數(shù)據(jù).(要么是因?yàn)槎〞r(shí)器超時(shí)過(guò)早發(fā)生,要么是因?yàn)榱硪粋€(gè)接收方還沒(méi)有正確的接收數(shù)據(jù)),所以序列號(hào)是必須的.就像是在rdt3.0中一樣,在這里一個(gè)0-bit序列號(hào)是必須的.發(fā)送方和接收方的FSM如下圖所示.在這個(gè)問(wèn)題中,發(fā)送方狀態(tài)顯示發(fā)送方是否只從B接收到ACK,只從C接收到ACK,還是從B和C都沒(méi)有接收到ACK.接收方狀態(tài)顯示是否接收到的序列號(hào)是接收方等待的序列號(hào).16. a) 在這里的窗口長(zhǎng)度為N=3,假設(shè)接收方已經(jīng)接收到分組k-1,并且已經(jīng)對(duì)該分組以及之前的所有分組進(jìn)行了確認(rèn).如果所有這些確認(rèn)信息都已經(jīng)被發(fā)送方接收,那么發(fā)

14、送方的窗口是k,k+N-1.接下來(lái)假設(shè)所有這些ACK都沒(méi)有被發(fā)送方接收.在這種情況下,發(fā)送方的窗口包含k-1和直到包括k-1之前的N的分組.因此發(fā)送方的窗口是k-N,k-1.因此,發(fā)送方的窗口大小是3,并且從k-N,k中的某個(gè)數(shù)開始.b) 如果接收方在等待分組k,那么它已經(jīng)接收(并確認(rèn))了分組k-1以及在這之前的N-1個(gè)分組.如果所有這N的ACK都沒(méi)有被發(fā)送方接收到,那么值為k-N,k-1的ACK信息可能仍在回傳.因?yàn)榘l(fā)送方已經(jīng)發(fā)送了分組k-N,k-1,那么發(fā)送方肯定已經(jīng)接收到了分組k-N-1的ACK.一旦接收方發(fā)送了分組k-N-1的ACK,它就不會(huì)在發(fā)送低于k-N-1的分組的ACK.因此發(fā)送

15、方接收到的所有報(bào)文的ACK字段的可能值為從k-N-1到k-1.17. 因?yàn)锳-to-B信道會(huì)丟失請(qǐng)求報(bào)文.A將需要超時(shí)timeout和重傳請(qǐng)求信息.(為了能重丟失中恢復(fù)過(guò)來(lái)).因?yàn)樾诺罆r(shí)延是未知且變化的,A有可能發(fā)送重復(fù)的請(qǐng)求(比如,重傳一個(gè)已經(jīng)被B接收到的請(qǐng)求).為了能夠檢測(cè)出重復(fù)的請(qǐng)求報(bào)文,協(xié)議將使用序列號(hào).1-bit序列號(hào)就能夠滿足停/等類型的請(qǐng)求/響應(yīng)協(xié)議的需求.· “Wait for Request 0 from above”這里請(qǐng)求方在等待一個(gè)來(lái)自上層的請(qǐng)求一個(gè)單元數(shù)據(jù)的命令.當(dāng)它接收到來(lái)自上層的請(qǐng)求是,它就向B發(fā)送一個(gè)請(qǐng)求報(bào)文R0,啟動(dòng)一個(gè)計(jì)時(shí)器并將狀態(tài)轉(zhuǎn)移到”Wait

16、 for D0”等待D0狀態(tài).當(dāng)處于”Wait for Request 0 from above”狀態(tài)是,A忽略它從B接收到的所有信息.· “Wait for D0”在這里請(qǐng)求方等待來(lái)自B的D0數(shù)據(jù)報(bào)文.A的計(jì)時(shí)器在這個(gè)狀態(tài)是一直運(yùn)行的.如果計(jì)時(shí)器超時(shí),A重新發(fā)送一個(gè)R0報(bào)文,重啟計(jì)時(shí)器并保持這個(gè)狀態(tài).如果接收到來(lái)自B的D0報(bào)文,A停止計(jì)時(shí)器,并將狀態(tài)轉(zhuǎn)移到”Wait for Request 1from above”等待來(lái)自上層的調(diào)用1.如果A在這個(gè)狀態(tài)接收到一個(gè)D1數(shù)據(jù)報(bào)文,它將把此忽略.· “Wait for Request 1 from above”在這里請(qǐng)求方再次等

17、待來(lái)自上層的請(qǐng)求一個(gè)單元數(shù)據(jù)的命令.當(dāng)它從上層接收到一個(gè)請(qǐng)求時(shí),它向B發(fā)送一個(gè)請(qǐng)求報(bào)文R1,啟動(dòng)計(jì)時(shí)器并將狀態(tài)轉(zhuǎn)移到”Wait for D1”.當(dāng)處于Wait for Request 1 from above狀態(tài)時(shí),A忽略從B接收到的任何數(shù)據(jù).· “Wait for D1”.在這里請(qǐng)求方等待來(lái)自B的D1數(shù)據(jù)報(bào)文.在這個(gè)狀態(tài)A的計(jì)時(shí)器一直在運(yùn)行.如果計(jì)時(shí)器超時(shí),A將發(fā)送另一個(gè)R1報(bào)文,重啟計(jì)時(shí)器并保持這個(gè)狀態(tài).如果接收到來(lái)自B的D1報(bào)文,A停止計(jì)時(shí)器,并將狀態(tài)轉(zhuǎn)移到”Wait for Request 0 from above”在這個(gè)狀態(tài)A將忽略重B接收到的信息. 數(shù)據(jù)提供方B只有兩個(gè)狀

18、態(tài):· “Send D0”.在這種狀態(tài),B持續(xù)通過(guò)發(fā)送D0來(lái)回應(yīng)接收到的R0報(bào)文.并保持這個(gè)狀態(tài).如果B接收到一個(gè)R1報(bào)文,它就直到D0報(bào)文已經(jīng)被正確接收.因此就將這個(gè)D0數(shù)據(jù)丟失(因?yàn)樗呀?jīng)被另一端接收).并轉(zhuǎn)移到”Send D1”狀態(tài).在這種狀態(tài)它將用D1回應(yīng)下一個(gè)請(qǐng)求報(bào)文.· “Send D1” 在這種狀態(tài),B持續(xù)通過(guò)發(fā)送D1來(lái)回應(yīng)接收到的R1報(bào)文,并保持在這個(gè)狀態(tài).如果B接收到一個(gè)R0報(bào)文,它就由此直到D1報(bào)文已經(jīng)被正確接收,并轉(zhuǎn)移到”Send D1”狀態(tài).18. 為了避免圖3.27出現(xiàn)的情況,我們要避免讓接受者窗口的最前端(也就是具有最高序列號(hào)的那個(gè))與發(fā)送窗口的

19、最尾端(發(fā)送窗口中的具有最低序列號(hào)的那個(gè))交迭在同一個(gè)序列號(hào)空間中.也就是說(shuō),序列號(hào)空間必須足夠大到讓整個(gè)接收窗口和整個(gè)發(fā)送窗口在此序列號(hào)空間中不會(huì)出現(xiàn)交迭.因此,我們需要測(cè)定在任何給定時(shí)刻由接收方和發(fā)送方覆蓋的序列號(hào)有多大.假設(shè)接收方等待的最低序列號(hào)是分組m的序列號(hào).在這種情況下,接收方窗口是m, m+w-1,并且它已經(jīng)接收(并確認(rèn))了分組m-1和此前的w-1個(gè)分組,這里w是窗口的尺寸.如果所有這w個(gè)ACK都沒(méi)有被發(fā)送方接收到,那么值為m-w ,m-1的ACK報(bào)文將仍被傳回.如果帶有這些ACK號(hào)碼的ACK都沒(méi)有被發(fā)送方接收,那么發(fā)送方的窗口將是m-w, m-1.因此,發(fā)送窗口的最低邊界是m-

20、w,接收窗口的最大邊界是m+w-1.為了使接收窗口的前沿和發(fā)送窗口的后沿不出現(xiàn)交迭,因此序列號(hào)空間必須大到能過(guò)容納2w長(zhǎng)度的序列號(hào).也就是說(shuō),序列號(hào)空間長(zhǎng)度必須至少使窗口長(zhǎng)度的兩倍k 2w.19. a)正確,假設(shè)發(fā)送方窗口大小為3,在t0時(shí)刻發(fā)送分組1,2,3.在t1(t1>t0)時(shí)刻接收方確認(rèn)1,2,3.在t2(t2>t1)時(shí)刻發(fā)送方計(jì)時(shí)器超時(shí),重發(fā)1,2,3.在t3時(shí)刻接收到重復(fù)的分組并重新確認(rèn)1,2,3.在t4時(shí)刻發(fā)送方接收到接收方在t1時(shí)刻發(fā)送的ACK,并將其窗口前移到4,5,6.在t5時(shí)刻發(fā)送方接收到接收方在t2發(fā)送的ACK1,2,3.這些ACK是在當(dāng)前窗口之外的報(bào)文的A

21、CK.b) 是的,本質(zhì)上同a中是一樣的.c) True.d) 正確.當(dāng)窗口尺寸為1時(shí),SR,GBN,的比特交替協(xié)議在功能上相同.窗口尺寸1排除了失序分組的可能性.在這種情況下,一個(gè)累積的ACK就是一個(gè)普通的ACK.因?yàn)樵诖翱趦?nèi)它只能與一個(gè)分組有關(guān).20. 有232 = 4,294,967,296個(gè)可能的序列號(hào).a) 序列號(hào)不會(huì)因報(bào)文數(shù)增加而有增量,而是隨發(fā)送數(shù)據(jù)比特?cái)?shù)量的增加而有增量.所以MSS(最大報(bào)文長(zhǎng)度)的大小與問(wèn)題無(wú)關(guān).能夠從A發(fā)送到B的文件的最大尺寸能被232 4.19 Gbytes所描述.b) 報(bào)文數(shù)是: 232/1460=2,941,758.每個(gè)報(bào)文增加66bytes的首部,所以

22、總共增加了2,941,758×66194,156,028 bytes的首部.要傳輸?shù)目偙忍財(cái)?shù)為232 +194,156,028 = 3,591×107 bits因此使用10Mbps鏈路需要10×106=3,591秒=59分鐘來(lái)傳輸文件.21. Denote EstimatedRTT (n) for the estimate after the nth sample. EstimatedRTT (1) = SampleRTT1EstimatedRTT (2) = xSampleRTT1 + (1 x)SampleRTT2EstimatedRTT (3) = xSam

23、pleRTT(1 )+(1-x)xSampleRTT2 + (1 x) SampleRTT3= xSampleRTT1 + (1 x)xSampleRTT2+ (1 x)2 SampleRTT3EstimatedRTT (4) = xSampleRTT1 + (1 x)EstimatedRTT(3)= xSampleRTT1 + (1 x)xSampleRTT2+ (1 x)2 xSampleRTT3 + (1 x) 3SampleRTT4b) 感覺應(yīng)該是j-1c)22. 讓我們看看如果TCP測(cè)量重傳報(bào)文的SampleRTT會(huì)出現(xiàn)什么情況.假設(shè)源發(fā)送分組P1,P1的定時(shí)器超時(shí),源接著發(fā)送P2-

24、同一個(gè)分組的一個(gè)新的拷貝.進(jìn)一步假設(shè)源測(cè)量P2的SampleRTT(重傳的分組).最后假設(shè)在傳輸P2后很快P1的ACK到達(dá).源將錯(cuò)誤的把這個(gè)ACK當(dāng)作P2的ACK,并計(jì)算出錯(cuò)誤SampleRTT值.23. SendBase:是最近未被確認(rèn)的字節(jié)的序號(hào).SendBase-1是接收方已正確按序接收到數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào).LastByteRcvd:從網(wǎng)絡(luò)中到達(dá)的并且已經(jīng)放入主機(jī)B接收緩存中的數(shù)據(jù)流最后一個(gè)字節(jié)的編號(hào).在任一給定時(shí)刻t,SendBase-1是發(fā)送方知道的已經(jīng)被接收方正確的按序接收的最后一個(gè)比特的序列號(hào).在t時(shí)刻被接收方(正確的和按序的)接收到的真正的最后一個(gè)byte要比在鏈路上傳輸

25、的ACK要大所以SendBase1 LastByteRcvd24. y:發(fā)送方接收到的最新ACK的值在t時(shí)刻,發(fā)送方接收到的ACK的值為y,據(jù)此發(fā)送方可以確認(rèn)接收方已經(jīng)接收了序號(hào)到y(tǒng)-1的數(shù)據(jù).如果y SendBase或在線路上有其他的ACK,在t時(shí)刻接收方(正確的和按序的)接收到的真正的最后一個(gè)byte要比y-1大.所以y-1 LastByteRvcd25. 假設(shè)發(fā)送了分組n,n+1,n+2,并且分組n被接收并被確認(rèn).如果分組n+1和n+2在端到端的路徑上被重新排序)也就是說(shuō),被以n+2,n+1的順序接收),那么在收到第一個(gè)冗余ACK就重傳的策略下,在接收到分組n+2時(shí)將產(chǎn)生一個(gè)分組n的冗余

26、ACK,這將引起重傳發(fā)生.在接收到3個(gè)冗余ACK才執(zhí)行重傳的策略下,只有在分組n后面的兩個(gè)分組被正確接收,然而分組n+1沒(méi)有被接收的情況下,重傳才會(huì)發(fā)生.設(shè)計(jì)三個(gè)冗余ACK策略的設(shè)計(jì)者可能感覺等待兩個(gè)分組(而不是一個(gè))是在當(dāng)需要時(shí)觸發(fā)快速重傳和當(dāng)分組重新排序時(shí)不進(jìn)行過(guò)早的重傳之間權(quán)衡的結(jié)果.26. P171 如果在圖3.45b中到達(dá)速率的增加超過(guò)了R/2,那么到達(dá)隊(duì)列的總到達(dá)速率將超過(guò)隊(duì)列的容量,這將導(dǎo)致隨著到達(dá)速率的增加包的丟失也隨之增加.當(dāng)?shù)竭_(dá)速率=R/2時(shí),每3個(gè)離開隊(duì)列的分組中就有1個(gè)是重傳分組.隨著丟失的增加,甚至是離開隊(duì)列的分組的較大分片都將是重傳數(shù)據(jù).即使是將離開隊(duì)列的最大離去速

27、率給定為R/2,并給定隨到達(dá)速率的增加1/3或更多的數(shù)據(jù)將被傳輸.成功遞交數(shù)據(jù)的吞吐量也不會(huì)超過(guò)out.同樣的原因,如果離開隊(duì)列的分組中有一般的分組為重傳分組,并且輸出分組的最大速率是R/2,那么out的最大值是(R/2)/2 or R/4.27. P178 收到3個(gè)冗余ACK后,TCP將擁塞窗口減小一般,然后線性地增長(zhǎng)。但是超時(shí)事件發(fā)生時(shí),TCP發(fā)送方進(jìn)入一個(gè)慢啟動(dòng)階段,即它將擁塞窗口設(shè)置為1MSS,然后窗口長(zhǎng)度以指數(shù)速度增長(zhǎng)。擁塞窗口持續(xù)以指數(shù)速度增長(zhǎng),知道CongWin達(dá)到超時(shí)事件前窗口值地一半為止。此后,CongWin以線型速率增長(zhǎng),就像收到3個(gè)冗余ACK一樣。a)運(yùn)行TCP慢啟動(dòng)的時(shí)

28、間間隔是1,6和23,26b)運(yùn)行TCP避免擁塞時(shí)的時(shí)間間隔是1,6和17,22c)在第16個(gè)傳輸周期后,通過(guò)3個(gè)冗余ACK能夠檢測(cè)到一個(gè)報(bào)文段丟失。如果有一個(gè)超時(shí),擁塞窗口尺寸將減小為1。d) 在第22個(gè)傳輸周期后,因?yàn)槌瑫r(shí)能夠檢測(cè)到一個(gè)報(bào)文段丟失,因此擁塞窗口的尺寸被設(shè)置為1。e) Threshold的初始值設(shè)置為32,因?yàn)樵谶@個(gè)窗口尺寸是慢啟動(dòng)停止,避免擁塞開始。f) 當(dāng)檢測(cè)到報(bào)文段丟失時(shí),threshold被設(shè)置為擁塞窗口值的一半。當(dāng)在第16個(gè)周期檢測(cè)到丟失時(shí),擁塞窗口的大小是42,因此在第18個(gè)傳輸周期時(shí)threshold值為21。g) 當(dāng)檢測(cè)到報(bào)文段丟失時(shí),threshold被設(shè)置

29、為擁塞窗口值的一半。當(dāng)在第22個(gè)周期檢測(cè)到丟失時(shí),擁塞窗口的大小是26,因此在第24個(gè)傳輸周期時(shí)threshold值為13。h) 在第一個(gè)傳輸周期內(nèi),報(bào)文段1被傳送;在第二個(gè)傳輸周期發(fā)送報(bào)文段23;在第3個(gè)傳輸周期發(fā)送報(bào)文段47,在第四個(gè)傳輸周期發(fā)送815;在第五個(gè)傳輸周期發(fā)送1631;在第六個(gè)傳輸周期發(fā)送3263;在第7個(gè)傳輸周期發(fā)送6496。因此,報(bào)文段70在第7個(gè)傳輸周期內(nèi)發(fā)送。i)當(dāng)丟失出現(xiàn)時(shí)擁塞窗口和threshold的值被設(shè)置為目前擁塞窗口長(zhǎng)度8的一般。因此新的擁塞窗口和threshold的值為4。28.Figure 4: Lack of TCP convergence with

30、linear increase, linear decrease在圖4(a)中,連接1和連接2因?yàn)閬G包導(dǎo)致的線性減小的速率和他們線性增加的速率相同并相等。在這種情況下,吞吐量不會(huì)從AB間相連的線段上移開。在圖4(b)中,因丟包導(dǎo)致的連接1和連接2線性減小的速率之比為2:1。也就是說(shuō),不論何時(shí)出現(xiàn)丟包時(shí),連接1窗口減小量是連接2的兩倍。我們看到最終,在經(jīng)過(guò)足夠多的丟包和隨后的增加后,連接1的吞吐量將趨向0,全部鏈路帶寬將被分配給連接2。29. 如果TCP是停等協(xié)議,那么將超時(shí)間隔加倍作為擁塞控制機(jī)制已經(jīng)足夠。然而,TCP使用流水線(因此不是停等協(xié)議),這允許發(fā)送方有數(shù)倍的未被確認(rèn)的報(bào)文段。當(dāng)端到

31、端路徑高度擁塞時(shí),將超時(shí)間隔加倍不會(huì)阻止TCP發(fā)送方在第一次發(fā)送時(shí)發(fā)送大量報(bào)文段。因此就需要一種擁塞控制機(jī)制,當(dāng)出現(xiàn)網(wǎng)絡(luò)擁塞的跡象時(shí),阻止“接收來(lái)自上層應(yīng)用的數(shù)據(jù)”30. 在這個(gè)問(wèn)題中,因?yàn)榻邮辗降慕邮站彺婺軌蛉菁{整個(gè)文件,因此不會(huì)出現(xiàn)接收方溢出的危險(xiǎn)。并且,因?yàn)椴粫?huì)出現(xiàn)分組丟失和定時(shí)器超時(shí),TCP的擁塞控制不會(huì)抑制發(fā)送方,所以不需要擁塞控制。然而,主機(jī)A的進(jìn)程不會(huì)持續(xù)的向套接字發(fā)送數(shù)據(jù),因?yàn)榘l(fā)送方的緩存將很快被填滿。一旦發(fā)送方緩存被填充滿,進(jìn)程就會(huì)以平均速率R << S傳送數(shù)據(jù)。所以需要TCP流量控制。31. a) 丟包率L,是丟失的包數(shù)量與發(fā)送包數(shù)量的比率。在一個(gè)循環(huán)中,有1個(gè)

32、包丟失,在這個(gè)循環(huán)中發(fā)送的包數(shù)是:因此,丟包率為:b) 因?yàn)閃很大,3/8W2>>3/4W。所以L8/3 W2 or W(8/3L)1/2。因此,我們得到平均吞吐量3/4(8/3L)1/2·MSS/RTT=1.22MSS/RTT(L)1/232. P180考慮一條具有1500字節(jié)報(bào)文段和100ms RTT。從P180的TCP吞吐量等式,我們得到:10 Gbps = 1.22 ×(1500×8 bits) / (0.1 sec × srqt(L)Or sqrt(L) = 14640 bits / (109 bits) = 0.00001464Or L = 2.14 * 10-1033. 將在t1時(shí)刻的CongWin和Threshold值用在t2時(shí)刻的優(yōu)點(diǎn)是TCP不需要經(jīng)過(guò)慢啟動(dòng)的避免擁塞階段即可直接跳

溫馨提示

  • 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)論