您好,肖大哥就為大家解答關于試以具體例子說明為什么一個運輸連接,試用具體例子說明為什么在運輸連接建立時要使用三次握手 說相信很多小伙伴還不知道,現在讓我們一起來看看吧!
1、我們知道,3次握手完成兩個重要的功能,既要雙方做好發送數據的準備工作(雙方都知道彼此已準備好),也要允許雙方就初始序列號進行協商,這個序列號在握手過程中被發送和確認。
2、現在把三次握手改成僅需要兩次握手,死鎖是可能發生的。
3、作為例子,考慮計算機A和B之間的通信,假定B給A發送一個連接請求分組,A收到了這個分組,并發送了確認應答分組。
4、按照兩次握手的協定,A認為連接已經成功地建立了,可以開始發送數據分組。
5、可是,B在A的應答分組在傳輸中被丟失的情況下,將不知道A是否已準備好,不知道A建議什么樣的序列號,B甚至懷疑A是否收到自己的連接請求分組。
6、在這種情況下,B認為連接還未建立成功,將忽略A發來的任何數據分組,只等待連接確認應答分組。
7、而A在發出的分組超時后,重復發送同樣的分組。
8、這樣就形成了死鎖。
9、7-06 因為IP數據報的首部的總長度字段為16bit,因此IP數據報最大長度為216-1=65535字節(即64KB),再減去IP首部(20字節)和TCP首部(20字節),則為TCP報文段的最多字節即65495字節。
10、能,當要傳送的數據字節長度超過TCP報文的序號字段的最大序號時,則又重新從最小序號開始循環重復使用。
11、因為序號字段有32位長,可對4GB的數據進行編號,這樣就可以保證當序號重復使用時,舊序號的數據早已在網絡中消失了。
12、7-23因為以太網對應的MTU為1500字節,減去IP首部20字節,所以以太網上傳送UDP用戶數據報的最大大小為1480。
13、8192整除1480可知應當劃分為6個數據包片,前5個是1480字節,最后一個792字節。
14、片偏移字段的值分別為:0, 1480/8 = 185, 1480*2/8 = 370, 1480*3/8 = 555, 1480*4/8 = 740, 1480*5/8 = 925。
15、7-27發送時延 = 65535*8/(1*109) 秒。
16、往返時延 = 2*10*10-3 = 0.02ms。
17、總時延 = 往返時延+發送時延 = 0.02052428 秒吞吐量應為:65535*8 / 總時延 = 65535*8 / 0.02052428 = 25.5 Mb/s7-28具有相同編號的報文段不應該同時在網絡中傳輸,必須保證,當序列號循環回來重復使用的時候,具有相同序列號的報文段已經從網絡中消失。
18、現在報文段的壽命為30秒,那么在30秒的時間內發送方發送的報文段的數目不能多于255個。
19、 255×128×8÷30=8704b/s 所以,每一條TCP連接所能達到的最高數據率為8.704Kb/s。
20、7-29264(字節)*8(位/字節)/(75*1012(b/s)) = 1967652.7(s) = 22.77(天)7-30一個TCP連接下面使用256kbit/s的鏈路,其端到端時延為128ms。
21、經測試,發現吞吐量只有120kbit/s。
22、試問發送窗口是多少? 答:設發送窗口為X字節,假定一次最大發送量等于窗口值,那么,每發送一次都得停下來等待得到本窗口的確認,以得到新的發送許可,這樣發送時延為8*x/(256*103) 秒。
23、往返時延 = 128*2 = 256ms。
24、總時延 = 往返時延+發送時延 = 256*10-3+8*X/(256*103) 秒吞吐量應為:8*X/總時延 = 8*X / (256*10-3+8*X/(256*103)) = 120*103所以:X = 7228 字節7-31傳播時延 = 20 (km) / 200 (km/ms) = 0.1ms往返時延 = 2*傳播時延 = 0.2ms發送時延 = 往返時延 = 0.2ms發送速率 = 1*103*8 / (0.2*10-3) = 40*106 = 40Mb/s。
本文就講到這里,希望大家會喜歡。