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安全错误
数据库的锁怎样保障安全
化妆品清单软件开发
sd卡 服务器
暗黑黎明 服务器
服务器没有公网
服务器内存主要作用是
黑龙江省利末记互联网科技
oppo工模软件开发
数据库的数据特点有没有完整性
众淼网络技术有限公司
花雨庭定位服务器
服务器数据维护安全保密协议
未转变者怎么去开服务器
电信服务器中标企业
江苏现代软件开发配置
服务器64位
数据服务器与应用服务器
复旦网络安全研究生学校排名
爱奇艺账号数据库
小朋友学习网络安全
合同公示软件开发
计算机系毕业的能测试服务器吗
体现网络安全的重要性的案例
qt数据库注册表
锡山区软件开发代理品牌
徐汇区网络技术服务值多少钱
数据库技术及应用第三章练习题
电脑网络安全管理助手
知网用的什么数据库
数据库系统概论实验二实验报告
拉萨软件开发投标书标书费用