TCP/IP Illustrated 笔记 UDP Checksum
来源:互联网 发布:cf卡恢复软件 编辑:程序博客网 时间:2024/04/28 23:17
1. 计算检验和的方法 同 3.2中计算IP header的检验和:
发送端,首先置校验和为全0,然后,每16-bit,用反码相加的方式求和(one's complement sum),对最后的和再取其反码,保存为在checksum字段;(one's complement sum 相加的时候,需要加上进位(carry);区别于two's complement sum,它会丢弃进位)
接收端,如果数据包正确,接收端的校验和为全1;
2. 如果,发送端的发送的UDP数据报中checksum字段全为0,那么说明发送端没有计算校验和。
为什么这里可以做这种决定?checksum字段全为0难道不是一个有效字段吗?通过分析0的反码的表示,和反码的加法方式(one's complement sum)就可以明白为什么可以做么做了。
下面是分析:
因为0的反码码两种形式,全0或者全1。
发送端计算获得的最后的和,如果是全0或者全1,在checksum字段都保存为全1或者全0,在接收端的one's complement sum都是全1,所以这里checksum字段选择了全1,把全0用来表示发送端没有计算校验和,这也提供了一个额外的功能,何乐而不为呢。
3.2 10.8
参考:http://www.netfor2.com/checksum.html
- TCP/IP Illustrated 笔记 UDP Checksum
- IP/TCP/UDP checksum
- tcp/ip illustrated implementation 笔记
- TCP/IP Illustrated 笔记 BGP
- TCP/IP Illustrated 笔记 CIDR
- IP/TCP/UDP中Checksum的计算
- How to Calculate IP/TCP/UDP Checksum
- TCP/IP illustrated 阅读笔记(四) UDP协议和IP分段
- TCP/IP Illustrated 笔记 IP Fragmentation
- TCP/IP Illustrated vol1 笔记 RIP OSPF
- TCP/IP Illustrated vol1 笔记 IGMP
- TCP/IP Illustrated学习笔记(1)
- TCP/IP Illustrated学习笔记(2)
- 计算ICMP,IP,UDP,TCP报头部分中的checksum
- DPDK 使用网卡ip/tcp/udp checksum offload
- TCP/IP Illustrated
- TCP/IP illustrated 阅读笔记(三) IP协议
- TCP/IP checksum 简析
- asp网站安全问题
- jquery-1.4.2报出的错误
- C语言面向对象思想的领悟
- 构建高效的团队协作工具(四)-Jira和Confluence集成Crowd实现SSO
- javascript访问sql2000
- TCP/IP Illustrated 笔记 UDP Checksum
- WCF 查看日志
- servletcontext与application的联系
- CLOSE_WAIT状态的生成原因
- Flex 开发笔记1——走进Flex
- Flex 4里的特效1- 基本效果
- myEclipse8安装aptana
- struts2文件上传时错误信息
- Flex学习笔记2——第一个Flex程序