tft每日頭條

 > 生活

 > 計算機中的udp

計算機中的udp

生活 更新时间:2024-11-26 18:27:22
UDP協議的概念

用戶數據報協議(User Datagram Protocol,UDP)是Internet傳輸層協議,提供無連接、不可靠、數據報盡力傳輸服務。UDP 是一個非常簡單的協議,開銷最小。如果一個進程想發送很短的報文,而且不在意可靠性,就可以使用 UDP。使用 UDP 發送一個很短的報文,在發送方和接收方之間的交互要比使用 TCP 時少得多。

計算機中的udp(計算機網絡UDP協議)1

UDP協議

UDP協議特點

  • 應用進程容易控制發送什麼數據以及何時發送,會出現分組的丢失和重複。
  • 發送數據前,無需提前建立連接。
  • 無連接狀态。
  • 首部開銷小,隻有8個字節。

無連接服務:UDP提供無連接服務。這就是表示 UDP發送出去的每一個用戶數據報都是一個獨立的數據報。不同的用戶數據報之間沒有關系,即使它們都是來自相同的源進程并發送到相同的目的程序。用戶數據報不進行編号。此外,也沒有像TCP協議那樣的連接建立和連接終止,這就表示每一個用戶數據報可以沿着不同的路徑傳遞。

UDP協議的結構

計算機中的udp(計算機網絡UDP協議)2

UDP協議的結構

如圖,其中源端口号、目的端口号、UDP長度、校驗和屬于UDP數據報的首部;數據部分屬于UDP數據報數據字段。UDP首部四個字段每個字段長度都是2個字節,共8個字節。他們各自的作用:

  • 源端口号和目的端口号:主要用于UDP實現複用和分解;關于傳輸層的複用與分解在前面的文章中有介紹,感興趣的可以去查看(計算機網絡|傳輸層的複用與分解)。
  • 長度:指示UDP報文段中的字節數,他等于首部字節數與數據字節數的總和;其最小值為8(隻有首部)。
  • 校驗和:接收方用來檢測接收的報文是否出現差錯。
UDP校驗和

UDP校驗和主要提供差錯檢測功能,就是用于檢測UDP報文段從源主機到目的主機的傳送過程中,其中的數據是否發生了改變。該字段不是必須的,當源主機不想計算校驗和,則直接令該字段全為0,當傳輸層從IP層收到UDP數據報時,就根據首部中的目的端口,把UDP數據報通過相應的端口,上交給應用進程。如果接收方UDP發現收到的報文中的目的端口号不正确(不存在對應端口号的應用進程0),就丢棄該報文,并由ICMP發送“端口不可達”差錯報文給對方。

計算機中的udp(計算機網絡UDP協議)3

源主機到目的主機

UDP的校驗和由三部分内容求和得到,分别是僞首部、首部以及數據報文

計算機中的udp(計算機網絡UDP協議)4

UDP的校驗和的組成

UDP的僞首部:僞首部占12個字節,僞首部并不是UDP真正的首部,隻是在計算校驗和,臨時添加在UDP數據報的前面,得到一個臨時的UDP數據報。UDP僞頭部目的是為了讓數據包接受者确定發送和接受的UDP數據包是來自正确的源且是發給自己的。由于UDP結構中隻包含了源和目的的UDP端口号,而且沒有IP地址信息,所以使用僞頭部結構來計算校驗和以确定數據包的正确性。僞首部既不向下傳送也不向上遞交,而僅僅是為了計算校驗和。

UDP校驗和的計算方法:

  • 所有參與運算的内容按16位對齊求和(UDP的僞首部、首部以及數據)。
  • 求和過程中遇到溢出(即進位)都被回卷(即進位與和的最低位再相加)。
  • 最後對計算的和取反碼,就可以得到UDP的校驗和,填入UDP數據報的校驗和字段。

計算機中的udp(計算機網絡UDP協議)5

對齊求和

計算機中的udp(計算機網絡UDP協議)6

溢出回卷

計算機中的udp(計算機網絡UDP協議)7

取反碼

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved