網絡傳輸層協議TCP、UDP

前言

傳輸層位於網絡七層協議中的第四層,用來完成不同用戶之間進程的通信,由端到端,使用TCP/UDP協議,根據不同數據選擇不同的用戶進程

TCP/IP協議族的傳輸層協議

  • TCP(Transmission Control Protocol)
    傳輸控制協議
  • UDP(User Datagram Protocol)
    用戶數據報協議

在這裏插入圖片描述

TCP協議介紹

1、TCP協議

  • TCP是面向連接的、可靠的進程到進程通信的協議
  • TCP提供全雙工服務,即數據可在同一時間雙向傳輸
  • TCP報文段
    TCP將若干個字節構成一個分組,叫做報文段
    TCP報文段封裝在IP數據包中

在這裏插入圖片描述
2、TCP報文段
在這裏插入圖片描述
主要名詞解釋:

  • 序號:發送端爲每個字節進行編號,便於接收端正確重組
  • 確認號:用於確認發送端的信息
  • URG:緊急指針位,優先從緩存區提取發送,1表示啓動,0表示不啓動
  • ACK:確認位
  • PSH:不經過緩存,直接將數據送到應用層
  • RST:重新建立連接
  • SYN:連接位
  • FIN:斷開標識
  • 窗口大小:用於說明本地可以接收數據段的數目,窗口大小是可變的

3、TCP連接(三次握手與四次揮手)
(1)TCP建立的連接過程稱爲三次握手
在這裏插入圖片描述

  • 客戶端發送SYN報文(Seq=x,SYN=1)到服務器,請求建立連接,等待服務器確認
  • 服務器收到SYN報文,確認客戶的SYN(Ack=x+1,ACK=1),同時自己也發送一個SYN包(Seq=y,SYN=1),即SYN+ACK包
  • 客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(Seq=x+1,Ack=y+1,ACK=1),此包發送完畢,TCP連接成功,完成三次握手

(2)TCP斷開連接的過程稱爲四次揮手
在這裏插入圖片描述

  • 客戶端發送FIN、ACK報文到服務器,請求斷開連接,等待服務器確認
  • 服務器收到客戶端的報文後,返回ACK確認報文,此時服務可能還會存在對客戶端發送數據的連接,不會立即斷開連接
  • 服務器確認無數據傳輸到客戶端後,會發送一個斷開連接FIN、ACK報文,等待客戶端確認
  • 客戶端收到後,返回確認ACK報文到服務器,此時TCP連接斷開,完成四次揮手

4、常用的TCP端口號及其功能
在這裏插入圖片描述

UDP協議介紹

1、UDP協議

  • 無連接、不可靠的傳輸協議
  • 花費的開銷小

2、UDP報文的首部格式
在這裏插入圖片描述

  • UDP長度:用來指出UDP的總長度,爲首部加上數據
  • UDP校驗和:用來完成對UDP數據的差錯校驗,它是UDP協議提供的唯一的可靠機制

3、常用的UDP端口號及其功能
在這裏插入圖片描述

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