我們本篇文章要講的是UDP的報頭結構以及注意事項。
下面呢,我先說一下UDP是什么?
1.UDP是什么?
UDP是一種網絡協議。網絡協議是計算機網絡中,為了使不同設備之間能夠準確、高效地進行數據交換和通信,而預先制定的一系列規則、標準和約定。這些規則涵蓋了數據的格式、傳輸方式、錯誤處理、連接建立與斷開等多個方面。就好比人們交流需要遵循一定的語言語法和交流禮儀,計算機之間通信也需要遵循網絡協議。
在JAVA里面和UDP相對應的還有一個協議是TCP。
2.TCP和UDP協議的特點:
1.TCP:有連接,可靠數據,面向字節流,全雙工。
面向連接 :在發送數據前需要先建立連接,傳輸完成后需要斷開連接,確保數據傳輸的可靠性
可靠傳輸 :通過序列號、確認應答、重傳機制等保證數據能準確無誤、按序到達接收端。
面向字節流 :數據以字節流的形式傳輸,接收方需要自己處理字節流的邊界問題。
2.UDP:無連接,不可靠數據,面向數據報,全雙工。
?無連接 :發送數據前不需要建立連接,直接發送數據報,因此傳輸速度快。
?不可靠 :不保證數據能準確無誤、按序到達接收端,可能會出現數據丟失、重復或亂序的情況。
?面向數據報 :數據以獨立的數據報形式傳輸,每個數據報都包含完整的源地址和目的地址等信息。
?下面呢我們談論的UDP協議是在網絡傳輸信息的傳輸層。
3.UD協議端格式分為什么。
UDP協議端格式主要分為一下五種:
1.UDP報頭里面:源端口,目的端口,UDP長度和校驗和
2.UDP載荷:就是數據,如果有的話。
下面呢,小編用圖片給大家說一下:
注意事項:?
1. 在上述UDP報頭中我們每一個結構都是兩個字節,就是16個比特位。
2.UDP長度:表示整個數據報(UDP首部+UDP數據)。
?3.校驗和:用于檢測 UDP 數據在傳輸過程中是否發生錯誤的字段。就是我們在傳輸數據的時候,發送前我們對數據的長度進行一個遍歷相加,之后等我們發送過去之后我們還會再次進行數據長度的計算,之后比較前后兩次的長度和是否一樣,要是一樣的話,我們就判斷沒有發生錯誤;要是不一樣的話,我們的接收方就會選擇丟棄這個數據報。?
4.源端口和目的端口就相當于我們快遞里面的發件人和收件人。誰發的要發到哪里去。
5.UDP傳輸的醉倒長度是64k(包含UDP首部)。