TCP中的流量控制和拥塞控制有什么区别?
这个问题可以分为两部分:
根据Wikipedia,TCP流量控制依赖于ACK消息中报告的窗口大小。拥塞控制还依赖于确认消息。我想知道两个目标之间的区别,以及它们是如何工作的。
答案 0 :(得分:114)
关于第1部分,超级概述:
流量控制由接收方控制。它确保发送方只发送接收方可以处理的内容。想象一下,有快速光纤连接的人可能会通过拨号或类似的方式向某人发送信号。发送方能够非常快速地发送数据包,但这对拨号上的接收方来说是无用的,因此它们需要一种方法来限制发送方可以发送的内容。流量控制处理可用于确保此通信顺利进行的机制。
拥塞控制是一种确保网络中的每个人在任何给定时间都具有“公平”访问网络资源的方法。在混合网络环境中,每个人都需要能够承担相同的一般性能水平。帮助理解这一点的常见方案是办公室局域网。办公室里有许多局域网段都在局域网内做事,但是他们可能都需要通过比组成局域网段慢的广域网链路。在LAN内具有100mb连接的图片最终通过5mb WAN链路传出。需要采取某种拥塞控制措施,以确保整个大型网络没有问题。
至于第2部分:
如果这是一个面试准备问题,如上所述,我会考虑花一些时间来阅读TCP / IP。不要使用维基百科。 RTFM!这非常值得你花时间。你可以说这是支撑大部分现代互联网的最重要的协议。
有关流量控制的内容:停止并等待,滑动窗口,暂停帧。
有关拥塞控制的内容:QoS(服务质量),重传策略,窗口策略。
除此之外,您还可以搜索任何特定的供应商实施(思科等)。
答案 1 :(得分:22)
流量控制:发送者将发送足够的数据,可以在接收端进行调整。
拥塞控制:发件人将减少发送的数据包数量,以避免溢出路由器的缓冲区(队列)。
答案 2 :(得分:21)
流程控制:
拥塞控制:
答案 3 :(得分:3)
拥塞控制是一个全球性问题 - 涉及子网内的每个路由器和主机
流量控制,从点到点的范围,只涉及发送者和接收者。
答案 4 :(得分:3)
流量控制主要在接收方上进行,以调整发送方注入网络的数据量; 拥塞控制主要在发送方上进行,试图通过ACK-packets的时序感知网络拥塞,调整发送到相应情况的数据量
答案 5 :(得分:2)
拥塞控制:除了防止路由器的缓冲区溢出外,还会处理其他两个重要因素
答案 6 :(得分:2)
流量控制在接收器侧完成。如果发送方发送的数据包大于接收方的缓冲区大小,则会在接收方缓冲区发生溢出。为了避免接收器侧的这种溢出,在发送器侧使用了窗口技术。 拥塞控制在发送方进行。这是一种全球现象。这发生在路由器上。当许多发件人试图通过同一链路推送更多数据包时,路由器的缓冲区会溢出。
答案 7 :(得分:0)
流程控制:
拥塞控制
当我们开始从源传输数据时,它会在网络的帮助下到达目的地。拥塞控制阻止了源,因此网络中的路由器不应丢弃数据。
此问题与路由器的队列
实现起来更复杂,因为路由器从连接到其网络的不同源获取不同的数据包。
答案 8 :(得分:-3)
流量控制:表示网络能够吸收多少,拥塞窗口; 拥塞控制:表示接收器能够吸收多少广告窗口; 发件人的max_window = min(广告窗口,拥塞窗口);