论文部分内容阅读
随着信息时代的到来信息的重要性日益突出,信息已成为当今社会十分重要的社会资源,并为社会带来了巨大的经济效益。信息的交互与共享是人们获取信息的主要手段和实现方法,网络是信息交互的载体,通过无处不在的INTERNET人们可以方便的实现信息的交互与共享。但是在通过互联网进行信息交互的同时,信息的安全性又成为人们要面对的首要问题,信息的窃取、修改等现象时常发生,因此保证信息安全已经成为人们日益关注的核心问题。 虚拟专用网络(VPN)是在公共网络上建立功能性网络的一种技术,它能够提供安全、可信的信道供通信双方使用,同时又具有组网方便、成本低和容易扩展等特点,得到了广泛应用。VPN有多种实现方式,其中通过IPSec安全协议对IP数据包处理实现的IPSecVPN具有执行效率高、易于实现、兼容性好和易于扩展等特性目前被广泛采用。 本文通过对IPSecVPN的详细分析,结合Linux操作系统特性,介绍了Linux下IPSecVPN网关功能的设计模型与实现方法。IPSecVPN网关功能分为:安全策略库模块、安全关联库模块、AH协议处理模块、ESP协议处理模块、算法库模块、日志、统计、配置与审计模块、面向应用的接口模块等,针对这些功能,分析了数据包进入VPN网关以后的处理过程,划分出了网关的处理模块,从而给出了IPSec VPN网关功能设计模型。该模型中根据模块运行环境的不同,可分为三大模块:1)内核IPSec模块。该模块运行在Linux内核当中,实现对进入或外出IP包的安全处理,如:加密、认证等IPSec处理的主要功能,这些功能是网关系统的核心功能,在系统内核中实现会使网关具有很高的处理速度四川大学硕_卜毕业论文和稳定的性能。2)IKE协议模块。该模块运行在用户空间,完成安全联盟的协商产生处理数据包的SA。3) PF_KEY模块。该模块实现p丘eyZ协议,完成上述两个模块间关于SA的通信,同时它也给应用程序和系统管理员以应用接口以实现与内核IPSec模块的信息交互与功能操作。 目前IPSec VPN的实现主要集中于系统的安全性和V尸N功能方面,很少提及其服务质量方面的问题,在带宽和吞吐量有限的情况下很难满足服务质量要求(QoS)。因此本文进一步提出了在IPSecV户N网关功能模型上添加队列调度功能的思想,通过队列调度功能的作用以满足不同信息流的服务质量要求。调度算法的选择是实现调度功能的核心问题,目前常用的支持QOS的队列调度算法有FI「O、最大一最小公平一份额分配、广义处理器共享、公平排队和WFQ等,经过比较发现其中WFQ具有公平性和效率高以及易于简化实现等特点,因此本文采用WFQ作为队列调度算法。系统中W「Q队列调度功能的实现是依据分组所属队列的权重值、分组长度以及系统发送处理速度计算出分组的时间序列号,然后依据时间序列号值对各优先级队列中的分组进行调度,这样就可以按照W「Q的算法思想对分组进行调度,通过对Unux内核的研究找出了基于WFQ的队列调度功能在系统中的嵌入方法,实现了IPSec VPN网关功能中WFQ调度算法。接下来采用实验仿真的方法,对添加此调度功能的网关进行性能分析以验证本调度功能的作用,最后对该系统的改进之处和发展方向提出了分析和展望。关键字:虚拟专用网、工PSec安全协议、WFQ调度算法、服务质量、网关