传统的数据库搜索解决方案不能满足不断增长的速率要求,必须采用基于大规模并行搜索和管线搜索的方法。尤其对于oc-768的网络分类和转发,采用并行搜索技术的网络搜索引擎和具有灵活管理功能的分类转发处理器显示了独特的性能优势,有效地提高了网络分类和转发处理效率,并具有高度的灵活性和动态扩展能力。
人们对数据传输带宽的需求促进了光传输速率的提高。10gbps(oc-192)系统是当前发展的重点,同时,设计工程师正在积极开发40gbps(oc-768)系统。带宽的提升将影响到网络的光收发器、fec/pll及成帧器、数据包解析及调整、数据包分类/转发、数据包分割与重组、排队和调度设计。
所有这些设计都很重要,但数据包的分类和转发无论就处理规则(rule)的数量,还是就处理速率而言都是最复杂而又最重要的。此外,随着基于规则的路由服务和服务质量(qos)管理的应用不断拓宽,也促使设计工程师将复杂的分类处理和网络数据库搜索融入到涵盖从核心网络到边缘网络的路由和交换应用中。在当前的系统设计中,仅数据包分类和转发功能就可能占据线路卡70%的处理任务。在40gbps速率中意味着每秒1.25亿个数据包处理,要进行高达200万个的记录分类和转发。
从互连网骨干网使用的光路由器和电信级交换机,到边缘汇集点和复杂的城域网(man)环境,线路速率的分类和不同数据流的转发需求已成为现实。随着对整体带宽(每秒传输的数据包)需求的提高,更为复杂的数据包搜索以及不断增大的网络数据库要求未来的系统设计能以比当前系统快数百倍的速率进行数据包包头比较并进行决策。
如上所述,当前数据库搜索解决方案运用的算法或哈希方案都无法适用于不断增长的速率,必须改进设计方法,设计出基于大规模并行搜索和管线搜索的方法。
分类和转发
图1显示了从分类搜索包头的组合到调度包头的生成的分类和转发流程
网络处理单元(npu)接收来自成帧器(framer)的数据包并对l3层分类进行数据包包头处理。npu处理tcp包头,并解析出数据包中用于tcp会话(l4层)的syn和fin(数据流的起始和结束)。对于l4到l7层的分类,npu校验url、文件类型及数据包中的其它信息,然后,npu将分类表的查寻键值(lookup key)及数据包类型信息传送至分类处理器。npu还将转发表的查寻键值传送至转发处理器,进行最长词头匹配(lpm)搜索。
分类处理器接收分类查寻键值并搜索整个规则(或记录)数据库,以识别出数据流。该数据流中存储了特定分组数据流的流量、qos和统计参数,而相关存储器则将这些参数返回至npu。
分类数据库以不同的权值或优先级存储了多个规则。对于每个搜索,具有最高优先级的规则将用来返回规则和流量参数。分类流程的复杂度取决于分类数据库的大小、每个数据流记录的规则数目以及分类速率。