TCP/IP協議族簡介 — TCP/IP協議棧之UDP協議

用戶數據文協議

      UDP是一種基於IP協議的不可靠傳輸協議,在IP數據的位置如下:

IP頭部(20字節)+ [ UDP頭(8字節)+ UDP數據 ]

      UDP協議是TCP/IP的傳輸協議的一部分,與TCP的傳輸不一樣,它提供無連接的、不可靠的傳輸服務。UDP協議把應用程序需要傳遞的數據發送出去,不提供發送數據包的順序;接收方不向發送方發送接收的確認消息,如果出現丟包或者重包的現象,也不會向發送方發送反饋,因此不能保證使用UDP協議的程序發送的數據一定到達了接收方或者到達接收方的數據順序和發送方的一致性。

     使用UDP協議傳輸數據的應用程序,必須自己構建發送數據的順序機制和發送接收的確認機制,以此來保證發送數據的正確到達,保證接收數據的順序與發送數據的一致性。

    

  1、UDP的數據格式

     UDP傳輸數據時的字段格式如下:

源端口號(16)

目的端口號(16位)

UDP數據長度(16位)

UDP校驗和(16位)

數據

 

 

 

  • 源端口號和目的端口號分別是一個16位的字段,用來給表示發送方和接收方的UDP端口。
  • UDP數據長度表示UDP頭部和UDP數據段的長度,單位爲字節。由於UDP頭部爲8個字節,因爲發送UDP的長度字段最少爲8個字節。UDP的長度與IP協議的長度有關聯性,字段最少爲8字節。UDP的長度與IP協議的長度有關聯性,IP的長度指的是數據的全長,UDP的長度等於IP的長度減去IP頭部的長度。
  • UDP校驗和表示整個UDP字段的CRC16校驗和,它的計算方法與IP字段是一致的。UDP的校驗和字段是可選的,即可以不進行CRC校驗,此時校驗和部分爲全0。UDP校驗和允許的數據爲奇數長度,此時要加一個空字節,即全0的字節進行填充,這個字節僅僅爲了方便計算校驗和,不發送到目的地址。
發佈了35 篇原創文章 · 獲贊 14 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章