美文网首页
数据链路层--差错控制、流量控制

数据链路层--差错控制、流量控制

作者: M_丶 | 来源:发表于2020-08-07 06:58 被阅读0次

在数据通信过程中可能会因物理链路性能和网路通信环境等因素,出现一些传送错误,在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率。实际通讯链路并非理想的,它不可能使误码率下降到0,但是为了确保数据通信的准确,又必须使得这些错误发生的几率尽可能低。这一功能也是在数据链路层实现的,就是“差错控制”功能。

1.检错编码

通过一定的编码和解码,能够在接收端解码时检查出传输的错误,但不能纠正错误,常见的检错编码有奇偶校验码和循环冗余码(CRC)

1.奇偶校验码

奇偶校验码就是在信息码后面加以为校验码,分奇校验和偶校验

奇校验:添加一位校验码后,使得整个码字里面1的个数是奇数。接收端收到数据后检验校验码里1的个数,如果检测到奇数个1,则认为传输没有出错;如果检测到偶数个1,则说明传输过程中,数据发生了改变,要求重发。

偶校验:添加一位校验码后,使得整个码字里面1的个数是偶数,接收端收到数据后检验校验码里1的个数,如果检测到偶数个1,则认为传输没有出错,如果检测到奇数个1,这说明传输过程中,数据发生了改变,要求重发。

奇偶校验码能够检测出数据发生改变,但是不知道是哪一位出错了;如果数据中间有偶数位数据发生了改变,此时奇偶校验码是检测不到数据出错的,所以奇偶校验码的差错能力有限。

·以上是水平垂直奇偶校验码,同时还有垂直奇偶检验。

2.循环冗余码(CRC)

在计算机网络中和数据通信中,用得最为广泛的是循环冗余码。循环冗余码是检错率极高,开销小,易实现。

循环冗余码的校验原理:

其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,这里的数也是二进制序列的,下同),生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除(注意,这里不是直接采用二进制除法,而是采用一种称之为“模2除法”)。到达接收端后,再把接收到的新帧除以(同样采用“模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。

在数据链路层若仅仅使用循环冗余码差错检验技术,则只能做到对帧的无差错接受,即:“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。

2.流量控制                                

流量控制并不是数据链路层所特有的功能。数据链路层控制的是相邻节点之间数据链路上的流量,而对于传输层来说,控制的则是从源到最终目的之间端的流量。

1.停止-等待流量控制

它是流量控制中最简单的形式。停止-等待流量控制的工作原理就是发送方发出一帧,然后等待应答信号到达再发送下一帧;接收方每收到一帧,返回一个应答信号,表示可以接收下一帧,如果接收方不返回应答,则发送方必须一直等待。

2.滑动窗口流量控制

停止-等待流量控制中每次只允许发送一帧,然后就会陷入等待接收方确认信息的过程,传输效率极低。而滑动窗口流量控制允许一次发送多个帧。

发送窗口控制发送端的发送速率

在发送端,每收到一个确认帧,发送窗口就向前滑动一个帧的位置,当发送窗口内没有可以发送的帧 (即窗口内的帧全部是己发送但未收到确认的帧) ,发送方就会停止发送 ,直到收到接收方发送的确认帧使窗口移动 ,窗口内有可以发送的帧,之后才开始继续发送 。

在接收端 ,当收到数据帧后 ,就会将窗口向前移动一个位置,并且会发回确认帧 ,如果收到的数据帧落在接收窗口之外则一律丢弃 。

相关文章

  • 深入理解计算机网络读书笔记(五)

    第五章 数据链路层 数据链路层的作用:在原始的、有差错的物理传输线路的基础上,采取差错检测、差错控制与流量控制等方...

  • 数据链路层--差错控制、流量控制

    在数据通信过程中可能会因物理链路性能和网路通信环境等因素,出现一些传送错误,在一段时间内,传输错误的比特占所传输比...

  • 数据链路层

    数据链路层需要掌握的知识。1.数据链路层的定义和主要功能;2.数据链路层传输产生差错的原因;3.差错控制机制和差错...

  • 计算机网络笔记——数据链路层(停等协议、GBN、SR)

    数据链路层流量控制 流量控制:防止发送端发送和接收端接收速度不匹配造成传输错误 传输层和数据链路层均有流量控制,但...

  • 第三章:数据链路层(计算机网络)

    3.1数据链路层功能概述 3.2封装成帧和透明传输 3.3.1差错控制(检错编码) 3.3.2差错控制(纠错编码)...

  • 数据链路层--基本概念

    数据链路层主要实现数据封装成帧、透明传输、差错检验、流量控制和确认机制等功能。数据链路层主要的几个协议有以太网的M...

  • 计算机网络原理梳理丨链路层

    目录 数据链路层服务 差错控制 多路访问控制协议 局域网 点对点链路协议 数据链路层服务 链路:通信链路连接的相邻...

  • 3.数据链路层

    数据单位(数据传输单元):帧,具有流量控制功能。作用:在物理层基础上,通过建立数据链路连接,采用差错控制与流量控制...

  • 数据链路层功能——封装成帧&&差错控制

    本文内容 从本节开始介绍数据链路层的内容,数据链路层属于计算机网络的低层,需要对其上层网络层提供服务。本文主要介绍...

  • 链路层

    主要功能:成帧方法、差错控制、流量控制、控制帧、滑动窗口、介质访问控制S-T:存储转发机制 成帧方法 011111...

网友评论

      本文标题:数据链路层--差错控制、流量控制

      本文链接:https://www.haomeiwen.com/subject/ggpvgftx.html