[发明专利]一种基于NetFPGA的VoIP流量实时识别方法在审
申请号: | 201710055949.5 | 申请日: | 2017-01-25 |
公开(公告)号: | CN106789728A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 杨婉霞;唐善玉;吴方照;冯全;王咏梅 | 申请(专利权)人: | 甘肃农业大学 |
主分类号: | H04L12/851 | 分类号: | H04L12/851;H04L12/863;H04L12/26;H04L29/06 |
代理公司: | 北京中恒高博知识产权代理有限公司11249 | 代理人: | 宋敏 |
地址: | 730000 *** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 netfpga voip 流量 实时 识别 方法 | ||
技术领域
本发明涉及网络安全及流量管理领域,具体地,涉及一种基于NetFPGA的VoIP流量实时识别方法。
背景技术
VoIP由于成本低,应用灵活,易于扩展等特点,自出现以来,发展迅速。目前它的流量已成为互联网流量中不可忽略的一部分,其流量的迅速增长使得传统的网络流量模型受到影响,给网络管理和监控带来了新的挑战。使网络流量的分析、监控和管理变得更加复杂和困难。对其流量进行准确识别,已经成为一个很有价值的研究课题。
其次,任何一种网络业务的准确识别都将为入侵检测提供便利。将网络中大量的合法业务准确的识别出来,有助于入侵检测制定更可靠的合法流量规则集。
最后,VoIP流媒体为信息隐藏提供了更为安全的存在环境,流媒体的瞬时性使得攻击者在流媒体即时传输的过程中难以有足够的时间来检测隐蔽通信的存在。
所以 VoIP 语音流识别具有很强的现实意义,而传统的流量识别方法在准确性、实时性和通用性方面越来越难以到达要求。当前对VoIP 语音流作出准确,可靠的识别是一个富有挑战而亟待解决的问题。在传统的流量识别技术中,数据包提取速度总是受到PCI传输速度的限制,丢包的现象时有发生。主要是因为这种数据包的获取方式是通过LibPcap或者WinPcap中的数据包提取函数实现,所以要实现快速的网络流量识别分类不仅仅是软件技术的问题,也与硬件技术相关。
发明内容
本发明的目的在于,针对上述问题,提出一种基于NetFPGA的VoIP流量实时识别方法,以解决现有技术存在的技术问题。
为实现上述目的,本发明采用的技术方案是:一种基于NetFPGA的VoIP流量实时识别方法,主要包括:
步骤1:配置Net FPGA,然后将Net FPGA构建为网卡模型,基于该网卡模型的框架,扩展VoIP流捕获模块、快速准确识别模块以及流重现和缓存模块,用户数据通过DMA数据传输控制器和PCI控制功能模块与用户主机进行数据交换;
步骤2:利用Libpcap的数据包捕获BPF,实现VoIP的捕获;
步骤3:利用包相似规则并结合DFI技术,实现VoIP流的快速准确识别;
步骤4:采用Hash方式实现VoIP数据表的重现和缓存,适应 Net FPGA 硬件速度。
进一步地,步骤1中,配置Net FPGA包括安装Cent OS操作系统,配置驱动程序,安装工具软件。
进一步地,步骤2 具体包括,数据包到达硬件层的网络适配器后,通过修改网卡驱动,使网卡驱动与内核共享缓冲区,降低对内存数据的拷贝次数;然后Libpcap中的网络分流器将数据拷贝后分配给过滤器,过滤器按照用户设定的过滤规则对报文进行匹配,若匹配成功则放入缓冲区,否则丢弃该报文,最后交付给用户态的应用程序以作进一步分析。
进一步地,步骤3具体包括,将网络探针捕获的UDP流,按照UDP和RTP协议规则匹配,并根据其游程特性进行判断,即连续观察数个RTP包,识别出RTP包流量;结合高速DFI技术,即结合包的长度,上下行流量特征,包时间间隔特征快速确认RTP流。
进一步地,步骤4具体包括,将经过确认的VoIP流按五元组建立哈希索引,即分配一个流ID,放入基于生成的静态哈希表,以流ID对应其哈希表的键值,为每一个流建立一个唯一的表项,每个表项含有流标识、下一表项指针、状态、数据包计数、流队列指针和活动时间,流标识利用五元组用于指明一个唯一的流,下一表项指针指向同一键值的下一个流的表项,每一个流分配一组队列缓存和数据包计数,活动时间用于标识该流最后一个数据包到达的时间,若某个流某个timeout时间后没有新数据到达,则认为该流已经终止,从而释放该表项。
进一步地,所述五元组包括源IP地址、目的IP地址、源端口、目的端口和协议。
进一步地,所述按照UDP和RTP协议规则匹配,包括按照UDP端口号,UDP包的长度域,RTP包的Version规则匹配;
所述UDP端口号用于指明用于双向通信的端口;
所述UDP包的长度域,是负载数据加上UDP包头域的总长度,UDP包头长度为8字节,RTP固定包长度为12字节,RTP包的贡献源标识符,长度为4字节,所述UDP包长度域值大于CC*4+12+8;
所述RTP包的Version域,用于指明当前RTP协议的版本,此域值为2;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甘肃农业大学,未经甘肃农业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710055949.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种报文数据转发方法及装置
- 下一篇:电磁致动器和包括这种致动器的电接触器