计算机网络相关知识整理——数据链路层的那些事儿

数据链路层将物理层的比特封装成帧,在相邻节点间进行帧的传输,其主要是在一条不太可靠的通信链路上实现可靠的数据传输。

1.数据链路控制机制

  1. 停等ARQ
  • 基本思想:
    发送方发送一个数据帧后停下来,等待接收方发送回来的ACk,ACK到达后才继续发送下一帧数据。
  • 差错分析:
    (1)数据帧出错:接收方返回一个NAK,发送方重新发送数据;接收方直接丢弃错误数据,在发送方设置一个定时器,超时直接重发
    (2)若数据帧丢失或ACK也丢失可能会造成死锁,通过在发送方设置一个定时器,超时直接重发可解决该问题。
    在这里插入图片描述
    (3)若只是单纯的ACK丢失,那么会产生重复的数据帧,通过对数据帧进行01的编码来解决,ack发送的是希望接受到的下一帧数据的编号。
    在这里插入图片描述
  • 优点:控制简单
  • 缺点:链路利用率不高
  1. 回退N-ARQ
  • 序号空间可使用的范围:0~(2^n) -1 ,n表示帧序号的位数。
  • 发送窗口:允许发送方连续发送而无没有得到确认的一组帧序号。
  • 原理: 假设发送窗口大小为4,那么允许连续发送0~3帧的数据,在收到ack1的时候窗口右移,此时序号为4的数据又可以继续发送。在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在收到ACK3的时候,会采用累计确认或者捎带确认,也就是我序号为2的收到了,那么序号2这之前的数据都收到了,就不必纠结ACK2了。此时的窗口右移将已确认的数据移出窗口。
    在这里插入图片描述
    在这里插入图片描述
  • 接收窗口:接收方允许接收的帧的序号合集。
  • 工作原理:假设接收窗口大小为1,首先允许接收0号帧数据;

在这里插入图片描述
在其接收到0号帧数据之后,发出ACK1,表示希望接收到1号帧数据,同时窗口右移一位,表示允许接收1号帧;
在这里插入图片描述

  • 回退N-ARQ原理:
    假设发送窗口大小为4,接收窗口为1,假设此时接收到序号为1的数据发出ACK2,想接收序号为2的数据,而2号数据出错,接收方一直返回的都是ACK2,导致接收方超时重发,从错误帧开始及其之后的数据重发。若确认帧丢失会丢弃重复的帧返回确认,再依次接收后边的帧。
    在这里插入图片描述
  • 特点:优点是提高了链路的利用率但是如链路的误码率很高会导致大量的重发,效率太低。
  1. 选择重传ARQ
  • 工作原理: 一般选择接收窗口大小等于发送窗口大小。假设窗口大小为4,当0,1被确认后发送窗口,接收窗口都右移两位,接收方接收2号数据帧的时候出错,因为接收窗口大小为4,将其他位置的正确数据暂存,重发2号数据帧即可
    在这里插入图片描述
  • 特点:提高了效率但是接收缓存较大。

2.差错控制

提高传输质量一种是通过提高线路及设备的质量另一种是通过差错校验来发现并纠正错误来实现(奇偶校验,CRC校验,校验和)。

  • 奇偶校验在这里插入图片描述
  • CRC校验
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.高级数据链路控制规程(HDLC)

  • 三种类型的站点:主站,从站,复合站
  • 两种类型链路配置:平衡配置:点对点链路;非平衡配置:点对点链路、多点链路
  • 三种工作模式:
    (1)正常响应模式NRM:数据传输只能由主站发起,从站响应主站的轮询
    (2)异步响应模式ARM:从站可以主动发送响应帧
    (3)异步平衡模式ABM:任意复合站都可以发送数据
    在这里插入图片描述
  • HDLC
    在这里插入图片描述
    在这里插入图片描述
    LLC层向网络层提供统一接口和帧格式;MAC进行成帧寻址 实现媒体介入控制等操作。

猜你喜欢

转载自blog.csdn.net/weixin_43867526/article/details/105092518