《一种基于硬件的网络数据包的过滤结构.pdf》由会员分享,可在线阅读,更多相关《一种基于硬件的网络数据包的过滤结构.pdf(10页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104219242A43申请公布日20141217CN104219242A21申请号201410455294722申请日20140909H04L29/0620060171申请人天津大学地址300072天津市南开区卫津路92号72发明人赵毅强孙晨芦世雄74专利代理机构天津市北洋有限责任专利代理事务所12201代理人李丽萍54发明名称一种基于硬件的网络数据包的过滤结构57摘要本发明公开了一种基于硬件的网络数据包的过滤结构,包括数据包发送模块、数据包接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓存、过滤规则配置模块,其中数据包发送模块和数据包接收及关键字段提取模块。
2、与以太网数据接口连接;数据包接收及关键字段提取模块在数据包接收的同时进行数据包关键字段的提取,当接收到的某个16位数据是关键字的时候,在将该16位数据发送到数据包缓存的同时,也将其发送到关键字缓存;包过滤模块对上述已经提取的这些关键字段逐一比对,如果有比对成功的关键字,则包过滤模块根据已经配置的过滤规则对所接收的数据包进行包过滤,如果不存在比对成功的关键字,则包过滤模块对所接收的数据包进行传递。51INTCL权利要求书1页说明书4页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图4页10申请公布号CN104219242ACN104219242A1/1页21一。
3、种基于硬件的网络数据包的过滤结构,其特征在于,包括数据包发送模块、数据包接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓存、过滤规则配置模块,该过滤结构是一种整体对称结构,该过滤结构外部与以太网互联,通过接收以太网数据包,对数据链路层首部、网络层首部、传输层首部、应用层的数据设置过滤规则,实现数据包的过滤以及对通过过滤的数据包的双向传递;其中数据包发送模块和数据包接收及关键字段提取模块与以太网数据接口连接,数据包发送模块将存储在数据包缓存中的数据以16位的形式向以太网接口发送;所述数据包接收及关键字段提取模块接收的数据是以16位为单位的,所述数据包接收及关键字段提取模块在数据包。
4、接收的同时进行数据包关键字段的提取,当接收到的某个16位数据是关键字的时候,在将该16位数据发送到数据包缓存的同时,也将其发送到关键字缓存;所述包过滤模块对上述已经提取的这些关键字段逐一比对,如果存在有比对成功的关键字,则所述包过滤模块根据已经配置的过滤规则对所接收的数据包进行包过滤,如果需要进行IP和MAC地址过滤,就将关键字段中IP和MAC地址与IP及MAC地址缓存中的地址进行比对;如果不存在比对成功的关键字,则所述包过滤模块对所接收的数据包进行传递。2根据权利要求1所述基于硬件的网络数据包的过滤结构,其特征在于,所述以太网数据接口是一个并行的总线接口。3根据权利要求1所述基于硬件的网络数。
5、据包的过滤结构,其特征在于,整体对称结构中的两个包过滤模块设置成不同的过滤规则,以实现通过过滤的数据包的单向传递。权利要求书CN104219242A1/4页3一种基于硬件的网络数据包的过滤结构技术领域0001本发明涉及网络通信技术与硬件设计技术,具体涉及一种基于硬件的,对网络数据包进行过滤及传递的结构。背景技术0002互联网技术的发展正在推动着社会信息化的技术革命。个人、企业以及政府的各个部门通过计算机网络来获取、存储、处理和传输信息,广泛的利用信息进行生产过程控制和经济计划的决策。全国乃至全球范围的计算机网络不断的高速发展并日益深入到国民经济和社会生活的各个方面,计算机网络已经成为人们日常工。
6、作与生活中的必不可少的工具。0003与互联网快速发展伴随而来的是越来越受到关注的网络与信息安全问题。根据瑞星2010年度安全报告国内互联网2010年出现病毒750万个,比2010年下降56,受害网民703亿人次,有不到2的网民遇到过严重病毒危害,如网银被盗、电脑不断重启、系统崩溃等;2010年共截获挂马网站3382万个,遭挂马网站攻击的网民从2010年初的日均300万人次,下降到2010年底的日均140万左右,下降54;钓鱼网站数量急剧增加,瑞星公司共截获钓鱼网站175万个,比去年同期增加1186,受害网民4411万人次,损失超过200亿元。可见,信息安全问题对个人、政府、商业的信息、财产安全。
7、方面造成了严重的威胁。0004为了提高网络安全性与可靠性,人们采取了许多措施。防火墙、杀毒软件、VPN等技术都一定程度上提高了网络的安全性。但是基于软件的安全防护措施对新病毒、变种病毒、新的攻击方式往往束手无策,所以始终难以保证网络安全。这就需要一种更为可靠的安全防护手段。0005参考文献00061包过滤防火墙系统的设计与研究赵可新,陈玉芳;现代电子技术,2011年第34卷第6期。00072互联网安全新形势及对策分析魏亮;通信管理与技术,2011年4月第2期。00083网络安全技术介绍范萍,徐明玉;制造业自动化,2005年12月,增刊第27卷。发明内容0009超大规模集成电路设计与制造技术的发。
8、展给网络安全带来了新的方法,由于硬件的可靠性与不易攻击性,相对于传统的软件网络安全防护,硬件防护使得网络更加安全可靠。因此,本发明提供一种基于硬件的网络数据包的过滤结构,可以实现网络数据包的双向传递,并且根据用户的需求,对过滤规则进行简单的配置。通过对网络协议关键字段的分析,可以实现诸如IP地址过滤、禁止文件上行下行传输等功能。0010本发明一种基于硬件的网络数据包的过滤结构的技术方案是该过滤结构包括数据包发送模块、数据包接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓说明书CN104219242A2/4页4存、过滤规则配置模块,该过滤结构是一种整体对称结构,该过滤结构外部与以。
9、太网互联,通过接收以太网数据包,对数据链路层首部、网络层首部、传输层首部、应用层的数据设置过滤规则,实现数据包的过滤以及对通过过滤的数据包的双向传递;其中0011数据包发送模块和数据包接收及关键字段提取模块与以太网数据接口连接,数据包发送模块将存储在数据包缓存中的数据以16位的形式向以太网接口发送;所述数据包接收及关键字段提取模块接收的数据是以16位为单位的,所述数据包接收及关键字段提取模块在数据包接收的同时进行数据包关键字段的提取,当接收到的某个16位数据是关键字的时候,在将该16位数据发送到数据包缓存的同时,也将其发送到关键字缓存;所述包过滤模块对上述已经提取的这些关键字段逐一比对,如果存。
10、在有比对成功的关键字,则所述包过滤模块根据已经配置的过滤规则对所接收的数据包进行包过滤,如果需要进行IP和MAC地址过滤,就将关键字段中IP和MAC地址与IP及MAC地址缓存中的地址进行比对;如果不存在比对成功的关键字,则所述包过滤模块对所接收的数据包进行传递。0012进一步讲,本发明基于硬件的网络数据包的过滤结构,其中,所述以太网数据接口是一个并行的总线接口。0013整体对称结构中的两个包过滤模块设置成不同的过滤规则,以实现通过过滤的数据包的单向传递。0014与现有技术相比,本发明的有益效果是0015在面对不断“发展”的安全问题时,传统的软件安全策略往往并不可靠,而硬件的可靠性安全性方面胜过。
11、软件,它不易被攻击,面对一些安全问题将更加牢靠。一种简单易行高效的基于硬件的网络双向传递及包过滤结构,在面对外部攻击以及防止信息泄露方面,比软件防御更胜一筹。实验例根据本发明的基于硬件的网络数据包的过滤结构,在两台电脑之间,用FPGA开发板实现此结构,并通过电脑中的PING程序测试。PING在WINDOWS系下是自带的一个可执行命令,利用它可以检查网络是否能够连通。这里的两台电脑的IP地址分别为电脑11921681169,电脑21921681120。先不设置过滤规则,即所有数据包都可以通过过滤转发到另一端。整个系统启动后,用电脑1去PING电脑2,结果如图8所示。由此,可以发现电脑2收到电脑1。
12、的数据包并给出回复。之后认为电脑21921681120这个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是本发明中包过滤模块状态机示意图;002。
13、3图8是实验例中没有设置过滤规则的测试结果;说明书CN104219242A3/4页50024图9是实验例中设置过滤规则的测试结果。具体实施方式0025下面结合附图和具体实施例对本发明技术方案作进一步详细描述。0026如图2所示,本发明一种基于硬件的网络数据包的过滤结构,包括数据包发送模块、数据包接收模块、包过滤模块、关键字缓存、IP及MAC地址缓存、数据包缓存、过滤规则配置模块,该过滤结构是一种整体对称结构。通过基于FPGAFIELDPROGRAMMABLEGATEARRAY,现场可编程门阵列的纯硬件过滤模块,对接收到的以太网数据包进行缓存并同步提取其关键字段以加快整个结构的速度,图3为关键字。
14、缓存示意图。通过对数据包进行过滤,防止有害数据包在网络中的传输,并且通过对过滤规则的配置,使用户灵活改变过滤规则以适应其应用环境,并通过FPGA硬件收发模块实现对经过过滤的数据包的传递。0027本发明过滤结构实现的功能如图1所示,通过FPGA实现其功能。FPGAFIELDPROGRAMMABLEGATEARRAY,即现场可编程门阵列,使用硬件描述语言进行设计。在对FPGA进行编程配置后,在FPGA内部则生成对应的电路。该过滤结构外部与以太网互联,通过接收以太网数据包,对数据链路层首部、网络层首部、传输层首部、应用层的数据设置过滤规则,实现数据包的过滤以及对通过过滤的数据包的双向传递。下面对某些。
15、模块进行详细阐述。数据包发送与接收模块与以太网接口连接,通常以太网数据接口是一个并行的总线接口,根据设计的不同可以是8位,16位或者32位等等。以16位为例,数据包发送模块便将存储在数据包缓存中的数据以16位的形式向以太网接口发送,同理数据包接收模块接收的数据也是以16位为单位的。在数据包接收模块同时进行数据包关键字段的提取,当接收到的某个16位数据是关键字的时候,在将其发送到数据包缓存的同时,也将其发送到关键字的缓存,这样在数据包接收完毕的同时,数据包关键字的提取也已经完成,这样后续模块便不需要再从数据包缓存中提取关键字,提高速度。在互联网中,每个数据包的产生都是层层打包的,通常,应用层发送。
16、数据之后,到达传输层TCP层,TCP层在应用层数据前面添加TCP首部并将其传输到网络层IP层,IP层再将IP首部添加到TCP数据包前,并将其发送到数据链路层,链路层再将链路层首部添加到IP数据包前,并在结尾添加校验字段,最后打包完成发送到网络中。各个首部包含了许多关键信息,这些信息便作为关键字段,是我们过滤规则判断的对象。在包过滤模块,只需要对这些已经提取的关键字段逐一比对,如果有任何一个关键字比对成功,则这个数据包便需要被过滤,不能进行传递,如果全部比对都没成功,则这个数据包便可以进行传递。过滤模块的状态机如图7所示。0028本发明过滤结构的整体功能如下以太网接口与以太网连接,数据接收模块接。
17、收以太网数据包,将数据包存入数据包缓存,同时提取数据包关键字段并存入关键字缓存。数据包关键字段一般都在每个数据包的各个首部当中,图5和图6分别给出数据链路层首部和网络IP层首部示意图。此模块中,把数据包的接收和关键字提取放在一起,虽然对数据包的接收的时候并行提取关键字段增加了少许时间,但是在后续的包过滤的时候,由于关键字段已经提取,就不需要在数据包缓存中重复提取关键字段,大幅提高速度。数据包完全存入缓存后,包过滤模块便开始根据已经配置的过滤规则进行包过滤,如果需要进行IP、MAC地址过滤,就将关键字段中IP、MAC地址与IP、MAC地址缓存中的地址进行比对,图4为IP、MAC地址缓存示意图。如。
18、果包过滤模块拦截了这个数据包,就将其丢弃,如果不拦截,即说明书CN104219242A4/4页6认为其安全,就控制数据包发送模块将此包发送。两端的过程,除了包过滤规则可以根据需要配置成两种不同的规则之外,其他过程两端是对称的。0029这种基于硬件的结构,由于采用硬件实现数据包过滤的功能,从速度上比软件实现要快,并且安全可靠性比软件高。对于关键字段提取,虽然涉及一些协议的解析,但是通常都是针对各个层的首部,而这些首部都有其完整并且规整的统一格式,从图5和图6可以看出,其首部中关键信息往往都是以8位或者16位为单位,可以很好的契合以太网接口中数据的位数,给提取关键字段提供了方便。在进行包过滤对比关。
19、键字段时,同样以16位为单位,这样在结构内部数据传递的位宽就统一了,易于其实现,也可以同时提取多个关键字段进行并行的比对以提高速度,代价是在包过滤模块与关键字缓存模块之间的位宽增加了,电路规模也相对提高。总之这种基于硬件的过滤结构,速度快,安全性可靠性好,并且易于电路的实现,具有很高的实用性。0030举例针对一些常见的攻击手段,比如ARP地址解析协议攻击,TCP攻击与危险IP地址,其过程如下首先在数据接收模块接收数据,在接收到链路层首部图5中的类型字段时,将类型字段存入关键字缓存。之后继续读取数据包,在读到IP首部图6时,将源IP地址存入关键字缓存,继续读包。在读到TCP首部是,将标志位ASK。
20、与SYN存入关键字缓存。整个数据包读完之后,包过滤模块开始进行过滤,对之前提取的关键字逐一比对,如果有某个关键字比对成功,即认为此数据包有危险,便将其清空不发送。如果是其他数据包,经过包过滤模块比对后,认为其无害,包过滤模块就会给发送模块信号,让其发送这个数据包。图8和图9是有无过滤规则结果对比图,未添加过滤规则,两台主机之间是连通的,通过PING程序验证可知主机1IP1921681169可以与主机2IP1921681120通信,如图8。添加过滤规则后,同样用PING程序测试,两个主机之间无法连通,如图9。其他过滤规则不在此一一列举。0031在FPGA开发板上实现整个结构。两个以太网接口分别连。
21、接数据链路层两端,用户事先设定预期的过滤规则以及需要过滤的IP、MAC地址,以太网数据包经过以太网接口被数据包接受模块接受并存入缓存,同时提取其关键字段并存储以提高速度,包过滤模块则根据设定的过滤规则对收到的数据包进行过滤,并决定是丢弃数据包还是由发送模块发送数据包。整体结构对称,可以完成双向的数据包的传递,也可以根据不同的需要,两个包过滤模块设置成不同的过滤规则,完成单向传递等用户需要的功能。0032尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的保护之内。说明书CN104219242A1/4页7图1图2图3说明书附图CN104219242A2/4页8图4图5图6说明书附图CN104219242A3/4页9图7图8说明书附图CN104219242A4/4页10图9说明书附图CN104219242A10。