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