可靠传输:发送端发啥,接收端收啥
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。
链路层流量控制——接收方收不下就不回复确认
传输层流量控制——接收端给发送端一个窗口公告
每发送完一个帧就停止发送,等待对方确认,在收到确认后再发送下一个帧。
发送窗口大小=1,接收窗口大小=1
信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率

【例】(2020年408真题)甲向乙发数据帧,采用停止-等待协议,数据帧长与确认帧长均为1000B。数据传输速率是10kbps,单项传播延时是200ms,则甲的最大信道利用率(40%)
【分析】数据帧传输耗时:1000B/10kbps=0.8s
确认帧传输耗时:0.8s
甲发送数据帧时延:200ms
乙发送确认帧时延:200ms
总耗时:0.8s+200ms+0.8s+200ms=2s
信道利用率
=
有效传输时间
总时间
=
0.8
s
2
s
信道利用率=\frac{有效传输时间}{总时间}=\frac{0.8s}{2s}
信道利用率=总时间有效传输时间=2s0.8s=40%
【例】一个信道的数据传输率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道利用率达到80%,要求的数据帧长度至少为______。
【分析】
L
/
4
L
/
4
+
2
×
30
\frac{L/4}{L/4+2\times 30}
L/4+2×30L/4=80%,计算出L=960bit
发送方连续发出N个帧,接收方流水线接收各个帧,并进行差错检测;一旦某个帧出错,接收方就丢弃该帧和它之后收到的所有帧,对出错的帧不发送确认帧;发送方在出错帧的确认帧超时后,从出错的帧开始重传所有已发送但未被确认的帧。
接收方可以累积确认(捎带确认)
发送窗口大小:
1
≤
W
T
≤
2
n
−
1
1 \leq W_{T} \leq 2^{n}-1
1≤WT≤2n−1,接收窗口大小:1

【例】(2012年36题)两台主机直接的数据链路层采用后退N帧协议(GBN)传输数据,数据传输速率为16kbps,单向传播时延为270ms,数据帧长度范围是128-512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率最高,帧序号的比特数至少为______。
【分析】为了降低传输开销,选择数据帧长度为128bit,发送一帧的时间:
128
×
8
1600
=
64
m
s
\frac{128\times8}{1600}=64ms
1600128×8=64ms
发送一帧到收到确认为止的总时间:
64
+
270
×
2
+
64
=
668
m
s
64+270\times2+64=668ms
64+270×2+64=668ms
这段总时间可以发送的帧数量:
668
64
=
10.4375
\frac{668}{64}=10.4375
64668=10.4375
发送窗口大小:
1
≤
W
T
≤
2
n
−
1
1 \leq W_{T} \leq 2^{n}-1
1≤WT≤2n−1,其中n是构成帧序号的比特数量,
根据连续发送帧数量的计算结果10.4375,
W
T
W_{T}
WT的取值为11,带入公式解得n至少为4
发送方可以连续的发送多个帧,接收方对数据帧逐一确认,发送方收到ACK时继续发送后面的帧,若超时未收到应答,则重传出错帧;接收方可以不按照序号接收数据帧,收到帧不正确则丢弃,正确则放入缓存,再按顺序一起交付。
发送窗口
W
R
W_{R}
WR大小>1,接收窗口
W
T
W_{T}
WT大小>1
W
T
⩽
W
R
⩽
2
n
−
1
W_{T}\leqslant W_{R}\leqslant 2^{n-1}
WT⩽WR⩽2n−1
W
R
+
W
T
⩽
2
n
W_{R}+W_{T}\leqslant 2^{n}
WR+WT⩽2n
【例】对于滑动窗口协议,如果分组序号采用3bit,发送窗口大小为5,接收窗口最大是(3)
【分析】
5
+
W
T
⩽
8
5+W_{T}\leqslant 8
5+WT⩽8
W
T
⩽
4
W_{T}\leqslant 4
WT⩽4
解得
W
T
=
3
W_{T}=3
WT=3