论文部分内容阅读
由于网络带宽迅速拓展,网络信息量的不断增加,对网络数据传输的速度和灵活性要求越来越高。正是在通用处理器和ASIC技术都无法满足这种双重要求的条件下,产生了网络处理器技术。网络处理器通过良好的体系结构设计和专门针对网络处理优化的部件,为上层提供了一个可编程控制的环境,可以很好地解决硬件加速和软件可扩展的折衷问题。
本文充分利用网络处理器的强大的硬件特性和软件可编程的能力,来实现基于IPv6的、支持IPv6与IPv4互通的、高达数Gbps线速处理能力的层次网数据平面软件。基于网络处理器的层次网的数据平面实现了较为完备的功能,如:数据包的接收、数据包的发送、包的分类标记、组播、流量累计、负载均衡、隧道封装、上行\下行逻辑端口计算等等。这些功能的实现,使层次网的数据平面逐步完善,促进了层次网络体系结构和协议的发展。
本文的许多工作是在钱华林研究员和葛敬国博士的带领下,层次网研究小组成员共同讨论的结果。本文作者作为小组成员之一,参与了以下几个方面的工作:
1.参与了基于网络处理器的层次网数据平面的总体设计,分析和验证了各种数据结构位于不同的存储器(如SRAM,DRAM等)中的性能差别,以便合理地分配和使用网络处理器的硬件资源。
2.设计和实现了数据包的接收模块,对接收到的元数据包进行重组,将数据包从TBUF中转移到DRAM中,将数据包的描述符存储到SRAM中,通过Scratch ring硬件加速队列完成对数据包描述符句柄的传递。
3.设计和实现了数据包发送模块,利用数据包描述符句柄访问数据包的描述符,然后通过数据包描述符得到数据包在DRAM存储器中的位置,将数据包从DRAM中转移到TBUF中,最后将数据包分割成元数据包发送出去。
4.设计和实现了数据包的分类标记模块,通过IP六元组精确匹配分类算法、DSCP分类算法、单速率三色标记算法实现对数据包的分类和调节机制,从而保证了层次网的服务质量。
本文通过设计和实现基于网络处理器的层次网数据平面软件系统,为基于电信级硬件平台高速交换机走出实验室创造了有利条件,这对于层次式交换网络的进一步推广和商业化具有十分重大的意义。