> 文章列表 > 【计算机网络复习】第三章 传输层 3

【计算机网络复习】第三章 传输层 3

【计算机网络复习】第三章 传输层 3

拥塞

网络边缘主机发送到网络中的负载超出了网络的承载能力,即导致拥塞

u 网络拥塞的特征

Ø 时延增大

由于在路由器缓存中排队而导致

Ø 数据包丢失

由于路由器的缓存溢出而导致

u 随着网络负载的增加

Ø 传输时延增大

Ø 吞吐量下降

拥塞控制:开环方法

u 通过对于传输协议的精心设计来避免拥塞

u 和拥塞控制相关的策略

Ø 重传策略:合理设计超时定时器

Ø 滑动窗口协议:选择重传ARQ 比连续ARQ协议更有助于避免拥塞;

Ø ACK策略:捎带确认或者累积ACK可以减少网络负载;

Ø 丢弃策略:对于某些应用(例如话音业务),适量丢弃数据包;

Ø 接纳控制(Admission control):在建立连接时可以使用接纳控制来限制源主机的发送速率,以避免拥塞。

拥塞控制方法:闭环方法

检测拥塞,在可能出现拥塞时,调整主机的发送速率以避免或缓解拥塞

TCP拥塞控制方法

u 端到端的拥塞控制

Ø 发送端检测拥塞,通过减少拥塞窗口长度来降低发送数据率

u 拥塞窗口(cwnd)

Ø 由发送端维护的一个变量

Ø 表示最多可以向网络中发送的字节数

u 发送端的发送窗口长度

Ø Min (接收窗口, 拥塞窗口)

u 有效发送窗口长度

u 定时器超时或收到3个重复ACK时,即认为有数据丢失

u 发送端随即降低发送速率(降低cwnd)

慢启动(Slow Start)阶段

u 启动速率很低

u TCP连接建立时, 拥塞窗口 = 1 MSS

Ø 示例: MSS = 1000 字节, RTT = 200 ms

Ø 启动速率 = 5k 字节/

u 按指数级增加发送速率,直至发现数据丢失

Ø 每收到1ACKcwnd+1

Ø 每一轮发送(窗口内的数据全部发完),cwnd增加为原来的2

u 增长到何时?

Ø 达到一个预先设定的阈值

Ø 或者,出现数据丢失

 

拥塞避免(CA)阶段

拥塞窗口达到阈值

Ø 降低发送速度的增长,按线性增长

Ø AI: Additive Increase,按加法增长

Ø 每收到一个ACK, 

 

Ø 一轮结束,cwnd+1

u 增长到何时?

Ø 出现数据丢失

 

出现数据丢失:MD

u MDMultiplicative Decrease,按乘法减小

u 出现重发定时器超时

Ø 阈值=当前拥塞窗口的一半

Ø 拥塞窗口减为1

Ø 开始新的“慢启动”

u 收到3次重复的ACK

Ø 阈值=当前拥塞窗口的一半

Ø 拥塞窗口=阈值

Ø 开始新的AI,快速恢复

依据:

3个重复ACK表示网络还能够传输一些报文段;定时器超时则表示拥塞告警

 

快速重传机制

u 超时重传等待时间过长

Ø 传输效率低

u 快速重传:通过收到重复的ACK来发现报文段丢失

Ø 在报文段丢失时,发送端往往会收到多个重复的ACK

Ø 如果发送端收到3个重复的ACK,则立刻重传对应的报文段,而不必等待定时器超时

 

TCP拥塞控制策略小结

u 在拥塞窗口大小cwnd未达到阈值之前,发送端处于慢启动阶段,窗口按指数级增长

u cwnd达到阈值之后,发送端处于拥塞避免阶段,窗口按线性增长

u 当收到3个重复的ACK,新阈值=cwnd/2 cwnd=新阈值

u 定时器超时,新阈值=cwnd/2 cwnd =1