边沿和接入设备在不断提升业务质量(QoS)等级的同时,还需要对庞大的数据和流量类型进行处理。为满足QoS要求,网络设计人员必须在其边沿/接入交换机和路由器设计中实施高级流量治理,以更好地治理资源并解决流量拥塞问题。
拥塞控制是流量治理的一项基本功能,控制拥塞的最佳途径是使网络工作于最大负载容量之下。由于这种策略并不现实,通常以芯片形式出现的嵌入式流量治理功能必须对资源进行治理,并决策何时丢弃数据包,丢弃哪个数据包,并使这些操作对整个网络的影响最小。
资源治理是一项复杂的工作,因为该问题具有多维特性,即从接入网边缘到接入网核心的治理完全不同。因此流量治理成为了一种端对端要求,即出现在一条路径上的所有节点必须满足带宽和延时要求。带宽由最小的管道确定,该管道通常更接近用户,而不是核心网。随着传输流从发送器传送至接收器,在到达网络核心之前,将被各种协议和传送介质(以太网、数字用户线路、无线线路、ATM或帧中继)承载。有效的流量治理必须能在执行交互功能并在整个范围内映射QoS参数的同时,对上述所有介质进行处理。
除了提供带宽/延时保障,流量治理功能还必须能在从网络边缘到网络核心的范围内,以不同的间隔尺寸识别数据流、路径和信道。随着网的发展,越来越多的数据流汇集到核心网的边缘部分。这些数据流可以汇集为数目较少的由核心SONET或波分多路复用架构传送的宏流,并当这些宏流离开核心网、传送到各自目的地时,再恢复为最初的数据流。
最后,为了与采用高速交换机(由在网络边缘执行查询和分类功能的边缘路由器组成)的传统网架构的外附设备相一致,未来需要开发出能进行智能边缘处理的快速核心模型。目前除ATM以外,还实现了像多协议标记交换(MPLS)和差分业务(DiffServ)这样的技术。标记边缘路由器将在网络边缘执行MPLS和DiffServ分类功能,而标记交换路由器则在MPLS和DiffServ域中通过预定义的标记交换路径执行高速交换功能。
实现的要害环节
有效的流量治理包含三个要害要素:拥塞避免;为端对端传送的数据流预设路径;对流量调整进行公平排序以确保传送的延时有界。假如不能实现上述三大功能,那么即便能在数据网络中实现QoS,也是异常困难的。
拥塞避免非常重要,因为网络的功率(定义为数据流量与延时之比)经过一定的流量负载后将显著下降。由于难以从拥塞中恢复过来,因此最好从一开始就避免这种情形。在TCP层上,存在许多拥塞控制反馈机制。早期随机检测(RED)拥塞控制算法通过答应路由器丢弃数据包以避免拥塞,它发挥了重要的作用。
有效的流量治理还要求设计人员通过网络建立预置路径。假如没有这些预置路径,数据包将在两个端点之间选择另一条路由,而且除非所有的路由均能满足特定的延时界限,否则结果将无法得到保障。
一旦预置路径建立成功,则需要公平排序。现已证实,具有最大分段尺寸和平均有界速率的信号流的FQ可为有界延时提供保障。FQ为一个数据流保障了最小带宽,其余的带宽则平均分配给其他数据流。因此,FQ是一个能为每个用户保障承约速率的高效机制,其峰值速率根据可利用的额外带宽而得到满足。显然,假如信号源经过调整,使其限制在平均传送速率且不进行无限制分段,那么FQ将在受控信号流的传输中实现公平和有界延时。
管线架构
流量治理要求适用于由多个连续环节(每个环节完成一个要害步骤)组成的管线架构。流量治理管线既可分别为数据包、信元构造,也可为两者同时构造。管线执行分类、规则制订、标记/丢弃、排序/调整功能。
在流量治理范围内,分类的结果可以是数据流、虚拟信道、传送等价类(forwarding equivalence class)或符合QoS要求的输出端口。规则制订或测定可用来监控数据流平均带宽使用率、标注超标数据流或丢弃那些来自带宽超过答应份额的数据流的数据包。来自超标数据流的数据包将进行标注,以降级使用或丢弃。最后,排序/调整完成优先级排序或公平排序,以通过调整限制输出数据流的速率。
多协议流量治理管线可用来处理信元和数据包,但是多协议管线还包括按流排序,支持网络互连、分段与重组(SAR)以及恒定位速率(CBR)调度。尽管如此,该管线还具有在按流(per-flow)或按连接基础上,缓冲任意流量数据流的功能。这样不仅能对数据流进行复杂的处理,也不会阻塞管线。该管线的其他优点包括按流规则制订、调整、统计和交互工作,以及应用于高速交换架构接口的按流背压和结构信元(fabric-cell)SAR。
采用多协议方法,设计人员还能实现按类或按端口流量治理,但只有很少量的传输流类型可在特定的总体特性或输出目标端口基础上,通过汇集数据流进行治理。该策略可工作于以太网环境下,但这种环境下只需要数百个传输流,因此不适用于可升级的宽域网络。
管线结合了所有数据包和信元流量治理必需的环节,并添加了交互工作(包括SAR)和按流/按VC排序。管线还包含带有CBR机制的FQ引擎,该引擎通过建立一个速率受限的管道以适应多个由FQ或简单优先级设定优先级的数据流,对数据流进行分层调整。
对于高速应用(OC-48c及更高速系统),临时缓冲穿过路由器的数据包所需的暂态存储量实在太大,而无法适用于ASIC或ASSP。在OC-192c线速上,每秒用于全带宽传输的数据量将到达1.25Gb。存储容量的实现是通过采用带有多个链接列表的动态分配排序结构,对上百万个小管道,或上千个较大的管道进行按流排序。采用这种方法,数据流的间隔尺寸可根据网络边缘或核心的需要进行调整。
出于对功耗和线路板空间的考虑,许多数据包存储方法采用DRAM。但同步DRAM、双速SDRAM和Rambus DRAM将在存储器预充电过程中耗费大量的带宽开销,并在读存取中承受相当大的管线延迟。在为平滑的流量治理处理器设计的具有成本效益的解决方案中,除了封装引脚和功率限制,内存带宽和延迟也将成为实际工程有待解决的难题。
功能实现
数据包传送和信元传送的本质区别在于,数据包的传送单元的长度是可变的,而信元的传送单元的长度是固定的。这个差异也使两者的流量治理机制产生明显的差异。
对于规则制订和标注,数据包采用双令牌桶(dual-token-bUCkets)机制,而信元则采用双漏桶(leaky-bucket)技术。对于丢弃和拥塞控制,数据包采用相对复杂的RED机制及其更为复杂的变形,包括权值RED(WRED)和带有I/O的RED(RIO);而信元则采用基于早期和局部数据包丢弃的简单丢弃策略。
ATM应用中经常采用按流/按连接排序结构来保持多个虚拟路径/虚拟信道(共计224个)的状态以及为SAR按VC缓冲信元。类似的结构可用于按流状态和数据包统计。但数据流的间隔尺寸可以有很大的不同,这取决于设备配置的位置以及提供的QoS功能。
输出排序中通常采用带有简单优先级的FIFO队列。这些方案会带来一些负面影响(包括线路头部阻塞、低优先级传输流资源匮乏以及更为严格的传输流类型划分),由此导致带宽的利用不够充分。较好的输出排序结构(如循环排序(RR)和公平排序)则使共享带宽的利用更为公平,也更高效,但RR和FQ的实现也更为复杂。FQ通常近似简化为较简单的方案(如逆差RR),因为调度长度可变的数据包相当复杂。
最后,输出传输流的调度和调整可基于限制了速率和分段大小的漏桶机制,或通过消除数据包和信元的传输加以实现。恒定位率调度可采用两种常用的方法实现:具有最早截止时间的最先调度(EDF)方法和基于日程表的调度方法。EDF方法所需硬件的复杂度很高,但几乎不需要预处理;而基于日程表的方法的实现相当简单,但需要进行大范围的预处理。