首页 > 编程知识 正文

流量控制和拥塞控制的缺点,流量控制与拥塞控制

时间:2023-05-05 00:51:08 阅读:32127 作者:3755

拥塞控制和流控制

流量控制的目的:

如果发件人发送的数据太快,收件人无法接收,则会发生丢包。 为了避免丢包,流量控制是控制发送者的发送速度使得接收方能够接收。 流量控制的根本目的是防止丢包,是构成TCP可靠性的一个方面。

TCP的流控制是利用滑动窗口机制实现的,滑动窗口协议保证了无分组错误、有序接收,还实现了流控制。 接收方在所发送的数据中包含自己的接收窗口的大小,来控制发送方的数据发送。

拥塞控制:拥塞控制是指防止网络中注入过多的数据,从而防止网络中的路由器或链路过载。

拥塞控制和流控制的区别

拥塞控制:拥塞控制作用于网络,避免过多的数据注入网络,造成网络负载过大的常用方法是: (1)缓慢启动,避免拥塞,)快速重发,快速恢复。

流量控制:流量控制作用于接收者,控制发送者的发送速度,使接收者能及时接收,防止丢包。

拥塞控制是指防止这种现象的发生,或者缓解堵塞问题。

实现原理: 4种算法(开始晚、避免拥塞、重发快、恢复快) ) ) ) ) ) ) ) ) ) )。

发送方保持拥塞窗口。 拥塞窗口的大小表示网络拥塞的程度。 发送方的滑动窗口小于或等于拥塞窗口。

一:慢慢开始

发送方首先检测网络拥塞,从一开始就发送大量数据,并根据拥塞程度逐渐增加或减少拥塞窗口

2 )避免拥塞

该算法用于控制拥塞窗口的增长速度,RTT每次往返时拥塞窗口增加1倍而不是2倍,拥塞窗口以线性速度增加,流量得到控制。

三.请重新发送

如果发送侧在超时期间内没有接收到确认信号,则判断为网络拥塞,将拥塞窗口变更为1,并且将慢启动阈值ssthresh减半。

对于拥塞窗口大小ssthresh,使用慢启动算法

对于拥塞窗口大小ssthresh,使用拥塞避免算法

如果拥塞窗口大小=ssthresh,则可以是慢启动算法或拥塞避免算法

接收方收到失序的报文段后立即发送重复确认。 如下图所示,M3丢失时,对M2进行重复确认

接收方连续三次收到相同的重复确认后立即启动快速重发算法,立即重发M3,不等M3超时时间期满

四.早日康复

快速恢复与快速重发配合使用。

上图所示的m-3之所以丢失,可能是因为在一个节点处m-3被诸如网络变化之类的非网络拥塞阻塞。

也就是说,网络其实并不拥挤。 高速恢复意味着在这种情况下避免直接重发真的会导致网络拥塞。 其原理是将拥塞窗口设置为ssthresh的大小,然后运行拥塞避免算法

下图显示了整个控制过程。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。