CN-TCP-3

Molaters Lv5
[[计算机网络]]

网络前十大问题之一:拥塞控制原理

拥塞控制

[!拥塞]
非正式的定义:“太多的发送主机发送了太多的数据或者发送速度过快以至于网络无法处理”

表现

  • 分组丢失(因为路由器的缓存溢出)
  • 分组延迟过大(在路由器缓存中排队)

拥塞控制 vs. 流量控制

A top-10 problem

拥塞控制的成因和代价

假设

两个senders: 两个recievers

一个路由器,无限缓存

[!无限缓存]
说明不管主机发送的有多快,有多少数据,都可以从路由器传输到对应的位置,不会造成分组丢失

没有丢失的好处:没有重传

链路的带宽是C

image.png

所以可以看到左边这个图:

[!吞吐率]
左边的图是关于吞吐率的
达到C/2的时候就不会再增长了

[!时延]
当$\lambda_{in}$靠近C/2的时候,是时延爆炸式的增长

场景2

  • 一个路由器,有限的buffers
  • Sender重传分组

情况a:

Sender 能够通过某种机制直到路由器的buffer信息,有空闲才会发 $\lambda_{in} = \lambda_{out}$

情况b:

丢失了之后才会重发: $\lambda^{‘}{in} \ge \lambda{out}$

情况c:

分组丢失和定时器超时之后都重发,$\lambda^{‘}_{in}$会变得更大

[!拥塞的代价]
对给定的goodput,要做更多的工作(重传)
造成资源的浪费

场景3

四个发送方 多跳 超时/重传

拥塞的另一个代价:当分组被丢失的时候,任何用于该分组的“上游”传输能力全都被浪费掉

拥塞控制的方法

端到端拥塞控制

  • 网络层不需要显式的提供支持
  • 端系统通过观察loss,delay等网络行为判断是否发生拥塞
  • TCP采取这种方法

网络辅助的拥塞控制

  • 路由器向发送方显式的反馈网络拥塞信息
  • 简单的拥塞只是(1bit):SNA,DECbit,TCP/IP ECN, ATM
  • 指示发送方应该采取何种速率

ATM ABR 拥塞控制

ABR

  • “弹性服务”
  • 如果发送路径underloaded 🗯️ 使用可用的带宽
  • 如果发送方路径拥塞 速率降到最低保障速率

RM

  • 发送方发送
  • 交换机设置RM cell位(网络辅助)
    • NI bit : rate不许增长
    • CI bit : 拥塞指示
  • RM cell由接收方返回给发送方

[!RM cell]
显式的速率字段(SR)字段:两个字节

  • 拥塞的交换机可以将ER设置位最低的值
  • 发送方获知路径能支持的最小速率

[!Data cell]
EFCI位:拥塞的交换机将其设置为1

  • 如果RM cell前面的data cell的EFCI位被设置为1,那么发送方再返回的RM cell中设置CI位
  • 标题: CN-TCP-3
  • 作者: Molaters
  • 创建于 : 2023-11-24 10:14:50
  • 更新于 : 2023-10-12 17:08:12
  • 链接: https://molaters.github.io/2023/11/24/计算机网络/CN-TCP-3/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论