中文摘要 | 第4-5页 |
Abstract | 第5页 |
第1章 绪论 | 第9-14页 |
1.1 课题研究的背景 | 第9-10页 |
1.2 课题研究的意义 | 第10-11页 |
1.3 国内外研究现状 | 第11-12页 |
1.4 论文的内容及组织结构 | 第12-14页 |
第2章 基础知识 | 第14-30页 |
2.1 Linux驱动程序概述 | 第14-15页 |
2.1.1 Linux驱动程序的分类 | 第14-15页 |
2.1.2 Linux设备驱动的模块化 | 第15页 |
2.2 TCP/IP协议介绍 | 第15-19页 |
2.2.1 以太网数据封装 | 第15-16页 |
2.2.2 以太网首部 | 第16-17页 |
2.2.3 IP协议首部 | 第17-18页 |
2.2.4 UDP协议首部 | 第18页 |
2.2.5 TCP协议首部 | 第18-19页 |
2.3 PCI-e/PCI总线 | 第19-26页 |
2.3.1 PCI/PCI-e设备的初始化过程 | 第20-22页 |
2.3.2 PCI-e总线配置空间 | 第22-25页 |
2.3.3 PCI-e的MSI中断 | 第25-26页 |
2.4 PCI/PCI-e设备DMA传输分析 | 第26-27页 |
2.5 加密网卡硬件结构介绍 | 第27-29页 |
2.5.1 加密网卡总体结构介绍 | 第27-29页 |
2.5.2 FPGA数据接收发送链路结构介绍 | 第29页 |
2.6 本章小结 | 第29-30页 |
第3章 加密网卡应用系统设计 | 第30-37页 |
3.1 系统总体结构设计 | 第30-31页 |
3.2 驱动程序结构设计 | 第31-33页 |
3.2.1 驱动程序功能模块设计 | 第31-32页 |
3.2.2 数据加密设计 | 第32-33页 |
3.3 应用程序结构设计 | 第33-36页 |
3.3.1 应用程序server端设计 | 第33-34页 |
3.3.2 应用程序client端设计 | 第34-36页 |
3.3.3 应用层数据封包格式设计 | 第36页 |
3.4 本章小结 | 第36-37页 |
第4章 驱动程序设计 | 第37-67页 |
4.1 驱动程序加载和卸载 | 第37-42页 |
4.1.1 PCI-e驱动程序和设备的匹配 | 第37-38页 |
4.1.2 PCI-e驱动程序的加载和卸载 | 第38-39页 |
4.1.3 设备初始化和关闭 | 第39-42页 |
4.2 Linux下的DMA编程 | 第42-46页 |
4.2.1 DMA地址掩码 | 第43-44页 |
4.2.2 DMA地址映射 | 第44-46页 |
4.3 网络设备的注册和初始化 | 第46-49页 |
4.3.1 网络设备的注册和移除 | 第46-47页 |
4.3.2 网络设备初始化流程 | 第47-49页 |
4.4 网络设备的打开和关闭 | 第49-51页 |
4.5 网络设备中断处理设计 | 第51-52页 |
4.6 网络数据的接收和发送 | 第52-60页 |
4.6.1 struct sk_buff结构体 | 第52-54页 |
4.6.2 数据发送流程 | 第54-58页 |
4.6.3 数据接收流程 | 第58-60页 |
4.7 物理链路连接状态检测 | 第60-62页 |
4.8 字符设备程序设计 | 第62-66页 |
4.8.1 字符设备注册 | 第63-64页 |
4.8.2 字符设备操作方法设计 | 第64-66页 |
4.9 本章小结 | 第66-67页 |
第5章 应用程序设计 | 第67-85页 |
5.1 视频及文件传输程序设计 | 第67-78页 |
5.1.1 应用层协议设计 | 第67-70页 |
5.1.2 client端与server端连接的建立流程 | 第70-71页 |
5.1.3 视频码流处理框架设计 | 第71-72页 |
5.1.4 环形缓冲区的设计 | 第72-76页 |
5.1.5 视频传输流程设计 | 第76-77页 |
5.1.6 文件传输流程设计 | 第77-78页 |
5.2 秘钥管理程序设计 | 第78-79页 |
5.3 系统测试 | 第79-84页 |
5.3.1 网卡传输速率测试 | 第79-82页 |
5.3.2 数据加密传输测试 | 第82-84页 |
5.4 本章小结 | 第84-85页 |
结论 | 第85-86页 |
参考文献 | 第86-92页 |
致谢 | 第92-93页 |
攻读硕士学位期间发表的学术论文 | 第93页 |