日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机网络原理(第三章) 传输层 课后习题

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机网络原理(第三章) 传输层 课后习题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、實現可靠數據傳輸的主要措施有哪些?這些措施主要用于解決哪些問題?P98
差錯檢測:利用差錯編碼實現數據包傳輸過程中的比特差錯檢測
確認:確認方向發送方反饋接收狀態
重傳:發送方重新發送接收方沒有正確接收的數據
序號:確保數據按序提交
定時器:解決數據丟失問題

2、UDP和TCP分別如何實現復用和分解?P97
在Internet網絡中,唯一標識套接字的基本信息是IP地址和端口號。UDP基于目的IP地址和目的端口號二元組唯一標識一個UDP套接字,從而可以實現精確分解;
TCP則需要基于源IP地址、源端口號、目的IP地址、目的端口號四元組唯一標識一個TCP套接字(即一個TCP連接),從而實現精確分解。

3、請畫出TCP報文段結構,并簡要說明各個字段的主要作用?P113
0----------------------------16-----------------------------31
源端口號(16) 目的端口號(16)
序號(32)
確認序號(32)
首部長度(4) 保留(6)UAPRSF(各1) 接收窗口(16)
校驗和(16) 緊急指針(16)
選項(長度可變) 填充字段(0-3字節 全0)
1.源端口號與目的端口號各占16位,標識發送該報文段的源端口和目的端口,用于多路復用/分解來自或送到上層應用的數據。
2.序號字段與確認序號字段分別占32位。TCP的序號是對每個應用層數據的每個字節進行編號,因此每個TCP報文段的序號是該段所封裝的應用層數據的第一個字節的序號。
確認序號是期望從對方接收數據的字節序號,即該序號對應的字節尚未收到,該序號之前的字節已全部正確接收,也就是說,TCP采用累積確認機制
3.首部長度字段占4位,指出TCP段的首部長度,以4個字節為計算單位,例如該字段值為5時,表示TCp首部長度為20字節。
由于TCP選項字段的原因,TCP首部的長度是可變的。當該字段取最大值15時,表示TCP端的最大首部長度,即60個字節。可見,TCP段的選項字段最多為40字節。
4.保留字段占6位,保留為今后使用,目前值為0
5.URG、ACK、PSH、RST、SYN、FIN字段各占1位,共占6位,為6位標志位。
URG=1時,表明緊急指針字段有效,通知系統此報文段中有緊急數據,應盡快上送。
ACK=1時,標識確認序號字段有效;ACK=0時,確認序號字段無效。
TCP收到PSH=1的報文段時,就盡快將報文段中的數據交付接收應用進程,而不再等到整個緩存都填滿了后再向上交付。
RST=1時,表明TCP連接中出現嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后重新建立TCP連接
SYN=1時,表示此TCP報文段是一個建立新連接請求控制段或者是同意建立新連接的確認段(此時ACK=1)
FIN用于釋放一個TCP連接,FIN-1時表示該TCP報文段的發送端數據已發送完畢,并請求釋放TCP連接
6.接收窗口字段占16位,用于向對方通告接收窗口大小(單位為字節),表示接收方愿意接受的應用層數據字節數量,其值是本端接收對方數據的緩存剩余空間,用于實現TCP流量控制
7.校驗和字段占16位。校驗和字段檢驗的范圍類似于UDP,包括TCP偽首部、TCP首部和應用層數據3部分,計算方法與UDP校驗和的計算方法相同
8.緊急指針字段占16位,該字段只用URG=1時才有效。該字段指出本TCP報文段中緊急數據共有多少字節(緊急數據放在本報文段數據的最前面),即指出緊急數據最后一個字節在數據中的位置。
9.選項字段長度可變。最大段長度MSS、接收窗口擴大選項(3字節)、時間戳選項(10字節)、選擇性確認(SACK)選項
10.填充字段,長度為0-3字節,取值全為0,目的是為了使整個首部長度是4字節的整數倍。

4、TCP為何采用三次握手來建立連接,若采用二次握手可以嗎?為什么?P115
TCP之所以采用三次握手建立連接,是為了確保連接雙方彼此完全清楚雙方狀態(比如初始序列號和接收窗口大小等),從而可靠、穩定的建立連接,
同時,通過三次握手建立連接還可以有效預防過期、失效的連接請求到達后,導致無效連接的建立。
三次握手缺一不可,因為網絡存在數據丟失,第二次握手控制段可能丟失,這樣主動發起連接的一方沒有接收到第二次握手的控制段,則無法建立連接,而接受連接建立的一方則認為連接已建立,從而出現無效鏈接。
另外,二次握手建立連接,也無法避免失效連接請求。

5、請說明TCP建立連接與斷開連接的過程,并給出主要狀態轉移?P117
建立連接:
第一次握手:客戶端作為連接建立的發起端,選擇客戶端初始序列號x,向服務器發送(SYN=1,seq=x)的SYN段。客戶狀態由LISTEN進入SYN_SEND狀態,等待服務器確認。
第二次握手:服務端收到客戶端發送的SYN段后,選擇服務器的初始序列號y,向客戶端發送(SYN=1,ACK=1,seq=y,ack_seq=x+1)的SYNACK段。同時,服務器狀態由LISTEN進入SYN_RCVD狀態。
第三次握手:客戶端收到服務器的SYNACK段后,向服務器發送(ACK=1,seq=x+1,ack_seq=y+1)的ACK段,同時,客戶端進入ESTABLISHED狀態,客戶端確認連接已建立。服務的收到ACK段后,也進入ESTABLISHED狀態,也確認連接已建立。
斷開連接:
第一次揮手:當客戶向服務器發送完最后一個數據段后,可以發送一個FIN段(FIN=1,seq=u),請求斷開客戶到服務器的連接,其狀態又ESTABLISHED進入FIN_WAIT_1,該狀態只能接受服務器發送的數據,而不能發送數據。
第二次揮手:服務器接收到客戶的FIN段后,向客戶發送一個ACK段(ACK=1,seq=v,ack_seq=u+1),ACK段可封裝應用層數據。服務器狀態由ESTABLISHED進入CLOSE_WAIT,該狀態服務器仍可發送數據,但不再接收數據。
客戶端收到ACK段后,狀態由FIN_WAIT_1進入FIN_WAIT_2,仍然可以接收來自于服務器的數據。此時TCP連接已經關閉了客戶端向服務器方向的數據傳輸,故稱半關閉。
第三次揮手:服務器發送完最后一個數據段后,服務器向客戶發送FIN段(FIN=1,seq=w,ack_seq=u+1),服務器狀態由CLOSE_WAIT進入LAS_ACK,此時服務器不再發送數據。
第四次揮手:客戶收到服務器發送的FIN段后,向服務器發送ACK段(ACK=1,seq=U+1,ack_seq+w+1),狀態由FIN_WAIT_2進入TIME_WAIT,等待2MSL時間,進入CLOSE狀態,最終釋放連接;
服務器接收到最后一次ACK段,狀態由LAST_ACK進入CLOSE,最終釋放連接。

6、TCP如何保證可靠數據傳輸?P119
TCP的可靠數據傳輸實現機制包括差錯編碼、確認、序號、重傳、計時器等。
序列號是每個字節編號;確認序號為期望接收的字節序號,TCP通常采用累積確認;通常采用單一的重傳計時器,計時器超時時間采用自適應算法設置超時時間;重傳數據段主要針對兩類事件,計時器超時或三次重復確認。

7、請分別簡述GBN協議和SR協議的工作過程?
GBN協議的發送窗口大于1,接收窗口等于1;GBN協議的發送方如果超時,則重發所有已經發送單未收到確認的分組;GBN協議采用累積確認。
SR協議采用每個分組單獨確認;每個已發送的分組需要獨立計時,如果某個分組超時,只需重發該分組;SR協議的發送窗口和接收窗口都大于1。
滑動窗口協議的窗口大小與序號空間需要滿足一個約束條件,發送窗口大小與接收窗口大小之和不大于分組序號空間大小。

8、說明TCP滑動窗口機制,對比TCP滑動窗口與GBN協議的異同?

9、TCP和UDP的主要區別是什么?

10、TCP如何實現擁塞控制?
慢啟動
擁塞避免
快速重傳
快速恢復

11、假設甲乙雙方采用GBN協議發送報文段,甲已經發送了編號0-7的報文段。當計時器超時時,若甲只收到0號和3號報文段的確認,則甲需要重發的報文段有哪些?
因為GBN協議采用累積確認,所以甲需要重發的報文段是4-7.

12、主機甲乙通過128kbit/s衛星信道互連,采用滑動窗口協議發送數據,鏈路單向傳播時延為250ms,分組長度為1000字節。不考慮確認分組的開銷,為使信道利用率不小于80%,分組序號的位數至少要達到多少位?
傳輸時延d=L/R=(81000)(bit)/(1281000)(bit/s)=0.0625s=62.5ms 傳播時延250ms RTT=2250ms=500ms
信道利用率U=Ws(L/R)/(RTT+L/R)=62.5/(500+62.5)>=0.8 Ws>=7.2 Ws最小取8 Ws+Wr<=2K wr最小取1 k至少需要4位

13、若甲乙之間已建立一條TCP連接,擁塞控制處于擁塞避免階段,閾值為8MSS,當甲的擁塞窗口大小為24MSS時發生了超時,則甲的擁塞窗口和閾值將分別調整為多少?
閾值=24/2=12
擁塞窗口=1

14、主機甲與主機乙之間已建立一條TCP連接,主機甲向主機乙發送了兩個連續的TCP段,分別包含300字節和500字節的有效荷載,第一個段的序列號是200,主機乙正確接收到兩個段后,發送給主機甲的確認序列號是多少?
第一個報文段的確認序列號是200+300=500 第二個報文段的確認序列號是500+500=1000

15、主機甲和主機乙之間已建立一條TCP連接,主機甲向主機乙發送了3個連續的TCP報文段,分別包含300字節、400字節和500字節的有效荷載,第3個段的序號為900,若主機乙僅正確接收到第1和第3個報文段,則主機乙向主機甲的確認序號是多少?
500

16、主機甲與主機乙之間已建立一條TCP連接,雙方持續有數據傳輸,且數據無差錯與丟失。若甲收到一個來自于乙的TCP報文段,該段的序號為1913,確認序號為2046,有效荷載為100字節,則甲立即發送給乙的報文段的序號和確認序號分別為多少?
序號:2046
確認序號:1913+100=2013

17、主機甲和主機乙已建立了TCP連接,甲始終以MSS=1KB大小的報文段發送數據,并一直有數據發送;乙每收到一個報文段都會發出一個接收窗口為10KB的確認段。若甲在t時刻發生超時時擁塞窗口為8KB,
則從t時刻起,不再發生超時的情況下,經過10RTT后,甲的發送窗口是多少?
t時刻,ssthresh設置為8KB/2=4KB 擁塞窗口設置為1KB 經過10個RTT后,擁塞窗口分別為1,2,4,5,6,7,8,9,10,11,12 發送窗口取擁塞窗口和接收窗口的最小值。所以選10KB 124為慢啟動階段,5-12位擁塞避免階段

18、主機甲和主機乙之間已經建立了一個TCP連接,TCP最大段長度為1000字節。若主機甲的當前擁塞窗口為4000字節,此時主機甲向主機乙連續發送兩個最大段后,成功收到主機乙發送的對第一個段的確認,確認段中通告的接收窗口大小為2000字節,
則隨后甲還可以繼續向主機乙發送的最大字節數是多少?
1000

總結

以上是生活随笔為你收集整理的计算机网络原理(第三章) 传输层 课后习题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。