ip协议解析 首部校验和
发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,3. 初始计算校验和字段时该字段全部用0填充;以上是对于发送者来说如何计算校验和的,而对于接收者来说,验证也很简单:1. 对于接收的IP报文头部以16位为单位逐个求和;2. 若结果为1,则校验正确,否
千家信息网最后更新 2024年10月25日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安全错误
数据库的锁怎样保障安全
食品网络安全监管意见
人间地狱正义联盟服务器
华为 push服务器
2k19无法连接服务器
数据库安全设计原则不包括
数据库简单原理
税控服务器管理系统进不去
数据库逻辑
酷狗服务器
国家网络安全手抄报简单点儿的
软件开发防骗
服务器运作图
黄浦区智能软件开发厂家批发价
安装u8 数据库不符合
用matlab作软件开发
软件开发实施进度
网络安全法文章
cmd导入数据库
房易通网络技术有限公司
通讯行业网络安全专业
汇丰软件开发广东有限公司
梦幻西游深夜服务器会掉线吗
市公安局网络安全职责
2008 服务器 杀毒
jira迁移服务器
龙正小学网络安全
计算机网络安全考核指标
数据库种类 应用在那种场合
学数据库学习曲线知乎
联想下载excel服务器