反码算术运算求和(计算机网络的一个习题求解,解答看不懂,题目和解答如下!关于首部检验和的计算)

:暂无数据 2026-07-26 18:50:01 :0

反码算术运算求和(计算机网络的一个习题求解,解答看不懂,题目和解答如下!关于首部检验和的计算)

本篇文章给大家谈谈反码算术运算求和,以及计算机网络的一个习题求解,解答看不懂,题目和解答如下!关于首部检验和的计算对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

计算机网络的一个习题求解,解答看不懂,题目和解答如下!关于首部检验和的计算

首部检验的方法是,吧首部分成一些16字的序列,将首部检验置0,然后对这些序列进行反码算数运算。求出来的这个和的反码放入首部检验位(16位)。收到数据报时进行检验:就是把首部再反码求和一遍,然后再取反码,这时应该得到0。
所以说前五行就是首部的前五行。
然后接下来的五行就是,换算成2进制的序列。
将这些序列16位的取反码合(包括和检验字段)得出来首部检验和发送前的值。
0111010001001110
然后再取反码放入首部检验位
1000101110110001
没有算,不过算出来应该就是这样。
反码求和时最高位相加产生进位的话结果要+1.

二进制反码求和的计算方法

IP/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的,算法如下:
在发送数据时,为了计算IP数据包的校验和。应该按如下步骤:
(1)把IP数据包的校验和字段置为0;
(2)把首部看成以16位为单位的数字组成,依次进行二进制反码求和;
(3)把得到的结果存入校验和字段中。
在接收数据时,计算数据包的校验和相对简单,按如下步骤:
(1)把首部看成以16位为单位的数字组成,依次进行二进制反码求和,包括校验和字段;
(2)检查计算出的校验和的结果是否等于零(反码应为16个0);
(3)如果等于零,说明被整除,校验和正确。否则,校验和就是错误的,协议栈要抛弃这个数据包。
所谓的二进制反码求和,即为先进行二进制数取反,然后求和,如果最高位进一,则保存到最低位即可。
计算对IP首部检验和的算法如下:
(1)把IP数据包的校验和字段置为0;
(2)把首部看成以16位为单位的数字组成,依次进行二进制求和(注意:求和时应将最高位的进位保存,所以加法应采用32位加法);
(3)将上述加法过程中产生的进位(最高位的进位)加到低16位(采用32位加法时,即为将高16位与低16位相加,之后还要把该次加法最高位产生的进位加到低16位)
(4)将上述的和取反,即得到校验和。

反码算术运算求和

不是,是把里面的数据按照16位依次取出,然后按照反码算数运算求和,也就跟正常加法一样,只不过如果最高位有进位则最终结果要加一,然后再求其反码即可

udp计算校验和的方法按二进制反码求和怎么算

把二进制的反码先写出来,就是每一位取反,之后逐位相与,只有两个1结果才为1,算出来以后要是0就是错的,1就是对的

二进反码求和,说,最高位若产生进位则结果要加1,想请问,若最高位产生的进位是2,结果还是末尾加1吗

二进制求和进位不可能是2!设正在运算的是第i位,要产生进位有二种情况,第一种情况是次低位i-1位产生进位,分两类:1 + 1(低位的进位1) = 1(带进位1); 1 + 0 (低位的进位1)= 0 (带进位1); 1 与 0 对调一样。第二种情况是次低位没有进位,只能是1 + 1 = 0(带进位1)

二进制反码求和是怎样求的

算法实现:

  unsigned short ip_fast_csum(unsigned char * iph,

      unsigned int ihl)

    {

    unsigned int sum;

       __asm__ __volatile__(

        "movl (%1), %0 ;\n"

        "subl , %2 ;\n"

        "jbe 2f ;\n"

        "addl 4(%1), %0 ;\n"

        "adcl 8(%1), %0 ;\n"

        "adcl 12(%1), %0 ;\n"

    "1:     adcl 16(%1), %0 ;\n"

        "lea 4(%1), %1 ;\n"

        "decl %2 ;\n"

        "jne 1b ;\n"

        "adcl , %0 ;\n"

        "movl %0, %2 ;\n"

        "shrl , %0 ;\n"

        "addw %w2, %w0 ;\n"

        "adcl , %0 ;\n"

        "notl %0 ;\n"

    "2: ;\n"

       : "=r" (sum), "=r" (iph), "=r" (ihl)

    : "1" (iph), "2" (ihl)

    : "memory");

    return(sum);

    }   

扩展资料

二进制反码求和工作原理 :

0和0相加是0,但要产生一个进位1,0和1相加是1,1和1相加是0.若最高位相加后产生进位,则最后得到的结果要加1。

(0)反 + (0)反 = 1 + 1 = 10

(1)反 +(0)反=0+ 1 =1

(1)反 + (1)反 = 0 + 0 = 0

关于本次反码算术运算求和和计算机网络的一个习题求解,解答看不懂,题目和解答如下!关于首部检验和的计算的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

反码算术运算求和(计算机网络的一个习题求解,解答看不懂,题目和解答如下!关于首部检验和的计算)

本文编辑:admin

更多文章:


teammate(teammate,company,partner)

teammate(teammate,company,partner)

各位老铁们,大家好,今天由我来为大家分享teammate,以及teammate,company,partner的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2026年10月11日 06:10

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

其实javascript arraybuffer的问题并不复杂,但是又很多的朋友都不太了解javascript可以把base64编码转换成二进制代码吗求示例代码!,因此呢,今天小编就来为大家分享javascript arraybuffer的

2026年10月11日 04:00

text函数公式(excel中round和text函数的区别是什么)

text函数公式(excel中round和text函数的区别是什么)

“text函数公式”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看text函数公式(excel中round和text函数的区别是什么)!

2026年10月11日 03:50

pascal编程软件(介绍一下pascal语言!)

pascal编程软件(介绍一下pascal语言!)

大家好,如果您还对pascal编程软件不太了解,没有关系,今天就由本站为大家分享pascal编程软件的知识,包括介绍一下pascal语言!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 02:40

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

本篇文章给大家谈谈google chrome打不开,以及chrome浏览器打不开怎么回事 浏览器打不开的处理方法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年10月11日 02:00

websocket整合springboot(Springboot整合Websocket遇到的坑)

websocket整合springboot(Springboot整合Websocket遇到的坑)

大家好,websocket整合springboot相信很多的网友都不是很明白,包括Springboot整合Websocket遇到的坑也是一样,不过没有关系,接下来就来为大家分享关于websocket整合springboot和Springbo

2026年10月11日 01:40

小米官方首爆miui14(miui14耗电严重官方回应)

小米官方首爆miui14(miui14耗电严重官方回应)

各位老铁们好,相信很多人对小米官方首爆miui14都不是特别的了解,因此呢,今天就来为大家分享下关于小米官方首爆miui14以及miui14耗电严重官方回应的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 00:40

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

本篇文章给大家谈谈drawerlayout,以及android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月10日 19:20

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

大家好,今天小编来为大家解答以下的问题,关于xor四位数怎么运算,单片机怎样用C语言实现4个数字间的异或这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 17:50

perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)

perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)

其实perl数组中最多的元素的问题并不复杂,但是又很多的朋友都不太了解用perl实现,得到一个数组中重复次数最多的元素,因此呢,今天小编就来为大家分享perl数组中最多的元素的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧

2026年10月10日 17:00

最近更新

thinkpade470c加内存条(thinkpad e470c内存条是什么牌子如果要添加4g内存什么牌子比较好)
2026-10-11 09:00:03 浏览:0
frontpage的主要功能(frontpage是什么)
2026-10-11 08:40:18 浏览:0
ideapad15alc7能玩什么游戏(联想ideapad15可以玩刺客信条启示录吗)
2026-10-11 08:10:05 浏览:0
me是国内域名吗(me域名的概况)
2026-10-11 07:50:35 浏览:0
热门文章

打印机m7400(m7400打印机清零方法)
2026-08-29 07:50:01 浏览:5
acrobat各版本区别(Acrobat XI Pro与 Acrobat PRO DC什么区别)
2026-08-29 22:30:20 浏览:2
联想y510p怎么升级(联想y510p换cpu)
2026-08-17 03:30:04 浏览:2
标签列表