论文部分内容阅读
近几年,网络速度的快速提高对千兆网络数据处理提出了新的挑战。数据包分类技术是千兆网络数据处理中的关键。对于数据包分类系统的研究,成为一个重要课题。本文提出了一种软硬件结合的设计思路,在软硬件之间建立一种内部分类协议。协议中,将IP地址、端口号、协议类型等信息以规则的形式定义,并由应用程序根据需要将这样的规则同时设置在内核和硬件中。数据包到来时,硬件根据规则完成对数据包的分类,并按照分类的结果加上内部包头,再通过硬件缓存以数据块的形式发送到内核中。内核收到数据块以后,根据内部包头的内容将数据块拆分成数据包,并传递给相应的应用程序。针对于规则重叠问题,本文提出了一种规则生成算法。通过这种算法的实现,可以为数据包寻找到所有与其匹配的规则所关联的每个应用程序。借鉴零拷贝的思想,本文实现了高效的传输方法,减少了数据在系统内部的拷贝和处理;同时,通过结合规则生成算法,提供了一种数据多播的机制。为了实现设计目标,本文引入了一种基于CAM的数据包分类引擎的硬件平台,并通过改造使其具备了内部包头生成功能。在此之上,本文描述了系统软件的设计与实现方案,完成了系统的整合。与其他的数据包分类系统相比,本文描述的系统主要有如下特点:1.基于内部分类协议,系统具有软件的灵活性和硬件的快速性。2.通过规则生成算法,系统可以寻找到所有需要数据包的应用程序。3.借鉴了零拷贝的思想,提高了传输效率,提供了数据多播的机制。