IP首部有16bit的校验和,因此,IP首部以16bit为单位计算校验和,IP首部的长度一定是16bit的整倍数,这是由于首部长字段是以32bit为单位计算的,不足的补0。发送方计算方法:1.首IP数据报校验只对首部进行校验,不对数据部分进行校验。把首部看成16位为单位的数字组成,依次进行二进制反码求和,
首部校验和=ffff-(4500+003c+03cd+0000+4001+c0a8+0118+c0a8+0101)=0xf38a 与图片上显示出都首部校验和0xf38a一致。是不是很简单?非也,接下来要考虑到一些情况。3.如何处理数据以IP首部中的校验和为例,计算过程可分为三个步骤:1.把校验和字段以全零填充;2.对每16 位(2 Byte)进行二进制反码求和;(这里说的反码求和,不是说先对每16 位求反码然后求
IP首部校验和的计算主要是两步:按位异或和取反,具体来说1. IP头部以16位为一个单位,逐个模2加(相当于异或); 2. 得到的结果取反,作为校验和放入校验和字段;351CTO博客已为您找到关于ip首部校验和计算的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及ip首部校验和计算问答内容。更多ip首部校验和计算相
反码求和法“反码求和法,是先求和,然后再取反”发送时将校验和字段设置为0 每16个bit(即2个while循环是将IP首部的内容以16位为单元加在一起,如果没有整除(即size还有余下的不足16位的部分),则加上余下的部分,此时的cksum就是相加后的结果,这个结果往