论文部分内容阅读
随着互连网的高速发展,新的应用不断出现。要求当前和未来的网络设备具备线速和智能处理能力的同时,又需要高灵活性。通用CPU和专用集成电路(ASIC)已不能同时满足这些要求。网络处理器结合了通用处理器的高灵活性和专用包处理器芯片的高性能特征,针对网络协议处理进行专门的优化设计,达到网络IP包的线速处理以及复杂的应用要求。并被认为是推动下一代网络发展的核心设备。同时,一些新的网络应用如数据包过滤、区分服务、服务质量、多播、流量计费等,都需要对到达的数据包进行分组分类。所以,分组分类算法的优劣很大程度上决定了网络的性能。
本文首先对网络处理器的体系结构进行了研究和分析,包括其软硬件架构、实现功能以及应用领域。然后,阐述了数据包分组分类相关技术,介绍了几种典型的分组分类算法的主要思想及性能,同时,从性能上对各类数据包分组分类在网络处理器上的实现进行了简要的说明和比较。
在此基础上,本文以网络处理器为硬件平台,根据现有的位并行算法,进行了算法改进,将位并行分割思想与Tuple空间分割思想相结合,实现了基于并位分割包分类算法的一种改进算法:TBV算法,其充分利用了网络处理器资源,降低了空间复杂度,也一定程度上减少了时间复杂度。紧接着,以IXP2850为硬件核心,对TBV算法进行实现设计,并给出了软件架构中各个功能模块的详细设计。最后详细描述了测试环境的搭建,同时对性能测试做了详细的分析。