精华内容
下载资源
问答
  • 差错检测技术
    2022-05-07 23:35:12

    计算机网络自顶向下方法总结6.2差错检测和纠正技术

    目录

    6.2 差错检测和纠正技术

            6.2.1 奇偶校验

            6.2.2 校验和方法

            6.2.3 循环冗余检测


    6.2 差错检测和纠正技术

            比特级差错检测和纠正(bit-level error detection and correction),即对从一个节点发送到另一个物理上连接的邻近节点的链路层帧中的比特损伤进行检测和纠正,通常是链路层提供的两种服务。差错检测和纠正服务通常也由运输层提供。

            链路层要保护的数据不仅包括从网络层传递下来需要通过链路传输的数据报,而且包括链路帧首部中的链路级寻址信息,序号和其他字段。

            三种检测差错技术:奇偶校验,校验和方法,循环冗余检测。

            6.2.1 奇偶校验

            奇偶校验只需要单个校验位(parity bit)。偶校验中,发送发只需一个附加比特,使发送的信息比特加附加比特中1的个数为偶数,奇校验则是1的个数为奇数。

            书中还有一种二维奇偶校验方案。

            接收方检测和纠正差错的能力称为前向纠错(Forward Error Correction,FEC),可以减少所需的发送方重发的次数,对于实时网络应用或者长传播时延的链路是一个优点。

            6.2.2 校验和方法

            在TCP和UDP中,对所有字段都计算因特网检验和。因为运输层差错检测用软件实现,采用简单而快速如检验和这样的差错检测方案是重要的。链路层的差错检测在适配器中用专门硬件实现,能很快执行更复杂的CRC操作。

            6.2.3 循环冗余检测

            循环冗余检测(Cyclic Redundancy Check)编码也称多项式编码(polynomial code),因为发送方和接收方要协商一个生成多项式(generator)

            因为这节主要涉及三种差错检测和纠正技术,所以篇幅较少,差错检测和纠正技术详细过程还是看书为好。

    更多相关内容
  • 一、差错检测技术 与运输层和网络层一样,链路层也有自己的差错检测技术。链路层的差错检测技术通常有以下三种: 1.奇偶校验 该检测方法的原理是对于d比特的数据,在最后加上1比特的检验比特位,通过调节检验比特...

    一、差错检测技术

    与运输层和网络层一样,链路层也有自己的差错检测技术。链路层的差错检测技术通常有以下三种:

    1.奇偶校验

    该检测方法的原理是对于d比特的数据,在最后加上1比特的检验比特位,通过调节检验比特位的值使得这d+1比特的数据中1的个数为偶数,接收方检测这d+1比特的数据,判断1的个数,如果不是出现奇数个1,则数据出错。

     

    但这种方法无法检验出出现偶数个1的差错。但经过实验研究证明,出现偶数个错误的概率很低,大多情况下,链路层只会出现单个数据错误。

    但现在该方法已经由一维检验拓展到了二维检验,在二维检验应用后,即使同一行出现了偶数个错误,也可以通过列值进行判断

     2.检验和方法

    检验和方法同运输层和网络层中所描述的那样,即对所有传输报文的数据进行位求和,然后,对溢出的位进行取反操作,求得一个检验和。在接收方的链路层中验证该检验和以判断数据是否出错。

    3.循环冗余检测

    循环冗余检测技术的原理如下:发送方和接收方协商出一个r+1比特模式,称为生成多项式,表示为G,对于G,其最高有效比特位必须为1,。对于一个给定的数据D,发送方需要选择一个r比特的数据附加在D后面,接收方用之前协商生成的G,对这d+r比特的数据进行取余,若取余结果为0,则数据无误,否则数据出现差错

    即发送方发送的数据D应该满足  D*2^r  XOR  R = nG

    二、多路访问协议

    所谓的多路访问协议,就是规范多个结点在同一条共享的广播信道上的传输行为的。但是多个结点在共享信道上的传播可能会使某个结点同时接收到多个帧,即在接收接收方发生碰撞行为,此时所有接收到的帧的信号将会纠缠在一起,接收方无法分辨出每个帧的数据。

    其中链路层常用的三种多路访问协议是:信道划分协议,随机接入协议和轮流协议

    2.1 信道划分协议

    信道划分协议的核心思路是按照一定的划分标准对信道进行划分,使得被划分出来的每一个时间帧用于处理一段时间内的不同发送方和接收方的数据传输。

    其中划分方式可以分为时分多路复用和频分多路复用。

    时分多路复用的信道划分依据是一个特定的时间周期,而频分多路则是按照信道的不同频率来进行划分。

    下面以时分多路为例子,来讲解一下信道划分协议的工作原理:

    对于划分出来的每一个信道的帧,将其N等分为N个时隙,用于处理不同的发送方-接收方的请求。

    如下图所示,可以这么理解,1,2,3,4这四个时隙每一个都用来处理一个特定的发送方-接收方的帧传输,当处理时间达到时隙长度时,换另一组发送方-接收方来进行处理,1,2,3,4循环完一轮后,再次处理1号时隙所对应的发送方-接收方,直到这对发送方-接收方处理完成。在这对发送方-接收方处理完成后,时隙1用来处理别的发送方-接收方。

    对于频分多路,原理和时分多路类似,只是划分信道的规则是频率的大小而不是时间的大小。

     2.2 随机接入协议

    随机接入协议分为无碰撞检测的ALOHA和有碰撞检测的载波侦听多路访问两种:

    1)其中无碰撞检测的ALOHA协议工作过程如下:

    一个传输结点总是以信道的全部速率进行发送,当有碰撞时,涉及碰撞的每个节点反复地重发它的帧,到该帧无碰撞地通过为止。但是当一个结点历经碰撞的时候,它不必立即重发该帧,而是等待一个随机时延重发该帧,也可以这么理解,在结点检测到某个时隙,帧发送碰撞后,会在这个时隙结束之后以概率P在之后的每个时隙重传该帧,至到其无碰撞地传输出去。

    2)有碰撞检测的载波侦听多路访问

    在一个帧传输之前,结点会监听此时信道里面是否有其他结点在传输,如果有,则停止传输,循环等待一段时间,直到信道中没有其他结点在进行传输。

    相比于前者,后者发生碰撞的情况大大减小,传输的效率也大大提高。

    2.3轮流协议

    轮流协议主要有轮询协议和令牌传输协议两种。

    轮询协议的工作流程:主节点以轮询的方式轮询每个结点,每次轮询的时候会以一个报文的形式告诉当前结点其最多能传输的数量。

    令牌传递协议:这种协议没有主节点,而是以一个可以来回传递的令牌来决定谁来进行发送。即一个持有令牌的结点在完成帧的发送后,将令牌随机传输给另一个要有帧要发送的结点中的一个,当且仅当一个结点有数据要发送时,它才可以持有这个令牌,当然,也只有持有令牌的结点才可可以发送数据。

    展开全文
  • 差错检测技术专题PPT教案学习.pptx
  • 数据链路层CRC差错检测技术

    千次阅读 2020-11-19 17:47:15
    最近看到这块了,根据自己的理解在这里记录CRC差错检测技术。 现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,0也可能会变成1。这就叫做比特差错。比特差错是传输差错中的...

    本科时老师照本宣科,没有搞懂CRC差错检测到底是怎么检测的。最近看到这块了,根据自己的理解在这里记录CRC差错检测技术。

    现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,0也可能会变成1。这就叫做比特差错。比特差错是传输差错中的一种,指的是:在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check) 的检错技术。

    下面通过一个简单的例子来说明循环冗余检验的原理。如下图:
    在这里插入图片描述
    发送方发送数据101001,为了达到无差错传输的目的,在数据的后面添加冗余码。式子里的冗余码是000。有的同学要问为什么是3个0,其实这个是发送端和接收端自己定义的,如果冗余码是3个数,那么除数就是4位数。相应地,冗余码是n位,那么除数就是n+1位数。上面的式子最后的余数是001,就是我们说的帧检验序列FCS(Frame Check Sequence)。因此加上FCS后发送的帧是101001001

    接收端接收到相应的数据后,用相同的除数进行运算,进而查看运算结果,若余数是0,则判断为无差错传输。如下式:
    在这里插入图片描述
    通过简单的例子我们可以知道CRC差错检测技术的方法。

    最后再强调一下,在数据链路层若仅仅使用循环冗余检验CRC差错检测技术,则只能做到对帧的无差错接受,即:“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”。(有差错的帧就丢弃而不接受)。

    要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。

    可以说“CRC是一种无比特差错,而不是无传输差错的检测机制”。

    总结

    循环冗余码检验CRC和帧检验序列FCS并不等同。
    CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码
    FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。

    展开全文
  • 记录链路层概述,差错检测技术以及多路访问协议

    概述

    网络层提供了任意两台主机之间的通信服务,而在两台主机之间,数据报需要跨越一系列的通信链路进行传输,这里就进入了链路层的范围。我们将运行链路层协议的任何设备均称为 结点,包括主机,路由器,交换机和 WiFi 接入点;把沿着通信路径连接相邻结点的通信信道称为 链路,在通过特定的链路时,传输结点就将数据报封装在 链路层帧 中,并将该帧传送到链路中

    为了更好地理解链路层以及它是如何与网络层关联的,考虑一个交通运输的例子:假定一个旅行社要为游客开辟从 A 地到 D 地的路线,且旅行社认为对于游客而言最为便利的方案是:从 A 坐客车到 B,然后从 B 坐飞机到 C,再从 C 坐火车到 D。这个路线中的每一段小路线中 “相邻” 的地点之间都是直达的,且三段小路线是不同的运输方式,也将由不同的运输公司负责,尽管运输方式不同,但它们都提供了将旅客从一个地点运输到相邻地点的服务。那么,这里的游客就好比一个数据报,每个运输区段就好比一条链路,每种运输方式就好比一种链路层协议,而旅行社就好比路由选择协议

    链路层提供的服务

    任一链路层的基本服务都是将数据报通过单一通信链路从一个结点移动到相邻结点,但所提供的服务细节随着链路层协议的不同而变化,协议能够提供的可能服务如下:

    • 成帧:每个网络层数据报经链路传送之前,几乎所有链路层协议都需要将其用链路层帧封装起来,数据报就作为帧中的数据部分

    • 链路接入媒体控制访问 ( M e d i u m   A c c e s s   C o n t r o l Medium\ Access\ Control Medium Access Control,MAC) 协议规定了帧在链路上传输的规则。
      链路从两端的结点个数来看可以分为两种:链路一端仅有一个发送方,另一端仅有一个接收方的 点对点链路,这种情况下 MAC 协议比较简单,甚至不存在,因为无论何时链路空闲,发送方都能发送帧。针对点对点链路的协议有 点对点协议 ( p o i n t − t o − p o i n t   p r o t o c o l point-to-point\ protocol pointtopoint protocol,PPP),高级数据链路控制协议 ( h i g h − l e v e l   d a t a   l i n k   c o n t r o l high-level\ data\ link\ control highlevel data link control,HDLC);
      多个节点共享单个 广播链路,这种链路就会面临 多路访问问题,在这里 MAC 就可以用于协调多个结点的帧传输。广播链路层技术的例子有 以太网 以及 无线局域网

    • 可靠交付:链路层协议提供可靠交付服务时可以保证无差错地经链路层移动每个网络层数据报。类似于 TCP,链路层的可靠交付服务通常是通过确认与重传实现的

      链路层可靠交付服务通常用于易产生高差错率的链路,如无线链路,其目的是在本地纠正一个差错,而不是通过运输层或应用层协议迫使进行端到端的重传
      然而,对于低比特差错的链路,如光纤,同轴电缆和许多双绞铜线链路,链路层的可靠交付会被认为是不必要的开销,因此很多有线的链路层协议不提供可靠交付服务

    • 差错检测和纠正:当帧中的一个比特作为 1 传输时,接收方结点中的链路层硬件可能不正确地将其判断为 0,反之亦然。这种比特差错是由信号衰减和电磁噪声导致的

      发送一个有差错的数据报是没有必要的,因此许多链路层协议都会提供一种机制来检测这样的比特差错,通过让发送结点在帧中包括 差错检测比特 让接收结点进行差错检查来完成这项工作
      链路层的差错检测通常比运输层以及网络层中的因特网校验和更加复杂,并且是用硬件实现的

      差错纠正类似于差错检测,区别在于接收方不仅能检测帧中出现的比特差错而且能够准确地确定差错出现的位置并纠正这些差错

    链路层在何处实现

    链路层的 主体部分 是在 网络适配器 ( n e t w o r k   a d a p t e r network\ adapter network adapter) 中实现的,其有时也称为 网络接口卡 ( N e t w o r k   I n t e r f a c e   C a r d Network\ Interface\ Card Network Interface Card,NIC)

    位于网络适配器核心的是 链路层控制器,该控制器通常是一个实现了许多链路层服务如成帧,链路接入,差错检测等的专用芯片,不同的控制器可能会实现不同的链路层协议,如以太网协议等

    在发送端,控制器取得由协议栈较高层生成并存储在主机内存中的数据报,在链路层帧中封装该数据报,然后遵循链路接入协议将该帧传进通信链路中;在接收端,控制器接收了整个帧,抽取出网络层数据报。如果链路层执行差错检测的话,还需要发送控制器在该帧的首部设置差错检测比特,由接收控制器执行差错检测

    差错检测和纠正技术

    链路层通常提供 比特级差错检测和纠正,即对从一个结点发送到另一个物理上连接的邻近结点的链路层帧中的比特损伤进行检测和纠正。
    在发送结点,为了保护比特免受差错,使用 差错检测和纠正比特 ( E r r o r − D e t e c t i o n   a n d − C o r r e c t i o n Error-Detection\ and-Correction ErrorDetection andCorrection,EDC) 来增强数据 (数据段记为 D),接收方的任务就是在只收到数据 D’ 以及 EDC’ 的情况下,确定 D’ 是否和初始的 D 相同
    差错检测和纠正技术使接收方有时而非总是检测出出现的比特差错,就是说接收方可能无法发现接收的信息中包含着比特差错。为减少这种事情发生的概率,就需要选择一个更复杂,开销更大,即需要更多计算量以及更多的差错检测和纠错比特的差错检测方案
    接下来讨论其中的三种技术:奇偶校验校验和方法,和 循环冗余检测

    奇偶校验

    对于要发送的信息 D,设其含有 d 个比特,在 偶校验方案 中,发送方只需包含一个附加的校验比特,选择它的值 (0 或 1),使得这 d + 1 个比特中 1 的总数是 偶数个;对于 奇校验方案,则是选择校验比特值使得 1 的总数为奇数个

    接收方在校验时,只需要数一数接收的 d + 1 比特中 1 的数目即可。以 偶校验方案 为例,如果发现了奇数个值为 1 的比特,接收方就知道出现了 奇数个比特差错

    但如果出现了偶数个比特差错,这将有可能出现一个未检出的差错。如果比特差错的概率非常小,而且比特之间的差错可以看作是独立发生的,那么一个分组中多个比特同时出错的概率将是极小的。这种情况下,单个奇偶校验位就是足够的

    然而,测量表明差错经常以 “突发” 的形式聚集在一起而不是单独发生。因此,需要一种更健壮的差错检测方案

    校验和方法

    校验和 更多用于 传输层

    在校验和技术中,上述的 d 比特数据被是视为以一个由多个 k 比特整数组成的序列,简单的校验和方法就是将这些 k 比特整数加起来,并且用得到的和作为差错检测比特

    因特网校验和就是基于这种方法,它将数据视为由 16 比特的整数所组成的序列,对于 IP,UDP,TCP 首部中的校验和字段在计算时置为 0 即可。然后将这些 16 比特整数进行 1 的补码和运算,这里 1 的补码和运算就是 带循环进位的加法,最高位有进位应循环进到最低位。然后对得到的和求反码,得到的结果就是要携带在报文段首部中的校验和

    接收方通过对接收的数据进行同样的求和取反码运算,如果得到的结果为 0,表示传输正确;否则,说明传输有差错。

    循环冗余检测

    如今广泛应用的差错检测技术都是基于 循环冗余检测 ( C y c l i c   R e d u n d a n c y   C h e c k Cyclic\ Redundancy\ Check Cyclic Redundancy Check,CRC)
    这里我们考虑一个 d 比特的将被发送的数据 D,

    1. 发送方和接收方首先必须协商一个 r + 1 比特模式,称之为 生成多项式,这里我们表示为 G
    2. 对于一个给定的数据段,发送方要选择 r 个附加比特 R,附加到 D 的尾部,使得得到的 d + r 比特模式用 模 2 算术 恰好能被 G 整除。发送给接收结点的就是这 d + r 比特模式
      这里的模 2 运算是一种二进制算法,包括模 2 加,模 2 减,模 2 乘以及模 2 除四种运算,与普通的四则运算不同的是 模 2 运算不考虑某一位运算时结果的进位和借位 (1 + 1 = 0,且不进位;0 - 1 = 1,无需向低位借位),使得两个二进制位相运算时,这两个位的值就能确定运算结果,不受前一次运算的影响,也不对下一次运算造成影响。这意味着加法,减法是相同的,而且等价于操作数的按位异或操作
    3. 接收方用 G 去除所接收到的 d + r 比特。如果余数为非零,接收方就知道出现了差错,否则认为数据正确而被接收
    4. 还有一个问题是在发送方 R 怎么计算。我们要满足的式子是 D * 2r XOR R = nG (模 2 加相当于异或,这里使用异或),对这个式子再次用 R 异或,得到 D * 2r = nG XOR R,把异或看成加法,可以看出来 R 即为 D * 2r 除以 G 得到的余数,所以可以通过 D * 2r 除以 G 得到余数的方法来求出 R

    多路访问链路和协议

    前面提到网络链路分为 点对点链路 以及 广播链路。点对点链路比较简单,而广播链路就会面临 多路访问问题,即如何协调多个发送节点对一个共享信道的访问。结点将通过 多路访问协议 来规范它们在共享的广播信道上的传输行为

    因为所有结点都能传输帧,那么就可能出现多个结点同时传输帧的情况,其结果就是所有结点同时接到多个帧,即传输的帧在所有的接收方 碰撞
    通常,碰撞发生时,没有一个接收结点能够有效地获得任何传输的帧,碰撞帧的信号纠缠在一起,使得涉及碰撞的所有帧都丢失了;那么自然,在碰撞时间间隔中,广播信道也就被浪费了

    那么为了确保广播信道执行有用的工作,协调活跃结点的活动是有必要的,这种协调工作由多路访问协议负责。

    多路访问可分为三种:信道划分协议随机接入协议,以及 轮流协议

    下面讲述各种协议时我们使用这样一个例子:有一个支持 N 个结点的信道,且信道的传输速率为 R bps

    信道划分协议

    时分多路复用

    时分多路复用 (TDM) 将时间划分为 时间帧,并进一步划分每个时间帧为 N 个时隙 (slot),然后将每个时隙分配给 N 个结点。当某个结点需要发送链路层帧时,它在循环的 TDM 帧中指派给它的时隙内传输分组比特,所以选择的时隙长度应使一个时隙内能够传输单个分组

    TDM 消除了碰撞,而且非常公平,每个节点在每个帧时间内得到了专用的传输速率 R/N bps
    其主要缺陷在于:结点被限制于 R/N bps 的平均速率,即便只有它是唯一需要发送帧的结点;结点必须总是等待它在传输序列中的轮次,即便它是唯一一个需要发送帧的结点。就是说,对于只有少数个甚至只有一个结点是经常活跃的结点的情况,TDM 是一种很糟的选择

    频分多路复用

    频分多路复用 (FDM) 将 R bps 信道划分为不同的频段,每个频段具有 R/N 带宽,然后把每个频率分配给 N 个结点中的一个,即在单个较大的 R bps 信道中创建了 N 个较小的 R/N bps 信道

    FDM 同样消除了碰撞,也很公平,在 N 个结点之间公平地划分了带宽
    其主要缺点是:限制了一个结点只能用 R/N 的带宽,即便它是唯一一个需要发送帧的结点

    码分多址

    码分多址 ( C o d e   D i v i s i o n   M u l t i p l e   A c c e s s Code\ Division\ Multiple\ Access Code Division Multiple Access,CDMA) 对每个结点分配一种不同的编码,然后每个结点用它唯一的编码来对它发送的数据进行编码。只要精心选择这些编码,且接收方知道发送方的编码,那么不同的结点就能够同时传输,并且各自相应的接收方仍能正确接收发送方编码的数据比特,而不在乎其他节点的干扰传输

    随机接入协议

    在随机接入协议中,一个传输结点总是以信道的全部速率 (即 R bps) 进行发送。当发生碰撞时,涉及碰撞的每个结点反复地重发它的帧,直到该帧无碰撞地通过为止。不过并不是经历碰撞后立刻重发该帧,而是在等待一个 随机时延 后才重发,那么只要这些结点之一所选择的时延充分小于其它碰撞结点的时延,它就能无碰撞地将它的帧发出

    时隙 ALOHA

    传输时间被划为为多个时隙,当某个结点有一个帧需要发送时,它等到下一个时隙开始并在该时隙传输整个帧,如果没有碰撞,该结点就成功传输了它的帧;如果有碰撞,该结点在时隙结束之前检测到这次碰撞,然后以概率 p 在后续的每个时隙中重传它的帧,直到该帧被无碰撞地传输出去

    与信道划分协议相比,当网络中只有一个结点是唯一活跃的结点时,时隙 ALOHA 允许该结点以全速 (即 R bps) 连续传输;也是高度分散的,每个结点单独发送帧,在碰撞时也是独立地自行以概率 p 决定什么时候重传
    其问题在于,时隙 ALOHA 需要在结点中对时隙同步,即每个结点都需要知道时隙何时开始,因为发送帧是在时隙开始时发送的;当不止有一个活跃结点而有多个活跃结点,一部分时隙将会出现碰撞,被 “浪费” 了,而且由于概率传输的策略,每个结点的传输行为将会被限制,最糟糕的情况是,每次 根据 p 做出的决定都是 “这个时隙跳过不重传,等下一个时隙再做一次决定”,那么该结点将无法重传成功

    ALOHA

    完全分散的 ALOHA 协议不需要结点同步它们的时隙以及传输。当一个帧首次到达,即一个数据报在发送结点从网络层传递下来到网卡,结点立刻将该帧完整地传输进广播信道,如果一个传输的帧经历了碰撞,这个结点将立即以概率 p 重传该帧,否则等待一个帧传输时间,之后再以概率 p 传输该帧

    载波侦听多路访问 CSMA

    在时隙和纯 ALOHA 中,一个结点是否传输的决定独立于连接到这个广播信道上的其它结点的活动,具体来说,一个结点并不关心在它开始传输时是否有其他节点碰巧在传输,而且即使有另一个结点开始干扰它的传输也不会停止传输

    针对上述问题,在 载波侦听多路访问 ( C a r r i e r   S e n s e   M u l t i p l e   A c c e s s Carrier\ Sense\ Multiple\ Access Carrier Sense Multiple Access,CSMA) 和 具有碰撞检测的 CSMA ( C S M A   w i t h   C o l l i s i o n   D e t e c t i o n CSMA\ with\ Collision\ Detection CSMA with Collision Detection,CSMA/CD) 中就包含了两个规则:

    1. 载波侦听:即一个结点在传输前先听信道,如果来自另一个结点的帧正向信道上发送,结点则等待直到检测到一小段时间内没有传输,然后再开始传输
    2. 碰撞检测:即当一个传输结点在传输时一致在侦听此信道,如果它检测到另一个结点正在传输干扰帧,它就停止传输,在重复 “侦听 - 当空闲时传输” 循环之前等待一段随机时间

    在 CSMA 下我们考虑这样一种情况:在某时刻 t0,结点 B 侦听到信道是空闲的,因为当前没有其它结点在传输,因此结点 B 开始传输,在后续的一个时刻 t1,结点 B 正在传输,但它所传输的比特还没有到达结点 D,因此 D 在 t1 侦听到信道是空闲,那么根据 CSMA 协议,D 会开始它的传输,又过了一个短暂的时间后,B 的传输跟 D 的传输在某个位置碰撞了。这是由于广播信道上的端到端信道传播时延的影响,该时延越长,载波侦听结点不能侦听到网络中另一个结点已经开始传输的机会就越大

    那么,如果结点没有进行碰撞检测,即使出现了碰撞,B 和 D 都将继续完整地传输它们的帧;当进行碰撞检测时,一旦结点检测到了碰撞它将立即停止传输。通过加入碰撞检测,不传输一个无用的,损坏的帧,有助于改善协议的性能。载波侦听做到的是帧发送时没有其他结点在发送;而碰撞检测做到的是帧发送过程中检测到碰撞就立即停止发送

    具有碰撞检测的载波侦听多路访问 CSMA/CD

    CSMA/CD 的运行过程如下:

    1. 适配器从网络层获得一条数据报,准备链路层帧,并将其放入帧适配器缓存中
    2. 如果适配器侦听到信道空闲,即无信号能量从信道进入适配器,那么它开始传输帧;另一方面,如果适配器帧听到信道正在忙,它将等待,直到侦听到没有信号能量时才开始传输帧
    3. 在传输过程中,适配器监视来自其它使用该广播信道的适配器的信号能量的存在
    4. 如果适配器传输整个帧而未检测到来自其它适配器的信号能量,该适配器就完成了该帧;否则如果适配器在传输时检测到来自其它适配器的信号能量,它中止传输
    5. 中止传输后,适配器等待一个随机时间量,然后继续回到侦听信道 - 当空闲时传输的循环。对于 随机时间量 的选择,以太网中使用 二进制指数后退 算法来解决

    轮流协议

    轮询协议

    轮询协议要求这些结点之一要被指定为主结点,主结点以循环的方式轮询每个结点,告诉一个结点能够传输的帧的最多数量,然后在该结点传输了某些帧后继续告诉下一个结点能传输的帧的最多数量,主结点能够观察信道上是否缺乏信号来决定一个结点何时完成了帧的发送

    在这种主结点管理的模式下,轮询协议消除了困扰随机接入协议的碰撞和空时延问题,使得轮询取得高得多的效率。其缺点在于,一是引入了轮询时延,即通知一个结点所需的时间;二是引入了主结点这种中心化的模式,如果主结点有故障,整个信道都将变得不可操作

    令牌传递协议

    这种协议中没有主结点,一种称为 令牌 的小的特殊帧在结点之间以某种固定的次序进行交换。当一个结点收到令牌时,仅当它有一些帧需要发送时它才持有这个令牌,否则它将立即向下一个结点转发该令牌;当一个结点收到令牌且它确实有帧要传输,它就发送最大数目的帧数,然后再把令牌转发给下一个结点

    令牌的传输动作是分散的,并且有很高的效率。其问题在于,一个结点的故障可能会使整个信道崩溃,或者一个结点偶然忘记了释放令牌,则必须采取某些恢复措施使令牌正常返回到循环中

    展开全文
  • 软件实现的软差错检测和恢复技术 软件实现的软差错检测和恢复技术
  • 差错检测一般和纠正同时实现,差错检测技术有以下几种 奇偶校验(用来描述差错纠正以及背后的思想) 检验和方法(通常更多的应用于运输层) 循环冗杂检测(通常更多的应用在适配器的链路层) 纠正的作用:当我们一个数据...
  • 差错检测 实际的通信链路不是理想的,比特在传输过程中可能会产生差错,1可能变成0,0可能变成1.这就称为比特差错 使用差错检测法来检测数据在传输过程中是否产生比特差错,是数据链路层索要解决的重要问题之一。 在...
  • 差错检测 比特差错:实际的通信链路都不是理想的,比特在传输过程中可能会产生差错: 1可能会变成0,而0也可能变成1。 误码率BER:在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)...
  • 差错检测和纠错技术

    千次阅读 2021-08-04 10:59:16
    一、差错检测和纠错技术简单介绍 本篇讲的差错检测和纠错技术主要是针对比特错误。 对一个节点发送到一个相邻节点的帧,检测是否出现比特差错,并纠正。相关技术有很多,下图为差错检测和纠正的过程。 在发送节点,...
  • 文章目录奇偶校验检验和方法循环冗余检测比特级差错检测和纠正(bit-level error detection and correction)。即对从一个节发送到另一个物理上连接的领近节点的链路层帧中的比特损伤进行检测和纠正。在发生节点,为了...
  • 【占坑】
  • 差错检测与纠正技术 即对从一个节点发送到另一个物理上连接的临近节点的链路层帧中的比特损伤进行检测和纠正——>通常是链路层提供的两种服务 错误检测: EDC= 差错检测和纠正位(冗余位) D = 数据由差错检测...
  • 计算机网络——差错检测

    千次阅读 2021-10-23 10:23:49
    在计算机网络传输数据时,必须采用各种差错检测措施来保证数据传输的可靠性。目前在数据链路层广泛使用的是循环冗余检测CRC的检错技术。     在发送端假定数据每k个比特作为一组,假定带传送的数据时M=101001。...
  • 2.4 差错检测

    2021-07-12 02:30:04
    检测传输差错的一项最常用的技术叫作循环冗余校验(Cyclic Redundancy Check, ...在讨论该算法之前,我们考虑两种也被广泛使用的较为简单的差错检测方法:二维奇偶校验(two?dimensional parity)与校验和(checksum)...
  • 技术的控制流差错检测覆盖率可达9998%,且可快速纠正差错,提高了控制流暂态差错的容错性。它对主处理器的性能开销极低(1%左右),面积成本也比较小()。给出的控制流运行期间监控技术经过扩展后,可以高效地...
  • 差错检测和纠正技术

    千次阅读 2021-02-27 10:47:03
    差错检测和纠正技术数据在传输的过程中难免会出现差错(比如经过路由转发时),因此我们需要一些差错检测和纠正技术来检测数据中的差错并纠正,使接收方收到正确的数据,也避免发送方对数据进行重传。下图是差错检测和...
  • 新能源检测技术材料化学元器件汽车电子热分析 相关文档
  • 写个博客,搞通计算计网络(自顶向下)链路层的差错检测这一节 先看,差错检测何来 现实的通信链路不理想 传输的bit 0-1 会发生错误转换,即比特差错 于是就有了误码率(BER,Bit Error Rate) 一说: 一段时间内,...
  • 处理帧差错两种方法 检错重发(detect and retransmission) ①检测到发送方报文受损,则通知发送方重传副本 ②差错率低效果好 适用场合 检错重发适合链路差错率很低的场合,如有线通信 ...差错检测 ...
  • 计算机网络学习:封装成帧、差错检测和可靠传输

    千次阅读 多人点赞 2021-04-05 16:33:20
    数据链路层的封装成帧、差错检测和可靠传输,可靠传输原理中很奇妙地发现,在不可靠的信道上加上合适的可靠协议(SW、GBN或者SR),就可以向上提供可靠的服务。在数据链路层要实现可靠的传输为上层提供服务。
  • 以科技技术为基础的新型业务的出现,对计算机网络通信系统服务质量要求越来越高,并且对数据传输速度要求也不断提升,增加了计算机网络通信负担,导致网络很难正确对所有数据进行传输,为此采用实时差错控制技术能够...
  • CRC检错技术原理

    2022-04-24 17:48:49
    CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位。在所要发送的数据后面增加n位的冗余码,虽然增大了数据传输的开销,但却可以进行差错检测。当传输可能
  • 摘要 通信技术的发展和新业务的不断出现...本文对实时差错控制的分类和检测方法进行了分析,并在此基础上提出网络通信实时差错的控制方式。关键词 网络通信;实时差错;控制技术;计算机中图分类号TN9 文献标识码A ...
  • 我们知道数据链路层广泛使用循环冗余检验CRC的检验技术现在我们知道要发送的数据M=101001(长度为k=6) 在我们每次发送数据的时候需要在M后面添加一个N位的冗余码,一共发送(k+N)位数据这N位冗余码的计算方法如下:用...
  • TCP的差错检测

    千次阅读 2018-09-28 23:14:14
    滑动窗口协议:对传统的自动重传请求(ARQ,Automatic Repeat reQues)进行了改进,从而实现了在接收到ACK之前能够连续发送多个数据包。 在Go-Back-N ARQ中,发送端不需要在接收到上一个数据包的ACK后才发送下一个...
  • 在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接受。    产生差错的帧会被丢弃,然而过去OSI的观点是:必须让数据链路层向上提供“可靠”传输,所以在CRC检测基础上,增加了帧编号、确认...
  • 以科技技术为基础的新型业务的出现,对计算机网络通信系统服务质量要求越来越高,并且对数据传输速度要求也不断提升,增加了计算机网络通信负担,导致网络很难正确对所有数据进行传输,为此采用实时差错控制技术能够...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,444
精华内容 8,177
关键字:

差错检测技术

友情链接: ryuye.zip