社区
Web开发应用服务器
帖子详情
刚入门,问个关于ip数据报中checksum的问题
nasa4836
2009-10-20 09:27:06
因为这个checksum是16位,所以它把首部的数分成16位一组的序列来相加.而首部一共有10个16位组.除去checksum本身占的16位,还剩9组.然后它会将每组求反码相加.和再求反再相加.
那么我有2个疑问:
1.这样做是否基于如下考虑:这些位中表示各种信息.值为"1"的位比"0"的位多.所以先求反码使加法更快捷,然后再求反码得结果?
2.这9个16位组相加一定保证得了它们不溢出吗?要是加起来和超过16位能容纳的值怎么办?
...全文
74
回复
打赏
收藏
刚入门,问个关于ip数据报中checksum的问题
因为这个checksum是16位,所以它把首部的数分成16位一组的序列来相加.而首部一共有10个16位组.除去checksum本身占的16位,还剩9组.然后它会将每组求反码相加.和再求反再相加. 那么我有2个疑问: 1.这样做是否基于如下考虑:这些位中表示各种信息.值为"1"的位比"0"的位多.所以先求反码使加法更快捷,然后再求反码得结果? 2.这9个16位组相加一定保证得了它们不溢出吗?要是加起来和超过16位能容纳的值怎么办?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IP
数据
报首部
checksum
的计算
本文介绍
IP
数据
报首部校验和的计算方法,包括发送方如何计算校验和并将其插入
数据
包,以及接收方如何验证该校验和的正确性。通过实例演示了具体的计算过程。
如何计算
IP
首部校验和Header
CheckSum
(计算详解、代码解析、例子)
本文详细解析了首部校验和在
IP
数据
报中
的应用,包括计算步骤、处理非整数倍
数据
段和进位,以及展示了CRC校验的区别。通过WireShark实例演示了校验和的计算过程。
以太网帧结构及
IP
数据
报格式详解
本文系统解析以太网帧(Ethernet II/802.3)、
IP
v4
数据
报、ICMP、UDP、TCP、ARP及VLAN(802.1Q)的协议帧结构。重点涵盖各协议首部字段定义、长度、功能及典型取值(如EtherType 0x0800、ARP操作码1/2、TCP MSS选项等),强调
数据
链路层到传输层的关键封装关系与校验机制。
如何计算
IP
报头的
checksum
本文介绍了
IP
报头中的
checksum
概念,用于检查
数据
包完整性。详细阐述了如何计算
IP
报头的
checksum
,包括其算法和实际操作过程,通过实例展示了如何验证
IP
报头的完整性和正确性。
记录一次
checksum
校验失败导致丢包的
问题
当UDP
数据
包大小超过MTU值时,虽然发送成功但接收方未收到。
问题
定位到
IP
层的TTL和
checksum
。经过排查,发现硬件校验的
checksum
在超出MTU时出错。解决方案是改为软件校验,通过修改 lw
ip
配置文件启用
Checksum
生成,最终解决了丢包
问题
。
Web开发应用服务器
5,657
社区成员
20,155
社区内容
发帖
与我相关
我的任务
Web开发应用服务器
Web开发应用服务器相关讨论专区
复制链接
扫一扫
分享
社区描述
Web开发应用服务器相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章