拥塞控制是网络现象,那么为什么以及如何在传输层进行处理。网络中的中间设备(路由器)之间发生拥塞。但是昨天我正在阅读一篇论文(TCP 的主机到主机拥塞控制,Alexander Afanasyev,Neil Tilley,Peter Reiher 和 Leonard Kleinrock)。在这里我们可以看到标题,主机到主机拥塞控制。所以另外,我想问一下,如果网络之间出现拥塞,那么控制它是网络层的职责,但是我们可以看到,传输层控制它。? 如何 ?传输层如何知道网络之间发生了拥塞。?
问问题
327 次
1 回答
1
传输层是应用程序的端到端连接。TCP 是一种传输层协议,它可以猜测存在拥塞,因为它需要提供有保证的交付和无序的数据包重组。当 TCP 根据丢失的数据包怀疑拥塞时,它有一些机制可以减慢数据包的传递速度。另一方面,UDP,另一种传输层协议,对这些事情完全一无所知,因为它是一种即发即弃、尽力而为的协议,它不期望发送的数据包会到达它的目的地,而目的地已经不知道一个数据包可能会来。
从第 3 层的角度来看,拥塞控制是通过 QoS 实现的。数据包标记和分类、优先级、缓冲、排队、整形、监管、RED 等,其中一些或全部可用于尝试达到由网络设计者确定的公平性平衡。
例如,当缓冲区已满时,它们会开始丢弃发往缓冲区的新流量。这可能会导致网络中的许多问题。随机早期检测 (RED) 可以通过使用 TCP 的特性来提供帮助。RED 将随机丢弃排队的数据包以防止缓冲区填满,而 TCP 流将自行调整以减慢数据包的传递速度,从而有助于防止缓冲区满。
可以先处理较小的数据包大小,允许更多数据包流过接口,而不是让许多小数据包等待几个大数据包的相对冗长的序列化。
QoS 是一个巨大的话题,在这里无法正确解决,但这听起来像是您应该研究的主题。
于 2015-10-24T17:04:28.053 回答