高速网络中的缓冲区管理策略解析
1. 缓冲区管理概述
缓冲区管理是一种决定何时以及如何丢弃数据包以避免网络拥塞的策略。其性能可通过在拥塞期间公平且高效地控制流量的能力来衡量。通常,数据包丢弃决策要么在新数据包到达时做出,要么在拥塞开始时做出,此时可能会丢弃当前存储的数据包以容纳新的、更高优先级的数据包。用于做出这些决策的信息可以是按流或按类的缓冲区统计,这主要取决于性能和实现复杂度之间的不同权衡。
2. ATM 网络中的缓冲区管理
ATM 网络中的缓冲区旨在解决信元级别的拥塞问题。为满足信元延迟要求,ATM 网络内需要短队列;另一方面,为保证每个虚拟通道(VC)的信元丢失率,应具备足够的缓冲区来容纳来自不同 VC 的突发流量。在拥塞发生时,缓冲区管理需要根据信元的优先级进行选择性丢弃。
在给定的 ATM 连接中,对于连接中的每个用户数据信元,首先发出该信元的 ATM 设备可以将信元头中的信元丢失优先级(CLP)位设置为 0 或 1。CLP 位用于区分 ATM 连接中的信元:CLP 位等于 0 表示高优先级信元,CLP 位等于 1 表示低优先级信元。进入网络时,CLP = 1 的信元可能会根据网络流量情况被丢弃。
2.1 信元丢弃策略概述
为解决拥塞管理问题,提出了三种信元丢弃策略:
-纯推挤策略(Pure Pushout):所有信元都被允许进入缓冲区,直到缓冲区满。当缓冲区满时,到达的高优先级信元可以挤出低优先级信元,新到达的信元也可能挤出相同优先级的信元。优先挤出靠近队列头部的信元,这样可以减少平均排队延迟、更早检测到数据包损坏,并更快地响应流量控制(如 TC