数据链路层

本文深入探讨数据链路层的功能,包括数据帧的格式、差错控制与流量控制方法,以及HDLC和PPP协议的工作原理。阐述了停—等、滑动窗口、顺序接收管道和选择重传协议的特点。

概述

  • 数据链路层主要功能
    在相邻节点之间保证数据帧的“透明” 传输。
  • 数据帧
    数据帧是数据链路层的最小数据传输单元, 即DPDU。
    数据帧的一般格式:
    在这里插入图片描述

差错控制

传输差错的特征

  • 差错产生的主要原因
    热噪声: 传输介质内的分子热运动。
    冲击噪声: 外界干扰。
  • 特征:
    热噪声: 干扰幅度小,持续性,对模拟通信影响大。
    冲击噪声: 干扰幅度大,突发性,对数字通信影响大。
    计算机网络中, 差错控制主要针对冲击噪声。

差错控制方法

通过特殊的编码(差错控制码) , 使接收端能够发现甚至自动纠正错误。

  • 差错控制编码
    检错码: 能够发现差错, 但无法自动纠正差错, 通过发送方重传来获得正确的数据。
    纠错码: 不但能过发现差错, 而且知道哪些位出错, 从而能够自动纠正差错。

流量控制

在这里插入图片描述

  • 发送方A发送数据帧的速度过快,导致接收方B来不及接受而丢失。
  • 数据帧丢失需要重发,浪费信道带宽。
  • 流量控制基本思想: A必须获得B的许可才能发送数据帧,从而限制发送方A的发送速度。
  • 流量控制策略(协议):
    停—等协议
    滑动窗口协议
           顺序接收管道协议 (回退n协议 )
           选择重传协议

停—等协议

协议描述:

  • 发送端发送一帧后, 等待对方的应答。

  • 接收端收到一帧后, 检查校验位串, 若出错, 则返回“否认” ;若无错, 则返回“确认” 信息。

  • 发送端收到“确认” 后, 立即发送下一帧;收到“否认” , 则重发该帧。

  • 发送端发送一帧后, 立即启动超时计时器。 若超时, 则重发该帧。

  • 接收端应保存最近收到的帧序号, 若下一个到达帧的序号与该序号相同, 则丢弃该帧, 并返回“确认” 信息。
    在这里插入图片描述

  • 缺点:信道利用率低

  • 优点:简单

  • 信道最大利用率 U = L / B L / B + 2 R U=\frac{L/B}{L/B+2R} U=L/B+2RL/B
    其中, B为信道速率, L为帧长, R为信号的单程传播延时, U为信道的最大利用率。

滑动窗口协议

  • 基本思想:
    为提高信道利用率, 允许发送方连续发送若干帧, 然后再等待对方应答。
  • 基本概念
    窗口:可容纳数据帧的缓冲区。
    发送窗口:发送方用来保存已发送但尚未确认的数据帧。
    接收窗口:接收方用来保存已正确接收但尚未提交给主机(网络层)的数据帧。
    窗口尺寸:窗口中可容纳数据帧的数目。
    帧序号:为保证接收方能按正确次序向主机递交数据帧而设立的临时编号。 一般在数据帧的控制字段中用 n 位表示帧序号。 如果用3位表示, 则帧序号为0~7;当超过8帧时,则重复使用这8个帧序号。
    窗口号:对应帧序号。
  • 滑动窗口协议的基本规则
    设发送窗口尺寸为2, 接收窗口尺寸为1,则:在这里插入图片描述
    只有帧序号落入当前窗口的帧才有资格发送;发送方收到对方确认信息后, 发送窗口向前滑动(顺序改变当前窗号) 。
    只有帧序号落入当前窗口的帧才接收, 否则丢弃;接收窗口中的帧递交给主机后, 接收窗口向前滑动(顺序改变当前窗号) 。

顺序接收管道协议 (回退n协议)

  1. 协议描述:
    设:发送窗口尺寸WT >1, 接收窗口尺寸WR=1。
  • 发送方连续发送n帧而无需对方应答, 但需要将已发出但尚未得到确认的帧保存在发送窗口中, 以备重发。
  • 接收方将正确且帧序号落入当前接收窗口的帧存入接收窗口,同时按序将接收窗口的帧送交给主机(网络层) 。 出错或帧序号未落入当前窗口的帧予以丢弃。
  • 当某帧丢失或出错时, 则其后到达的帧均丢弃, 并返回应答信息, 请求对方从出错帧开始重发。
  • 发送方设置一个超时计时器, 当连续发送n帧后, 立即启动超时计时器;若超时且未收到应答, 则重发这n帧。
  1. 优点:仅需一个接收缓冲区。
  2. 缺点:当信道误码率较高时,会产生大量重发帧。

选择重传协议

  • 发送窗口尺寸WT >1, 接收窗口尺寸WR >1 。
  • 若某一帧出错, 后面正确到达的帧虽然不能立即送网络层, 但可将其保存在接收窗口;因此, 仅需重传出错帧。
  • 优点:仅需重传出错帧,不会产生大量重发帧。
  • 缺点:需要多个接收缓冲区

停—等 、 顺序接收管道、 选择重传协议都可以看成是滑动窗口协议, 其差别仅在窗口的尺寸不同, 如下表所示 :
在这里插入图片描述
设帧序号的位数为n, 则:
WT≥WR
WT+ WR≤2n

  • 若WR >WT , 则有 WR-WT个窗口永远用不上。
  • WT+ WR≤2n保证了上一轮帧序号和下一轮序号在WT+WR范围内不会出现重复;否则, 接收端无法判断落入窗口的帧是属于哪一轮的。

数据链路层协议举例

HDLC协议

HDLC (High Level Data Link Control) 是一种典型的数据链路层协议,该协议“面向比特”,即以“比特”作为数据帧的基本数据单位。
HDLC帧格式
在这里插入图片描述

  • 标志
    帧同步标志, 固定为“01111110” , 标志着一个帧的开始与结束。
    连续发送多帧时, 可用一个标志字段, 既表示帧的开始, 又表示帧的结束。
    为了避免其它字段中出现“01111110”, HDLC采用插“0”技术
           发送方:除标志位外,连续发送5个“1” 后自动插“0”。
           接收方:连续收到5个“1” 后,其后为“0” ,则自动去掉该“0” 。其后为“1” ,则检查下一位:为“0” 则为标志位。为“1” 则出错。

  • 地址
    全“1”为广播地址, 全“0”为无效地址。
    在多点通信中, 表示目的地址。
    在点到点通信中, 地址没有太大意义, 一般用来区分发起方和响应方。

  • 控制
    该字段表示帧类型,帧编号及其他控制信息。
    在这里插入图片描述控制字段格式
    在这里插入图片描述
    N(S): 表示信息帧的帧序号(0-7)。
    N®: 接收端期望接收的下一帧的序号。
    P/F : 轮询/结束位,用于多点轮询访问方式。
    S:
           00:确认以前各帧,准备接受序号从N®开始的后继帧。
           10:确认以前各帧,但暂停接收后继帧,用来进行流量控制。
           01:否认N®起的各帧,请求重发序号从N®开始的各帧。
           11:仅否认 N®帧,请求重发序号为N®的单帧。
    M: 共5位,表示32种控制功能。

  • 数据
    要传输的数据,即高层的报文分组, 可以是任意二进制位的组合。

  • 帧校验
    16位CRC码, G(X)= CRC-CCITT = x16+x12+x5+1。

HDLC工作原理:
在这里插入图片描述

  • 建立链路连接
    通过层间接口(服务),请求建立物理连接。
    请求建立链路连接,即发送SNRM帧。
    接收方同意建立链路连接,即返回UA帧
  • 传输数据帧
    数据链路建立完毕,发送/接收方按照某种流量控制策略(停-等、回退n、选择重传),发送和接收数据帧,并允许“捎带应答”。
  • 拆除链路连接
    全部数据发送完毕,发送方发出“DISC” (拆除连接)无编号帧,接收方返回UA帧作为响应,释放链路层实体占用的资源。

PPP协议

PPP(Point to Point Protocol) 协议应用场合
在这里插入图片描述
ISP: Internet服务提供商,为用户提供接入线路、 IP地址和信息增值服务。

PPP帧格式
在这里插入图片描述标志: 01111110, 标志一帧的开始和结束。
地址:总是固定为11111111。
控制:缺省00000011。
协议: PPP的高层协议, 如 十六进制0021表示IP协议。
数据:静载荷数据, 如 IP分组。
CRC: CRC码, 同HDLC。

在缺省的情况下, PPP没有采用帧序号和确认机制来进行可靠的传输,主要用于信道质量较好的场合,对于信道质量较差的场合(如无线信道),应采用其他协议。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值