一般意义上的流量控制是指允许发送器基于从接收器捕获的某种信号(隐式或显式)增加或减少给定数据链路上的流量的机制。
回到串行通信更为普遍的时代,我们使用硬件流控制 (RTS / CTS) 来允许串行链路上的端点在它们能够或不能接收数据时发出信号。DCE(例如,调制解调器)可能具有可能被发送站溢出的缓冲区。当该设备通过一定的缓冲阈值时,它会降低适当的信号线,并且发送站将通过暂停其数据传输来响应,直到 DCE 指示即时拥塞问题已清除。一种类似的机制也在带内(即作为传输数据的一部分)实现,称为 XON/XOFF - 与 RTS/CTS 的想法相同,但作为特殊控制字符而不是专用硬件线实现。
最近(大约 15 年前)在 IEEE 802.3x 标准中的以太网中引入了类似的机制。这引入了所谓的“暂停”框架。在串行情况下,给定的接收器可以在无法接受更多流量时发出这样的帧。这是一种 MAC 层机制(即第 2 层),已在相当多的设备中实现,但其实际使用和部署非常有限。802.3x 的问题在于,当发出 PAUSE 帧时,所有无论所述流量的重要性如何,流量都会被保留。最近出现了更新的标准(统称为 DCB),允许更细粒度的控制(即在每个 CoS 的基础上暂停流量)以及定义不同类别的流量以及它们如何映射到这些 CoS 值的免费设施. 用于主动流量控制的 L2 网络扩展的其他示例包括光纤通道中的缓冲区信用和 ATM ABR 中的反馈机制。
真正的流量控制并不真正适用于第 3 层,它主要关注可达性和寻址。然而,第 4 层有一些机制——特别是 TCP 窗口——允许发送方根据网络条件限制传输。TCP 窗口的操作和警告值得他们自己提出问题/帖子,因为有大量关于该主题的文献。另一种已被指定但未广泛实现/用于 TCP 的机制是 ECN(显式拥塞通知),它可能允许采取更主动的方法来限制发送器带宽(相对于 TCP 窗口依赖于数据包丢弃)。
除了严格的流量控制外,还有基于每个发送者的流量整形、选择性丢弃和监管机制(即 L2 / L3 和一些 L4 QoS 机制),但这些并不是精确的流量控制,至少在通常的定义中的期限。
| 归档时间: |
|
| 查看次数: |
5295 次 |
| 最近记录: |