IP首部校验和的算法
来源:互联网 发布:淘宝复刻鞋店 编辑:程序博客网 时间:2024/05/15 03:29
IP/ICMP/IGMP/TCP/UDP/等协议的校验和算法是相同的,采用的都是将数据流视为16位整数流进行重复的叠加计算。
计算校验和的步骤:
(1)把校验和字段置为0。
(2)对IP头部的每16bit进行二进制求和。
(3)如果和的高16位不位0,则将和的高16位和低16位反复的相加,直到和的16位为0,从而获得一个16位的值。
(4)将该16位的值取反,存入校验和字段。
例如:
IP报头
45 00 00 31
89 F5 00 00
6E 06 00 00 //校验字段
DE B7 45 5D //源IP地址
C0 A8 00 DC //目的IP地址
根据如上的IP报头,可以求得校验和为:
4500+0031+89F5+0000+6E06+0000+DEB7+455D+C0A8+00DC = 322C4
由于计算的和为322C4的高16位不为0,所以将和的高16位和低16位进行反复的相加,直到和的高16位位0为止。
0003+22C4 = 22C7然后将结果进行取反操作~22C7 = DD38则DD38为最终的校验和。
0 0
- IP首部校验和的算法
- IP首部校验和算法
- IP首部校验和算法
- ip数据报首部的校验和算法
- IP数据报首部校验和算法
- IP数据报首部校验和算法
- 对IP首部校验和的理解
- IP首部校验和的计算
- ip首部校验和计算
- 计算ip首部校验和
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- IP首部校验和计算
- Q_PROPERTY
- C语言队列的顺序表示
- 多核系统中温度隐蔽通道的带宽优化
- volatile用法详解
- 微信开放平台微信登录授权的说明
- IP首部校验和的算法
- 异或运算的意义
- Katu Puzzle poj 3678 kosaraju+2-SAT
- 老外总结的关于Spring Bean Life Cycle 的文档
- iOS近场通信(蓝牙开发,WiFi开发)
- Java中的static关键字解析【转载】
- android开发利器Data Binding简介和简单使用(已支持双向绑定)
- app安全
- Python枚举类型