計算機網絡 -- 運輸層(1)TCP和UDP基礎

1.運輸層與網絡層關係

  • 網絡層(IP)實現了不同主機之間的通信。
  • 運輸層(TCP/UDP)實現了不同主機上的進程之間的通信(通過端口號實現)。

2.TCP實現可靠傳輸方法

流量控制,序號,確認,定時器

3.多路複用/分解

  • 多路分解:將運輸層報文段中的內容交付到正確的套接字。(UDP通過二元組實現,TCP通過四元組區分實現分解到響應套接字。
  • 多路複用:在主機的不同套接字中搜集數據塊,爲其裝上首部數據,生成報文段,將報文段傳遞到網絡層。

 

4.UDP特性

4.1 UDP特點

  • UDP只做了運輸層協議能夠做的最少工作,除了複用/分解以及少量差錯檢測外,幾乎沒有對IP增加其他東西。
  • UDP在傳輸數據之前不需要握手連接。

4.2 UDP優點

  • 由於沒有擁塞控制,數據傳輸實時性高。
  • 由於不需要建立連接,可以立即傳輸數據,時延低。

4.3 UDP缺點

  • 由於沒有擁塞控制,造成分組溢出。
  • 數據傳輸不可靠,只提供差錯檢測,不提供差錯糾正。

4.4 UDP使用場景

流式多媒體,因特網電話,SNMP, DNS

 

5. TCP特性

  • TCP是面向連接的可靠協議。
  • TCP協議只在端系統中運行,不在路由器交換機中運行(只看到數據報,而不是TCP連接)。
  • TCP提供點對點全雙工服務。

5.1 TCP報文段

源端口/目的端口:用於多路複用/分解來自或送到上層應用的數據。

序號/確認號字段:實現可靠數據傳輸。

  • 序號是建立在傳送的字節流之上,而不是建立在傳送的報文段系列之上。一個報文段的序號是指該報文段首字節字節流編號。
  • 確認號是指主機期望收到的下一個字節的序號。

接收窗口:表示接收方願意接受的字節數量,用於流量控制。

數據偏移/首部長度:由於首部可能含有可選項內容,因此TCP報頭的長度是不確定的,報頭不包含任何任選字段則長度爲20字節,4位首部長度字段所能表示的最大值爲1111,轉化爲10進製爲15,15*32/8 = 60,故報頭最大長度爲60字節。首部長度也叫數據偏移,是因爲首部長度實際上指示了數據區在報文段中的起始偏移值。

URG:緊急指針標誌,爲1時表示緊急指針有效,爲0則忽略緊急指針。

ACK:確認序號標誌,爲1時表示確認號有效,爲0表示報文中不含確認信息,忽略確認號字段。

PSH:push標誌,爲1表示是帶有push標誌的數據,指示接收方在接收到該報文段以後,應儘快將這個報文段交給應用程序,而不是在緩衝區排隊。(仍然要經過緩衝區,只不過迅速將緩衝區中數據進行交付。

RST:重置連接標誌,用於重置由於主機崩潰或其他原因而出現錯誤的連接。或者用於拒絕非法的報文段和拒絕連接請求。

SYN:同步序號,用於建立連接過程,在連接請求中,SYN=1和ACK=0表示該數據段沒有使用捎帶的確認域,而連接應答捎帶一個確認,即SYN=1和ACK=1。

FIN:finish標誌,用於釋放連接,爲1時表示發送方已經沒有數據發送了,即關閉本方數據流。

緊急指針:只有當 URG 標誌置 1 時緊急指針纔有效。緊急指針是一個正的偏移量,和順序號字段中的值相加表示緊急數據最後一個字節的序號。 TCP 的緊急方式是發送端向另一端發送緊急數據的一種方式。(緊急數據不經過緩衝區,直接交付到應用程序)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章