如何计算UDP头的checksum
生活随笔
收集整理的這篇文章主要介紹了
如何计算UDP头的checksum
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
UDP報頭只有4個字段,分別是:源端口號、目的端口號、報文長度和報頭checksum,其中的報頭checksum這個字段在IPv4中并不是強制的,但在IPv6中是強制的,本文介紹UDP報頭中checksum的計算方法,并給出相應的源程序。
1. UDP報文結構
-
UDP報文為兩部分,報頭+數據;
-
在Linux下,UDP報頭定義在頭文件linux/udp.h中;
struct udphdr {__be16 source;__be16 dest;__be16 len;__sum16 check; };- source - 來源端口號,可選項,如果不使用,填充 0;
- dest - 目的端口號;
- len - 報文長度;
- check - 報頭的校驗和,在IPv4中是可選的,IPv6中是強制的,如果不使用,應填充0;
圖1:UDP數據報結構
2. IP報頭結構
-
之所以在這里介紹IP報頭,是因為在計算UDP報頭checksum時會用到IP頭中的一些字段&#x
總結
以上是生活随笔為你收集整理的如何计算UDP头的checksum的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字银行论坛 | 银行数字化转型路径与策
- 下一篇: EX-B150M-V3 触发不显