| 摘要 | 第1-6页 |
| ABSTRACT | 第6-11页 |
| 第1章 引言 | 第11-17页 |
| ·研究背景 | 第11-12页 |
| ·国内外研究现状 | 第12页 |
| ·协议栈驱动系统在整个系统中的地位 | 第12-15页 |
| ·主动式安全防范系统软件体系结构 | 第12-15页 |
| ·协议栈驱动系统主要功能 | 第15页 |
| ·协议栈驱动系统设计和实现意义 | 第15-16页 |
| ·论文组织结构 | 第16-17页 |
| 第2章 INTEL IXA 架构 | 第17-25页 |
| ·主要结构 | 第17-18页 |
| ·微引擎技术 | 第18-19页 |
| ·Intel Xscale 微结构 | 第19页 |
| ·Intel IXA 硬件抽象层(HAL) | 第19-20页 |
| ·Intel IXP2400 网络处理器 | 第20-21页 |
| ·Intel IXA 软件体系结构 | 第21-25页 |
| ·网络处理器软件体系结构 | 第21-22页 |
| ·IXA 软件框架结构 | 第22-25页 |
| 第3章 INTEL IXA 架构中协议栈驱动系统体系结构 | 第25-45页 |
| ·综述 | 第25页 |
| ·内在支持和外在依赖 | 第25页 |
| ·内在支持 | 第25页 |
| ·外在依赖 | 第25页 |
| ·协议栈驱动系统(Stack Driver) | 第25-45页 |
| ·Stack Driver 设计 | 第25-27页 |
| ·Stack Driver 设计 | 第26-27页 |
| ·数据包流 | 第27页 |
| ·同步属性 | 第27页 |
| ·核心组件模块设计 | 第27-28页 |
| ·核心组件模块设计 | 第27-28页 |
| ·执行上下文(线程) | 第28页 |
| ·外部API | 第28-32页 |
| ·核心组件模块设计 | 第28-29页 |
| ·核心组件基础设施API | 第29-30页 |
| ·核心组件基础设施分拣 | 第30页 |
| ·初始化 | 第30-31页 |
| ·关闭 | 第31页 |
| ·数据包和消息处理API | 第31页 |
| ·属性API | 第31-32页 |
| ·包分类器设计 | 第32-34页 |
| ·操作所基于的理论 | 第32页 |
| ·IXA 框架协议栈驱动系统体系结构关于包分类器的设计 | 第32-33页 |
| ·包分类器数据结构 | 第33页 |
| ·包分类器外部API | 第33-34页 |
| ·包分类器数据流程 | 第34页 |
| ·外出包分类器设计 | 第34-36页 |
| ·外出包分类器数据结构 | 第34-35页 |
| ·外出包分类器内部API | 第35页 |
| ·外出包分类器数据流程 | 第35-36页 |
| ·具有伸缩性的外出包分类器设计 | 第36页 |
| ·VIDD for VxWorks | 第36-37页 |
| ·VIDD 系统数据结构 | 第36-37页 |
| ·VIDD 本地数据结构 | 第37页 |
| ·MUX 接口API | 第37-39页 |
| ·VIDD 系统调用 | 第38-39页 |
| ·VIDD 使用的MUX 应用编程接口 | 第39页 |
| ·协议栈驱动系统体系结构中包处理过程 | 第39-42页 |
| ·核心组件模块部分 | 第40页 |
| ·VIDD 部分 | 第40-41页 |
| ·外出包处理伪代码 | 第41-42页 |
| ·核心组件模块中外出包伪代码 | 第42页 |
| ·传输模块设计 | 第42页 |
| ·传输模块数据结构 | 第42页 |
| ·传输模块外部API | 第42页 |
| ·启动配置文件需求 | 第42-45页 |
| 第4章 包分类算法研究 | 第45-57页 |
| ·包分类概述 | 第45页 |
| ·包分类算法描述 | 第45-46页 |
| ·包分类问题 | 第45-46页 |
| ·相关术语 | 第45-46页 |
| ·包分类定义 | 第46页 |
| ·包分类算法描述 | 第46页 |
| ·对包分类算法的要求 | 第46-47页 |
| ·包分类算法分析 | 第47-49页 |
| ·三种典型算法性能定量评测 | 第49-52页 |
| ·RFC 算法介绍 | 第49-50页 |
| ·Grid of Tries 算法介绍 | 第50页 |
| ·Modular 算法介绍 | 第50-51页 |
| ·三种算法性能评测 | 第51-52页 |
| ·适用于NP 防火墙使用的包分类算法 | 第52-57页 |
| ·算法思想 | 第52-53页 |
| ·算法方案流程 | 第53页 |
| ·混合基于Tries 树线性查找算法部分 | 第53-54页 |
| ·混合基于Tries 树线性查找算法内存耗费分析 | 第53-54页 |
| ·混合基于Tries 树线性查找算法查找速度分析 | 第54页 |
| ·混合基于Tries 树线性查找算法部分应用 | 第54页 |
| ·RFC 算法部分 | 第54-55页 |
| ·端口分区 | 第54-55页 |
| ·缩减处理 | 第55页 |
| ·结果合并 | 第55页 |
| ·两部分合成后算法性能分析 | 第55-57页 |
| 第5章 LINUX下驱动程序设计技术研究 | 第57-71页 |
| ·Linux 设备驱动程序设计的基本知识 | 第57-61页 |
| ·Linux 内核简介 | 第57-58页 |
| ·Linux 设备驱动程序概述 | 第58-59页 |
| ·设备驱动程序的概念 | 第58页 |
| ·Linux 下的驱动程序 | 第58-59页 |
| ·Linux 驱动程序的分类 | 第59页 |
| ·Linux 下驱动程序的特点 | 第59页 |
| ·Linux 设备驱动程序的基本方法和数据结构 | 第59-61页 |
| ·字符设备驱动程序的基本方法 | 第59-60页 |
| ·设备驱动程序中用到的主要数据结构 | 第60-61页 |
| ·Linux 驱动程序需要解决的一般问题 | 第61-71页 |
| ·内存管理问题 | 第61-62页 |
| ·Linux 内核对内存的管理方法 | 第61页 |
| ·kmalloc()和kfree() | 第61页 |
| ·面向页的分配技术 | 第61-62页 |
| ·vmalloc()和相关的函数 | 第62页 |
| ·中断处理和端口 | 第62-65页 |
| ·申请和释放中断 | 第62-63页 |
| ·自动检测中断号 | 第63页 |
| ·快/慢速中断处理 | 第63页 |
| ·实现中断处理程序 | 第63-64页 |
| ·驱动程序下半部的设计 | 第64页 |
| ·安装共享的处理程序 | 第64-65页 |
| ·I/O 端口 | 第65页 |
| ·DMA 处理 | 第65-66页 |
| ·与时间流有关的问题 | 第66-68页 |
| ·时钟的申请与释放 | 第66-67页 |
| ·实现延迟 | 第67页 |
| ·任务队列 | 第67-68页 |
| ·注册驱动程序 | 第68-71页 |
| 第6章 LINUX下协议栈驱动系统设计和实现 | 第71-91页 |
| ·协议栈驱动系统设计 | 第71-74页 |
| ·整体设计 | 第71-72页 |
| ·功能模块划分 | 第72-74页 |
| ·协议栈驱动系统实现 | 第74-84页 |
| ·重要数据结构 | 第75-76页 |
| ·关键数据流程 | 第76-84页 |
| ·Stack driver 初始化 | 第76-80页 |
| ·Stack driver 中接收包流程 | 第80-82页 |
| ·Stack driver 中外出包流程 | 第82-84页 |
| ·开发及测试环境 | 第84-86页 |
| ·开发环境的搭建 | 第84-85页 |
| ·测试环境的搭建 | 第85-86页 |
| ·协议栈驱动系统功能测试 | 第86-89页 |
| ·横向测试 | 第86-87页 |
| ·纵向测试 | 第87-89页 |
| ·协议栈驱动在NP 防火墙中具体应用 | 第89-91页 |
| 第7章 论文总结及展望 | 第91-93页 |
| ·理论成果总结 | 第91页 |
| ·实践成果总结 | 第91页 |
| ·下一步工作 | 第91-93页 |
| ·包分类算法方面 | 第91-92页 |
| ·协议栈驱动系统方面 | 第92-93页 |
| 参考文献 | 第93-95页 |
| 缩写词列表 | 第95-97页 |
| 硕士阶段参加项目及发表论文情况 | 第97-99页 |
| 硕士阶段从事的科研工作 | 第97页 |
| 硕士阶段发表的论文 | 第97-99页 |
| 致谢 | 第99页 |