北航计算机网络 chapter3 数据链路层sw

北航考研

2023.11.14 二稿

2024年 3月 9日三稿

2024年3月31日四稿

        数据链路层涉及两台相邻机器实现可靠有效的完整信息块(称为帧)通信的一些算法,而不像物理层那样只关注单个比特传输。这里的相邻指两台机器通过一条通信信道连接起来,通信信道在概念上就像一条线路(比如同轴电缆、电话线或者无线信道)。可靠性是网络的总目标。


数据链路层的主要任务是实现  帧  在 一段链路上 或 一个网络中 进行传输。数据链路层协议有多种,但有三个基本问题则是共同的,即封装成帧透明传输差错检测

数据链路层使用的信道主要有两种:

信道像一条线路的本质特性使得信道上传递的比特顺序与发送顺序完全相同

3.1 设计要点

注:链路数据链路不是一个概念,链路是一条物理通道,数据链路是一条数据通道,数据链路可以粗略理解为信道

        为了实现这些目标,数据链路层从网络层获得数据包,然后将这些数据包封装成帧(frame)以便传输。每个帧包含一个帧头、一个有效载荷(用于存放数据包)以及一个帧尾,如图所示。

帧的管理构成了数据链路层工作的核心

为网络层提供服务

链路管理

        点对点信道:PPP协议;

        广播信道:CSMA/CD协议 ;

封装成帧

 透明传输

流量控制


        因为链路两端结点的工作速率和缓存空间存在差异,所以发送方的发送能力可能大于接收方
的接收能力,此时若不适当限制发送方的发送速率,前面来不及接收的帧将被后面不断发送来的帧“淹没”,造成帧的丢失而出错。因此,流量控制实际上就是限制发送方的发送速率,使之不超过接收方的接收能力。这个过程需通过某种反馈机制,使发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送。

        在OSI体系结构中,数据链路层具有流量控制的功能。而在TCP/IP体系结构中,流量控制功能被移到了传输层。它们控制的对象不同。对数据链路层来说,控制的是相邻结点之间的数据链路上的流量,而对传输层来说,控制的则是从源端到目的端之间的流量。

差错控制

组帧


        发送方依据一定的规则将网络层递交的分组封装成帧(也称组帧)。数据链路层之所以要将比特组合成以帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。组帧主要解决帧定界、帧同步、透明传输等问题。实现组帧的方法通常有以下4种。

字节计数法

字节填充的标志字节法

方法考虑到了出错之后的重新同步问题,它让每个帧用一些特殊的字节作为开始和结束。

这些特殊字节通常都相同,称为标志字节(flag byte),作为帧的起始和结束分界符,如图3-4(a)中的FLAG所示。两个连续的标志字节代表了一帧的结束和下一帧的开始。因此,如果接收方丢失了同步,它只需搜索两个标志字节就能找到当前帧的结束和下一帧的开始位置。

***但是当标志字节出现在数据中时,尤其是当传输二进制数据(比如照片或歌曲)时,这种情景往往会严重干扰到帧的分界。***

有一种方法可以解决这个问题,发送方的数据链路层在数据中“偶尔”出现的每个标志字节的前面插入一个特殊的转义字节(ESC)。因此,只要看它数据中标志字节的前面有没有转义字节,就可以把作为帧分界符的标志字节与数据中出现的标志字节区分开来。接收方的数据链路层在将数据传递

给网络层之前必须删除转义字节。这种技术就称为字节填充(byte stuffing)

***如果转义字节也出现在数据中,那该怎么办?***

答案是同样用字节填充技术,即用一个转义字节来填充。

在接收方,第一个转义字节被删除,留下紧跟在它后面的数据字节(或许是另一个转义字节或者标志字节)。图3-4(b)给出了一些例子。在所有情况下,去掉填充字节之后递交给网络层的字节序列与原始的字节序列完全一致。我们仍然可以通过搜索两个标志字节来定位帧的边界,无须顾虑撤销转义字节的原意。

图3-4中描述的字节填充方案是PPP协议(Point-to-Point Protocol)使用的略微简化形式,该协议通常用在通信链路上传送数据包。


数据链路层的功能是为网络层提供服务。最主要的服务是将数据从源机器的网络层传输到目标机器的网络层

在源机器的网络层有一个实体(称为进程),它将一些比特交给数据链路层,要求传输到目标机器。数据链路层的任务就是将这些比特传输给目标机器,然后再进一步交付给网络层,如图3-2(a)所示。实际的传输过程则是沿着图3-2(b)所示的路径进行的,但很容易将这个过程想象成两个数据链路层的进程使用一个数据链路协议进行通信。

零比特填充法

违规编码法

错误检测与纠正

 检错编码

        检错码还负责重传检错编码三种方式要记清!!!

奇偶校验码

循环冗余码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值