数据链路层(一):基本概念

1、差错产生的原因与差错控制方法

1.1、设计数据链路层的原因

  物理线路由传输介质与通信设备组成,在物理线路上传输数据信号是存在差错的。

  误码率是指二进制比特在数据传输过程中被传错的概率。

  设计数据链路层的主要目的是在由差错的物理线路的基础上,采取差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成无差错的数据链路,向网络层供高质量的数据传输服务。

  从参考模型的角度来看,物理层以上的各层都有改善数据传输质量的责任,数据链路层是最重要的一层。

1.2、差错产生的原因和差错类型

  将通过物理线路传输之后接收数据与发送数据不一致的现象称为传输差错(简称差错)。

差错的产生过程:

  0

  当数据信号从发送端出发经过物理线路时,由于物理线路存在着噪声,因此数据信号通过物理物理线路传输到接收端时,接收信号必然是数据与噪声信号电平的叠加。在接收端接收电路在取样时对叠加后的信号进行判断,以确定数据的0、1值。

  0

  若噪声对信号叠加的结果在电平判决时引起错误,这是就会产生传输数据的错误。

物理线路的噪声分为两类:热噪声冲击噪声

  热噪声是由传输介质导体的电子热运动产生的。热噪声的特点:时刻存在,幅度较小,强度与频率无关,热噪声是一种随机噪声,由热噪声引起的差错是一种随机差错。

  冲击噪声是由外界电磁干扰引起的,冲击噪声的幅度较大,是引起传输差错的主要原因。冲击噪声引起的传输差错是一种突发差错,引起突发差错比特位的长度称为突发长度。

  通信过程中产生的传输差错是由随机差错与突发差错共同构成。

1.3、误码率

  误码率是指二进制比特在数据传输系统中被传错的概率,误码率是衡量数据传输系统正常工作状态下传输可靠性的参数。

1.4、检错码与纠错码

  在计算机通信中,研究检测与纠正比特流传输错误的方法成为差错控制。

  差错控制的目的是减少物理线路的传输错误。

  第一种策略是采用纠错码,纠错码为每个传输单元加上足够多的冗余信息,以便接收端能够发现,并能够自动纠正传输差错。

  第二种策略采用检错码,检错码为每个传输单元加上一定的冗余信息,接收端可以根据这些冗余信息发现传输差错,不能确定是哪一位或哪些位出错,并且自己不能够自动纠正传输差错。

1.5、差错控制机制

  接收端通过检错码检查数据帧是否出错,通常采用反馈重发(automatic request for repeat, ARQ)方法纠正。

  0

  1、发送端将数据经过校验码编码器产生校验字段,并将校验字段与数据一起通过物理线路发送到接收端。为适应反馈重发的需要,发送端在储存器中保留发送数据的副本;

  2、接收端通过见过检验译码器判断数据传输中是否出错。若数据传输正确,接收端通过反馈信号控制器向发送端发送"传输正确"(ACK)信息。发送端的反馈信号控制器收到ACK信息后,将不再保留发送数据的副本。若数据传输不正确,接收端向发送端发送"传输错误"(NAK)信息;

  3、发送端的反馈信号控制器收到NAK信息后,将根据保留数据的副本重新进行发送,直到正确接收为止。协议规定了最大重发次数。若超过协议规定的最大重发次数,接收端仍然不能正确接收,那么发送端停止重传,并将向高层协议报告传输出错信息。

2、数据链路层的基本概念

2.1、链路与数据链路

  链路(link)与数据链路(data link):

  0

  链路是由物理线路与通信设备构成的,物理线路连接相邻的两个节点,中间没有其他的交换节点或转接节点。

  在计算机网络中,设计数据链路层的目的是为了发现和纠正链路在传输过程中可能出现的差错,使有差错的链路变成无差错的数据链路。

  数据链路是由实现数据联络路层协议的硬件、软件与链路组成。

2.2、数据链路层的主要功能

2.2.1、数据链路管理

  当收发双方开始进行通信时,收发双方必须事先交换必要的信息,建立数据链路连接;在数据传输过程要维护数据链路;当通信结束时,要释放数据链路。

  数据链路层链路管理功能包括数据链路的建立、维护与释放。

2.2.2、帧同步

  数据链路层传输数据单元是帧。物理层的比特流是封装在帧中传输的。帧同步是指接收端应该能够从收到的比特流中正确的判断出一帧的开始位与结束位。

2.2.3、流量控制

  发送端发送数据超过物理线路的传输能力或超出接收端的帧接收能力时,就会造成链路阻塞。

  为防止出现链路拥塞,数据链路层必须具有流量控制功能。

2.2.4、差错控制

  为发现和纠正物理线路传输差错,使有差错的物理线路变成无差错的数据链路,数据链路层必须具有差错控制功能。

2.2.5、透明传输

  当传输的数据帧数据字段中出现某些特定的控制字符的二进制代码序列时就必须采取适当的措施,使接收端不至于将数据中的系统代码误认为是控制字符。

  数据链路层必须保证帧数据字段可以传输任意的二进制比特序列,即需要保证帧传输的"透明性"问题。

2.2.6、寻址

  在点-多点链路连接的情况下,数据链路层要保证每一帧都能传送到正确的接收端,数据链路层必须具备寻址的功能。

2.3、数据链路层与网络层、物理层的关系

2.3.1、数据链路层与网络层的关系

  数据链路层在OSI参考模型中处于网络层与物理层之间。网络层的主要功能是为联网计算机之间的通信寻找一条最佳的传输路径。

  0

  若主机A向主机B传送数据,则主机A的网络层会启动路由选择算法,找出一条能达到主机B的传输路径。

  网络层路由选择算法找出的传输路径一般是由多段链路组成。若能够保证网络层的数据经过每一段链路传输时都不会出现差错,则网络数据经过多段链路传输也不会出错。因此,数据链路层是为保证网络层数据传输的正确性提供服务的。

  由于数据链路层的存在,网络层不需要知道物理层采用哪种传输介质与通信设备;接口关系与功能不变,物理层采用的传输介质与通信设备的变化,不会对网络层产生影响。

2.3.2、数据链路层与物理层关系

  数据链路连接建立在物理线路连接上。在物理层完成物理线路连接并提供比特流传输能力的基础上,数据链路层才能够传输数据链路层协议数据单元 - 帧。

  数据链路层协议软件控制数据链路的建立、帧传输与释放过程,同时通过流量控制与差错控制功能来保证数据在数据链路上的正确传输,为网络层提供服务。

  0

  1、主机A与主机B之间要传输数据,首先要建立物理线路连接;

  2、建立物理线路连接后才能传输比特流;能传输比特流,才能传输数据链路层的控制帧;控制帧通过协商来建立数据链路;

  3、建立数据链路后进入数据帧传输阶段,数据链路层协议使用控制帧,来协调和控制数据帧的传输过程,保证帧传输的可靠性;

  4、当数据帧传输结束时,数据链路层协议通过帧来协商释放数据链路;

  5、数据链路释放后,物理线路连接还应该存在,最后才是释放物理线路连接;

  6、释放物理线路连接之后,主机A与主机B之间通信关系才完全解除。

 数据链路层是在物理层比特流传输个的基础上,为网络层提供服务。

 

posted @   无虑的小猪  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示

目录在这里