- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
首部检验和原理
三组
什么是首部检验和?
首部检验和字段是根据IP首部计算的检验和码。首部检验和在IP数据报中占16位。它只检验数据报的首部,不包括首部后面的数据。
可变
部分
0
4
8
16
19
24
31
版 本
标志
生 存 时 间
协 议
标 识
区 分 服 务
总 长 度
片 偏 移
填 充
首 部 检 验 和
源 地 址
目 的 地 址
可 选 字 段 (长 度 可 变)
位
首部长度
数 据 部 分
固定部分(20字节)
下图是一般IP数据报的格式,若仅仅去理解校验和就不必去看这些字段的细节。
IP检验和就是对首部(固定部分+可变部分)求的检验和。
为什么使用首部检验和原理?
IP数据包中的首部校验字段的算法不采用循环冗余算法,是因为IP包在网络中传输时,其TTL字段的值经常会变化,故采用简单的叠加方法,就可以避开中间路由器重新计算其校验值,只是简单的增加1操作即可,这样可以明显提高传输效率。
IP首部检验和的计算步骤
发送端:发送前计算首部检验和
接收端:接收数据时计算检验和
发送端:
1、把校验和字段设置为0;
2、把需要校验的数据看成以16位为单位的数字组成,依次进行二进制反码求和;
3、把得到的结果存入校验和字段中
接收端:
1、把首部看成以16位为单位的数字组成,依次进行二进制反码求和,包括校验和字段;
2、检查计算出的校验和的结果是否为0;
3、如果等于0,说明被整除,校验和正确。否则,校验和就是错误的,协议栈要抛弃这个数据包。
具体过程:
发送端
接收端
16 位
字 1
16 位
字 2
16 位
字 n
…
…
IP 数据报
16 位
字 1
16 位
字 2
16 位
字 n
…
…
数据部分
二进制反码求和:
0和0相加是0,0和1相加是1,1和1相加是0但要产生一个进位1,加到下一列.若最高位相加后产生进位,则最后得到的结果要加上溢出的进位1(可能是多個1)。
所谓的二进制反码求和,即为先进行二进制求和,然后对和取反。
1 1 0 1 1 第一个二进制加数
+ 1 0 1 0 1 第二个二进制加数
---------------
1 0 0 0 0 相加之和为110000,
最高位的1需要放到
下一列相加
1
---------------
1 0 0 0 1 相加得到的结果
0 1 1 1 0 取反得到最终结果
检验和的计算方法:
(1)把IP数据包的校验和字段置为0;
(2)把首部看成以16位为单位的数字组成,依次进行二进制求 和(注意:求和时应将最高位的进位保存,所以加法应采用32位加法);
(3)将上述加法过程中产生的进位(最高位的进位)加到低16位(采用32位加法时,即为将高16位与低16位相加,之后还要把该次加法最高位产生的进位加到低16位)
(4)将上述的和取反,即得到校验和。
谢谢观看!
您可能关注的文档
最近下载
- 三年级新教科版科学《水沸腾了》说课稿.pdf VIP
- 2019一级造价工程师《建设工程技术与计量(水利工程)》真题带答案与解析.doc VIP
- 学会与父母沟通kt_,.ppt VIP
- 脑出血的分子生物学机制.pptx VIP
- 电除颤操作流程-电除颤操作流程.ppt VIP
- 医疗器械委托生产生产放行和上市放行管理制度.docx VIP
- 紫日电气ZVF9V变频器使用手册.docx
- 物流行业深度研究报告:大物流时代系列研究(三),公路港到网络货运平台,传化与满帮为例,探讨我国公路整车物流最优解(202108).pdf VIP
- 新教材 人教A版高中数学选择性必修第一册全册各章节 知识点考点汇总及解题方法提炼.pdf VIP
- 工业机器人及其应用 第三章 工业机器人的末端执行器.ppt VIP
文档评论(0)