Chinaunix首页 | 论坛 | 博客
  • 博客访问: 831879
  • 博文数量: 157
  • 博客积分: 542
  • 博客等级: 中士
  • 技术积分: 1696
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-21 20:21
文章分类
文章存档

2017年(1)

2016年(2)

2015年(6)

2014年(42)

2013年(77)

2012年(19)

2011年(10)

分类: 网络与安全

2014-03-18 14:09:21

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地址信息,所以使用伪头部结构来计算校验和以确定数据包的正确性。

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