论文部分内容阅读
网络技术迅速发展的今天,网络设备仅仅能够进行简单的数据传输已经不能满足日益增长的市场需求。随着4G、云计算、大数据、互联网金融等多种业务不断融入数据通信网络,人们对网络设备的功能提出了更多需求。以路由器为例,除了实现最基本的数据转发,为了对付计算机病毒,需要实现防火墙功能;为了进行无线接入,需要实现WLAN功能;为了保障数据传输安全,需要实现数据加密功能。这些新需求的实现,对网络设备厂商提出了更高的要求。在众多需求面前,传统的单核处理器已显得力不从心,通过多核处理器来提高网络设备的整体性能已成为一种趋势。本文正是针对多核路由器进行研究,设计并实现了基于多核路由器的加密卡驱动系统。首先,论文明确了在路由器中实现SM1加密算法加密的背景及意义,介绍了路由器的发展状况。然后,概述了多核处理器、分布式系统以及本文所涉及的VxWorks操作系统等基础内容。接下来,根据多核路由器与加密卡的物理关系,抽象出了加密卡与多核路由器的逻辑关系以及报文收发流程。根据报文收发流程,设计了加密请求报文、解密请求报文、加密应答报文、解密应答报文、随机数获取报文、随机数应答报文的帧格式,并详细解释了帧格式的设计原理和各字段的含义。在此基础上,利用Tornado集成开发环境,在VxWorks嵌入式实时操作系统上,用C语言实现了多核路由器中IPSec层与硬件加密卡之间的驱动程序设计,包括板卡初始化模块、工装测试模块、数据收发模块和调试模块。其中,数据加解密过程采用异步流水线设计,相对于同步加解密这种设计能够充分发挥多核处理器并行处理的优势,满足高性能路由器的转发速率要求。此外,本设计对随机数获取流程进行了优化,采用软件缓存一次获取2K个随机数,这种设计大大提高了加密隧道的建立效率。最后,论文对所设计的加密卡驱动程序进行了功能测试和性能测试。测试表明,本设计达到了预期目的。通过本文的研究,完成了对多核路由器中采用SM1加密算法的加密卡的驱动,实现了多核路由器中数据的高速加解密。这对加强我国网络信息安全建设、促进我国信息安全技术发展具有一定实际意义。