当前位置:首页 » 网络连接 » 差错检验计算机网络
扩展阅读
台式无线网络电脑 2025-04-22 15:02:59
什么方法缩短网络信号 2025-04-22 15:01:30
网络没有wifi选择什么 2025-04-22 15:00:40

差错检验计算机网络

发布时间: 2023-08-07 15:37:25

1. 计算机网络的主要性能指标有哪些

计算机网络常用性能指标有:
1、速率:连接在计算机网络上的主机在数字信道上传送数据的速率。
2、带宽:网络通信线路传送数据的能力。
3、吞吐量:单位时间内通过网络的数据量。
4、时延:数据从网络一端传到另一端所需的时间。
5、时延带宽积:传播时延带宽。
6、往返时间RTT:数据开始到结束所用时间。
7、利用率信道:数据通过信道时间。


(1)差错检验计算机网络扩展阅读:
计算机网络中的时延是由一下几个不同的部分组成的:
(1)发送时延
发送时延是主机或路由纳模器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送时延也叫做传输时延。发送时延的计算公式是:
发送时延=数据帧长度(bit)/发送速率(bit/s)
(2)传播时延
传播时延是电磁波在信道中传播一定的距离需要花费的时间。传播时延的计算公式是:
传播时延=信道长度(m)/电磁波在洞扰缓信道上大的传播速率(m/s)
电磁波在自由空间的传播速率是光速。即3.0*10^5km/s。
发送时延发生在机器内部的发送器中,与传输信道的长度没有任何关系。传播时延发生在机器外部的传输信道媒体上,而与信道的发送速率无关。信号传送的距离越远,传播时延就越大
(3)处理时延
主机或路由器在收到分组时需要花费一定时间进行处理,例如分析分组的首部,从分组中提取数据部分、进行差错检验或查找合适的路由等,这就产生了处理时延。
(4)排队时延
分组在进行网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待,在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。排队时延的长短取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延无穷大。
这样数据在网络中经历的总时延就是以上四种时延之和:总时延=发送时延+传播时延+处理时李亩延+排队时延。
一般来说,小时延的网络要优于大时延的网络。

2. 计算机网络(3)

课程笔记,笔记主要来源于《计算机网络(第7版)》,侵删

简述/引言:
信道是链路的一个抽象,并非实际的描述。
数据链路层有两种类型:

链路:一个结点到相邻接待您的一段物理线路(有限或无线),中间没有其他的交换结点。
数据链路:实现协议的硬件和软件 + 链路 = 数据链路
网络适配器:一般都包括了数据链路层和物理层这两层的功能
*规程:早期的数据通信协议
帧:点对点信道的数据链路层的协议数据单元
IP数据报:网路层协议数据单元(数据报、分组、包)

三个基本问题:封装成帧、透明传输、差错检测

目前点对点链路中,使用最广泛的数据链路层协议就是PPP协议
PPP协议:用户计算机和ISP进行通信时所使用的数据链路层协议
PPP协议应满足的需求(主要部分):

PPP协议的三个组成部分:

首部和尾部分别为四个字段和两个字段
首部:

局域网的主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限
*局域网具有的优点:

局域网按网络拓扑进行分类有:星形网、环线网、总线网(现使用最多)

共享信道的方法:

以太网的两个标准:DIX Ethernet V2 和 IEEE的802.3标准
802.3标准把局域网的数据链路层拆成两个子层:逻辑链路控制LLC子层(偏网络层)、媒体接入控制MAC子层(偏物理层)

适配器(网络接口卡/网卡)的作用:连接计算机与外界局域网

早期的以太网是多个计算机连接在一条总线上的
总线的特点:广播通信方式,实现一对一通信

为了通信的简便,以太网采取了两种措施:

CSMA/CD协议(载波监听多点接入/碰撞检测):

CSMA/CD协议特性:

关于碰撞:

集线器:在星型拓扑网络的中心增加的一种可靠性非常高的设备
集线器的特点:

令 , 为单程端到端时延, 为帧的发送时间
则 越小,以太网的信道利用率就越高
极限信道率
只有当参数 远小于1才能得到尽可能的信道利用率

MAC地址:48位(IEEE 802标准),是局域网中的硬件地址/物理地址,是每个站的“名字”或标识符(固化在适配器的ROM中的地址,一般不可更改)
IP地址:32位,代表了一台计算机,是终端地址(可更改)

MAC帧之间传送要有一定的时间间隔
适配器对接收到的MAC帧的处理:先检查MAC帧中的目的地址,若是本站的则收下再进行其它处理,否则直接丢弃
接收到的MAC帧有三种:

MAC帧的格式
两种MAC帧格式标准:DIX Ethernet V2标准(以太网V2标准)、IEEE的802.3标准
MAC帧的类型字段用来标志上一层用的什么协议,以便把接收到的MAC帧的数据上交给上一层的这个协议
IEEE 802.3标准规定的无效MAC帧:

(原理不变,扩大距离)

使用光纤和一对光纤调节器

使用多个集线器
好处:

缺点:

最初使用网桥
网桥的传输不会改变MAC帧的源地址
网桥的作用:对MAC帧的目的地址进行转发和过滤

网桥的优点:

网桥的缺点:

后改用以太网交换机
以太网交换机 / 交换式集线器:工作在数据链路层,实质上就是一个多接口的网桥
以太网交换机特点:是一种透明网桥(一种即插即用设备),其内部的帧交换表(地址表)是通过自学习算法自动转建立起来的

以太网交换机可实现虚拟局域网(VLAN)
虚拟局域网:由一些局域网网段构成的与物理位置无关的逻辑组

3. 在计算机网络中什么是crc校验和,怎么计算

CRC即循环冗余校验码
是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设要发送的信息用多项式C(X)表示,将C(x)左移R位(可表示成C(x)*2R),这样C(x)的右边就会空出R位,这就是校验码的位置。用 C(x)*2R 除以生成多项式G(x)得到的余数就是校验码。
谢谢 希望能帮助到你

4. 计算机网络中差错控制方法

一、总的方法折叠:
1、前向纠错。实时性好,单工通信采用。
2、自动重发请求(ARQ)。强调检错能力,不要求有纠错能力,双向通道采用。
3、混合纠错。上述两种方式的综合,但传输设备相对复杂。

二、分类方法折叠:
1、差错检测是差错控制的基础。能纠错的码首先应具有差错检测能力,而只有在能够判定接收到的信号是否出错才谈得上是否要求对方重发出错消息。具有差错检测能力的码不一定具有差错纠正能力。由于差错检测并不能提高信道利用率,所以主要应用于传输条件较好的信道上做为误码统计和质量控制的手段。
2、自动请示重发ARQ和前向纠错FEC是进行差错控制的两种方法。
一在ARQ方式中,接收端检测出有差错时,就设法通知发送端重发,直到正确的码字收到为止。ARQ方式使用检错码,但必须有双向信道才可能将差错信息反馈到发送端。同时,发送方要设置数据缓冲区,用以存放已发出的数据以便于重发出错的数据。
二在FEC方式中,接收端不但能发现差错,而且能确定二进制码元发生错误的位置,从而加以纠正。FEC方式使用纠错码,不需要反向信道来传递请示重发的信息,发送端也不需要存放以务重发的数据缓冲区。但编码效率低,纠错设备也比较复杂。
3、差错控制编码又可分为检错码和纠错码。
检错码只能检查出传输中出现的差错,发送方只有重传数据才能纠正差错;而纠错码不仅能检查出差错而且能自动纠正差错,避免了重传。
4、演播的检错码有:奇偶校验码、循环冗余码。
在实际通信网中,往往在不同的应用场合采用不同的差错控制技术。前向纠错主要用于信道质量较差、对传输时延要求较严格的有线和无线传输当中;差错检测往往用于传输质量较高或进行了前向纠错后的通路的监测管理之中>自动请求重发则多用于象计算机通信等对时延要求不高但对数据可靠性要求非常高的文件传输之中。

5. 计算机网络五层模型在网络层采用什么样的差错检测方法

答:所谓五层协议的网络体系结构是为便于学习计算机网络原历孙理而采用的综合了OSI七层模型和TCP/IP的四层模型而得到的五层模型。各层的主要功能:(1)应用层 应用层确定进程之间通信的性质以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为互相作用的应用进程的用户代理(user agent),来完成一些为进行语义上有意义的信息交换所必须的功能。(2)运输层任务是负责主机中两个进程间的通信。因特网的运输层可使用两种不同的协议。即面向连接的传输控制协议TCP和无连接的用户数据报协议UDP。面向连接的服务能够提供可靠的交付。无连接服务毕高则不能提供可靠的交付。只是best-effort delivery.(3)网络层网络层负责为分组选择合适的路由,使源主机运输层所传下来的分组能够交付到目的主机。(4)数据链路层数据链路层的任务是将在网络层交下来的数据报组装成帧(frame),在两个相邻结点间的链路上实现肢数链帧的无差错传输。(5)物理层物理层的任务就是透明地传输比特流。“透明地传送比特流”指实际电路传送后比特流没有发生变化。物理层要考虑用多大的电压代表“1”或“0”,以及当发送端发出比特“1”时,接收端如何识别出这是“1”而不是“0”。物理层还要确定连接电缆的插头应当有多少根脚以及各个脚如何连接。

6. 数据链路层的差错的检测和恢复(奇偶校验码,CRC校验,校验和),各种运算

在原始的物理传输线路上传输数据信号是有差错的,存在一定的误码率,数据链路层存在的目的就是给原始二进制位流增加一些控制信息 ,实现如何在有差错的线路上进行无差错传输

数据设定为M位,冗余位设定为R位,如果位数满足即认为不出错,如果位数不满足即肯定出错

差错产生的原因
信道的电气特性引起信号幅度,频率,相位的畸变,信号反射,串扰,闪电,大功率电机的启停等

计算机网络中出现的差错是连续的还是离散的差错? → 是连续的突发性的差错
比如传了一个这样的位串0001101001,连续的差错:比如一共出错了3位,连续的出错在一起。离散的差错:一共出错了3位,不是连续出的,是分散出的

保证帧正确,按序送交上层(顺序要对,不能重复也不能跳帧)。在接收方能够判断接收的数据是否正确,若错误还可能要恢复错误

纠错控制主要由接收方做,能检查出错并定位到是哪儿出错了

接收方通过反馈机制告诉发送方出错,发送方通过重发的方式恢复差错

☆自动纠错比检错反馈重发机制代价大,在发生数据丢失的情况下,只是自动纠错机制无法进行差错恢复,还是需要检错反馈重发机制

一个帧包括m个数据位,r个校验位(是冗余位,和m位的有效数据是无关的),称为n位码字(n=m+r),我们希望r尽量短,并且尽量有一个固定长度

加入了冗余位,使接收方知道有差错发生,但不知道什么差错,然后请求重发

加入了足够多的冗余位,使接收方不仅知道有差错发生,并知道哪些位发生差错

两个编码的海明距离: 两个编码不相同位的个数
例:0000000000与0000011111的海明距离是5
编码方案的海明距离: 编码方案中任两个编码海明距离的最小值
ASCII这样的连续编码的海明距离都是1

为检测d位错,编码方案的海明距离应至少为d+1
当发生d位错时,不会由一种合法编码变为另一种合法编码,也就是想要由一种合法编码变为另一种合法编码,需要d+1以上出错

对接收方来讲,它判定一个编码是否出错的唯一依据是这个编码是否是一个合法的编码。即使接收方收到了一个合法的编码,它也无法判断是否是一个合法编码,因为它不知道这个合法编码原本就是合法的,还是出错以后也依然是一个合法编码。因此需要海明距离应至少为d+1

在数据链路层一般是不用这种检错方法的,因为检错率太低

若接收方收到的字节奇偶结果不正确,就可以知道传输中发生了错误
增加奇偶校验位后海明距离由1变为2,因此根据“为检测d位错,编码方案的海明距离应至少为d+1”,可以检查出一位二进制位的差错
用这种方法,有一位出错时,就会由合法编码(奇校验时1的个数为奇数,偶校验时1的个数为偶数)变成一种非合法编码(奇数校验时1的个数为偶数,偶校验时1的个数为奇数)

为纠正d位错,编码方案的海明距离应至少为2d+1
当发生d位错时,出错编码仍然最接近于原始的正确编码

例:现在有一个编码方案,这个编码方案之中只有4种合法编码↓
0000000000
0000011111
1111100000
1111111111
它们之间的海明距离为5,按照定理,能够纠正2位错
假设接收方收到了这样的编码:0001100000,很明显这是个非法编码,怎么样纠正
呢?我们知道出错的位数是≤ 2位的,它和第一种的海明距离为2,和第二种为7,和
第三种为3,和第四种为8,离它最近的是第一种编码。它采用这种就近恢复的原则将
出错的编码恢复到原始编码

数据链路层用的最多的一种检错方法
但是高层(网络层,传输层)是不用这种检错方法的,而用检验和的方法

生成多项式G(x)
发方,收方事前约定。这里的约定是数据链路层的协议已经定义该协议使用什么生成多项式
生成多项式的高位和低位必须为1
生成多项式必须比传输信息对应的多项式短
(现在最多用的是CRC-32,生成多项式是32位,能否保证生成多项式比传输的对应的多项式短呢?从原始数据来讲保证不了,但是到数据链路层时加了传输层的头,网络层的头之后肯定能保证大于32位。比如现在的Internet网络,例如在传输层使用TCP加20个字节,在网络层IP又加了20个字节,已经超过32位了,所以肯定能保证)
理论上来讲生成多项式的阶越高,检错率越高
硬件实现CRC校验

四个多项式已经成为国际标准

CRC码(增加的r位冗余位检错码,即校验和)加在帧尾(效率比较高),使带CRC码的帧的多项式能被G(x)除尽:接收方接收时,用G(x)去除它,若有余数,则传输出错

• 模2加法运算定义为:(对应于逻辑异或)
0+0=0 0+1=1 1+0=1 1+1=0
例如0101+0011=0110
• 模2减法运算定义为:(对应于逻辑异或)
0-0=0 0-1=1 1-0=1 1-1=0
例如0110-0011=0101
• 模2乘法运算定义为:
0x0=0 0x1=0 1x0=0 1x1=1

• 模2除法运算定义为:
0 ÷1=0 1÷1=1
利用模2减求余数,余数最高位为1,则商1,否则商0,每商1位则余数减少1位,
直到余数位数少于除数位数

按位与运算:
按位与运算符”&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现

例如: 9 & 5
00001001(9的二进制补码)
&
00000101 (5的二进制补码)
00000001
可见9 & 5 =1

最高位作为符号位,若符号位为0,则表示正数,若符号位为1,则表示负数
其余各位代表数值本身的绝对值(以二进制表示)
绝对值相同的正数和负数,它们除了符号位不同外,其他各位都相同

一个数如果值为正,则它的反码与原码相同
一个数如果值为负,则将其符号位置为1,其余各位为对原码相应数据位取反
(取反:二进制中有0和1两种状态,取反就是取与当前状态相反的状态,1取反等于0,0取反等于1)

正数的补码与反码,原码相同
负数的补码则将其最高位置为1,其余各位为对原码的相应数据位取反,再对整个数加1
即 X为负数时,【X】补 = 【X】反+1

(+0)补 = 00000000
(-0)反 = 11111111
(-0)补 = 11111111 + 1 = 100000000→进位1舍去→00000000

假设用一个字节表示一个数,补码的表示范围为:-128 ----- +127
用反码表示的最小值为:-128,其反码为:10000000
用反码表示的最大值为:+127,其反码为:01111111

按位或运算符”|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的两个二进位有一个为1时,结果位就为1.参与运算的两个数均以补码出现
例如:9|5
00001001
| 00000101
00001101(十进制为13)
可见9|5=13

~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反
例如:~9
~(0000000000001001)结果为:1111111111110110

按位异或运算符” ^ ”是双目运算符。其功能是参与运算的两数各对应的二进位相异或。当两对应的二进位相异时,结果为1。参与运算数仍以补码出现
例如:9^5
00001001
^ 00000101
00001100(十进制为12)

左移运算符” << ”是双目运算符。其功能是把 ” << ”左边的运算数的各二进位全部左移若干位,由” << ”右边的数指定移动的位数,高位丢弃,低位补0
例如:a=00000011(十进制3),a << 4,结果为:00110000(十进制48)

右移运算符” >> ”是双目运算符。其功能是把” >> ”左边的运算数的各二进制全部右移若干位,” >> ”右边的数指定移动的位数
例如:a=15(00001111),a >>2,结果为00000011(十进制3)

计算方法例:

※CRC码计算还有一个好处:
我们希望不管m是多少位的,但是冗余位r是越短越好,而且最好位数是固定的。用这CRC码的好处就是生成多项式是多少阶的,那么最后的余数(冗余位)的位数就是多少位。如果是n阶的,那么最后就是4位

循环冗余校验法检验不出来的错的情况:收到的位串虽然是错误的,但是恰巧能被生成多项式整除,这个时候检测不出来

适用于高层协议,如IP,TCP,UDP等
校验码放在前面或后面影响都不大,所以绝大多数是放在前面的
检错率低于循环冗余校验法
在↓例子中,如果第1位和第9位同时出错,或者第2位和第10位同时出错···出错,那么它们取反相加的数是不变的,这个时候是检查不出错的。但是网络当中连续突发的错占绝大部分,这种跳跃性的出错概率很小,所以检验和的检错率还是比较高的
高层不用冗余校验法的原因是,冗余校验法主要采用除的计算方式,比累加的(校验和)计算方式效率要低,而数据链路层用这种方法可以用硬件实现,但是网络层和传输层一般只能通过软件实现,那么效率就降低了。而且数据链路层已经提供了比较可靠的支持,所以高层就可以用这种检错率相对低一点的检错法

检验字段初值置0,数据拆分成与检验字段等长的分片,不足部分补0,将所有分片逐位取反,并连续累加,丢弃最高进位,计算结果置于检验字段。接收端执行相同的过程(分段处理,取反累加,把累加出的校验和与校验码字段当中保存的校验和进行比对,如果是完全一致就没错),并将计算结果和传输过来的检验和进行比较以确定是数据是否出现差错