Chinaunix首页 | 论坛 | 博客

分类: 网络与安全

2014-03-26 00:03:33

原文地址:UDP校验和中的伪头部 作者:jonas_mao

UDP校验和

UDP的校验和包含UDP数据包中所有数据和一个伪头部以及将UDP数据包补足16BIT的整数倍的一个全为0的8BIT字。

计算校验和时,UDP协议先构造一个伪头部(该头部在发送时并不存在),然后将UDP数据包的校验和字段设置为0并连接到伪头部后,将UDP数据包长度补足为16BIT的整数倍,然后按IP协议校验和的计算方法对这个新结构计算校验和并填入校验和字段。UDP伪头部和长度补足部分不会进行传输,其长度也不包含在UDP数据包长度字段内。

 

UDP伪头部格式

0

8

16

31

源IP地址

目的IP地址

0

协议代码(17)

UDP数据包长度

 

其中包含源和目的IP地址,协议代码为UDP协议的代码17。长度字段就是UDP数据包的UDP包长度字段值。

 

UDP伪头部目的是为了让数据包接受者确定发送和接受的UDP数据包是来自正确的源且是发给自己的。由于UDP结构中只包含了源和目的的UDP端口号,而且没有IP地址信息,所以使用伪头部结构来计算校验和以确定数据包的正确性。

阅读(2215) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~