UDP頭部結構,UDP校驗和計算

2021-09-03 07:17:01 字數 1639 閱讀 1676

udp:使用者資料報協議

特點:1.無連線,傳輸資料時不需要建立鏈結

2.盡最大努力傳輸,不可靠

3.面向報文的,接收到應用程式的資料時,只往資料前面加乙個udp頭部就傳給網路層,收到網路層傳來的udp資料時,只把udp頭部去掉就扔給應用層程序。不論資料大小都是一次傳送。

4.沒有擁塞控制,不管鏈路的暢通情況,都以不變的速率傳送報文。

5.udp支援一對一,一對多,多對一,多對多的互動通訊

6.udp的頭部簡單,占用資源少(8位元組)

udp頭部結構

源埠 :源埠號。在需要對方回信時用,不需要時可用全0.

目的埠: 目的埠號。在終點交付報文時使用。

長度: udp資料報長度。最小值為8位元組(只有首部)

校驗和:檢測udp資料報文在傳輸過程中是否有錯,錯誤就丟棄。

偽首部:這個不屬於udp首部,既不向下傳遞,也不向上遞交,僅僅是用來求校驗和的。偽首部的第3位元組全為0;第4欄位是ip首部中的協議欄位的值(協議號)。第5欄位是udp使用者資料報的長度。因此,這樣的校驗和既檢查了udp使用者資料報的源埠和目的埠以及udp使用者資料報的資料部分,又檢查了ip資料報的源ip位址和目的位址。

udp校驗和計算方法:

udp的校驗是首部和資料一塊校驗的,而ip校驗只校驗ip頭部

傳送方:

1.看資料報是不是偶數位元組數,若不是新增乙個全0的位元組填充(該位元組不傳送)。

2.將校驗和字段置為全0

3.將偽首部以及udp使用者資料報看成由許多16位的字串起來的。

4.進行二進位制反碼求和,結果填入校驗和字段傳送。

接收方:

將接收到的udp報文連同偽首部以及可能的填充全0位元組一起,按二進位制反碼求這些16位字的和。無差錯時其結果為全1.否則出現差錯丟棄。

這裡我們假定乙個15位元組的資料報。

00000000 00010001–0和17

00000000 00001111–15

00000100 00111111–1087

00000000 00001101–13

00000000 00001111–15

00000000 00000000–全0(校驗和)

01010100 01000101–資料

01010011 01010100–資料

01001001 01001110–資料

01000111 00000000–資料和填充項

——————————————————

二進位制求和??????

所以和為10010110 11101101—>取反01101001 00010010就是校驗和。

計算udp校驗和例子 UDP校驗和計算例項

udp校驗和的計算例項說明 成都資訊工程學院 鄭郁正 如下定義乙個udp的以太包。為了方便,只包含兩個位元組資料0x55,0xaa。unsigned char udp et pkt 參與udp校驗計算的由三部分組成 udp頭,udp資料,udp偽頭,如下面所示 unsigned char udp c...

UDP校驗和計算

目錄 一 udp概述 二 udp資料報 三 udp校驗和計算 四 udp校驗和計算的c語言實現及抓包驗證 udp是user datagram protocol的簡稱,中文名是使用者資料報協議,是osi open system interconnection,開放式系統互聯 參考模型中一種無連線的傳輸...

tcp和udp的頭部資訊

源埠號以及目的埠號 各佔2個位元組,埠是傳輸層和應用層的服務介面,用於尋找傳送端和接收端的程序,通過這兩個埠號和ip頭部的ip傳送和接收號,可以唯一的確定乙個連線。一般來講,通過埠號和ip位址,可以唯一確定乙個tcp連線,在網路程式設計中,通常被稱為乙個socket介面。序號 佔4位元組,用來標識從...