流量控制

2022.08.13

知识点

资料:

图解回退N帧协议(GBN)- 窗口为什么是2^N-1?

停止等待与滑动窗口流量控制原理

  1. 停止等待是窗口=1的滑动窗口
  2. 窗口大小固定(传输层不固定)

可靠传输机制

  1. 停止等待ARQ
  2. 后退N帧ARQ
  3. 选择重传ARQ
  4. 2与3统称连续ARQ

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

  1. 0,1帧用ACK0,ACK1确认(确认收到的帧而不是下一帧)
  2. 接收端重复接受n:表明发送端进行了超时重传
  3. 发送端重复接受ACKn:表明接收端接到了重复帧

多帧滑动窗口与后退N帧协议

  1. 累计确认

  2. 接收方只能按序接受

  3. 窗口大小

    (1)1WT2n1

多帧滑动窗口与选择重传协议

  1. 选择重传ARQ协议;错误传NAK(否定帧)

  2. 窗口大小(用nbit对帧编号)

    (2)WT+WR2nWT=WR=2n1

计算题要领

  1. 链路层流量控制:接受方式不下就丢弃

  2. 传输层流量控制:接受端返回发送方一个窗口公告

  3. 要重发的“帧数”不是“帧的序号”

  4. 小结

    img

计算题

  1. 【窗口的定义】 对于窗口大小为n的滑动窗口, 最多可以有( )帧已发送但没有确认 答案:n-1。窗口大小是指2^k=n,发送窗口大小最大=窗口大小-1

  2. 【2012统考真题】两台主机之间的数据链路层采用后退N帧协议(GBN)传输数据,数据传输速率为16kb/s,单向传播时延为270ms,数据帧长度范围是128~512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为(B)

    A.5

    B.4

    C.3

    D.2

    网友回答

    信道利用率最高,在发送某种帧一定量的情况下达到某吞吐量,为了达到吞吐量,要考虑最坏的情况——全是128B帧。

    t=21288b16kb/s=128msRTT=540msT=668msN=668ms64ms=10.437511N=2n1n4
  3. 【2014统考真题】主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播时延是50ms,则甲可以达到的最大平均数据传输速率约为( )

    A. 10Mb/s

    B. 20Mb/s

    C. 80Mb/s

    D. 100Mb/s

    img

    t=8000b100Mb/s=80μst=80msRTT=100msc=100Mb/s80%=80Mb/s
  4. 【2015统考真题】主机甲通过128kb/s卫星链路,采用滑动窗口协议向主机乙发送数据,链路单向传播时延为250ms,帧长为1000字节。不考虑确认帧的开销,为使链路利用率不小于80%,帧序号的比特数至少是(B)

    A.3

    B.4

    C.7

    D.8

    t1=8000b128kb/s=62.5msT=t1+RTT=562.5msN=562.562.50.8=7.2N2n1n4
  5. 【2018统考真题】主机甲采用停止等待协议向主机乙发送数据,数据传输速率是3kb/s,单向传播时延是200ms,忽略确认帧的传输时延。当信道利用率等于40%时,数据帧的长度为(D)

    A.240比特

    B.400比特

    C.480比特

    D.800比特

    t=Lb3kb/s=L3msT=L3+400ms0.4=L3L3+400L=800b
  6. 【2019统考真题】对于滑动窗口协议,若分组序号采用3比特编号,发送窗口大小为5,则接收窗口最大是(B)

    A.2 B.3 C.4 D.5

    235=3
  7. 【2020统考真题】假设主机甲采用停-等协议向主机乙发送数据帧,数据帧长与确认帧长均为1000B,数据传输速率是10kb/s,单项传延时是200ms。则甲的最大信道利用率为(D)

    A.80%

    B.66.7%

    C.44.4%

    D.40%

    t=t=8000b10kb/s=0.8sη=0.8s1.6s+0.4s=40%
  8. 假定卫星信道的数据率为100kb/s,卫星信道的单程传播时延为250ms,每个数据帧的长度均为2000位,并且不考虑误码、确认帧长、头部和处理时间等开销,为达到传输的最大效率,试问帧的顺序号应为多少位?此时信道利用率是多少?

    为达到传输的最大效率采用GBN协议!

    t1=2000b100kb/s=20msT=520msN=520/20=26N2n1n5η=20min(26,31)520=100%
  9. 在数据传输速率为50kb/s的卫星信道上传长度为1kbit的帧,假设确认帧总由数据帧捎带,帧头的序号长度为3bit,卫星信道端到端的单向传播延迟为270ms。对于下面三种协议,信道的最大利用率是多少?

    1)停止-等待协议

    坑:虽然是捎带确认,往返的都是数据帧,但是分母还是一个RTT😭,原来返回来的数据帧是确认的意义,所以对于前一个数据帧也算成确认帧发送时间的一部分

    t1=1kb50kb/s=20msη=20ms202ms+540ms=3.45%

    2)后退N帧协议。

    Nmax=231=7η=720202+540=24.14%

    3)选择重传协议(假设发送窗口和接收窗口相等)

    Nmax=231=4η=420202+540=13.79%
  10. 对于下列给定的值,不考虑差错重传,非受限协议(无须等待应答)和停止等待协议的有效数据率是多少?(即每秒传输了多少真正的数据,单位为b/s

    R=传输速率(16Mb/s)

    S=信号传播速率(200m/us)

    D=接收主机和发送主机之间传播距离(200m)

    T=创建帧的时间(2μs)

    F=每帧的长度(500bit)

    N=每帧中的数据长度(450bit)

    A=确认帧ACK的帧长(80bit)

    非受限协议:不用加传输时延了😭

    T=450b16Mb/s=28.125μsT=500b16Mb/s=31.25μsT=200m200m/μs=1μsT=2μsη=28.12531.25+2+0[,]c=η16Mb/s=13.53Mb/s

停止等待协议:

T=450b16Mb/s=28.125μsT=500b16Mb/s=31.25μsT=80b16Mb/s=5μsRTT=400m200m/μs=2μsT=4μsη=28.12531.25+5+2+4c=η16Mb/s=10.65Mb/s
  1. 在某个卫星信道上,发送端从一个方向发长度为512B的帧,且发送端的数据发送速率为64kb/s,接收端在另一端返回一个很短确认帧。设卫星信道端到端的单向传播延时为270ms,对于发送窗口尺寸分别为1、7、17和117的情况,信道的吞吐率分别为多少?

    t1=5128b64kb/s=64msη=[1,7,17,117]64ms64ms+540ms=[10.60%,74.17%,100%,100%]c=ηc0=[6.78kb/s,47.47kb/s,64kb/s,64kb/s]
  2. 【2017统考真题】甲乙双方均采用后退N帧协议(GBN)进行持续的双向数据传输,且双方始终采用捎带确认,帧长均为1000B, Sx,yRx,y分别表示甲方和乙方发送的数据帧,其中x是发送序号,y是确认序号(表示希望接收对方的下一帧序号),数据帧的发送序号和确认序号字段均为3比特。信道传输速率为100Mb/s,RTT=0.96ms。下图给出了甲方发送数据帧和接收数据帧的两种场景,其中t0为初始时刻,此时甲方的发送和确认序号均为0,1时刻甲方有足够多的数据待发送

    请回答下列问题

    img

    1)对于图(a),t0时刻到t1时刻期间,甲方可以断定乙方已正确接收的数据帧数是多少?正确接收的是哪几个帧(请用S形式给出)?

    GBNR3,333:S0,0,S1,0,S2,0

    2)对于图(a),从t1时刻起,甲方在不出现超时且未收到乙方新的数据帧之前,最多还可以发送多少个数据帧?其中第一个和最后一个帧分别是哪个(请用Sx,y形式给出)?

    N=231=70,1,2,[3?,4?,5,6,7,0,1],2,3,4,5...?::72=5:S5,2:S1,2

    3)对于图(b),从t1时刻起,甲方在不出现新超时且未收到乙方新的数据帧之前,需要重发多少个数据帧?重发的第一个帧是哪个帧(请用Sx,y形式给出)

    :0,1,[2?,3?,4?,5,6,7,0],1,2,3...3,234,:S2,3

    4)甲方可以达到的最大信道利用率是多少?

    t1=8kb100Mb/s=80μsη=780μs280μs+960ms=50.45%