第3章 数据链路层(2)

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

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

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

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

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

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


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

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

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

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

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

信道利用率 U = T D T D + R T T + T A 信道利用率U=\frac{TD}{TD+RTT+TA} 信道利用率U=TD+RTT+TATD
信道吞吐量 = 信道利用率 ∗ 发送方速率 信道吞吐量=信道利用率*发送方速率 信道吞吐量=信道利用率发送方速率

TD:发送数据时延
RTT:往返时延
TA:确认帧ACK发送时延

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


3.5 介质访问控制

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

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

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

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

  • 1.频分多路复用(FDM)【用户各占一部分频率带宽,可以同时发送】
    分析:将多路基带信号调制到不同频率的载波段

    子带宽之和不能超过信道总带宽!!!

    适合:模拟信号
    优点:充分利用介质带宽,系统效率高。技术成熟,易实现。
    在这里插入图片描述

  • 2.(同步)时分多路复用(TDM)【将时间划分为等长的帧,每个用户在帧内轮流使用】
    分析:将物理信道按时间片分成若干时间片,轮流地分配给多个信号使用。

    (异步/统计)时分多路复用(STDM) 解决了同步时分多路复用利用率不高地缺陷。所有用户可以在任意时隙内将帧发送给集中器,当集中器的一个帧满了就可以发送出去。

    适合:数字信号。
    在这里插入图片描述

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

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

S ・ T ≡ 1 M ∑ i = 1 M S i ⋅ T i = 0 S・T≡\frac{1}{M}\sum_{i=1}^{M} S_i \cdot T_i = 0 STM1i=1MSiTi=0
设S为A站码片向量,T为B站码片向量,K为C站码片向量可知
S ・ T = 0 S・T=0 ST=0
S ・ T ‾ = 0 S・\overline{T}=0 ST=0
S ・ S = 1 S・S=1 SS=1
S ・ T ‾ = − 1 S・\overline{T}=-1 ST=1
( S + T ‾ ) ・ S = S ・ S + T ‾ ・ S = 1 + 0 = 1 (S+\overline{T})・S=S・S+\overline{T}・S=1+0=1 (S+T)S=SS+TS=1+0=1
( S + T ‾ ) ・ T = S ・ T + T ‾ ・ T = 0 + ( − 1 ) = − 1 (S+\overline{T})・T=S・T+\overline{T}・T=0+(-1)=-1 (S+T)T=ST+TT=0+(1)=1
( S + T ) ・ K = S ・ K + T ・ K = 0 + 0 = 0 (S+T)・K=S・K+T・K=0+0=0 (S+T)K=SK+TK=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,信道数据传输时延为τ
发送时延 = L K ≥ 2 ∗ T = R T T ( 往返时延 ) 发送时延=\frac{L}{K}≥2*T=RTT(往返时延) 发送时延=KL2T=RTT(往返时延)
最小帧长 = 2 ∗ 发送速率 ∗ 单项传播时延 = 发送速率 ∗ R T T 最小帧长=2*发送速率*单项传播时延=发送速率*RTT 最小帧长=2发送速率单项传播时延=发送速率RTT
以太网规定的的最短帧长是64B

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

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

  • 4.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协议轮询访问协议/令牌传递协议
是否冲突
网络负载重时共享信道效率高,且公平产生冲突开销效率高
网络负载轻时共享信道效率低共享信道效率高,单个节点可以利用全部带宽效率低
  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mystic Musings

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值