CN1645809A - 加速封包过滤的方法 - Google Patents
加速封包过滤的方法 Download PDFInfo
- Publication number
- CN1645809A CN1645809A CN 200410002727 CN200410002727A CN1645809A CN 1645809 A CN1645809 A CN 1645809A CN 200410002727 CN200410002727 CN 200410002727 CN 200410002727 A CN200410002727 A CN 200410002727A CN 1645809 A CN1645809 A CN 1645809A
- Authority
- CN
- China
- Prior art keywords
- hash space
- address
- characteristic value
- hash
- package
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种加速封包过滤的方法,以一搜寻过滤器搭配网络防火墙内的规则,该方法包括:依据防火墙规则在一第一哈希空间上呈现所有欲过滤网段的特征值集合,且依据收到的封包在一第二哈希空间呈现该封包的网址特征值集合,进而将相同大小的第一及第二哈希空间进行特定的布尔运算,一旦结果判断出该封包特征值集合不在该网段特征值集合的范围内,即迅速允许该封包通过该防火墙,由此还可以缩短计算时间、降低***负载及避免网络阻塞。
Description
技术领域
本发明涉及一种加速封包过滤的方法,特别是一种采用搜寻过滤器原理以协助防火墙加速过滤封包的方法。
背景技术
目前网络科技的日新月异促使大量的数据可在瞬间传递于世界各地之间,但相对的,如何提升网络安全也变成极重要的课题,在一般完整的网络***中,一些连接网络主干的网络设备如虚拟私有信道网络(VPN)、网关器(GATEWAY)或路由器(ROUTER)等,大多具有网络防火墙(FIREWALL)或甚至独立设置。此类网络防火墙的设计主要集中在网络层(IP Layer)上的保护,也就是提供一种封包过滤(packet filter)的机制,其原理是利用使用者预设的每一条防火墙规则(FIREWALL RULE)去对比每一个流经该防火墙的外来封包。然而,事实上每一防火墙规则即代表一搜寻成本包括如搜寻时间成本、***负载成本及人力设计成本,该防火墙规则设计越多、规则定义得越繁琐或范围越广,虽然使搜寻的准确度提高,但相对花费的搜寻成本也非常高,如果因封包处理时间过长反而造成整个网络***效能下降或甚至阻塞,这样的设计并无任何存在的价值;反之,过于考虑最低搜寻成本而减少防火墙规则或范围,却又可能使防火墙的防护功能下降。因此防火墙的效能之一就是在具有最低搜寻成本的防火墙规则的情况下,但又能兼具封包搜寻的准确度。
公知封包过滤的方法即判定一个外来封包是否为防火墙规则定义的范围内,其中最常使用方法就是一种线性搜寻(linear search),也就是用一个防火墙规则逐一对比收到的封包。此外,已有一些改进的方法是利用一些已知的搜寻算法应用于封包过滤的过程中,以专门搜寻有问题或有害的封包。但实际运行时,防火墙收到的封包大部份都不在防火墙规则定义的范围内,是属于“良性或无害”的封包,也就是说大部分的封包都可以顺利通过防火墙的过滤。相对的,其意谓着大多数的搜寻算法皆是将大部份的搜寻成本如时间,花费在一些根本不需要过滤的封包上。
发明内容
有鉴于上述公知技术的缺点,如果在进行封包搜寻之前,应用一具有极小成本的搜寻方法,先找出大部份不属于欲过滤的良性封包并让其通过,而仅留少部份有问题的封包以传统搜寻方法检查,如此可大大降低搜寻成本,如***负载降低、搜寻时间加快,而且无需更改任何原有的防火墙规则。
所以,本发明利用一种搜寻过滤器(search filter)的概念以达到上述解决方法。所谓搜寻过滤器是Severance和Lohman在1976年所提出来一种专门搜寻文字或文件的方法,其原理为:先选出一些哈希函数或称散列函数(Hashfunction)如MD5,并以欲搜寻的数值如m作为该哈希函数的键值(Key)如f(m)以进行哈希函数运算,进而得到一适当的数据结构排列,之后即可将该数据结构用于筛选欲检查的数值。当有一键值被筛选出来时,依据搜寻过滤器的特性,是不能保证该键值(Key)就一定可以在搜寻集合中找到,这是因为搜寻过滤器所使用的哈希空间(hash space)有限;反之,当有一被筛选出来不属于搜寻集合的键值时,该搜寻过滤器就可以确定该键值一定不属于搜寻集合。
本发明的一主要目的在于提供一种加速封包过滤的方法,其利用前述搜寻过滤器的原理,使网络防火墙在进行封包搜寻之前,以极小的运算和空间成本,先迅速筛选出大部份无害封包并让其通过,而仅有少数有问题的封包才会被具较高搜寻成本的其它搜查过滤机制直接处理,以使防火墙将可节省大量运算时间、避免网络阻塞及提升防火墙的过滤效率,且降低***的运算负载。
为达到上述目的,依据本发明的一种加速封包过滤的方法,以一搜寻过滤器搭配网络防火墙的规则,该方法包括:
将至少一防火墙规则的特定网段转换成以二位进位码排列;
将前述二位进位码排列中二进制位值为“1”的每一相对地址分别转换成一指向第一哈希空间的对应地址,由此取得该特定网段的指向第一哈希空间的对应地址的集合;
收集所有指向第一哈希空间的对应地址的集合,以在该第一哈希空间中呈现出所有欲过滤网段的特征值集合;
将该防火墙所收到每一封包内的特定网址转换成以二位进位码排列;
将前述二位进位码排列中二进制位值为“1”的每一相对地址分别转换成一指向第二哈希空间的对应地址,由此取得该网址的指向第二哈希空间的对应地址的集合,其中该第二哈希空间大小与前述第一哈希空间相同;
收集所有指向第二哈希空间的对应地址的集合,以在一第二哈希空间中呈现出该封包的网址特征值集合;以及
一种加速封包过滤的方法,用于一网络安全装置中,其中包括:
依据该网络安全装置内至少一用于过滤封包的规则,产生一第一哈希空间,且其上呈现所有想过滤网段的特征値集合;
依据该网络安全装置所收到的至少一封包内容,产生一第二哈希空间,且其上可呈现该封包的网址特征値集合,该第二哈希空间具有与第一哈希空间相同的空间大小;
进而将相同大小的第一及第二哈希空间进行特定的布尔运算,一旦结果判断出该封包特征値集合不在该网段特征値集合的范围内,即迅速允许该封包通过该防火墙。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合附图,详细说明。
附图说明
图1为显示依据本发明较佳实施例的一种加速封包过滤方法适用于一具有防火墙的网络***中的示意图;
图2为显示依据本发明较佳实施例的一种产生所有想过滤网段特征值集合的方法的流程图;
图3为显示依据本发明较佳实施例的一种产生封包网址特征值集合的方法的流程图;以及
图4为显示依据本发明较佳实施例的一种加速封包过滤方法的运算检查流程图。
其中,附图标记说明如下:
10 网际网络 20防火墙
22 防火墙规则 24搜寻过滤器
30 局域网络
操作步骤S400,S405,S410,S415,S420,S425,S430,S435,S440,S445,S450,S500,S505,S510,S515,S520,S525,S530,S535,S540,S545,S550,S600,S605,S610,S615,S620,S625,S630,S640,S645
具体实施方式
请见图1,依据本发明的较佳实施例的一种加速封包过滤的方法是利用一搜寻过滤器(search filter)24应用于一网络安全装置如防火墙20中,以配合该防火墙20中预设的多个防火墙规则22的封包过滤工作。前述防火墙20可如图1所示连接于一网际网络(Internet)10及一局域网络***(LAN)30之间,以过滤经过该网际网络10传来的所有外来封包,其中经过滤无问题的封包方能进入该局域网络***(LAN)30中。
利用前述搜寻过滤器的原理,本发明的加速封包过滤的方法,包括如下:
1.一种产生所有欲过滤网段特征値集合(mask characteristic value set)方法:
(1)预设条件:
(a)假设图1所示的防火墙20中具有N条防火墙规则{1≤i≤N|ri},其中每一条规则ri包含五个字段:{来源网段(source network)rinets,目的网段(destination network)rinetd,来源端口(source port)riports,目的端口(destinationport)riportd,通讯协议(protocol)rip}。前述规则ri中所描述的每一个网段代表包含使用者欲过滤去除的IP网址。
(b)预设K个独立的哈希函数hi{1≤i≤K},(例如有两个哈希函数h1及h2互为独立,即不保证当m≠m′时,则h1(m)≠h2(m′)),作为之后产生一哈希函数空间H的逻辑运算。
(c)需注意的是,本发明方法的过滤准确度受限于预设的哈希空间大小与所选择哈希函数的特性有关。此外,前述搜寻过滤器的效能可以一硬件或为一软件的形式来达到。
(2)方法流程:
首先进行如图2的步骤S400所示,先定义每一哈希空间(Hash Space)所占用的大小=每一个哈希函数hi的输出寻址空间大小=C*K*L,其中C为一个自定的常数,而L为IP地址以二进制表示法所需占用的位数,以IPV4为例,则L=32。
如步骤S405所示,先自每一条防火墙规则ri中取出一来源网段rinets;步骤S410,将该来源网段rinets转换成以二进制代码排列表示(包括位值及相对地址);步骤S415,自前述来源网段rinets的二进制代码排列中,找出位值(bit)为″1″的M个相对地址bm(0≤bm≤L-1,0≤m≤M-1)的集合;步骤S420,将该每一二进制代码位值为″1″的地址、来源端口riports及通讯协议编号rip作为哈希函数的键值(Key),分别带入K个特定哈希函数hi如hi(bm,riports,rip)中进行哈希运算,以求出K*M个介于0到(C*K*L)-1的值kj,此值kj即为该来源网段的每一指向一哈希空间Hs的相对地址,通过如步骤S425所述,前述指向一哈希空间Hs的相对地址的集合可在此一哈希空间Hs上呈现该来源网段rinets的特征值分布。前述哈希函数的键值取样是可以自定,但最少要采用该位值为″1″的二进制代码地址、来源端口riports及通讯协议编号rip三者其中之一作为前述哈希函数的键值,如仅采用该网段的位值为″1″的二进制代码地址作为键值。
相同于前述该来源网段rinets的过滤过程,如对同一条防火墙规则ri中中的目的网段rinetd的过滤过程也是重复前述步骤S400至S250的操作,即先转换成以二进制代码排列,再将该二进制代码排列中每一位值(bit)为″1″的W个地址bw(0≤bw≤L-1,0≤w≤W-1)、目的端口riportd及通讯协议编号rip三者作为哈希函数的键值(Key),分别带入前述K个哈希函数hi如h1(bw,riportd,rip)中进行哈希运算,以求出K*W个介于0到(C*K*L)-1的值kj,此值ki即包括该目的网段rinetd的每一指向一哈希空间Hd的相对地址,通过该指向哈希空间Hd的相对地址的集合可在此哈希空间Hd上呈现出该目的网段rinetd的特征值。需注意的是,因为每一哈希空间使用的C、K及L值皆相同,所以前述哈希空间Hd的空间大小必定等于哈希空间Hs的空间大小,也等于其它哈希空间的空间大小。
接着如步骤S435及步骤S440所示,重复对N条防火墙规则的网段(包括来源网段及目的网段)进行与上述相同的运算,即可分别得到多个哈希空间Hd及Hs;再如步骤S430,收集该N条防火墙规则中所有欲过滤网段指向哈希空间H的相对地址的集合,即将所有前述多个哈希空间Hd及Hs中同一地址的位值进行加总运算,以在同一哈希空间H(即H=Hd+Hs)上可呈现所有N条防火墙规则中欲过滤网段的特征値总合(characteristic value sum)。
步骤S445,进一步将前述网段特征値总合的哈希空间H中非属″0″的位值改设为″1″;相反的,如位值为″0″者,则仍保留为″0″,由此如步骤S450,最后可在同一哈希空间H上得到的这N条防火墙规则的网段特征値集合(characteristic value set)。
2.一种产生封包网址特征値集合(Packet characteristic value set)的方法:
(1)预设条件:假设每一个欲检查的数据封包p包括:{来源网址pips,目的网址pipd,来源端口pports,目的端口pportd,通讯协议pp},且处理封包的方法与对前述网段的处理方法类似,即定义另一哈希空间H’大小=前述哈希空间H大小=C*K*L的记忆空间,并将其中每一个位内容清除为0,以及使用相同的K个哈希函数hi{1≤i≤K}。
(2)方法流程:
如图3所示,首先如步骤S500,收到一个欲检查的数据封包p;步骤S505,自该封包中取出一来源网址pips;步骤S510将该封包的来源网址pips转换成以二进制代码排列表示;步骤S515,自该二进制代码排列中找寻位值(bit)为″1″的M’个地址b’m(0≤b’m≤L-1,1≤m≤M’-1)的集合;步骤S520,将每一二进制代码中位值为″1″的地址、来源端口pports及通讯协议编号pp作为哈希函数的键值(Key),分别带入同样是K个哈希函数hi如h1(b’m,pports,pp)中运算,求出K*M’个介于0到(C*K*L)-1的值kj,此值kj即包括该来源网址pips的每一指向一哈希空间H’s的相对地址,由此如步骤S525所示,利用该指向一哈希空间H’s的相对地址的集合即可在此哈希空间H’s上呈现此封包的来源网址pips特征值。
基于同样原理,如将该封包的目的网址pipd、目的端口pportd及通讯协议编号pp作为哈希函数的键值(Key)进行K个哈希函数的运算,即将封包的目的网址pipd转换成指向一哈希空间H’s的相对地址的集合,由此可在此哈希空间H’d上呈现此封包的目的网址pipd特征值。
步骤S535,对同一封包中的其它IP地址重复进行运算;步骤S530,收集该封包的所有网址指向哈希空间H’s的相对地址的集合,即将所有前述哈希空间H’s及H’d中属同一地址的位值进行加总运算,以在一哈希空间H’(H’=H’s+H’d)’上呈现这封包的所有网址特征値总合(packet characteristic valuesum);步骤S540,再将该哈希空间H’中非″0″的位值皆改设为″1″,0≤j≤(K*M’)-1;步骤S545,在此哈希空间H’上呈现该封包特征值集合(packetcharacteristic value set)。
接着进行步骤S550,进行一布尔运算检查,即在同一的哈希空间中,以前述欲过滤网段的特征值集合对比该封包的欲检查网址特征值集合,以判定该封包特征值集合是否不在前述网段特征值集合之内。
3.运算检查的方法:
如图4所示,首先如步骤S600及S605,已分别获得一具网段特征值集合的哈希空间H及一具封包特征值集合的哈希空间H’;
步骤S610及S615,进行下列布尔运算:
(H OR H’)XOR H
步骤S620,判断前述布尔运算的结果,若全部位皆为″0″,即如步骤S640,该封包p所载的IP地址有可能为该N条防火墙规则的网段特征值集合内,应该进一步如步骤S645所示,再搭配其它具深度的搜寻机制(具较高搜寻成本)确认是哪一个规则或过滤此封包;反之,若步骤S620的判断结果为至少有一位不为″0″,则如步骤S625所示,代表则该封包p所载的IP地址一定不为该N条防火墙规则的网段特征值集合内,即进行步骤S630,允许该封包通过防火墙。
需注意的是,若有任何防火墙规则的增/减,则先求出该规则在哈希空间的特征値Hc,之后该具网段特征值总合的哈希空间即为H=H-Hc或H=H+Hc,再运算出新的网段特征値集合。如果是防火墙规则的修改,则仿照先减去旧的规则在新增新的规则的方式得到新的网段特征値集合。
4.举例说明
假设有一防火墙具有两条防火墙规则(即N=2)如下:
顺序 | 来源网段 | 来源端口 | 目的网段 | 目的端口 | 协议 | 行动 |
1 | 12.0.0.0/24 | 0 | 202.1 237.21/32 | 80 | 1 | Accept |
2 | 12.0.0.0/24 | 0 | 172.17.23.152/29 | 23 | 1 | Accept |
(其中通讯端口为“0”代表任意端口)
另假设一预设常数C=2、每一IP地址所使用的二进制位大小L=32以及两个互相独立的哈希函数{1≤i≤2|hi}(即K=2),则每一哈希空间H大小=每一个哈希函数hi的输出寻址空间大小=C*K*L=2*2*32=128bit,并将其中每一个二进制位内容清除为0,即
哈希空间H
自第一条防火墙规则中取出一来源网段r1nets(即12.0.0.0/24),并将该来源网段转换成以二进制代码排列如下:
从上述的来源网段r1nets的二进制代码排列中找寻二进制位值为″1″的M个相对地址的集合,因此从上可知:M=10,该相对地址集合={b0,b1,b2,b3,b4,b5,b6,b7,b8,b9}={0,1,2,3,4,5,6,7,26,27}
将上述每一二进制代码位值为“1”的相对地址{0,1,2,3,4,5,6,7,26,27)、来源端口r1ports(即0)及通讯协议编号r1p(即1)作为哈希函数的键值(Key),以分别带入2个哈希函数hi以分别求得下列20个(MxK)指向一哈希空间H1s的地址的集合:
h1(0,0,1)=41,h1(1,0,1)=111,h1(2,0,1)=41,h1(3,0,1)=39,
h1(4,0,1)=100,h1(5,0,1)=42,h1(6,0,1)=1,h1(7,0,1)=21,
h1(26,0,1)=92,h1(27,0,1)=4
h2(0,0,1)=21,h2(1,0,1)=41,h2(2,0,1)=40,h2(3,0,1)=1,
h2(4,0,1)=98,h2(5,0,1)=120,h2(6,0,1)=12,h2(7,0,1)=88,
h2(26,0,1)=76,h2(27,0,1)=110
依上述20个指向哈希空间H1s的地址的集合,如下所示在此哈希空间H1s上呈现一第1条防火墙规则的来源网段特征值:
再自同一第一条防火墙规则中取出一目的网段r1netd(即202.1.237.21/32),并将该目的网段r1netd转换成以二进制代码排列如下:
从上述目的网段r1netd的二进制代码排列中找寻二制进位值为“1”的W个相对地址的集合,因此从上可知:W=14,是以,该相对地址集合={b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13)={0,2,4,8,10,11,13,14,15,16,25,27,30,31}
将上述每一二进制代码位值为“1”的相对地址{0,2,4,8,10,11,13,14,15,16,25,27,30,31}、目的端口r1portd(即80)及通讯协议编号r1p(即1)作为哈希函数的键值(Key),以分别带入2个哈希函数hi以分别求得下列28个(KxW)指向一哈希空间H1d的地址的集合:
h1(0,80,1)=50,h1(2,80,1)=76,h1(4,80,1)=43,h1(8,80,1)=66,
h1(10,80,1)=9,h1(11,80,1)=12,h1(13,80,1)=21,h1(14,80,1)=36,
h1(15,80,1)=61,h1(16,80,1)=58,h1(25,80,1)=81,h1(27,80,1)=108,
h1(30,80,1)=52,h1(31,80,1)=12
h2(0,80,1)=20,h2(2,80,1)=67,h2(4,80,1)=7,h2(8,80,1)=96,
h2(10,80,1)=12,h2(11,80,1)=84,h2(13,80,1)=61,h2(14,80,1)=29,
h2(15,80,1)=17,h2(16,80,1)=77,h2(25,80,1)=20,h2(27,80,1)=99,
h2(30,80,1)=121,h2(31,80,1)=41
依上述28个指向哈希空间H1d的地址的集合,在此哈希空间H1d上呈现一呈现第1条防火墙规则的目的网段特征值,进而收集第1条防火墙规则的所有网段指向一哈希空间H的地址的集合,即将该两哈希空间H1d及H1s中属同一地址的二进制位值进行加总运算,以在此哈希空间H(H=H1s+H1d)上呈现一第1条防火墙规则的网段特征值总合:
自第二条防火墙规则中取出一来源网段r2nets(即12.0.0.0/24),但因该来源网段r2nets与前述来源网段r1nets相同,故不再赘述其哈希函数的运算过程,而直接将其哈希空间H2S加入前述哈希空间H中作二进制位累加,因此哈希空间H=H+H2S,其呈现的网段特征值总合如下所示:
再自第2条防火墙规则中取出一目的网段r2netd(即172.17.23.152/29),并将该目的网段r2netd转换成以二进制代码排列如下:
从上述目的网段r2netd的二进制代码排列中找寻二进制位值为“1”的W个相对地址的集合,因此从上可知:W=16,是以,该相对地址集合={b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b14,b14,b15}={0,1,2,3,4,7,8,9,10,12,16,20,26,27,29,31}
将上述每一二进制代码位值为″1″的相对地址{0,1,2,3,4,7,8,9,10,12,16,20,26,27,29,31}、目的端口r2portd(即80)及通讯协议编号r2p(即1)作为哈希函数的键值(Key),以分别带入2个哈希函数hi以分别求得下列32个(KxW)指向哈希空间H2d的地址的集合:
h1(0,23,1)=3,h1(1,23,1)=69,h1(2,23,1)=30,h1(3,23,1)=0,
h1(4,23,1)=56,h1(7,23,1)=59,h1(8,23,1)=83,h1(9,23,1)=46,
h1(10,23,1)=31,h1(12,23,1)=47,h1(16,23,1)=61,h1(20,23,1)=79,
h1(26,23,1)=13,h1(27,23,1)=17,h1(29,23,1)=28,h1(31,23,1)=82
h2(0,23,1)=13,h2(1,23,1)=9,h2(2,23,1)=82,h2(3,23,1)=10,
h2(4,23,1)=109,h2(7,23,1)=34,h2(8,23,1)=79,h2(9,23,1)=22,
h2(10,23,1)=59,h2(12,23,1)=111,h2(16,23,1)=12,h2(20,23,1)=7,
h2(26,23,1)=109,h2(27,23,1)=107,h2(29,23,1)=3,h2(31,23,1)=55
依上述32个指向哈希空间H2d的地址的集合,在此哈希空间H2d上呈现一第2条防火墙规则的目的网段特征值,并将该哈希空间H2d加入前述哈希空间H中,即使同一地址的二进制位值进行加总运算,进而如下所示,在此一哈希空间H(H=H+H2d)上呈现所有防火墙规则的欲过滤网段特征值总合:
再将前述网段特征值总合中属非“0”的二进制位值皆改设为“1”,以在此哈希空间H上呈现所有防火墙规则的欲过滤网段的特征值集合:
一旦该防火墙收到一个欲通过的封包p:(pips,pports,pipd,pportd,pp)=(12.0.0.4,1067,172.17.23.153,80,1)时,处理封包的方法与前述处理防火墙规则类似,即使用相同的2个(即K=2)哈希函数hi{1≤i≤2},以定义一相同大小的哈希空间H’=C*K*L=128bit的记忆空间,且其中每一个二进制位值清除为0,如下所示:
哈希空间H’
自该封包中取出一来源网址pips(即12.0.0.4),并将该来源网址转换成以二进制代码排列如下:
从上述来源网址pips的二进制代码排列中找寻二进制位值为“1”的M’个相对地址的集合,即:M’=3,{b’0,b’1,b’2)={2,26,27}
将上述每一二进制代码二进制位值为“1”的相对地址{2,26,27}、来源端口pports(即1067)及通讯协议编号pp(即1)作为哈希函数的键值(Key),以分别带入2个哈希函数hi以分别求得下列6个(KxM’)指向哈希空间H’的地址的集合:
h1(2,1067,1)=61,h1(26,1067,1)=10,h1(27,1067,1)=111
h2(2,1067,1)=39,h2(26,1067,1)=46,h2(27,1067,1)=12
依上述6个指向哈希空间H’的地址的集合,如下所示,在哈希空间H’s上呈现该封包的来源网址特征值:
自同一封包中取出一目的网址pipd(即172.17.23.153),并将该目的网址pipd转换成以二进制代码排列如下:
从上述目的网址pipd的二进制代码排列中找寻二进制位值为“1”的W’个相对地址的集合,因此从上可知:W’=14,是以,该相对地址集合={b’0,b’1,b’2,b’3,b’4,b’5,b’6,b’7,b’8,b’9,b’10,b’11,b’12,b’13}={0,3,4,7,8,9,10,12,16,20,26,27,29,31}
将上述每一二进制代码位值为“1”的相对地址{0,3,4,7,8,9,10,12,16,20,26,27,29,31)、目的端口pportd(即80)及通讯协议编号pp(即1)作为哈希函数的键值(Key),以分别带入2个哈希函数hi以分别求得下列28个(KxW’)指向哈希空间H’d的地址集合:
h1(0,80,1)=60,h1(3,80,1)=1,h1(4,80,1)=107,h1(7,80,1)=8,h1(8,80,1)=39,h1(9,80,1)=61,h1(10,80,1)=40,h1(12,80,1)=55,h1(16,80,1)=83,h1(20,80,1)=97,h1(26,80,1)=24,h1(27,80,1)=66,h1(29,80,1)=70,h1(31,80,1)=24
h2(0,80,1)=25,h2(3,80,1)=33,h2(4,80,1)=1,h2(7,80,1)=66,h2(8,80,1)=51,h2(9,80,1)=43,h2(10,80,1)=37,h2(12,80,1)=13,h2(16,80,1)=90,h2(20,80,1)=69,h2(26,80,1)=22,h2(27,80,1)=91,h2(29,80,1)=111,h2(31,80,1)=121
依上述28个指向哈希空间H’d的地址集合,在哈希空间H’d上呈现该封包的目的网址特征值。接着收集所有指向哈希空间H’的地址集合,将该哈希空间H’d加入前述哈希空间H’s中,即同一地址的二进制位值进行加总运算,以产生一哈希空间H’=H’s+H’d,如下所示呈现该封包的所有网址特征值总合:
将前述封包特征值总合中属非“0”的二进制位值皆改设为“1”,以在哈希空间H’上呈现该封包中所有欲检查网址的特征值集合:
进行运算检查:(H OR H’)XOR H,结果发现至少有一二进制位值不等于“0”,则该封包的网址特征值集合不在该需过滤的网段特值集合范围内,即封包p一定不满足前述任一条防火墙规则,因此允许该封包通过该防火墙规则。
所以,本发明的加速封包过滤的方法,是利用一搜寻过滤器在固定的时间内先判断该封包是否不在防火墙规则所涵盖的范围之内,让不属于该范围内的大量封包,可立即确定为无害的良性封包,故可迅速允许该封包通过防火墙,避免网络阻塞;反之,如属范围内的少量封包,即可能为有问题的封包,可配合该防火墙中其它具较高搜查成本的封包过滤器(packet filter)作进一步深度过滤,由此可以缩短计算时间,使搜寻效率提升,而不象公知技术那样不论每一封包的好坏多寡皆使用相同的封包过滤器。
虽然本发明以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉此项技术人员,在不脱离本发明的精神和范围内,所做些许更动与润饰,均应属于本发明专利权利要求书所要求保护的范围内。
Claims (20)
1.一种加速封包过滤的方法,用于一网络安全装置中,其中包括:
依据该网络安全装置内至少一用于过滤封包的规则,产生一第一哈希空间,且其上呈现所有想过滤网段的特征值集合;
依据该网络安全装置所收到的至少一封包内容,产生一第二哈希空间,且其上可呈现该封包的网址特征值集合,该第二哈希空间具有与第一哈希空间相同的空间大小;
将该第一哈希空间与该第二哈希空间进行特定的布尔运算;以及
依据前述布尔运算结果,判断该封包特征值集合是否不在该网段特征值集合的范围内,以进一步决定是否允许该封包通过该网络安全装置。
2.如权利要求1所示的加速封包过滤的方法,其中该网络安全装置包括一防火墙,使过滤封包的规则可预设于该防火墙中。
3.如权利要求2所示的加速封包过滤的方法,其中该防火墙包括一搜寻过滤器,以配合该防火墙的规则的封包过滤工作。
4.如权利要求1所示的加速封包过滤的方法,其中过滤封包的每一条规则的内容至少包括一想过滤的特定网段。
5.如权利要求4所示的加速封包过滤的方法,进一步包括:
将过滤封包的每一条规则内的一特定网段转换成以二位进位码排列;
将二位进位码排列中二进制位值为“1”的每一相对地址分别转换成一指向第一哈希空间的对应地址,用以取得该特定网段的指向第一哈希空间的对应地址的集合;以及
收集所有指向第一哈希空间的对应地址的集合,可在一第一哈希空间中呈现出所有欲过滤网段的特征值集合。
6.如权利要求5所示的加速封包过滤的方法,进一步包括:将每一前述二位进位码排列中二进制位值为“1”的相对地址作为至少一特定哈希函数的键值,以进行哈希运算获得一指向第一哈希空间的对应地址。
7.如权利要求5所示的加速封包过滤的方法,进一步包括:依据每一指向第一哈希空间的对应地址的集合,分别对应产生一具特定网段特征值的第一哈希空间;以及
将每一具特定网段特征值的第一哈希空间中同一地址的二进制位值进行加总运算,即可在该第一哈希空间中呈现出所有欲过滤网段的特征值集合。
8.如权利要求1所示的加速封包过滤的方法,其中每一封包内容至少包括:一想检查的网址。
9.如权利要求8所示的加速封包过滤的方法,进一步包括:将每一封包内的特定网址转换成以二位进位码排列;
将该二位进位码排列中二进制位值为“1”的每一相对地址分别转换成一指向第二哈希空间的对应地址,用以取得该网址的指向第二哈希空间的对应地址的集合;以及
收集所有指向第二哈希空间的对应地址的集合,可在一第二哈希空间中呈现出该封包的网址特征值集合。
10.如权利要求9所示的加速封包过滤的方法,进一步包括:将每一二位进位码排列中二进制位值为“1”的相对地址作为至少一特定哈希函数的键值,以进行哈希运算获得一指向第二哈希空间的对应地址。
11.如权利要求9所示的加速封包过滤的方法,进一步包括:依据每一指向第二哈希空间的对应地址的集合,分别对应产生一具网址特征值的第二哈希空间;以及
将每一具网址特征值的第二哈希空间中同一地址的位值进行加总运算,即可在该第二哈希空间中呈现出该封包的网址特征值集合。
12.如权利要求1所示的加速封包过滤的方法,进一步包括:当该第一哈希空间与该第二哈希空间的布尔运算结果中至少一二进制位值不为“0”时,则该封包特征值集合不在该网段特征值集合的范围内,即允许该封包通过该网络安全装置。
13.一种加速封包过滤的方法,用于一网络安全装置中,具有一种产生所有欲过滤网段特征值集合的方法,其中包括:
自该网络安全装置所预设的至少一规则中取出每一欲过滤的特定网段;
将每一欲过滤的特定网段转换成以二进制代码排列;
将二位进位码排列中二进制位值为“1”的每一地址分别转换成一指向一哈希空间的对应地址,以取得该特定网段的指向哈希空间的对应地址的集合;以及
收集所有指向哈希空间的对应地址的集合,即可在该哈希空间中呈现出所有欲过滤网段的特征值集合。
14.如权利要求13所示的加速封包过滤的方法,进一步包括:将每一二位进位码排列中二进制位值为“1”的相对地址作为至少一特定哈希函数的键值以进行哈希运算,用以获得该指向哈希空间的对应地址。
15.如权利要求13所示的加速封包过滤的方法,进一步包括:依据每一指向哈希空间的对应地址的集合,分别对应产生一具特定网段特征值的哈希空间;以及
将每一具特定网段特征值的哈希空间中同一地址的二进制位值进行加总运算,即可在该哈希空间中呈现出所有欲过滤网段的特征值集合。
16.如权利要求13所示的加速封包过滤的方法,进一步包括:所有指向该哈希空间的对应地址的二进制位值皆设为“1”,用以呈现出所有想过滤网段的特征值集合。
17.一种加速封包过滤的方法,用于一网络安全装置中,具有一种产生封包网址特征值集合的方法,其中包括:
自该网络安全装置所收到的至少一封包中取出每一欲检查的特定网址;
将每一封包内的特定网址转换成以二位进位码排列;
将前述二位进位码排列中二进制位值为“1”的每一相对地址转换成一指向一哈希空间的对应地址,用以取得该网址的指向哈希空间的对应地址的集合;以及
收集所有指向该哈希空间的对应地址的集合,即可在该哈希空间中呈现出该封包的网址特征值集合。
18.如权利要求17所示的加速封包过滤的方法,进一步包括:将每一二位进位码排列中二进制位值为“1”的相对地址作为至少一特定哈希函数的键值,以进行哈希运算获得一指向哈希空间的对应地址。
19.如权利要求17所示的加速封包过滤的方法,进一步包括:依据每一指向哈希空间的对应地址的集合,可分别对应产生一具网址特征值的哈希空间;以及
将每一具网址特征值的哈希空间中同一地址的二进制位值进行加总运算,即可在该哈希空间中呈现出该封包的网址特征值集合。
20.如权利要求17所示的加速封包过滤的方法,进一步包括:将所有指向该哈希空间的对应地址的二进制位值皆设为“1”,用以呈现出该封包的网址特征值集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410002727 CN1645809A (zh) | 2004-01-19 | 2004-01-19 | 加速封包过滤的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410002727 CN1645809A (zh) | 2004-01-19 | 2004-01-19 | 加速封包过滤的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1645809A true CN1645809A (zh) | 2005-07-27 |
Family
ID=34867447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410002727 Pending CN1645809A (zh) | 2004-01-19 | 2004-01-19 | 加速封包过滤的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1645809A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707619B (zh) * | 2009-12-10 | 2012-11-21 | 福建星网锐捷网络有限公司 | 报文过滤方法、装置及网络设备 |
CN103475746A (zh) * | 2013-08-09 | 2013-12-25 | 杭州华三通信技术有限公司 | 一种终端服务方法及装置 |
CN107483457A (zh) * | 2017-08-28 | 2017-12-15 | 常熟理工学院 | 一种基于物联网的多媒体数据通信方法 |
CN107547173A (zh) * | 2017-08-28 | 2018-01-05 | 常熟理工学院 | 一种基于云的物联网多媒体数据通信方法 |
-
2004
- 2004-01-19 CN CN 200410002727 patent/CN1645809A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707619B (zh) * | 2009-12-10 | 2012-11-21 | 福建星网锐捷网络有限公司 | 报文过滤方法、装置及网络设备 |
CN103475746A (zh) * | 2013-08-09 | 2013-12-25 | 杭州华三通信技术有限公司 | 一种终端服务方法及装置 |
CN103475746B (zh) * | 2013-08-09 | 2017-07-04 | 新华三技术有限公司 | 一种终端服务方法及装置 |
CN107483457A (zh) * | 2017-08-28 | 2017-12-15 | 常熟理工学院 | 一种基于物联网的多媒体数据通信方法 |
CN107547173A (zh) * | 2017-08-28 | 2018-01-05 | 常熟理工学院 | 一种基于云的物联网多媒体数据通信方法 |
CN107483457B (zh) * | 2017-08-28 | 2019-08-09 | 常熟理工学院 | 一种基于物联网的多媒体数据通信方法 |
CN107547173B (zh) * | 2017-08-28 | 2020-03-24 | 常熟理工学院 | 一种基于云的物联网多媒体数据通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100339855C (zh) | 内容管理*** | |
CN101068212A (zh) | 一种网络地址转换转发的装置及方法 | |
CN101035131A (zh) | 协议识别方法及装置 | |
CN101030919A (zh) | 复用接口板地址时网络地址转换的实现方法 | |
CN1874303A (zh) | 一种黑名单实现的方法 | |
CN1863142A (zh) | 给数据流提供不同的服务质量策略的方法 | |
CN101035062A (zh) | 一种三重内容可寻址存储器报文分类的规则更新方法 | |
CN1992674A (zh) | 一种基于多比特分割的多维分组分类方法 | |
CN1516386A (zh) | 网络通信安全处理器及其数据处理方法 | |
CN101039253A (zh) | 一种实现三重内容可寻址存储器范围匹配的前缀扩展方法 | |
CN1885861A (zh) | 一种搜索局域网内即时通信用户的方法 | |
CN1816002A (zh) | 移动ip网络中家乡代理转发报文的实现方法 | |
CN101042710A (zh) | 实现采集数据共享的方法、*** | |
CN1558615A (zh) | 一种物理网络拓扑发现***及其方法 | |
CN1737799A (zh) | 一种基于分档BloomFilter结构的查询方法 | |
CN101055574A (zh) | 一种域名类信息的存储及查询方法以及*** | |
CN1815997A (zh) | 一种用于因特网的基于规则集合划分的分组分类的方法 | |
CN1645809A (zh) | 加速封包过滤的方法 | |
CN1863135A (zh) | 一种调整链路代价的路径选择方法 | |
CN1852133A (zh) | 一种告警上报方法 | |
CN1719769A (zh) | 在网络设备中对接收数据包进行分类的方法 | |
CN101079890A (zh) | 一种生成特征码确定状态机的方法和装置 | |
CN1207878C (zh) | 一种路由表压缩方法 | |
CN101030835A (zh) | 检测特征获取装置和方法 | |
CN1859019A (zh) | 一种实现自动频率控制的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |