IP校验和计算
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天上课提到IP头部校验和怎么算的,还真不是很清楚,于是去网上查了些资料,整理记录一下。IP首部校验和的计算主要是两步:按位异或和取反,具体来说1. IP头部以16位为一个单位,逐个模2加(相当于异或
千家信息网最后更新 2026年11月01日IP校验和计算
今天上课提到IP头部校验和怎么算的,还真不是很清楚,于是去网上查了些资料,整理记录一下。
IP首部校验和的计算主要是两步:按位异或和取反,具体来说
1. IP头部以16位为一个单位,逐个模2加(相当于异或);
2. 得到的结果取反,作为校验和放入校验和字段;
3. 初始计算校验和字段时该字段全部用0填充;
以上是对于发送者来说如何计算校验和的,而对于接收者来说,验证也很简单:
1. 对于接收的IP报文头部以16位为单位逐个求和;
2. 若结果为1,则校验正确,否则出错丢弃;
原理很简单,接收方的计算对象是A和A的反的异或,结果当然是1了!
具体的程序实现例子如下:
SHORT checksum(USHORT* buffer, int size)
{
unsigned long cksum = 0;
//每16位相加
while(size>1)
{
cksum += *buffer++;
size -= sizeof(USHORT);
}
//最后的奇数字节
if(size)
{
cksum += *(UCHAR*)buffer;
}
cksum = (cksum>>16) + (cksum&0xffff); //将高16bit与低16bit相加
cksum += (cksum>>16); //将进位到高位的16bit与低16bit 再相加,确保高16位为0
return (USHORT)(~cksum); //最后将结果取反,得到checksum
}
结果
头部
字段
单位
清楚
例子
原理
发送者
奇数
字节
对象
报文
接收者
收方
程序
资料
高位
验证
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技怎么样
互联网科技网
互联网科技工作委员会毛军
腾讯阿里互联网科技
广州互联网科技公司
左右互联网络科技
美国互联网前沿科技
互联网和高科技公司
电子科技大学互联网创业大赛
燊美集互联网科技有限公司
内蒙古九一互联网科技
互联网科技创新的路径
威龙国际互联网科技公司
电子商务与互联网科技的关系
深圳无忧互联网科技
广州千川互联网科技有限公司
北京互联网科技类企业分布
广西泛欧互联网科技有限公司
深圳互联网科技园地址
北京品多多互联网科技有限公司
博彦科技互联网金融
互联网最新的科技
善班互联网科技
科技互联网公司logo
剑昆互联网络科技有限公司临桂
银川新华互联网科技职业技术培训学校图片
中国科技创新与世界互联网大会
卓翼科技产业互联网合作
2021互联网科技公司排名
互联网科技手机排行榜