UDP首部格式
源端口號 | 目標端口號 |
包長度 | 校驗和 |
數據部分 | |
源端口號
表示發送端端口號,長度16位,可選項,如果不需要返回數據數據,可以不設置。
目標端口號
表示接收端端口號,長度16位。
包長度
該字段保存了UDP首部+數據的長度之和,單位爲字節。
校驗和(可選)
校驗和是爲了支持可靠的UDP而設計的。雖然它是可選項,但它還是默認使用[RFC1122]。
IPv4頭部中的校驗和只覆蓋整個頭部,它在每個IP跳都要被重新計算,因爲TTL會在轉發是被路由器減少。
UDP計算校驗和時,需要計算UDP首部和其他部分。
僞首部+UDP首部+數據 一起計算校驗和。
僞首部組成如下:
源IP地址(32位)| 目的IP地址(32位)|填充0(8位)|協議號(8位)|UDP包長度(16位)
爲什麼要把這個僞首部加進來呢?
TCP/IP通信中有五個要素,源地址IP,目標地址IP,協議號,源端口號,目的端口號。
前三項全部在IP首部中,如果缺少,可能導致收不到包或者收錯包,因此有必要加進來一起驗證。