计算机网络-首部检验和原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
具体过程:
发送端
字1 字2 检验和
字n
16 位
16 位 … 置为全 0 … 16 位
取反码 检验和 16 位
数据部分 不参与检验和的计算
IP 数据报 数据部分
接收端
字1
16 位
字2
16 位
…
…
字n
16 位
取反码
二进制反码求和:
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 取反得到最终结果
4
8
16 19
24
31
版 本 首部长度 区 分 服 务
总长度
首 固定部分 部 (20字节)
Βιβλιοθήκη Baidu
标识 生存时间
协议
标志
源地址
片偏移 首部检验和
可变 部分
目的地址 可 选 字 段 (长 度 可 变)
填充
数据部分
为什么使用首部检验和原理?
IP数据包中的首部校验字段的算法不采用 循环冗余算法,是因为IP包在网络中传输时, 其TTL字段的值经常会变化,故采用简单的叠 加方法,就可以避开中间路由器重新计算其校 验值,只是简单的增加1操作即可,这样可以明 显提高传输效率。
•
4、越是无能的人,越喜欢挑剔别人的 错儿。 01:19:2 201:19: 2201:1 9Saturday, December 12, 2020
•
5、知人者智,自知者明。胜人者有力 ,自胜 者强。 20.12.1 220.12. 1201:1 9:2201: 19:22D ecembe r 12, 2020
检验和的计算方法:
(1)把IP数据包的校验和字段置为0; (2)把首部看成以16位为单位的数字组成,依次进行二进制求 和(注意:求和时应将最高位的进位保存,所以加法应采用32 位加法); (3)将上述加法过程中产生的进位(最高位的进位)加到低16 位(采用32位加法时,即为将高16位与低16位相加,之后还要 把该次加法最高位产生的进位加到低16位) (4)将上述的和取反,即得到校验和。
•
6、意志坚强的人能把世界放在手中像 泥块一 样任意 揉捏。 2020年 12月12 日星期 六上午 1时19 分22秒0 1:19:22 20.12.1 2
•
7、最具挑战性的挑战莫过于提升自我 。。20 20年12 月上午 1时19 分20.12. 1201:1 9December 12, 2020
•
8、业余生活要有意义,不要越轨。20 20年12 月12日 星期六 1时19 分22秒0 1:19:22 12 December 2020
•
9、一个人即使已登上顶峰,也仍要自 强不息 。上午 1时19 分22秒 上午1时 19分01 :19:222 0.12.12
• 10、你要做多大的事情,就该承受多大的压力。12/12/
• 13、无论才能知识多么卓著,如果缺乏热情,则无异 纸上画饼充饥,无补于事。Saturday, December 12, 2020
12-Dec-2020.12.12
• 14、我只是自己不放过自己而已,现在我不会再逼自 己眷恋了。20.12.1201:19:2212 December 202001:19
首部检验和原理
三组
什么是首部检验和?
首部检验和字段是根据IP首部计算的检 验和码。首部检验和在IP数据报中占16位。 它只检验数据报的首部,不包括首部后面的 数据。
下图是一般IP数据报的格式,若仅仅 去理解校验和就不必去看这些字段的细节。
IP检验和就是对首部(固定部分+可变 部分)求的检验和。
位0
IP首部检验和的计算步骤
发送端:发送前计算首部 检验和
接收端:接收数据时计算检验 和
发送端: 1、把校验和字段设置为0; 2、把需要校验的数据看成以16位为单位的数字组成,依次 进行二进制反码求和; 3、把得到的结果存入校验和字段中
接收端: 1、把首部看成以16位为单位的数字组成,依次进行二进 制反码求和,包括校验和字段; 2、检查计算出的校验和的结果是否为0; 3、如果等于0,说明被整除,校验和正确。否则,校验 和就是错误的,协议栈要抛弃这个数据包。
谢谢观看!
•
1、有时候读书是一种巧妙地避开思考 的方法 。20.1 2.1220. 12.12Sa turday, December 12, 2020
•
2、阅读一切好书如同和过去最杰出的 人谈话 。01:1 9:2201: 19:2201 :1912/ 12/2020 1:19:22 AM
•
3、越是没有本领的就越加自命不凡。 20.12.1 201:19: 2201:1 9Dec-20 12-Dec-20
2020 1:19:22 AM01:19:222020/12/12
• 11、自己要先看得起自己,别人才会看得起你。12/12/
谢 谢 大 家 2020 1:19 AM12/12/2020 1:19 AM20.12.1220.12.12
• 12、这一秒不放弃,下一秒就会有希望。12-Dec-2012 December 202020.12.12