计算机网络---数据链路层

发布于:2022-12-15 ⋅ 阅读:(788) ⋅ 点赞:(0)

(一)基本概念

        数据链路层是OSI参考模型中的第二层,介乎于物理层网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。

  换言之,数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报。

相关术语

链路层数据分组:,封装网络层数据报。

 结点:主机和路由器

链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线,光纤和微波。分为有线链路、无线链路。

数据链路:网络中两个结点之间逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

:链路层的协议数据单元,封装网络数据报。

帧定界:当两个主机互相传送信息时,网络层的分组必须封装成帧,并以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了帧。首部和尾部中含有很多控制信息,这些信息的重要作用之一是确定帧的界限,即帧定界。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报

 

注:口诀:放流量,帧传错。 理解成放入流量进来,白变黑(真传错)

(二)功能概述

       数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层,其主要作用是加强物理层传输原始比特流功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

功能一:为网络提供服务:无确定无连接服务有确定无连接服务有确定面向连接服务

            注意:有连接一定有确认!!!,因为对方主机必须确认才可建立连接,即不存在无确认的有连接服务。

功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)

 功能三:组帧,封装数据报构成数据帧,加首部和尾部;帧同步。

功能四:流量控制

功能五:差错控制(帧错/位错)

或者理解成:

     数据链路层在物理层所提供服务的基础上向网络层提供服务,即将原始的、有差错的物理线路改进成逻辑上无差错的数据链路,从而向网络层提供高质量的服务。它一般包括3种基本服务:无确认的无连接服务、有确认的无连接服务和有确认的有连接服务 
具体地说,数据链路层的主要功能如下:

  •  成帧(封装成帧):定义帧的开始和结束。

  •  帧同步:接收方确定收到的比特流中一帧的开始位置与结束位置。

  • 差错控制:用于使接收方确定接收到的数据就是由发送方发送的数据。

  • 流量控制:较高的发送速度较低的接收能力的不匹配,会造成传输出错。

    数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。

    数据链路层流量控制手段:接收方收不下就不回复确认。
    传输层流量控制手段:接收端给发送端一个窗口公告。

  • 透明传输:假设透明传输区间里出现了比特组合 与帧定界符相同,岂不是会被误认为是传输结束而丢弃后面的数据?显然,这样的情况是绝对不允许发生的,就发明了透明传输来解决此问题。其实,透明传输就是不管数据是什么样的比特组合,都应当能在链路上传送。 

  • 链路管理:负责数据链路的建立、维持和释放,主要用于面向连接的服务。

(三)封装成帧

   Ⅰ 封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。


   帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。


   组帧的四种方法:1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。

 Ⅱ  透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。 当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

 1.字符计数法:

2.字符(节)填充法:

 注意:字符SOH代表 Start of Header (首部开始),而EOT代表 End of Transmission(传输结束)。SOH和EOT 都是ASCII码中的控制字符。SOH的十六进制编码是01,而EOT的十六进制编码是04。不要误认为SOH是“S”“O”“H”3个字符,也不要误认为EOT 是“E”“O”“T”3个字符。

3 .零比特填充法:

4. 违规编码法(利用物理介质上编码的违法标志来区分帧的开始与结束):

     由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)以及字符填充法难以实现复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规码法。

      注意:在使用字节填充的首尾界符法时,并不是所有形式的帧都需要帧开始符和帧结束符,如 MAC 帧就不需要帧结束符。因为以太网在传送帧时,各帧之间还必须有一定的间隙,所以,接收端只要找到帧开始定界符,其后面的连续到达的比特流就都属于同一个MAC帧,可见以太网不需要使用帧结束定界符,也不需要使用字节插入来保证透明传输。
  PPP帧用来进行帧定界的字段为Ox7E。“1B”是谢希仁教材中对于普通帧透明传输的处理,即转义字符“ESC”的十六进制编码。
 

 注意:“无比特差错”与“无传输差错”是不同的

可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。

传输差错可分为两大类: 比特差错 传输差错:帧丢失、帧重复或帧失序等。

在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输。 要做到可靠传输,还必须再加上帧编号、确认和重传等机制。

本文含有隐藏内容,请 开通VIP 后查看