首页 > 技术文章 > 【计算机网络】第三章 传输层(4)

zhangyushuqing 2018-10-16 09:04 原文

七.拥塞控制原理

1. 拥塞

1)非正式定义:太多主机发送了太多数据或发送速度太快,以至于网络无法处理

2)表现:分组丢失,分组延迟过大

3)拥塞的成因和代价

  ·场景1:两个发送方,两个接收方,一个路由器,无限缓存,没有重传

 

    - 拥塞时分组延迟太大,达到最大吞吐量

 

  ·场景2:一个路由器,有限缓存,发送方重传分组

 

    a. 发送方通过某种机制获知路由器缓存信息,有空闲才发送:λin = λout

    b. 丢失后才重发:λ’in > λout

    c. 分组丢失和定时器超时后都重发:λ’in更大

 

    - 拥塞的代价:对给定的好的输入(a),要做更多的重传工作,造成资源浪费

  ·场景3:四个发送方,多跳,超时重传

 

    - 拥塞的代价:当分组被丢弃时,任何用于该分组上游的传输能力被浪费

2. 拥塞控制的方法

(1)端到端拥塞控制:TCP采用

  ·网络层不需要显式地提供支持

  ·端系统通过观察丢失和延迟等行为判断是否发生拥塞

(2)网络辅助的拥塞控制

  ·路由器向发送方显式地反馈网络拥塞信息

  ·简单的拥塞指示(1bit):SNADECbitTCP/IP ECNATM

  ·指示发送方应该采取何种速率

3. 案例:ATM ABR拥塞控制

(1)ABR(可用比特率):弹性服务

  ·发送方路径欠载:使用可用带宽

  ·发送方路径拥塞:将发送速率降到最低保障速率

(2)RM(资源管理单元):发送方发送

 

  ·交换机设置RM cell位(网络辅助),由接收方返回给发送方

    - NI bit:发送方比特率不许增长

    - CI bit:拥塞指示

  ·在RM cell中有显式的速率(ER)字段,共两个字节,拥塞的交换机可将其设为更低的值,令发送方获知路径所能支持的最小速率

  ·数据cellEFCI位(拥塞置1):若RM cell前的data cellEFCI位置1,则发送方在返回的RM cell中置CI

 

八.TCP拥塞控制

1. 基本原理

1)发送方限制发送速率

  ·LastByteSent - LastByteAcked <= CongWin

  ·rate ≈ CongWin / RTT (Bps)

2CongWin

  ·动态调整以改变发送速率:加性增-乘性减(拥塞避免)机制AIMD,慢启动机制SS

  ·反映所感知到的网络拥塞:超时或3个重复ACK称为loss事件,发生loss后,发送方降低速率

(3)AIMD

  ·逐渐增加发送速率,谨慎探测可用带宽,直到loss

  ·发生loss后将CongWin减半

(4)SS

  ·当连接开始时,令拥塞窗口指数性增长

  ·每个RTTCongWin翻倍,收到ACK进行操作

  ·初始速率很慢,但快速攀升

  ·当CongWin达到loss事件前值的1/2,即Threshold时,将指数增长换为线性增长

(5)Loss事件的处理

  ·3个重复ACKCongWin切到一半后线性增长

  ·超时事件:CongWin设为1MSS,指数增长到threshold,线性增长

(6)TCP拥塞控制算法

 

(7)例题

 

2. TCP性能分析

(1)吞吐率:给定拥塞窗口大小和RTT,忽略慢启动

  ·假定发生超时时的CongWin大小为W,吞吐率为W / RTT

  ·超时后,CongWin大小为W / 2,吞吐率为W / 2RTT

  ·平均吞吐率为0.75W / RTT

(2)未来的TCP

  ·举例:

 

  ·吞吐率与丢包率的关系

 

(3)公平性

  ·KTCP Session共享相同的瓶颈带宽R,每个Session的平均速率为R / K

 

  ·公平性与UDP:多媒体应用通常不使用TCPUDP以恒定速率发送,能够容忍丢失,产生不公平

  ·公平性与并发TCP连接:某些应用会打开多个并发连接,产生公平性问题,如已有9个连接,新来的应用请求1TCP,速率为R/2,请求11TCP,速率为R/2

推荐阅读