TCP中的流量控制和拥塞控制有什么区别?

问题描述:

TCP中的流量控制和拥塞控制有什么区别?TCP中的流量控制和拥塞控制有什么区别?

这个问题可以分解为两个部分:

  1. 什么是流量控制和拥塞控制的总体目的是什么?
  2. 任务如何完成?

根据Wikipedia,TCP流量控制依赖于ACK消息中报告的窗口大小。拥塞控制还依赖于确认消息。我想知道两个目标之间有什么不同,以及他们的工作方式。

+42

不是一个家庭作业问题。更多的面试准备问题。什么是关于它的“脱离主题”? @EJP – 2013-05-10 05:05:49

至于第1部分,超级一般概述:

流量控制是通过接收侧的控制。它确保发送者只发送接收者可以处理的内容。想想光纤连接快速的人可能会通过拨号或类似方式发送给某人的情况。发送者可以非常快速地发送数据包,但是这对接收者来说在拨号时没用,所以他们需要一种方法来限制发送端可以发送的内容。流量控制处理可用的机制以确保此通信顺利进行。

拥塞控制是一种确保网络中的每个人在任何给定时间对网络资源具有“公平”访问量的方法。在混合网络环境中,每个人都需要能够承担相同的总体绩效水平。有助于理解这一点的常见方案是办公室LAN。你在办公室里有许多局域网段,他们都在局域网内部做事,但是他们可能都需要通过比组成局域网段慢的广域网连接。在局域网内有100mb连接的图片,最终通过5mb广域网链接传出。某种形式的拥塞控制需要在那里进行,以确保在更大的网络中没有问题。

至于第2部分:

如果这是接受记者采访时,准备的问题,如你上面说的,我会考虑采取一些时间一般在TCP/IP读了。不要使用*。 RTFM!这是非常值得您的时间。你可以争辩说,这是支持大部分现代互联网的最重要的协议。

需要了解流量控制的内容:停止并等待,滑动窗口,暂停帧。

有关拥塞控制:QoS(服务质量),重传策略,窗口策略的内容。

除此之外,你可以搜索任何特定供应商实现(思科等)

+2

很好的答案,但至少有一个错误:“暂停帧”在拥塞控制中不被使用,它们是流量控制的一种机制。 – Angel 2015-09-24 06:29:24

+1

你是完全正确的。在错误的段落中添加,现在编辑。 – 2015-09-24 07:51:36

流量控制:发送方将发送可容纳在接收端足够的数据。

拥塞控制:发送方将减少发送数据包的数量,以避免路由器的缓冲区(队列)溢出。

流量控制:是指多网络如何能够吸收,拥塞窗口;拥塞控制:表示接收器能够吸收多少广播窗口; 发件人的max_window = min(广告窗口,拥塞窗口);

拥塞控制是一个全球性的问题 - 包括子网 流量控制范围内的每个路由器和主机 - 范围是点至点;只涉及发送者和接收者。

流量控制:

  • 它确保发件人不超载的接收器。
  • 与拥塞控制不同,这是一种本地现象。
  • 它通常由发件人发起。

拥塞控制:

  • 这可确保网络能够处理的数据包的载荷。
  • 这是一个全球性现象,并影响与该网络连接的每台主机。
  • 它由路由器发起。

拥塞控制:除了防止路由器的缓冲区溢出,也与其他两个重要因素

交易
  • 公平:饥饿不应该发生的连接到网络的任何主机尽管术语比较复杂。
  • 效率:该链接应利用自己最大的能力,使得它不会造成拥堵。

流量控制主要是做在接收机侧,调整多少数据发件人被注入到所述网络; 拥塞控制主要是做在发送侧,试图检测拥塞网络通过ACK信息包的定时上,以调整发送给相应的状况数据的音量。

流控制在接收端进行。如果发送方发送的数据包大于接收方的缓冲区大小,则会在接收方的缓冲区发生溢出。为了避免接收端的这种溢出,在发送端使用了一种开窗技术。 拥塞控制在发送方完成。这是一个全球现象。这发生在路由器。当许多发送者尝试通过同一链接推送更多的数据包时,路由器的缓冲区溢出。

+0

这看起来像是一个诚实的尝试来回答这个问题,但现在,你的答案有点混乱。它也相当短。请考虑在流量控制上花费一两个完整段落,并在拥塞控制方面花费一两段完整段落,用更多的逗号和更少的字省略。 – Julian 2016-08-01 22:14:25