Chinaunix首页 | 论坛 | 博客
  • 博客访问: 755621
  • 博文数量: 215
  • 博客积分: 291
  • 博客等级: 二等列兵
  • 技术积分: 1031
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-12 18:17
文章分类

全部博文(215)

文章存档

2016年(16)

2015年(16)

2014年(123)

2013年(60)

分类: 网络与安全

2014-03-19 08:19:34

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

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