ip协议解析 首部校验和
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,3. 初始计算校验和字段时该字段全部用0填充;以上是对于发送者来说如何计算校验和的,而对于接收者来说,验证也很简单:1. 对于接收的IP报文头部以16位为单位逐个求和;2. 若结果为1,则校验正确,否
千家信息网最后更新 2025年12月02日ip协议解析 首部校验和

3. 初始计算校验和字段时该字段全部用0填充;
以上是对于发送者来说如何计算校验和的,而对于接收者来说,验证也很简单:
1. 对于接收的IP报文头部以16位为单位逐个求和;
2. 若结果为1,则校验正确,否则出错丢弃;
原理很简单,接收方的计算对象是A和A的反的异或,结果当然是1了!
具体的程序实现例子如下:
SHORT checksum(USHORT* buffer, int size)
{
unsigned long cksum = 0;
while(size>1)
{
cksum += *buffer++;
size -= sizeof(USHORT);
}
if(size)
{
cksum += *(UCHAR*)buffer;
}
cksum = (cksum>>16) + (cksum&0xffff);
cksum += (cksum>>16);
return (USHORT)(~cksum);
}
IP头:
4500 0046
17d9 0000
4011 ec1d(校验字段)
ac1c 0f3b
ac1c 0f3d
计算:
4500 + 0046 +17d9 + 0000 + 4011+ ec1d +ac1c + 0f3b + ac1c + 0f3d
取出的和相加再取反->即为应填充的校验和
当接受到IP数据包时,要检查IP头是否正确,则对IP头进行检验,方法同上:
计算:
44500 + 0046 +17d9 + 0000 + 4011+ ec1d +ac1c + 0f3b + ac1c + 0f3d再与它们的和相加得出的一个数再次相加为FFFF,得到的结果是全一,正确。
字段
结果
个数
例子
再次
单位
原理
发送者
头部
对象
报文
接收者
收方
数据
方法
程序
检查
检验
验证
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都数据库招聘
iq数据库load参数
三易网络安全海报
电子计算机网络技术好学吗
上海汉帮军民网络安全
如何提高软件开发的可靠性
医院信息管理软件开发论文
常用开源数据库
轻量级服务器能做什么
网络安全事件纪录片
方舟服务器需要一直开着电脑吗
linux饥荒搭建服务器
桓台采购软件开发公司
电梯服务器协议范本
网络安全轮廓以什么为中心
关于数据库的面试题
mapper代理怎样连接数据库
芜湖一诺网络技术有限公司
中国网络安全管理
网络安全大学排名知乎
三易网络安全海报
戴尔服务器如何重启
电信网络技术员职责
口碑好的专业软件开发哪家好
建党百年红色资源建立数据库
绍兴工业网络技术口碑推荐
联想服务器7x69无法联网
火鸟数据库可以卸载吗
旧金山软件开发工资
软件开发大一要带电脑吗