论文摘要
多核网络处理器是指在单个封装内集成多个执行核,每个执行核是独立的处理器,具有自己的体系结构资源。它兼有高速处理和灵活编程两种能力,能很好地适应高速网络和业务演化的需要。多核网络处理器可以高速处理控制/数据平面、处理应用感知内容、检测深度包、模式匹配和加密加速,被广泛的应用于各种网络设备,包括路由器、交换机、应用认知网关、无线局域网、3G接入和聚合设备以及网络存储设备等。在这些环境中,网络进化为一个承载数据、语音和视频内容的多元混合体,不仅要具备应用传输所需的线速处理高层数据的能力,还要进行加密、认证、入侵防护和防病毒等多层安全操作以及多功能的整合。因此,面向多核网络处理器的软件框架的高性能和通用性成为多核网络处理器的核心问题。多核网络处理器软件开发的困难主要来自于其微并行结构之复杂性和网络多平面处理环境之特殊性,突出表现为:缺乏高层编程模型和开发工具,缺乏网络通信处理算法组件库,缺乏适应多平面处理环境的OS支持。因此,基于多核网络处理器的软件框架的设计与实现都变得极为复杂。近年来,虽然国内外学者做了大量的研究工作,但基于多核网络处理器架构,提供高性能、面向高层应用的研究尚处于初期阶段。本文在总结前人研究工作的基础上,深入研究并设计实现了多核网络处理器的多平面分层软件框架、内核网络协议栈模块框架、管理平面框架等关键技术;分析和实现了IP网络中若干关键安全应用的设计,并进行了充分的测试以验证其达到了高性能、通用性的设计目标;提出了一种从硬件抽象层到应用管理的完整软件框架。本文就以下几个方面进行了创新性的研究工作:(1)提出并设计了可扩展的多平面软件框架。多平面框架面向多核网络处理器,实现了三平面的融合,即数据平面、控制平面共同完成复杂高层网络应用功能的实现过程;在管理平面内,通过统一管理系统,针对多核网络处理器主要的应用环境进行多业务的管理融合。(2)研究并实现了面向数据平面和控制平面的接口设汁框架。最新的Linux内核并没有对快速路径和慢速路径进行明确的区分,本文明确提出了两种路径的划分,通过一系列的接口设计来实现多核网络处理器性能发挥和内核功能实现之间的平衡,屏蔽底层硬件细节,提高网络应用可复用能力与跨平台可移植能力。(3)研究并设计了算法组件库。在多核网络处理器的快速路径中应用基于均匀服务队列的分组调度算法,使决策时间复杂性、公平性、调度时延特性均与数据流个数无关,具有良好的可扩展性;应用遗传式自动分配算法,在网络处理器上建立流水编程任务分配模型。(4)设计了内核虚拟网络块框架,在管理平面实现了配置的模块化。将面向对象的设计方法引入内核设计中,采用“低层处理”的策略,将所有的网络操作处理模块化,尽可能在最低层把非法的数据包屏蔽掉,在最低层对内存进行释放,使整个核心数据处理流程全部工作在内核一级,把相对耗费时间的匹配过程交给了用户进程去处理。同时,在管理平面内采用面向对象的模块化设计方法,利用事件机制,对不同的高层应用提供配置、管理功能。在多核网络处理器软件框架研究和设计的基础上,本文对多种IP安全技术进行了优化实现:对snort进行了并行多线程的重新设计;对NAT/PT进行了快速路径的优化设计;并对netflow进行了数据平面虚拟网络模块框架的实现;还对IPSec在数据平面利用API隐藏硬件特定细节,提供了统一接口。通过完善的测试方案,验证了软件框架设计方案的性能和适用性。
论文目录
摘要Abstract第1章 绪论1.1 多核网络处理器概念1.2 多核网络处理器的历史及发展趋势1.2.1 多核网络处理器的历史1.2.2 多核网络处理器的发展趋势1.3 多核网络处理器体系结构1.4 多核网络处理器体系结构特点1.4.1 并行1.4.2 分层存储结构1.4.3 协处理器1.4.4 PE间互联1.4.5 外部接口1.5 多核网络处理器软件框架定义1.5.1 多核网络处理器与软件框架的设计1.5.2 多核网络处理器的应用需求1.5.3 多核结构对软件框架的影响1.6 主要工作及创新1.7 论文结构第2章 多核NP软件模式和系统框架设计2.1 多核NP软件框架的问题分析2.2 多核NP软件框架的需求分析和设计目标2.3 多核NP软件框架的结构和功能2.3.1 多核NP开发模式应考虑的问题2.3.2 多核NP开发模式的引入2.3.3 多核NP软件框架的结构2.4 小结第3章 NP适应的网络处理算法的相关研究3.1 NP适应网络处理算法分类3.2 NP分组调度策略与实现机制3.2.1 队列调度算法的性能评价标准3.2.2 现有队列调度算法的性能比较3.2.3 DDR算法及其优化3.2.4 队列调度算法在NP上的实现3.3 NP流水型任务集自动分配3.3.1 NP任务分配模型3.3.2 遗传算法在NP任务分配中的实现3.3.3 NP遗传算法实现示例3.3.4 遗传算法在NP流水线软硬件设计过程中的应用3.4 小结第4章 面向多核NP的OS设计扩展4.1 面向多核NP的OS优化4.1.1 内核调度与任务设计4.1.2 并行计算与对称多处理(SMP)的设计4.1.3 处理器亲和性设计4.2 多核NP数据包处理设计4.2.1 数据包处理性能评价模型4.2.2 数据包多核NP处理的设计实现4.2.3 数据包多核NP处理的测试结果4.3 小结第5章 面向多核NP的数据平面设计框架5.1 多核NP的数据平面软件设计框架5.1.1 控制平面5.1.2 数据平面5.2 软件设计框架的基本功能5.2.1 控制平面和数据平面的功能划分5.2.2 快速路径与慢速路径的区分5.2.3 快速路径处理过程的设计5.2.4 慢速路径处理过程的设计5.3 快速路径虚拟接口设计5.3.1 快速路径虚拟接口(FPVI)定义5.3.2 FPVI例外定义5.3.3 FPVI基本例外处理示例5.3.4 FPVI复制例外处理示例5.3.5 FPVI本地发送例外处理示例5.4 快速路径与缓冲管理器接口(FPC)5.4.1 NetLink套接字接口5.4.2 FPC消息机制5.4.3 FPC的运行机制5.5 快速路径统计接口(FPS)5.6 多核NP路由器的多平面软件框架设计5.7 软件框架的性能测试5.7.1 高性能多核平台的选择5.7.2 控制平面与数据平面性能测试5.7.3 快速路径和慢速路径性能测试5.8 快速路径与慢速路径设计实例5.8.1 NAT-PT基本概念5.8.2 NAT-PT工作原理5.8.3 NAT-PT慢速路径设计5.8.4 NAT-PT快速路径设计5.9 小结第6章 内核网络协议栈设计框架6.1 内核网络模块设计6.1.1 虚拟网络块(VNB)的技术基础6.1.2 VNB框架的构成6.1.3 VNB框架的数据流及接口设计6.1.4 虚拟网络块框架的核心模块6.1.5 虚拟网络块框架的网络应用6.1.6 VNB框架的构建过程6.2 VNB框架构建NETFLOW应用设计实例6.3 小结第7章 管理平面设计框架7.1 管理平面设计7.1.1 网络应用系统管理平面基本概念7.1.2 统一管理系统的基本概念7.1.3 统一管理系统接口设计7.2 小结第8章 基于多核处理器的IPSec的实现8.1 TPSec的技术基础8.1.1 IPSec安全体系结构8.1.2 IPSec的内核网络实现8.1.3 IPSec的包处理设计8.2 IPSec基于多核的架构设计8.2.1 TPSec控制平面与数据平面的设计实现8.2.2 IPSec快速路径的接口设计实现8.2.3 IPSec快速路径的数据流设计实现8.3 多核IPSec的性能测试8.3.1 IPSec性能测试方案8.3.2 IPSec双平面方案性能测试结果8.3.3 IPSec快速路径方案性能测试结果8.4 小结第9章 总结与展望9.1 主要工作总结9.2 多核网络处理器应用的展望参考文献致谢攻读博士学位期间发表的论文攻读博士学位期间申请的发明专利攻读博士学位期间参加科研项目情况攻读博士学位期间完成的标准工作
相关论文文献
标签:多核网络处理器论文; 软件框架论文; 控制平面论文; 数据平面论文; 快速路径论文; 慢速路径论文;