36、拥塞控制(传输层)

引言

  • 如果机器上的传输实体以太快的速度发送太多的数据包,就会使得网络变得拥塞,从而导致网络性能的严重下降。避免这个问题是网络层和传输层的共同责任。拥塞发生在路由器上,因此在网络层检测拥塞。然而,拥塞终究还是要传输层注入到网络的流量引起,因此控制拥塞的唯一途径是传输层放缓往网络中发送数据包的速度。
  • 本节将学习传输层的拥塞控制机制,然后将描述主机如何调节它们发往网络的数据包速率。Internet的拥塞控制严重依赖于传输层,特殊的算法被嵌入到TCP和其他协议中。
1、理想的带宽分配
  • 拥塞控制算法的目标是更易于避免拥塞,即为使用网络的传输层找到一种好的带宽划分方法。
1.1、效率和功率

-为整个传输实体有效分配带宽应该利用所有可用的网络容量。然而,假设存在一条100Mbps的链路,5个传输实体共同使用这条链路,每个传输实体获得20Mbps,如果想要获得更好的性能,它们获得的带宽应该小于20Mbps。其中的原因在于流量通常呈现突发性。在前面章节我们描述过实际吞吐量(或到达接收端的有用数据包速率)是提交负载的函数。图中给出了这条曲线以及延迟曲线,与正常输出一样,延迟也是提交负载的函数。在这里插入图片描述

  • 在图a中,随着负载的增加实际吞吐量最初以相同的速度增加,但随着负载接近网络容量,实际吞吐量的上升逐渐增多。由于突发流量可能导致网络内缓冲区偶尔被充满并造成一些数据包丢失,因而出现实际吞吐量的衰减。如果传输协议设计不恰当,重传的数据包依然会被延迟但并未丢弃,此时网络内的数据包越积越多最终拥塞崩溃。在这种状态下,发送端拼命发送数据包,但完成的有益工作只有一点点。
  • 图b中给出了响应的延迟变化情况。最初的延迟是固定的,表示穿过整个网络的传播延迟。随着负载接近网络容量,延迟逐步上升。这也是因为突发流量在高负荷下被堆积起来的缘故。数据包在经历了大量的缓冲延迟后被路由器丢弃。
  • 对于实际吞吐量和延迟,在拥塞出现时性能开始下降。如果我们逐步加大分配的带宽(这里应该指发送数据的速度),将从网络获取最佳的性能,直到延迟迅速攀升的那点。而这一点恰好低于网络容量,为了标识它,Kleinrock提出了功率的度量,其中:功率=负载/延迟。功率最初将随着提交负载的上升而上升,延迟仍然很小并且基本保持不变;随着延迟快速增长功率将到达最大(也就是说开始时,负载的斜率是大于延迟的斜率的,斜率即使增长速度,寒注),然后开始下降。达到最大功率的负载表示了传输实体放置在网络上的有效负载。
1.2、最大-最小公平性
  • 均等给每个传输实体划分带宽值得商榷。首先,网络无法为每个流或者链接执行严格的带宽预留。如果网络支持服务质量,那么它们将为某些流预留带宽,但是许多连接将寻求可用的任何带宽,或者被网络合并在一起共同分配带宽。例如IETF的区分服务就将流量分成两类,每个类中的连接竞争带宽的使用。IP路由器通常让所有的连接竞争相同的带宽。在这种情况下,拥塞控制机制为每个竞争的各个连接分配带宽。
  • 其次关于公平性。如果N个流使用一条链路,在这种情况下,它们都应该有1/N的带宽(由于流量通常呈现突发性,效率决定了它们能使用的要略微少一些)。但是一个流可
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值