ip协议解析 首部校验和
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,3. 初始计算校验和字段时该字段全部用0填充;以上是对于发送者来说如何计算校验和的,而对于接收者来说,验证也很简单:1. 对于接收的IP报文头部以16位为单位逐个求和;2. 若结果为1,则校验正确,否
千家信息网最后更新 2025年02月03日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安全错误
数据库的锁怎样保障安全
郑州量站站软件开发有限公司
数据库计算总数
山东最大的服务器云空间
58同城订单数据库
刀片式服务器加装硬盘
sql连接数据库语句
网络技术部各类人员的岗位
数据库安全审计系统 通俗易懂
湖南常规软件开发出厂价
独奏骑士服务器
北京标准软件开发服务价格
阿里云服务器个人备案需要啥
科技部独角兽互联网金融
不能直接操作数据库字段
java原生查询数据库
网络安全运营赋能
伊对app软件开发
方舟生存进化唐三服务器推荐
数据中心的服务器多少钱一台
荆门软件开发招聘
软件开发用户分类
ubuntu远程服务器
思迅导出商品数据库
网络安全讲座听后感300
软件开发统计分析
软件开发前端加载时间过长
白沙黎族自治县软件开发
崂山区ios软件开发解决方案
福建回收服务器
三级网络技术背题能过吗