一种基于硬件的网络数据包的过滤结构的制作方法

文档序号:7813810阅读:215来源:国知局
一种基于硬件的网络数据包的过滤结构的制作方法
【专利摘要】本发明公开了一种基于硬件的网络数据包的过滤结构,包括数据包发送模块、数据包接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓存、过滤规则配置模块,其中:数据包发送模块和数据包接收及关键字段提取模块与以太网数据接口连接;数据包接收及关键字段提取模块在数据包接收的同时进行数据包关键字段的提取,当接收到的某个16位数据是关键字的时候,在将该16位数据发送到数据包缓存的同时,也将其发送到关键字缓存;包过滤模块对上述已经提取的这些关键字段逐一比对,如果有比对成功的关键字,则包过滤模块根据已经配置的过滤规则对所接收的数据包进行包过滤,如果不存在比对成功的关键字,则包过滤模块对所接收的数据包进行传递。
【专利说明】一种基于硬件的网络数据包的过滤结构

【技术领域】
[0001] 本发明涉及网络通信技术与硬件设计技术,具体涉及一种基于硬件的,对网络数 据包进行过滤及传递的结构。

【背景技术】
[0002] 互联网技术的发展正在推动着社会信息化的技术革命。个人、企业以及政府的各 个部门通过计算机网络来获取、存储、处理和传输信息,广泛的利用信息进行生产过程控制 和经济计划的决策。全国乃至全球范围的计算机网络不断的高速发展并日益深入到国民 经济和社会生活的各个方面,计算机网络已经成为人们日常工作与生活中的必不可少的工 具。
[0003] 与互联网快速发展伴随而来的是越来越受到关注的网络与信息安全问题。根据瑞 星2010年度安全报告:国内互联网2010年出现病毒750万个,比2010年下降56%,受害网 民7. 03亿人次,有不到2 %的网民遇到过严重病毒危害,如网银被盗、电脑不断重启、系统 崩溃等;2010年共截获挂马网站3382万个,遭挂马网站攻击的网民从2010年初的日均300 万人次,下降到2010年底的日均140万左右,下降54% ;钓鱼网站数量急剧增加,瑞星公司 共截获钓鱼网站175万个,比去年同期增加1186%,受害网民4411万人次,损失超过200亿 元。可见,信息安全问题对个人、政府、商业的信息、财产安全方面造成了严重的威胁。
[0004] 为了提高网络安全性与可靠性,人们采取了许多措施。防火墙、杀毒软件、VPN等 技术都一定程度上提高了网络的安全性。但是基于软件的安全防护措施对新病毒、变种病 毒、新的攻击方式往往束手无策,所以始终难以保证网络安全。这就需要一种更为可靠的安 全防护手段。
[0005] 参考文献:
[0006] [1]《包过滤防火墙系统的设计与研究》赵可新,陈玉芳;现代电子技术,2011年第 34卷第6期。
[0007] [2]《互联网安全新形势及对策分析》魏亮;通信管理与技术,2011年4月第2期。 [0008] [3]《网络安全技术介绍》范萍,徐明玉;制造业自动化,2005年12月,增刊第27 卷。


【发明内容】

[0009] 超大规模集成电路设计与制造技术的发展给网络安全带来了新的方法,由于硬件 的可靠性与不易攻击性,相对于传统的软件网络安全防护,硬件防护使得网络更加安全可 靠。因此,本发明提供一种基于硬件的网络数据包的过滤结构,可以实现网络数据包的双向 传递,并且根据用户的需求,对过滤规则进行简单的配置。通过对网络协议关键字段的分 析,可以实现诸如IP地址过滤、禁止文件上行(下行)传输等功能。
[0010] 本发明一种基于硬件的网络数据包的过滤结构的技术方案是:该过滤结构包括数 据包发送模块、数据包接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓 存、过滤规则配置模块,该过滤结构是一种整体对称结构,该过滤结构外部与以太网互联, 通过接收以太网数据包,对数据链路层首部、网络层首部、传输层首部、应用层的数据设置 过滤规则,实现数据包的过滤以及对通过过滤的数据包的双向传递;其中:
[0011] 数据包发送模块和数据包接收及关键字段提取模块与以太网数据接口连接,数据 包发送模块将存储在数据包缓存中的数据以16位的形式向以太网接口发送;所述数据包 接收及关键字段提取模块接收的数据是以16位为单位的,所述数据包接收及关键字段提 取模块在数据包接收的同时进行数据包关键字段的提取,当接收到的某个16位数据是关 键字的时候,在将该16位数据发送到数据包缓存的同时,也将其发送到关键字缓存;所述 包过滤模块对上述已经提取的这些关键字段逐一比对,如果存在有比对成功的关键字,则 所述包过滤模块根据已经配置的过滤规则对所接收的数据包进行包过滤,如果需要进行IP 和MAC地址过滤,就将关键字段中IP和MAC地址与IP及MAC地址缓存中的地址进行比对; 如果不存在比对成功的关键字,则所述包过滤模块对所接收的数据包进行传递。
[0012] 进一步讲,本发明基于硬件的网络数据包的过滤结构,其中,所述以太网数据接口 是一个并行的总线接口。
[0013] 整体对称结构中的两个包过滤模块设置成不同的过滤规则,以实现通过过滤的数 据包的单向传递。
[0014] 与现有技术相比,本发明的有益效果是:
[0015] 在面对不断"发展"的安全问题时,传统的软件安全策略往往并不可靠,而硬件的 可靠性安全性方面胜过软件,它不易被攻击,面对一些安全问题将更加牢靠。一种简单易行 高效的基于硬件的网络双向传递及包过滤结构,在面对外部攻击以及防止信息泄露方面, 比软件防御更胜一筹。实验例:根据本发明的基于硬件的网络数据包的过滤结构,在两台 电脑之间,用FPGA开发板实现此结构,并通过电脑中的ping程序测试。Ping在Windows 系下是自带的一个可执行命令,利用它可以检查网络是否能够连通。这里的两台电脑的 IP地址分别为:电脑1 (192. 168. 1. 169),电脑2 (192. 168. 1. 120)。先不设置过滤规则,即 所有数据包都可以通过过滤转发到另一端。整个系统启动后,用电脑1去ping电脑2,结 果如图8所示。由此,可以发现电脑2收到电脑1的数据包并给出回复。之后认为电脑 2(192. 168. 1. 120)这个IP是不安全的,在IP及MAC地址缓存中存入此地址(二进制格 式),再次启动整个系统,用电脑1去ping电脑2,结果如图9所示。可以看到已经没有数 据包在系统中传输,电脑1没收到回复,拦截成功。

【专利附图】

【附图说明】
[0016] 图1是本发明一种基于硬件的网络数据包的过滤结构功能示意图;
[0017] 图2是本发明一种基于硬件的网络数据包的过滤结构的模块示意图;
[0018] 图3是图2中所不关键字缓存不意图;
[0019] 图4是图2中所示IP、MAC地址缓存示意图;
[0020] 图5是数据链路层首部示意图;
[0021] 图6是网络层首部示意图;
[0022] 图7是本发明中包过滤模块状态机示意图;
[0023] 图8是实验例中没有设置过滤规则的测试结果;
[0024] 图9是实验例中设置过滤规则的测试结果。

【具体实施方式】
[0025] 下面结合附图和具体实施例对本发明技术方案作进一步详细描述。
[0026] 如图2所示,本发明一种基于硬件的网络数据包的过滤结构,包括数据包发送模 块、数据包接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓存、过滤规则 配置模块,该过滤结构是一种整体对称结构。通过基于FPGA (Field - Programmable Gate Array,现场可编程门阵列)的纯硬件过滤模块,对接收到的以太网数据包进行缓存并同步 提取其关键字段以加快整个结构的速度,图3为关键字缓存示意图。通过对数据包进行过 滤,防止有害数据包在网络中的传输,并且通过对过滤规则的配置,使用户灵活改变过滤规 则以适应其应用环境,并通过FPGA硬件收发模块实现对经过过滤的数据包的传递。
[0027] 本发明过滤结构实现的功能如图1所示,通过FPGA实现其功能。FPGA (Field - Programmable Gate Array),即现场可编程门阵列,使用硬件描述语言进行设计。在对FPGA 进行编程配置后,在FPGA内部则生成对应的电路。该过滤结构外部与以太网互联,通过接 收以太网数据包,对数据链路层首部、网络层首部、传输层首部、应用层的数据设置过滤规 贝1J,实现数据包的过滤以及对通过过滤的数据包的双向传递。下面对某些模块进行详细阐 述。数据包发送与接收模块与以太网接口连接,通常以太网数据接口是一个并行的总线接 口,根据设计的不同可以是8位,16位或者32位等等。以16位为例,数据包发送模块便将 存储在数据包缓存中的数据以16位的形式向以太网接口发送,同理数据包接收模块接收 的数据也是以16位为单位的。在数据包接收模块同时进行数据包关键字段的提取,当接收 到的某个16位数据是关键字的时候,在将其发送到数据包缓存的同时,也将其发送到关键 字的缓存,这样在数据包接收完毕的同时,数据包关键字的提取也已经完成,这样后续模块 便不需要再从数据包缓存中提取关键字,提高速度。在互联网中,每个数据包的产生都是层 层打包的,通常,应用层发送数据之后,到达传输层(TCP层),TCP层在应用层数据前面添加 TCP首部并将其传输到网络层(IP)层,IP层再将IP首部添加到TCP数据包前,并将其发送 到数据链路层,链路层再将链路层首部添加到IP数据包前,并在结尾添加校验字段,最后 打包完成发送到网络中。各个首部包含了许多关键信息,这些信息便作为关键字段,是我们 过滤规则判断的对象。在包过滤模块,只需要对这些已经提取的关键字段逐一比对,如果有 任何一个关键字比对成功,则这个数据包便需要被过滤,不能进行传递,如果全部比对都没 成功,则这个数据包便可以进行传递。过滤模块的状态机如图7所示。
[0028] 本发明过滤结构的整体功能如下:以太网接口与以太网连接,数据接收模块接收 以太网数据包,将数据包存入数据包缓存,同时提取数据包关键字段并存入关键字缓存。数 据包关键字段一般都在每个数据包的各个首部当中,图5和图6分别给出数据链路层首部 和网络(IP)层首部示意图。此模块中,把数据包的接收和关键字提取放在一起,虽然对数 据包的接收的时候并行提取关键字段增加了少许时间,但是在后续的包过滤的时候,由于 关键字段已经提取,就不需要在数据包缓存中重复提取关键字段,大幅提高速度。数据包完 全存入缓存后,包过滤模块便开始根据已经配置的过滤规则进行包过滤,如果需要进行IP、 MAC地址过滤,就将关键字段中IP、MAC地址与IP、MAC地址缓存中的地址进行比对,图4为 IP、MAC地址缓存示意图。如果包过滤模块拦截了这个数据包,就将其丢弃,如果不拦截,即 认为其安全,就控制数据包发送模块将此包发送。两端的过程,除了包过滤规则可以根据需 要配置成两种不同的规则之外,其他过程两端是对称的。
[0029] 这种基于硬件的结构,由于采用硬件实现数据包过滤的功能,从速度上比软件实 现要快,并且安全可靠性比软件高。对于关键字段提取,虽然涉及一些协议的解析,但是通 常都是针对各个层的首部,而这些首部都有其完整并且规整的统一格式,从图5和图6可 以看出,其首部中关键信息往往都是以8位或者16位为单位,可以很好的契合以太网接口 中数据的位数,给提取关键字段提供了方便。在进行包过滤对比关键字段时,同样以16位 为单位,这样在结构内部数据传递的位宽就统一了,易于其实现,也可以同时提取多个关键 字段进行并行的比对以提高速度,代价是在包过滤模块与关键字缓存模块之间的位宽增加 了,电路规模也相对提高。总之这种基于硬件的过滤结构,速度快,安全性可靠性好,并且易 于电路的实现,具有很高的实用性。
[0030] 举例:针对一些常见的攻击手段,比如ARP (地址解析协议)攻击,TCP攻击与危险 IP地址,其过程如下:首先在数据接收模块接收数据,在接收到链路层首部(图5)中的类 型字段时,将类型字段存入关键字缓存。之后继续读取数据包,在读到IP首部(图6)时,将 源IP地址存入关键字缓存,继续读包。在读到TCP首部是,将标志位ASK与SYN存入关键 字缓存。整个数据包读完之后,包过滤模块开始进行过滤,对之前提取的关键字逐一比对, 如果有某个关键字比对成功,即认为此数据包有危险,便将其清空不发送。如果是其他数据 包,经过包过滤模块比对后,认为其无害,包过滤模块就会给发送模块信号,让其发送这个 数据包。图8和图9是有无过滤规则结果对比图,未添加过滤规则,两台主机之间是连通的, 通过ping程序验证可知主机1 (IP :192. 168. 1. 169)可以与主机2 (IP :192. 168. 1. 120)通 信,如图8。添加过滤规则后,同样用ping程序测试,两个主机之间无法连通,如图9。其他 过滤规则不在此一一列举。
[0031] 在FPGA开发板上实现整个结构。两个以太网接口分别连接数据链路层两端,用户 事先设定预期的过滤规则以及需要过滤的IP、MAC地址,以太网数据包经过以太网接口被 数据包接受模块接受并存入缓存,同时提取其关键字段并存储以提高速度,包过滤模块则 根据设定的过滤规则对收到的数据包进行过滤,并决定是丢弃数据包还是由发送模块发送 数据包。整体结构对称,可以完成双向的数据包的传递,也可以根据不同的需要,两个包过 滤模块设置成不同的过滤规则,完成单向传递等用户需要的功能。
[0032] 尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施 方式,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本 发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的 保护之内。
【权利要求】
1. 一种基于硬件的网络数据包的过滤结构,其特征在于,包括数据包发送模块、数据包 接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓存、过滤规则配置模块, 该过滤结构是一种整体对称结构,该过滤结构外部与以太网互联,通过接收以太网数据包, 对数据链路层首部、网络层首部、传输层首部、应用层的数据设置过滤规则,实现数据包的 过滤以及对通过过滤的数据包的双向传递;其中: 数据包发送模块和数据包接收及关键字段提取模块与以太网数据接口连接,数据包发 送模块将存储在数据包缓存中的数据以16位的形式向以太网接口发送; 所述数据包接收及关键字段提取模块接收的数据是以16位为单位的,所述数据包接 收及关键字段提取模块在数据包接收的同时进行数据包关键字段的提取,当接收到的某个 16位数据是关键字的时候,在将该16位数据发送到数据包缓存的同时,也将其发送到关键 字缓存; 所述包过滤模块对上述已经提取的这些关键字段逐一比对,如果存在有比对成功的关 键字,则所述包过滤模块根据已经配置的过滤规则对所接收的数据包进行包过滤,如果需 要进行IP和MAC地址过滤,就将关键字段中IP和MAC地址与IP及MAC地址缓存中的地址 进行比对;如果不存在比对成功的关键字,则所述包过滤模块对所接收的数据包进行传递。
2. 根据权利要求1所述基于硬件的网络数据包的过滤结构,其特征在于,所述以太网 数据接口是一个并行的总线接口。
3. 根据权利要求1所述基于硬件的网络数据包的过滤结构,其特征在于,整体对称结 构中的两个包过滤模块设置成不同的过滤规则,以实现通过过滤的数据包的单向传递。
【文档编号】H04L29/06GK104219242SQ201410455294
【公开日】2014年12月17日 申请日期:2014年9月9日 优先权日:2014年9月9日
【发明者】赵毅强, 孙晨, 芦世雄 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1