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