版权声明:本文为博主原创文章,转载请注明博客地址: https://cloud.tencent.com/developer/article/1433301
拥塞是指客户端发送的数据太多或者发送速度太快,以至于网络无法处理。它指的是客户端和服务器连接的中间网络无法处理,而不是流量控制里,服务器无法处理。拥塞的表现就是分组丢包和分组延迟过大。
拥塞的成因
拥塞的成因是比较复杂的,考虑一个现实的情形如下。
在理想化的情形下,当分组的传输速率接近链路容量的时候,分组将会在路由器经历巨大的排队延迟。从而导致分组到达服务器的的延迟非常高。
二是,发送方在遇到上述的巨大排队延迟的时候,很可能会进行重传,而这不必要的重传又会增加不必要的副本。导致网路更加的拥塞不堪。在上图的网络中,当分组沿着某一条链路在传输的过程中被丢弃掉,那么这将导致该路由器之前的所有路由器用于转发该分组的传输容量被浪费掉了。
拥塞的解决
一般在实践中有两种主要的控制拥塞的方法。根据网络层是否为传输层提供帮助,来区分拥塞控制方法。
- 端到端拥塞控制:TCP根据报文段的丢失,来认为网络拥塞。TCP就会相应的减少其窗口长度。现在,RTT也被作为网络拥塞程度的一种判断标志。端到端的拥塞控制是端系统自行观察网络,从而做出的判断和决策。
- 网络辅助拥塞控制:网络辅助控制中,路由器向发送方提供网络拥塞状态的显示反馈信息。