数据链路层

278 阅读9分钟

3.4 流量控制和可靠传输机制

数据链路层流量控制控制相邻节点发送速率。 使用确认超时重传两种机制实现可靠传输。

3.4.1 流量控制,可靠传输与滑动窗口机制

  • 1.停止---等待协议协议基本原理 发送方发每发送一帧,等待接收方回应的ACK发送下一帧或超出计时没收到ACK重发

  • 2.滑动窗口流量控制原理【解决流量控制】 发送方维持允许发送的帧号,接受方维持允许接收的帧号。发送方用发送窗口进行流量控制。

  • 3.可靠传输【发送端发送什么接收方就接收什么】 数据链路层使用确认超时重传两种机制完成! ARQ:自动重传请求


3.4.2 单帧滑动窗口与停止---等待协议

发送方发每发送一帧,等待接收方回应的ACK发送下一帧或超出计时没收到ACK重发

发送方和接收方都要设置一个帧缓冲区:发送方发送数据后必须等到接收方的ACK才能删除缓冲区副本【用于重传】

计时器的的时间比RTT稍微长一点

  • 窗口大小 发送窗口大小:1个 接收窗口大小:1个 编号位数:1位

信道利用率U=TDTD+RTT+TA信道利用率U=\frac{TD}{TD+RTT+TA} 信道吞吐量=信道利用率发送方速率信道吞吐量=信道利用率*发送方速率 TD:发送数据时延 RTT:往返时延 TA:确认帧ACK发送时延

缺点:信道利用率低 在这里插入图片描述


3.4.3 多帧滑动窗口与后退N帧协议(GBN)

与单帧滑动窗口对比:①新增序号范围 ②发送发缓存多个分组

发送方发送按顺序发送窗口内的所有帧,接收方只能按顺序接收帧,左边的帧出现问题不能正常接收,右边的帧到了也不能接收。

接收方会回复一个包含接收到最后的一个正确帧的编号的ACK。 发送发需要发送从ACK中帧编号的下一个帧开始连续发送。

  • 窗口大小: 发送窗口大小:[1,2n1][1,2^n-1]个 接收窗口大小:1个 编号位数:n位

  • 过程-发送方 上层调用:先检测窗口是否满了。没满就产生帧并发送。满了就告诉上层【或者缓存】 接收到ACK:累计确认,表明收到k号帧和前面所有帧 超时重传:重传所有没有确认的帧。

  • 过程-接收方 接收到正确帧:发送ACK给发送发,并将数据交付给网络层 接收到错误帧:经过差错检测发现错误,直接丢弃。

  • 重要总结: ①累计确认 ②接收方只按序接收帧 ③确认序列号是最后按序到达的帧 在这里插入图片描述


3.4.3 多帧滑动窗口与选择重传协议(SR)

与GBN对比:①设置单个帧确认 ②增大接收方窗口 ③设置接收缓存 ④缓存乱序的帧

发送方按顺序发送窗口内所有未确认的帧 接收方可以接收接收窗口范围内的所有帧。 对正确接收的帧给出ACK回应。 当发送方的发送窗口的最左边得到ACK回应就移动窗口。

  • 窗口大小: 发送窗口大小:[1,2n1][1,2^{n-1}]个 接收窗口大小:[1,2n1][1,2^{n-1}]个 编号位数:n位 发送窗口大小+接收窗口大小≤2n2^n

  • 过程-发送方 上层调用:查找下一个可用帧序列,在窗口就发送。不在要么缓存要么返回给上层 接收到ACK:标记已经接收窗口,若为最小编号则移动窗口 超时重传:一个事件【计时器到时了】只重传一个帧

  • 过程-接收方 (来者不拒)接收确认的帧,无论是否按序。失序的帧缓存,发送确认帧。 只有接收到最小序号的帧才能移动窗口。 接收到窗口外的帧直接回复ACK

  • 重要总结: ①逐个确认,收一个确认一个 ②只重传出错的帧 ③接收方也有缓存 在这里插入图片描述


3.5 介质访问控制

主要任务: 为每个节点隔离来自同一信道上其他结点所传信号

3.1.5 信道划分介质访问控制【静态划分,无冲突】

多路复用技术:把多个信号组合在一条物理信道上进行传输,使计算机或终端设备共享信道资源,提高信道利用率。

信道划分:实际上就是把广播信道变成点对点信道

  • 1.频分多路复用(FDM)【用户各占一部分频率带宽,可以同时发送】 分析:将多路基带信号调制到不同频率的载波段
    子带宽之和不能超过信道总带宽!!!
    适合:模拟信号 优点:充分利用介质带宽,系统效率高。技术成熟,易实现。 在这里插入图片描述

  • 2.(同步)时分多路复用(TDM)【将时间划分为等长的帧,每个用户在帧内轮流使用】 分析:将物理信道按时间片分成若干时间片,轮流地分配给多个信号使用。
    (异步/统计)时分多路复用(STDM) 解决了同步时分多路复用利用率不高地缺陷。所有用户可以在任意时隙内将帧发送给集中器,当集中器的一个帧满了就可以发送出去。
    适合:数字信号。 在这里插入图片描述

  • 3.波分多路复用(WDM) 分析:在光纤中传输多种不同波长(频率)的光信号。用波长复用分解器将各路波长分解出来。 优点:光波频段高,带宽高。

  • 4.码分多路复用(CDM)【共享信道频率和时间】 分析:①每个站各有一个码片 ②每个站之间规格化内积为0 ③发送1就发送码片,发送0就发送码片的反码

ST1Mi=1MSiTi=0S・T≡\frac{1}{M}\sum_{i=1}^{M} S_i \cdot T_i = 0 设S为A站码片向量,T为B站码片向量,K为C站码片向量可知 ST=0S・T=0 ST=0S・\overline{T}=0 SS=1S・S=1 ST=1S・\overline{T}=-1 (S+T)S=SS+TS=1+0=1(S+\overline{T})・S=S・S+\overline{T}・S=1+0=1 (S+T)T=ST+TT=0+(1)=1(S+\overline{T})・T=S・T+\overline{T}・T=0+(-1)=-1 (S+T)K=SK+TK=0+0=0(S+T)・K=S・K+T・K=0+0=0 由上面公式可知如果 发送了1,用码片相乘会变成1 发送了0,用码片相乘会变成-1 若没有发送信息,用码片相乘会变成0

优点:频谱利用率高,抗干扰能力强,保密性强,语音质量好。主要用于无线通信


3.5.2 随机访问介质控制【动态划分信道,用户占用更大带宽,有冲突】

  • 1.ALOHA协议【不听就说】(可以检测到冲突)
    (1)纯ALOHA协议 特点:随时发送,想发送就直接发送,接收方接收到正确数据会回复ACK,若发送端在计时器时间内没有收到ACK,等待一个随机时间重新发送数据。
    (2)时隙ALOHA协议 改进:将各站的时间同步起来,将时间划分成等长时隙,每个站只能在时隙开始时发送数据。
    总结:①纯ALOHA协议比时隙ALOHA协议的吞吐量低,效率低 ②时隙ALOHA只能在每个时隙开始阶段发送数据

  • 2.CSMA协议【发送前监听】(不能检测到冲突) CS->载波侦听   MA->多点接入
    (1)1-坚持 CSMA 忙则一直监听。空闲直接发送
    (2)非坚持 CSMA 先监听,若信道忙,等待一个随机时间后再监听。空闲直接发送。 缺点:可能都在等待一个随机时间,导致信道利用率低。
    优点:随机延迟时间可以减少冲突概率
    以增加网络延迟来减少冲突

    (3)p-坚持 CSMA【采用时分信道】 忙则持续监。若空闲,会以p的概率在现在的时隙发送数据。或者以1-p的概率在下一个时隙发送数据。

信道状态1-坚持非坚持p-坚持
空闲立即发送数据立即发送数据以概率p发送数据,或以1-p的概率在下一个时隙发送数据
持续监听放弃监听,等待随机事件后再监听持续监听,直到信道空闲
  • 3.CSMA/CD协议【发送前监听】(适用于总线型网络或半双工网络) CD->碰撞检测
    发送数据时,先监听。若空闲,边发送数据变监听。
    特点:数据的发送时延要大于RTT(2倍的单向传播时延)。若发送的数据太短,在碰撞后的信号传播到发送端发送完数据前,就检测不到碰撞的冲突。因此发送时延要大于RTT

设帧长度为L,发送速率为K,信道数据传输时延为τ 发送时延=LK2T=RTT(往返时延)发送时延=\frac{L}{K}≥2*T=RTT(往返时延) 最小帧长=2发送速率单项传播时延=发送速率RTT最小帧长=2*发送速率*单项传播时延=发送速率*RTT 以太网规定的的最短帧长是64B

解决冲突的算法: 截断二进制指数退避算法

1.设置参数K 2.k=min{重传次数,10} 3.在{0,1,2...2k12^k-1}中随机选一个数r 4.在r*RTT后重传 5.重传16次失败放弃传送数据,并报告给高层

  • 3.CSMA/CA协议 CA->碰撞避免
    发送数据
    ①先检测信道是否空闲 ②空闲则发出RTS请求【帧/信号】 ③接收方发送CTS,同时预约信道,禁止接收其他端数据 ④接收方收到数据后使用CRC(循环冗余码)检测,根据情况发送ACK ⑤发送方没收到确认帧,进行截断二进制指数退避算法重发

总结:①预约信道 ②ACK确认帧 ③RTS(请求发送)和CTS(允许发送)

CSMA/CD和CSMA/CA的对比: 相同点:先听再说,有限次重传 不同点:①CSMA/CD用于总线以太网,CSMA/CA用于局域网。载波监听方式不同传输介质不同CA避免,CD检测


3.5.3 轮询访问:令牌传递协议

  • 1.轮询协议: 一个主结点依次询问各个从节点是否发送数据。【以一个短帧的形式】 缺点:①轮询开销 ②等待延迟③单点故障(主节点死亡) 在这里插入图片描述
  • 2.令牌传递协议【令牌就是一个特殊的短帧】 传输介质的物理拓扑不必是环,但逻辑上必须是环,一般物理是星型拓扑结构
    1.令牌沿着总线在各个站点之间依次传递。 2.需要发送数据的节点将数据封装在令牌中,并设置令牌的标志位。 3.站点查看目的地址是不是自己。是就接收数据
静态信道划分随机访问MAC协议轮询访问协议
举例FDM/TDM/WDM/CMDALOHA协议/CSMA协议轮询访问协议/令牌传递协议
是否冲突
网络负载重时共享信道效率高,且公平产生冲突开销效率高
网络负载轻时共享信道效率低共享信道效率高,单个节点可以利用全部带宽效率低