论文部分内容阅读
随着网络通信技术的发展和普及,在互联网上实现信息安全传输越来越引起社会和人们的关注。本论文主要研究基于自主研制的“网络数据加密卡”的网络驱动程序,从而实现“网络数据加密卡”的多功能化,使其成为具有加密功能的网卡,广泛的应用到各个领域。论文主要研究了NDIS小端口驱动、NDIS协议驱动、TDI用户驱动以及基于WinSock的网络应用程序。首先介绍了Windows操作系统结构和网络系统结构,然后介绍了Microsoft开发网络驱动程序的两个接口标准NDIS和TDI。本论文结合c/c++高效的底层开发能力和面向对象的特点,以WDM为模型,以DDK为驱动程序开发工具,完成了NDIS协议驱动程序、TDI客户驱动程序和网络应用程序的编程,并且实现了基于TCP的客户端和服务器的通信。网络数据是以以太网包的形式在网络中进行传输的,小端口驱动主要完成对网卡的操作以及利用中断接收和发送数据,它直接管理硬件,屏蔽底层物理硬件的细节,向上层协议驱动程序提供一个抽象的服务接口。协议驱动程序绑定网卡成功后,从小端口驱动中接收数据包并且解析和发送,实现各种网络协议的功能。传输驱动程序完成了数据的封装并且将从用户接收到的数据转化为IRP的格式传递个协议驱动程序,并为网络用户提供服务,将用户应用程序把数据拷贝到协议驱动程序中的分组中。网络应用程序在VC++6.0中基于TCP利用WinSock进行开发,利用异步套接字技术实现了客户端对数据的同时接收和发送。最后,论文描述了系统的测试。