stream量控制和拥塞控制在TCP中有什么区别?
TCP中的stream量控制和拥塞控制有什么区别?
这个问题可以分解为两部分:
- stream量和拥塞控制的总体目的是什么?
- 如何完成任务?
根据维基百科 ,TCPstream量控制依赖于ACK消息中报告的窗口大小。 拥塞控制还依赖于确认消息。 我想知道两个目标之间有什么不同,以及他们是如何工作的。
至于第一部分,超级大概:
stream量控制由接收方控制。 它确保发送者只发送接收者可以处理的内容。 想想光纤快速连接的人可能会通过拨号或类似的方式发送给某人。 发送者能够很快地发送数据包,但是这对接收者来说是无用的,所以他们需要一种方法来限制发送端可以发送的内容。 stream量控制处理可用的机制以确保这种通信顺利进行。
拥塞控制是一种确保networking中的每个人在任何给定时间对networking资源具有“公平”访问量的方法。 在混合networking环境中,每个人都需要能够承担相同的总体绩效水平。 有助于了解这一点的常见scheme是办公室局域网。 局域网中有许多局域网段都在做局域网内的事情,但是它们都需要通过比组成局域网网段慢的广域网连接。 图片在局域网内有100MB的连接,最终通过5MB的广域网连接。 某种拥塞控制需要在那里进行,以确保在更大的networking中没有问题。
至于第二部分:
如果这是一个面试准备的问题,如上所述,我会考虑花一些时间来阅读一般的TCP / IP。 不要使用维基百科。 RTFM! 这是非常值得您的时间。 你可以争辩说,这是支持现代互联网最重要的协议。
需要了解stream量控制的内容:停止并等待,滑动窗口,暂停帧。
有关拥塞控制:QoS(服务质量),重传策略,窗口策略的内容。
除此之外,您可以search任何特定的供应商实施(思科等..)
stream量控制:发送方将发送足够的数据,在接收端可以容纳。
拥塞控制:发送方将减less发送数据包的数量,以避免路由器的缓冲区(队列)溢出。
stream量控制:
- 它确保发送者不会使接收器过载。
- 与拥塞控制不同,这是一种本地现象。
- 这通常由发件人发起。
拥塞控制:
- 它确保networking能够处理数据包的负载。
- 这是一个全球性的现象,并影响与该networking连接的每个主机。
- 它由路由器发起。
拥塞控制是一个全球性问题 – 涉及子网内的每个路由器和主机stream量控制 – 范围是点到点; 只涉及发送者和接收者。
stream量控制主要在接收端完成 ,调整发送端注入networking的数据量; 拥塞控制主要是在发送端完成的,试图通过ACK包的定时来感知networking拥塞,调整发送给相应情况的数据量。
拥塞控制 :除了防止路由器的缓冲区溢出之外,它还处理另外两个重要的因素
- 公平性 :任何连接到networking的主机都不应该发生饥饿。尽pipe术语比较复杂。
- 效率 :链接应该被利用到最大容量,这样不会造成拥塞。
stream量控制在接收端完成。 如果发送者发送的数据包大于接收者的缓冲区大小,则在接收者的缓冲区发生溢出。 为了避免接收端的这种溢出,在发送端使用了一种开窗技术。 拥塞控制在发送方完成。 这是一个全球现象。 这发生在路由器。 当许多发送者试图通过相同的链路推送更多的数据包时,路由器的缓冲区溢出。
stream量控制:表示有多lessnetworking能够吸收拥塞窗口; 拥塞控制:表示接收者能够吸收多less广告窗口; 发件人的max_window = min(广告窗口,拥塞窗口);