TCP:为什么我们需要流量控制和拥塞控制

问题描述

我已经简要地阅读了流量控制和拥塞控制,但我不明白为什么我们需要它们而不仅仅是拥塞控制。

我们不能只使用拥塞控制并将接收器作为最后一个节点吗?在我看来,流量控制可能只是拥塞控制的一个特例。

我看过这个 question,我认为 OP 和我有同样的问题,但问题表述得不够好,因此答案不完整。

假设我们发送了 100 个数据包,但只有前五个数据包被确认。发送方如何知道是网络慢还是接收方慢?它真的应该重要吗?带有接收方的网络接收速度不够快,因此发送方应该放慢速度。

这样的实现有什么问题?

if (acked() / sent() < THRESHOLD){
    transmission_rate(0.5);
}else{
    transmission_rate(SOME_RATE); // where SOME_RATE > 0
}

在 TCP 协议中是否有一些流量控制不需要拥塞控制不需要流量控制?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)