论文部分内容阅读
近年来互联网技术飞速发展,人们的上网行为从过去简单的文字聊天、文件传输、电子邮件发展到到今天的网络电话、在线视频、多媒体会议等多元化方式,于此同时,网络流量呈指数级增长,带宽资源日益紧张,特别是P2P类的应用占用了大量的网络带宽,影响了用户的上网体验,大量非法VoIP类应用占用电信运营商的网络资源进行营利,冲击传统语音电话业务,另外,运营商还可以通过分析和挖掘用户上网行为和习惯来开展一些增值业务,面对这些挑战和市场需求,实现对网络流量的可视化以及对网络流量可控可管的目标将是一份十分重要的工作。本文在阅读相关参考文献对流量识别和控制技术进行研究和分析的基础上设计了一种有效的基于深度包检测技术(Deep Packet Inspection, DPI)的流量识别和控制系统。根据网络协议应用层字符串的特点,结合AC (Aho-Corasick)算法和正则表达式算法的优点,本系统对传统字符串匹配引擎进行了优化并且引入流识别机制。根据P2P (Peer to Peer)类和VoIP (Voice over Internet Protocol)类协议应用的传输特点,文章以三个典型应用为例分别设计了识别和控制方案,最后给出了测试结果。本文所做的工作主要包括以下几个方面:1.结合AC算法和正则表达式算法的优点设计了一种AC-RE相结合的DPI特征字符串匹配引擎,减小了在描述模糊字符串时知识库的规模,提高了识别效率,并且引入了深度流检测技术(Deep Flow Inspection, DFI)的识别机制,实现了对一些加密协议的识别功能。2.通过对P2P、VoIP以及P2P-VoIP相结合的技术的研究,以BT、YahooMesenger、Skype为实例针对三种典型协议分别设计了种识别和控制方案,并给出了知识库描述样例。3.设计了一种基于Linux的流量识别和控制系统的整体架构,并在实验室环境下完成了一种串联在干路中的网络结构部署。4.在系统设计完成后分别对四款常见的应用软件进行了识别和控制功能测试,测试结果表明系统识别率达到90%以上,控制效果达到100%的成功率。