计算机网络-UDP协议
生活随笔
收集整理的這篇文章主要介紹了
计算机网络-UDP协议
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 概述
- 2 UDP的主要特點
- 3 UDP的首部格式
- 3.1 傳輸關系
- 3.2 首部格式
- 3.3 UDP 基于端口的分用和復用
- 3.4 UDP校驗
1 概述
用戶數據報協議(UDP,User Datagram Protocol),UDP作為傳輸層的一個重要的協議,它的主要的功能是在IP端到端的服務之上,增加了有限的兩個功能:
另外,雖然UDP協議只提供不可靠的交付,看起來似乎非常不完美,但是UDP協議在某些方面具有特殊的優點:
所以在有些情況下,UDP協議簡單快速的特點,比TCP協議更有優勢
2 UDP的主要特點
應用程序必須選擇合適大小的報文
- 若報文太長,UDP 把它交給 IP 層后,IP 層在傳送時可能要進行分片,這會降低 IP 層的效率
- 若報文太短,UDP 把它交給 IP 層后,會使 IP 數據報的首部的相對長度太大,這也降低了 IP 層的效率
3 UDP的首部格式
3.1 傳輸關系
UDP協議作為傳輸層的一個經典協議,它和上下層的傳輸關系如下:
3.2 首部格式
- 除去兩個端口號字段,還有一個長度字段,它用來標明整個UDP報文的長度是多少,最后一個字段是校驗和字段,它實現了對整個UDP報文的校驗功能
3.3 UDP 基于端口的分用和復用
3.4 UDP校驗
- 在計算檢驗和時,臨時把“偽首部”和 UDP 用戶數據報連接在一起。偽首部僅僅是為了計算檢驗和
- 所謂偽首部,可以理解它就是一個假的,它并沒有一個實際的地址空間,在進行UDP報文封裝的時候并沒有這部分內容,要不然UDP協議的首部是20 (8+12) 個字節,而不是我們所說的8個字節,實際傳輸過程中,也并沒有這樣的字段
- 設置這個偽首部,只是為了計算 校驗和,這個偽首部包含的內容,如上圖所示,這就有所疑問了,對于運輸層來講,本身沒有IP地址這一概念,因為IP地址是在網絡層中路由器轉發所用的地址,為了計算校驗和而強制引入的偽首部,包含IP地址信息,實際上會破壞網絡分層,引入偽首部的目的,就是為了讓UDP兩次檢查數據是不是正確的到達了目的地,其中一次是對UDP端口號和其他數據的校驗,另一次是對IP地址的再校驗,因為IP地址再路由器轉發過程中,有可能會發現IP地址錯誤,所以UDP協議覺得IP地址校驗是很有必要的
- 如下就是校驗的例子,簡單來說就是把首部部分,每2個字節寫成一行,然后按列排下來,每一列對應的每一位進行求和,得出來的結果再求反碼,再將其放入校驗和的位置中
總結
以上是生活随笔為你收集整理的计算机网络-UDP协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络-OSPF协议
- 下一篇: 计算机网络-TCP协议