| 摘要 | 第1-5页 |
| ABSTRACT | 第5-10页 |
| 第一章 引言 | 第10-12页 |
| ·背景 | 第10-11页 |
| ·章节安排 | 第11-12页 |
| 第二章 基础理论和相关技术 | 第12-18页 |
| ·包分类(PACKET CLASSIFICATION)技术简介 | 第12-13页 |
| ·什么是包分类? | 第12页 |
| ·规则空间 | 第12-13页 |
| ·网络驱动程序接口规范(NDIS) 简介 | 第13-14页 |
| ·网络地址转换(NAT)简介 | 第14-15页 |
| ·防火墙简介 | 第15-18页 |
| ·防火墙定义及功能 | 第15页 |
| ·传统防火墙 | 第15-16页 |
| ·深度包检测 | 第16-18页 |
| 第三章 构建于NDIS 上的过滤框架设计与实现 | 第18-54页 |
| ·NDIS 中间层驱动(NDIS INTERMEDIATE DRIVER) | 第18-29页 |
| ·NDIS 中间层驱动程序(NDIS Intermediate Driver) | 第18-20页 |
| ·NDIS 数据发送和接收流程 | 第20-22页 |
| ·NDIS 数据发送流程 | 第20-21页 |
| ·NDIS 数据接收流程 | 第21-22页 |
| ·IMD 驱动程序的实现 | 第22-29页 |
| ·IMD 驱动程序的初始化 | 第22-24页 |
| ·数据包结构 | 第24-25页 |
| ·数据包的截获 | 第25-29页 |
| ·基于NDIS 的过滤框架设计 | 第29-30页 |
| ·基于NDIS 的过滤框架的对象模型 | 第30-34页 |
| ·插件对象模型 | 第31-32页 |
| ·operator new 和operator delete | 第32-34页 |
| ·包结构 | 第34-35页 |
| ·主插件COREPLUGIN | 第35-39页 |
| ·IPlugin 接口 | 第35-36页 |
| ·CorePlugin 插件对象的创建和删除 | 第36-37页 |
| ·Start 和Stop 接口函数的实现 | 第37页 |
| ·TransferData 接口函数的实现 | 第37-38页 |
| ·ProcessPacket 接口函数的实现 | 第38-39页 |
| ·其它接口函数 | 第39页 |
| ·插件通信部件COMMUNICATION | 第39-41页 |
| ·IPluginComm | 第39-40页 |
| ·Register、UnRegister 接口函数 | 第40页 |
| ·TransferUserLevelData 和TransferPacket 接口函数 | 第40-41页 |
| ·USERSETTING.DLL 和USERSETTINGKERNEL | 第41-45页 |
| ·创建设备对象 | 第41-42页 |
| ·设置IRP 处理函数 | 第42页 |
| ·DeviceCreate 和DeviceClose 的实现 | 第42-43页 |
| ·DeviceIoControl 的实现 | 第43-45页 |
| ·UserSetting.dll 的实现 | 第45页 |
| ·插件 | 第45-49页 |
| ·插件的属性 | 第46-47页 |
| ·插件的实现 | 第47-48页 |
| ·插件间的关系 | 第48页 |
| ·数据包在插件间的调度 | 第48-49页 |
| ·插件系统加载程序INITIALIZER | 第49-52页 |
| ·插件的安装和清除 | 第49-50页 |
| ·插件的加载和卸载 | 第50页 |
| ·插件的启动 | 第50-51页 |
| ·初始化 | 第51页 |
| ·插件的修改 | 第51-52页 |
| ·本章小节 | 第52-54页 |
| 第四章 基于NDIS 过滤框架的网络地址转换(NAT)实例 | 第54-63页 |
| ·NAT 简介 | 第54页 |
| ·NAT 的类型 | 第54-55页 |
| ·NAT 总体设计 | 第55页 |
| ·解包插件 | 第55-57页 |
| ·包处理插件 | 第57-63页 |
| ·数据结构 | 第57-61页 |
| ·包在NAT 中的流程 | 第61-63页 |
| 第五章 基于NDIS 过滤框架的防火墙实例 | 第63-66页 |
| ·总体设计图 | 第63页 |
| ·解包插件 | 第63-64页 |
| ·规则管理插件 | 第64-65页 |
| ·包分类插件 | 第65页 |
| ·规则执行插件 | 第65页 |
| ·丢包插件 | 第65-66页 |
| 第六章 防火墙实例:规则冲突管理 | 第66-78页 |
| ·防火墙规则冲突 | 第66-67页 |
| ·冲突定义 | 第67-69页 |
| ·分类器(classifier)和规则(rule) | 第67-68页 |
| ·分类器中规则间的关系 | 第68页 |
| ·规则间的冲突定义 | 第68-69页 |
| ·规则集冲突检测算法 | 第69-73页 |
| ·元组空间 | 第69-70页 |
| ·数据结构 | 第70-72页 |
| ·算法处理过程 | 第72-73页 |
| ·算法分析 | 第73页 |
| ·基于规则分量分解的包分类算法 | 第73-78页 |
| ·相关概念 | 第74页 |
| ·数据结构 | 第74-75页 |
| ·算法处理过程 | 第75-77页 |
| ·算法分析 | 第77-78页 |
| 第七章 系统测试 | 第78-83页 |
| ·测试环境 | 第78页 |
| ·测试报告 | 第78-83页 |
| ·过滤框架测试 | 第78-79页 |
| ·NAT 实例测试 | 第79-81页 |
| ·防火墙实例测试 | 第81页 |
| ·规则集冲突检测算法测试 | 第81-82页 |
| ·基于规则分量分解的包分类算法测试 | 第82-83页 |
| 第八章 结论 | 第83-84页 |
| 致谢 | 第84-85页 |
| 参考文献 | 第85-87页 |
| 攻硕期间取得的研究成果 | 第87-88页 |