论文部分内容阅读
由于网络处理器被认为是推动下一代网络向灵活性和高性能发展的核心技术,因此各个芯片公司都推出了自已的网络处理器产品。作为业内芯片生产巨头的Intel公司相继推出了多个系列的网络处理器产品,通过与大学建立合作研究计划支持其网络处理器的应用开发研究。本课题正是基于此项计划来进行的。
课题的研究对象IXP2400网络处理器是Intel公司第二代网络处理器家族中的一款中端产品,由于这一系列产品具有相似的硬件结构和软件开发模式,只是应用开发领域有所不同而已,因此基于IXP2400的开发也为将来向高端和低端两类网络设备开发垫定基础。
网络处理器的应用开发属于嵌入式开发的一种,甚至它的开发门坎要比一般的嵌入式开发更高,特别是针对微引擎汇编级代码的开发,一方面要了解各种复杂的协议包格式和数据结构,另一方面也要了解低层的复杂的硬件数据通路,因此对开发人员的网络知识背景、硬件和软件编程水平要求较高。
本课题正是针对基于IXP2400的软件开发应用展开研究的。通过分析IXP2400网络处理器的硬件体系结构以及软件可移植架构的软件开发模型,并通过设计、实现一个较为简单的应用例子,从而探索了一条在网络处理器上进行开发的实现模式。
本文首先通过IXP2400网络处理器的硬件体系结构以及软件可移植架构的软件开发模型的分析给出在其上进行软件开发的关键性技术,然后通过给出的一个自行设计、实现的IPv4包转发模块例子,说明了如何在IXP2400处理器上进行开发。本文也是对本人阶段性开发工作的总结。
本文在探索网络处理器应用软件开发、实现模式上,给程序开发者一个有价值的参考和引导。