流量控制¶
来源:
计算机网络 / 数据链路层/流量控制.md
什么是流量控制¶
流量控制是指由接收⽅控制发送⽅的发送速率,使接收⽅有⾜够的缓冲空间来接收每个帧。
数据链路层的流量控制¶
停止--等待协议¶
停⽌-等待流量控制是⼀种最简单的流量控制⽅法。接收⼀个帧都要反馈⼀个应答信号,表示可以接收下⼀帧,发送⽅每次只允许发送⼀个帧,接收⽅每发送⽅收到应答信号后才能发送下⼀帧。若发送⽅没有收到接收⽅反馈的应答信号,则需要⼀直等待。发送⽅每发送完⼀个帧,就进⼊等待接收⽅确认信息的过程中,因⽽传输效率很低。
异常¶

超时重传¶
发送方每次发送分组后设置一个超时计时器,略长于往返时间RTT,如果在超时计时器到期之前收到了接收方的确认,就撤销超时计时器
确认丢失¶

如果确认丢失,那么就会触发超时重传,接收方会在收到重复的分组之后丢弃,并发送确认
确认迟到¶
发送方收到重复的确认,什么也不做
信道利用率¶

忽略处理时延和排队时延 发送方发送分组的发送时延为\(T_D\),往返时间为RTT,接收方发送ACK的发送时延为\(T_A\),那么只有\(T_D\)时间是用于发送数据分组的,所以
\[
信道利用率=\frac{T_D}{T_D+RTT+T_A}
\]
使⽤上述的确认和重传机制,我们就可以在不可靠的传输⽹络上实现可靠的通信。像上述的这种可靠传输协议常称为==⾃动重传请求ARQ(Automatic Repeater Quest)==。意思是重传的请求是⾃动进⾏的,因此也可⻅到⾃动请求重传这样的译名。接收⽅不需要请求发送⽅重传某个出错的分组。