CN102457430B - 网络封包处理方法及路由设备 - Google Patents

网络封包处理方法及路由设备 Download PDF

Info

Publication number
CN102457430B
CN102457430B CN201010523027.0A CN201010523027A CN102457430B CN 102457430 B CN102457430 B CN 102457430B CN 201010523027 A CN201010523027 A CN 201010523027A CN 102457430 B CN102457430 B CN 102457430B
Authority
CN
China
Prior art keywords
rule
package processing
processing rule
inspection condition
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.)
Active
Application number
CN201010523027.0A
Other languages
English (en)
Other versions
CN102457430A (zh
Inventor
邬培麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZHENGWEN SCI-TECH Co Ltd
Gemtek Technology Co Ltd
Original Assignee
ZHENGWEN SCI-TECH Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZHENGWEN SCI-TECH Co Ltd filed Critical ZHENGWEN SCI-TECH Co Ltd
Priority to CN201010523027.0A priority Critical patent/CN102457430B/zh
Publication of CN102457430A publication Critical patent/CN102457430A/zh
Application granted granted Critical
Publication of CN102457430B publication Critical patent/CN102457430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络封包处理方法及路由设备。该方法首先针对路由设备中包括多种检查条件的数个封包处理规则,定义并记录各检查条件对应的封包处理规则。在封包进入路由设备之后,快速地根据封包信息以及先前定义的检查条件与封包处理规则的对应关系,判断是否能找到特定封包处理规则。若能找到特定封包处理规则,则仅需依据特定封包处理规则对封包进行处理动作。如此一来,可大幅提升路由设备的效能并加快处理速度。

Description

网络封包处理方法及路由设备
技术领域
本发明涉及一种封包处理方法,尤其涉及一种能提升网络处理效能的网络封包处理方法及路由设备。
背景技术
随着网络的蓬勃发展,现代人不仅可通过网络随时取得所需信息,还能通过网络进行休闲、社交、以及商业等活动。然而,正因网络带来的便利使得许多重要数据经常会在网络上流通,为了确保数据不被恶意撷取,许多网络的安全控管机制也随之应运而生。
以Linux操作系统作为软件架构的网络设备为例,其是通过在转送检查点(forward hook)进行存取控制清单(Access Control List,简称为:ACL)以及频宽管制(Quality of Services,简称为:QoS)的规则比对来维护数据的安全性。具体来说,为了实现防火墙(firewall)的功能,每当封包进入网络设备后,转送检查点会将封包与每一条存取控制清单规则及频宽管制规则逐一进行比对。也即,转送检查点将顺序取得各存取控制清单规则与频宽管制规则,且在比对每个规则时都必须从封包取得一次封包信息。在某些情况下,必须等待所有规则都逐一比对之后,网络设备才能确定此封包是否符合存取控制清单及频宽管制规则。不难想见,在所需比对的存取控制清单与频宽管制规则数量越多时,完成检查所须耗费的时间也越长,而容易对网络处理效能造成负面影响。
发明内容
有鉴于此,本发明提供一种网络封包处理方法,可提高对进入封包执行规则比对的效率。
本发明提供一种路由设备,可避免将封包与所有规则逐一进行比对,从而提升网络处理速度。
本发明提供了一种网络封包处理方法,用于记录多个封包处理规则的路由设备,上述封包处理规则包括多种检查条件。此方法定义并记录各检查条件对应的封包处理规则。在对进入路由设备的封包执行一路径选择处理后,取得关于封包的多个封包信息。针对每一个封包信息,自所有检查条件中找出符合封包信息的检查条件,并且对所找出的检查条件对应的封包处理规则进行标记。根据所有被标记的封包处理规则判断是否存在一特定封包处理规则。若是,则依据特定封包处理规则对封包进行一处理动作。
在本发明的一实施例中,其中上述检查条件分为多个条件种类,而定义并记录各检查条件对应的封包处理规则的步骤包括取得其中之一条件种类作为一处理条件种类。建立对应处理条件种类的数据结构。在全部的封包处理规则中,找出所包括的检查条件属于处理条件种类且内容相同的所有封包处理规则,以及令所找出的封包处理规则对应至数据结构中的同一进入栏位(entry)。
在本发明的一实施例中,其中针对每个封包信息,自所有的检查条件中找出符合封包信息的检查条件,并标记所找出的检查条件对应的封包处理规则的步骤包括根据所针对的封包信息的内容,自封包信息的种类对应的数据结构中找出一特定进入栏位。分别将对应至特定进入栏位的所有封包处理规则定义为一候选封包处理规则,以及在各候选封包处理规则所包括的检查条件中,将符合于封包信息的检查条件标记为已确认条件。
在本发明的一实施例中,其中上述检查条件分为多个条件种类,而定义并记录各检查条件对应的封包处理规则的步骤包括取得其中之一条件种类作为一处理条件种类,建立对应处理条件种类的数据结构。在全部的封包处理规则中,找出所包括的检查条件属于处理条件种类且内容的杂凑值(hashvalue)相同的所有封包处理规则,并令所找出的封包处理规则对应至数据结构中的同一进入栏位。
在本发明的一实施例中,其中针对每个封包信息,自所有的检查条件中找出符合封包信息的检查条件,并标记所找出的检查条件对应的封包处理规则的步骤包括根据所针对的封包信息的杂凑值,自封包信息的种类对应的数据结构中找出一特定进入栏位。在对应至特定进入栏位的所有封包处理规则中,分别将内容与封包信息相同的所有封包处理规则定义为候选封包处理规则,并且在各选封包处理规则所包括的检查条件中,将符合于封包信息的检查条件标记为已确认条件。
在本发明的一实施例中,其中根据所有被标记的封包处理规则判断是否存在特定封包处理规则的步骤包括在所有的封包处理规则中,判断是否存在所对应的检查条件均已被标记的封包处理规则。若是,则将所对应的检查条件均已被标记的封包处理规则定义为特定封包处理规则。
在本发明的一实施例中,其中检查条件与封包信息的种类至少包括下列其中之一:来源接口(source interface)、目标接口(destination interface)、来源地址(source address)、目标地址(destination address),以及网络协议(service)。
在本发明的一实施例中,其中封包处理规则的种类至少包括下列其中之一:存取控制清单(Access Control List,简称为:ACL)规则以及频宽管制(Quality of Services,简称为:QoS)规则。
本发明又提供了一种路由设备,包括储存单元、规则对应模组、路径选择处理模组、规则快筛模组以及规则执行模组。其中,储存单元记录多个封包处理规则,上述封包处理规则包括多种检查条件。规则对应模组耦接储存单元,用以定义且记录各检查条件对应的封包处理规则于储存单元。路径选择处理模组用以对进入路由设备的封包执行一路径选择处理。规则快筛模组耦接路径选择处理模组与储存单元,规则快筛模组在取得关于封包的多个封包信息后,针对每个封包信息自所有的检查条件中找出符合封包信息的检查条件,并对所找出的检查条件对应的封包处理规则进行标记,再根据所有被标记的封包处理规则判断是否存在一特定封包处理规则。规则执行模组耦接规则快筛模组与储存单元,当规则快筛模组判定特定封包处理规则存在时,规则执行模组依据特定封包处理规则对封包进行一处理动作。
在本发明的一实施例中,其中上述检查条件分为多个条件种类,而规则对应模组取得其中之一条件种类作为处理条件种类,建立对应处理条件种类的数据结构,并在全部的封包处理规则中,找出所包括的检查条件属于处理条件种类且内容相同的所有封包处理规则,并且令所找出的封包处理规则对应至数据结构中的同一进入栏位。
在本发明的一实施例中,其中规则快筛模组根据所针对的封包信息的内容,自封包信息的种类对应的数据结构中找出一特定进入栏位,分别将对应至特定进入栏位的所有封包处理规则定义为候选封包处理规则,以及在各候选封包处理规则所包括的检查条件中,将符合于封包信息的检查条件标记为已确认条件。
在本发明的一实施例中,其中上述检查条件分为多个条件种类,而规则对应模组取得其中之一条件种类作为处理条件种类,建立对应处理条件种类的数据结构,并在全部的封包处理规则中,找出所包括的检查条件属于处理条件种类且内容的杂凑值相同的所有封包处理规则,以及令所找出的封包处理规则对应至数据结构中的同一进入栏位。
在本发明的一实施例中,其中规则快筛模组根据所针对的封包信息的杂凑值,自封包信息的种类对应的数据结构中找出一特定进入栏位,在对应至特定进入栏位的所有封包处理规则中,分别将内容与封包信息相同的所有封包处理规则定义为一候选封包处理规则,以及在各候选封包处理规则所包括的检查条件中,将符合于封包信息的检查条件标记为已确认条件。
在本发明的一实施例中,其中规则快筛模组在所有的封包处理规则中,判断是否存在所对应的检查条件均已被标记的封包处理规则。若是,规则快筛模组将所对应的检查条件均已被标记的封包处理规则定义为特定封包处理规则。
在本发明的一实施例中,其中检查条件与封包信息的种类至少包括下列其中之一:来源接口、目标接口、来源地址、目标地址,以及网络协议。
在本发明的一实施例中,其中封包处理规则的种类至少包括下列其中之一:存取控制清单规则以及频宽管制规则。
基于上述,本发明在确保路由设备能支援防火墙及/或频宽管制的前提之下,加快了比对封包与各封包处理规则的效率,进而提升了路由设备的系统效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是本发明一实施例的路由设备的方块图。
图2是本发明一实施例的网络封包处理方法的流程图。
图3是本发明一实施例的各封包处理规则的示意表。
图4A至4E是延续图3所示实施例的对应各种条件种类的数据结构的示意图。
图5是本发明一实施例的封包处理规则的标记结果的示意图。
图6是本发明另一实施例的路由设备的方块图。
主要元件符号说明:
100:路由设备;        110:储存单元;
120:规则对应模组;    130:路径选择处理模组;
140:规则快筛模组;    150:规则执行模组;
210~270:步骤;       410、420、430、440、450:表格;
411、413、421、431、433、441、443、445、451、452:进入栏位;
600:路由设备;        610:路由的前检查点;
620:路由的后检查点;  630:转送检查点;
640:进入主机检查点;  650:主机发出检查点;
660:规则对应模组;    670:储存单元;
680:路径选择处理模组;690:规则快筛模组。
具体实施方式
图1是本发明一实施例的路由设备的方块图。请参阅图1,路由设备100包括储存单元110、规则对应模组120、路径选择处理模组130、规则快筛模组140,以及规则执行模组150。其中,路由设备100的软件架构例如是采用Linux操作系统来实现,但本发明并不以此为限。
储存单元110例如是存储器,用以记录使用者所设定的多个封包处理规则。在本实施例中,封包处理规则的种类可以是存取控制清单(ACL)规则及/或频宽管制(QoS)规则。其中,每个封包处理规则至少具有一个检查条件,而不同的封包处理规则可能包括相同的检查条件。
假设封包处理规则的种类为存取控制清单规则,那么封包处理规则所包括的检查条件的条件种类可以是来源接口(source interface)、目标接口(destination interface)、来源地址(source address)、目标地址(destinationaddress),以及网络协议(service)。而当封包处理规则的种类为频宽管制规则时,封包处理规则所包括的检查条件的条件种类则可以是来源接口、来源地址、目标地址,以及网络协议。其中,来源接口与目标接口例如是区域网络(Local Area Network,简称为:LAN)或广域网络(Wide Area Network,简称为:WAN)等等。来源地址及目标地址可以是网际网络通讯协议(InternetProtocol,简称为:IP)地址或媒体存取控制(Media Access Control,简称为:MAC)地址。而网络协议包括超文件传输协议(HyperText Transfer Protocol,简称为:HTTP)、网际控制讯息协议(Internet Control Message Protocol,简称为:ICMP),或其他属于第四层(Layer 4)网络的网络协议。
使用者在设定每个封包处理规则时,可针对上述条件种类至少其中之一来指定其内容。举例来说,倘若使用者欲限定区域网络中的第一特定主机不得存取网络,并假设第一特定主机的网际网络通讯协议地址为192.168.1.100。使用者可下达一条包括两个检查条件的封包处理规则(其种类为存取控制清单规则),上述两个检查条件分别是“来源接口为LAN”,以及“来源地址为192.168.1.100”,且此封包处理规则的动作是拒绝存取(denial)。另外,倘若使用者欲限制区域网络中的第二特定主机(假设其网际网络通讯协议地址为192.168.2.1)不得存取网络,使用者可另外设定一条封包处理规则,其包括的两个检查条件分别是“来源接口为LAN”,以及“来源地址为192.168.2.1”,此封包处理规则的动作也是拒绝存取。在本实施例中,上述两个封包处理规则均包括同样的一个检查条件(也即,“来源接口为LAN”)。
规则对应模组120耦接储存单元110。规则对应模组120定义各检查条件对应的封包处理规则,并将上述对应关系记录至储存单元110。
路径选择处理模组130用以对进入路由设备100的封包执行一路径选择处理,以决定该封包所应转送的目的地。
规则快筛模组140耦接路径选择处理模组130与储存单元110。在路径选择处理模组130对封包进行路径选择处理后,规则快筛模组140便可取得关于封包的所有封包信息。其中,封包信息的种类包括来源接口、目标接口、来源地址、目标地址,以及网络协议。接着,规则快筛模组140会根据封包信息判断在所有的封包处理规则中是否存在一个或一个以上的特定封包处理规则。若存在特定封包处理规则,则由耦接至规则快筛模组140与储存单元110的规则执行模组150依据特定封包处理规则对封包进行处理动作。
本实施例是通过规则对应模组120建立数据结构以储存各检查条件所对应的封包处理规则,并且在封包进入路由设备100后,依据封包信息的比对来寻找特定封包处理规则。若能找到特定封包处理规则,则只需依特定封包处理规则对封包进行处理。换言之,不再需要对其余不属于特定封包处理规则的规则进行比对。如此一来,通过减少比对规则的次数以大幅提升路由设备100的整体效能。
图2是本发明一实施例的网络封包处理方法的流程图。请同时参阅图1与图2,首先如步骤210所示,提供多个封包处理规则,上述封包处理规则记录在储存单元110,且例如是由使用者所预先设定。所有的封包处理规则共包括多个检查条件。
接着在步骤220中,规则对应模组120定义各检查条件对应的封包处理规则,并将上述对应关系记录在储存单元110。在本实施例中,由于所有的检查条件可分为多个条件种类,因此规则对应模组120会针对每一种条件种类建立一数据结构,以记录属于该条件种类的各个检查条件对应的封包处理规则。其中,数据结构可以是表格(table)或链结串列(linked list),但本发明并不以此为限。
为了方便说明,假设储存单元110中记录了5个封包处理规则,且如图3所示,这5个封包处理规则分别被编号为R1至R5。在本实施例中,编号为R1的封包处理规则包括三个检查条件,分别是“来源接口为LAN”、“来源地址为192.168.1.100”,以及“目标地址为140.114.1.1”。编号为R2的封包处理规则包括两个检查条件,分别是“来源接口为WAN”以及“来源地址为192.168.100.1”。而在图3所示的表格中被标示为“*”的部份表示所对应的封包处理规则并不对属于该种类的检查条件内容设定限制。
图4A所示的表格410是延续图3所示的实施例的对应来源接口这项条件种类而建立数据结构。以下是建立表格410的详细步骤。首先,规则对应模组120自所有的条件种类中取得来源接口这项条件种类作为处理条件种类。接着建立对应于处理条件种类的数据结构。在本实施例中数据结构是表格的形式,但在其他实施例中,数据结构也可以是链结串列等其他种类的数据结构。接下来,规则对应模组120在储存单元110所记录的全部封包处理规则中,找出所包括的检查条件属于处理条件种类(即,来源接口)且内容相同的所有封包处理规则,并且令所找出的封包处理规则对应至数据结构中的同一进入栏位(entry)。在本实施例中,在编号为R1与R5的封包处理规则中,均包括来源接口为LAN的检查条件,因此编号为R1与R5的两个封包处理规则将一同对应至表格410中的进入栏位411。另外,由于只有编号为R2的封包处理规则包括来源接口为WAN的检查条件,因此仅有编号为R2的封包处理规则会对应至表格410中的进入栏位413。
图4B所示的表格420是延续图3所示的实施例的对应目标接口这项条件种类而建立数据结构。由于其建立方式与建立表格410相同或相似,故在此不在赘述。
在图4A及图4B所示的实施例中,数据结构的每一个进入栏位表示条件种类且内容均相同的一种检查条件。因此,数据结构的大小会与路由设备100所支援该种条件种类的数量多寡有关。例如,倘若路由设备100所支援的来源接口越多,便需要越大的空间来储存对应来源接口的数据结构。
然而,针对来源地址这项条件种类,由于每个来源地址的数据长度为32位,因此若要穷举所有可能的来源地址,数据结构则需要232个进入栏位。为了节省储存空间,规则对应模组120另外会依照每个检查条件的内容的杂凑值(hash value)来建立数据结构的内容。
图4C所示的表格430是延续图3所示的实施例的对应来源地址这项条件种类而建立数据结构。在本实施例中,规则对应模组120在选择以来源地址这项条件种类作为处理条件种类后,建立对应来源地址的数据结构(即表格430)。接着针对所有的封包处理规则,利用一杂凑函数计算各封包处理规则所包括的属于来源地址的这项检查条件的内容的杂凑值(hash value),并且令所有杂凑值相同的封包处理规则对应至表格430中的同一进入栏位。在本实施例中,假设编号为R1、R2以及R5的封包处理规则,其来源地址的内容的杂凑值均为HV_1,那么规则对应模组120便会令编号为R1、R2、R5的封包处理规则对应至表格430的进入栏位431。而假设在所有的封包处理规则中,仅有编号为R4的封包处理规则其来源地址的内容的杂凑值为HV_2,因此只有编号为R4的封包处理规则会对应至表格430的进入栏位433。换言之,在本实施例中,数据结构中的每个进入栏位对应一种杂凑值,而只要是内容的杂凑值相同的封包处理规则便会对应至同样的进入栏位。
由于目标地址以及网络协议这两项条件种类的数据结构也可依照类似上述实施例所示的方式建立,故在此不在赘述。而每当规则对应模组120令封包处理规则对应至某一进入栏位时,也会记录该封包处理规则所包括的检查条件的内容以供日后比对。但必需特别说明的是,本发明并不对杂凑函数加以限制。
当建立好每种条件种类所对应的数据结构后,接下来反复在步骤230中,判断是否有封包进入路由设备100。若有封包进入路由设备,则如步骤240所示,路径选择处理模组130对进入路由设备100的封包执行一路径选择处理。而后,规则快筛模组140便能取得关于此封包的所有封包信息。其中,封包信息的种类包括来源接口、目标接口、来源地址、目标地址,以及网络协议。
接着在步骤250中,规则快筛模组140针对每一个封包信息,自所有检查条件中找出符合封包信息的检查条件,并且对所找出的检查条件对应的封包处理规则进行标记。并且如步骤260所示,规则快筛模组140根据所有被标记的封包处理规则判断是否存在一特定封包处理规则。
详细地说,规则快筛模组140根据封包信息的种类取得记录在储存单元110中对应的数据结构,进而标记部分的封包处理规则从而判断是否存在一特定封包处理规则。
在一实施例中,规则快筛模组140首先根据目前所针对的封包信息的种类,在储存单元110中取得对应的数据结构。接着根据封包信息的内容自所取得的数据结构中找出一特定进入栏位,再分别将对应至此特定进入栏位的所有封包处理规则定义为候选封包处理规则。最后,在各候选封包处理规则所包括的检查条件中,将其内容同于封包信息的检查条件标记为已确认条件。
在另一实施例中,规则快筛模组140在根据目前所针对的封包信息的种类,从储存单元110中取得对应的数据结构后,便根据所针对的封包信息的杂凑值,自所取得的数据结构中找出一特定进入栏位。接着在对应至特定进入栏位的所有封包处理规则中,找出包括的检查条件的内容与封包信息相同的所有封包处理规则,并分别将上述封包处理规则定义为候选封包处理规则。最后,在各候选封包处理规则所包括的检查条件中,将符合于封包信息的检查条件逐一标记为已确认条件。
在针对每一个封包信息都完成上述标记动作之后,规则快筛模组140判断在所有的封包处理规则中是否存在所对应的检查条件均已被标记的封包处理规则。若是,规则快筛模组140便将上述封包处理规则定义为特定封包处理规则。
举例来说,假设进入路由设备100的封包的封包信息分别为“来源接口为LAN”、“目标接口为WAN”、“来源地址为192.168.1.100”、“目标地址为140.114.1.155”,以及“网络协议为HTTP”。
延续图3、图4A至4E的实施例,假设规则快筛模组140首先要处理的封包信息为“来源接口为LAN”。那么规则快筛模组140会自储存单元110中取得图4A所示的表格410,并以进入栏位411作为特定进入栏位,以及将对应至进入栏位411的封包处理规则R1、R5定义为候选封包处理规则。并且将封包处理规则R1、R5所包括的检查条件中符合于“来源接口为LAN”的检查条件标记为已确认条件。标记后的结果如图5所示(在图5中是以底纹表示该检查条件被标记为已确认条件)。
在规则快筛模组140要处理的封包信息为“目标接口为WAN”时,规则快筛模组140会自储存单元110中取得图4B所示的表格420,并以进入栏位421作为特定进入栏位,以及将对应至进入栏位421的封包处理规则R3定义为候选封包处理规则。同样地如图5所示,在封包处理规则R3所包括的检查条件中,内容符合于“目标接口为WAN”的检查条件也被标记为已确认条件(以底纹表示)。
另外,当规则快筛模组140要处理的封包信息为“来源地址为192.168.1.100”时,规则快筛模组140会自储存单元110中取得图4C所示的表格430。假设以杂凑函数计算此封包信息的杂凑值为“HV_1”,那么规则快筛模组140会选择进入栏位431作为特定进入栏位,并将对应至进入栏位431的封包处理规则R1、R2、R5定义为候选封包处理规则。然由于杂凑值相同其内容并不一定相同,因此规则快筛模组140会将封包信息的内容与各候选封包处理规则所包括的对应检查条件的内容进行比对,并在封包处理规则R1、R2、R5所个别包括的对应检查条件中,仅将内容与“来源地址为192.168.1.100”这项封包信息相同的检查条件标记为已确认条件。如图5所示,在R1、R2、R5这三个候选封包处理规则所个别包括的检查条件中,仅有封包处理规则R1、R5所包括的内容符合于“来源地址为192.168.1.100”的检查条件被标记为已确认条件(以底纹表示)。
规则快筛模组140也会对“目标地址为140.114.1.155”,以及“网络协议为HTTP”这两项封包信息进行上述动作,进而将部份检查条件标记为已确认条件,整个标记完成的结果如图5所示。根据图5可以发现,封包处理规则R5所对应的四个检查条件均已被标记成已确认条件,因此规则快筛模组140会将封包处理规则R5定义为特定封包处理规则。
请回到图2,倘若没有任何的封包处理规则被规则快筛模组140定义为特定封包处理规则,则如步骤270所示,规则快筛模组140判定封包不符合所有封包处理规则。此时,规则执行模组150例如会依照预先定义的动作来处理封包。
然而,当特定封包处理规则存在时,则如步骤280所示,规则执行模组150依据特定封包处理规则对封包进行处理动作。
图6是本发明另一实施例的路由设备的方块图。在本实施例中,路由设备600的软件架构是Linux操作系统。路由设备600包括路由的前检查点(Pre-Routing hook)610、路由的后检查点(Post-Routing hook)620、转送检查点(Forward hook)630、进入主机检查点(Local-in hook)640、主机发出检查点(Local-out hook)650、规则对应模组660、储存单元670、路径选择处理模组680以及规则快筛模组690。由于规则对应模组660、储存单元670、路径选择处理模组680以及规则快筛模组690与图1所示的规则对应模组120、储存单元110、路径选择处理模组130以及规则快筛模组140的功能相同或相似,故在此不在赘述。
在本实施例中,转送检查点630的功能与图1所示的规则执行模组150相同。因此在路由设备600中,规则快筛模组690需位于转送检查点630的前。据此在封包进入路由设备600并经过路径选择处理模组680的处理后,先由规则快筛模组690判断是否能取得特定封包处理规则。若是,再由转送检查点630依据特定封包处理规则对封包进行处理动作。
综上所述,本发明所述的路由设备及其网络封包处理方法建立数据结构以记录各检查条件对应的封包处理规则,并在封包进入路由设备的后,快速地根据封包信息与数据结构的比对来判断是否能找到特定封包处理规则。若能找到特定封包处理规则,便可直接利用特定封包处理规则对封包进行处理。如此一来,减少规则的比对次数以大幅提升系统效能并加快网络处理速度。
虽然本发明已以实施例揭示如上,但其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可作适当更改与等同替换,故本发明的保护范围应以权利要求书所界定的范围为准。

Claims (14)

1.一种网络封包处理方法,用于记录多个封包处理规则的一路由设备,所述多个封包处理规则包括多种检查条件,其特征在于,所述方法包括:
定义并记录各所述多种检查条件对应的封包处理规则;
在对进入所述路由设备的一封包执行一路径选择处理后,取得关于所述封包的多个封包信息;
针对所述多个封包信息中的每一个,自所述多种检查条件中找出符合所述封包信息的检查条件,并标记所找出的检查条件对应的封包处理规则;
根据所有被标记的封包处理规则判断是否存在一特定封包处理规则;以及
若存在所述特定封包处理规则,则依据所述特定封包处理规则对所述封包进行一处理动作,
其中,所述多种检查条件分为多个条件种类,而定义并记录各所述多种检查条件对应的封包处理规则的步骤包括:
取得所述多个条件种类其中之一作为一处理条件种类;
建立对应所述处理条件种类的一数据结构;
在所述多个封包处理规则中,找出所包括的检查条件属于所述处理条件种类且内容相同的所有封包处理规则;以及
令所找出的封包处理规则对应至所述数据结构中的同一进入栏位。
2.根据权利要求1所述的网络封包处理方法,其特征在于,针对所述多个封包信息中的每一个,自所述多种检查条件中找出符合所述封包信息的检查条件,并标记所找出的检查条件对应的封包处理规则的步骤包括:
根据所针对的所述封包信息的内容,自所述封包信息的种类对应的所述数据结构中找出一特定进入栏位;
分别定义对应至所述特定进入栏位的所有封包处理规则为一候选封包处理规则;以及
在各所述候选封包处理规则所包括的检查条件中,将符合于所述封包信息的检查条件标记为一已确认条件。
3.根据权利要求1所述的网络封包处理方法,其特征在于,所述多种检查条件分为多个条件种类,而定义并记录各所述多种检查条件对应的封包处理规则的步骤包括:
取得所述多个条件种类其中之一作为一处理条件种类;
建立对应所述处理条件种类的一数据结构;
在所述多个封包处理规则中,找出所包括的检查条件属于所述处理条件种类且内容的杂凑值相同的所有封包处理规则;以及
令所找出的封包处理规则对应至所述数据结构中的同一进入栏位。
4.根据权利要求3所述的网络封包处理方法,其特征在于,针对所述多个封包信息中的每一个,自所述多种检查条件中找出符合所述封包信息的检查条件,并标记所找出的检查条件对应的封包处理规则的步骤包括:
根据所针对的所述封包信息的杂凑值,自所述封包信息的种类对应的所述数据结构中找出一特定进入栏位;
在对应至所述特定进入栏位的所有封包处理规则中,分别定义内容与所述封包信息相同的所有封包处理规则为一候选封包处理规则;以及
在各所述候选封包处理规则所包括的检查条件中,将符合于所述封包信息的检查条件标记为一已确认条件。
5.根据权利要求1所述的网络封包处理方法,其特征在于,根据所有被标记的封包处理规则判断是否存在所述特定封包处理规则的步骤包括:
在所述多个封包处理规则中,判断是否存在所对应的检查条件均已被标记的封包处理规则;以及
若是,则将所对应的检查条件均已被标记的封包处理规则定义为所述特定封包处理规则。
6.根据权利要求1所述的网络封包处理方法,其特征在于,所述多种检查条件与所述多个封包信息的种类至少包括下列其中之一:一来源接口、一目标接口、一来源地址、一目标地址,以及一网络协议。
7.根据权利要求1所述的网络封包处理方法,其特征在于,所述多个封包处理规则的种类至少包括下列其中之一:一存取控制清单规则以及一频宽管制规则。
8.一种路由设备,其特征在于,包括:
一储存单元,记录多个封包处理规则,所述多个封包处理规则包括多种检查条件;
一规则对应模组,耦接所述储存单元,所述规则对应模组定义各所述检查条件对应的封包处理规则并记录于所述储存单元;
一路径选择处理模组,对进入所述路由设备的一封包执行一路径选择处理;
一规则快筛模组,耦接所述路径选择处理模组与所述储存单元,所述规则快筛模组在取得关于所述封包的多个封包信息后,针对所述多个封包信息中的每一个,自所述多种检查条件中找出符合所述封包信息的检查条件,标记所找出的检查条件对应的封包处理规则,并根据所有被标记的封包处理规则判断是否存在一特定封包处理规则;以及
一规则执行模组,耦接所述规则快筛模组与所述储存单元,当所述规则快筛模组判定所述特定封包处理规则存在时,所述规则执行模组依据所述特定封包处理规则对所述封包进行一处理动作,
其中,所述多种检查条件分为多个条件种类,而所述规则对应模组取得所述多个条件种类其中之一作为一处理条件种类,建立对应所述处理条件种类的一数据结构,并在所述多个封包处理规则中,找出所包括的检查条件属于所述处理条件种类且内容相同的所有封包处理规则,以及令所找出的封包处理规则对应至所述数据结构中的同一进入栏位。
9.根据权利要求8所述的路由设备,其特征在于,所述规则快筛模组根据所针对的所述封包信息的内容,自所述封包信息的种类对应的所述数据结构中找出一特定进入栏位,分别定义对应至所述特定进入栏位的所有封包处理规则为一候选封包处理规则,以及在各所述候选封包处理规则所包括的检查条件中,将符合于所述封包信息的检查条件标记为一已确认条件。
10.根据权利要求8所述的路由设备,其特征在于,所述多种检查条件分为多个条件种类,而所述规则对应模组取得所述多个条件种类其中之一作为一处理条件种类,建立对应所述处理条件种类的一数据结构,并在所述多个封包处理规则中,找出所包括的检查条件属于所述处理条件种类且内容的杂凑值相同的所有封包处理规则,以及令所找出的封包处理规则对应至所述数据结构中的同一进入栏位。
11.根据权利要求10所述的路由设备,其特征在于,所述规则快筛模组根据所针对的所述封包信息的杂凑值,自所述封包信息的种类对应的所述数据结构中找出一特定进入栏位,在对应至所述特定进入栏位的所有封包处理规则中,分别定义内容与所述封包信息相同的所有封包处理规则为一候选封包处理规则,以及在各所述候选封包处理规则所包括的检查条件中,将符合于所述封包信息的检查条件标记为一已确认条件。
12.根据权利要求8所述的路由设备,其特征在于,所述规则快筛模组在所述多个封包处理规则中,判断是否存在所对应的检查条件均已被标记的封包处理规则,
若是,所述规则快筛模组将所对应的检查条件均已被标记的封包处理规则定义为所述特定封包处理规则。
13.根据权利要求8所述的路由设备,其特征在于,所述多种检查条件与所述多个封包信息的种类至少包括下列其中之一:一来源接口、一目标接口、一来源地址、一目标地址,以及一网络协议。
14.根据权利要求8所述的路由设备,其特征在于,所述多个封包处理规则的种类至少包括下列其中之一:一存取控制清单规则以及一频宽管制规则。
CN201010523027.0A 2010-10-20 2010-10-20 网络封包处理方法及路由设备 Active CN102457430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010523027.0A CN102457430B (zh) 2010-10-20 2010-10-20 网络封包处理方法及路由设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010523027.0A CN102457430B (zh) 2010-10-20 2010-10-20 网络封包处理方法及路由设备

Publications (2)

Publication Number Publication Date
CN102457430A CN102457430A (zh) 2012-05-16
CN102457430B true CN102457430B (zh) 2015-04-08

Family

ID=46040121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010523027.0A Active CN102457430B (zh) 2010-10-20 2010-10-20 网络封包处理方法及路由设备

Country Status (1)

Country Link
CN (1) CN102457430B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125176A (zh) * 2013-04-25 2014-10-29 联发科技股份有限公司 封包处理方法以及封包处理装置
TWI626837B (zh) * 2016-12-01 2018-06-11 財團法人工業技術研究院 封包傳遞方法、封包傳遞裝置及非暫態電腦可讀取媒體
CN113839860A (zh) * 2020-06-24 2021-12-24 深圳市万普拉斯科技有限公司 数据包的转发方法、装置及网络设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466340A (zh) * 2002-06-24 2004-01-07 �人��������������ι�˾ 以策略流方式转发数据的方法和数据转发设备
CN1622521A (zh) * 2003-11-25 2005-06-01 华为技术有限公司 一种实现ip报文流分类的方法
CN1731736A (zh) * 2004-08-07 2006-02-08 海信集团有限公司 防火墙一次比对地址信息的控制方法
CN1897564A (zh) * 2005-07-11 2007-01-17 中兴通讯股份有限公司 基于递归流分类算法的策略路由匹配方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146027B (zh) * 2006-09-14 2010-08-18 中兴通讯股份有限公司 基于访问控制列表分类的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466340A (zh) * 2002-06-24 2004-01-07 �人��������������ι�˾ 以策略流方式转发数据的方法和数据转发设备
CN1622521A (zh) * 2003-11-25 2005-06-01 华为技术有限公司 一种实现ip报文流分类的方法
CN1731736A (zh) * 2004-08-07 2006-02-08 海信集团有限公司 防火墙一次比对地址信息的控制方法
CN1897564A (zh) * 2005-07-11 2007-01-17 中兴通讯股份有限公司 基于递归流分类算法的策略路由匹配方法

Also Published As

Publication number Publication date
CN102457430A (zh) 2012-05-16

Similar Documents

Publication Publication Date Title
US11509534B2 (en) Collection of error packet information for network policy enforcement
US20230041892A1 (en) Event driven route control
US8375445B2 (en) Malware detecting apparatus, monitoring apparatus, malware detecting program, and malware detecting method
US11005760B2 (en) Ensuring data locality for secure transmission of data
US10855480B2 (en) Systems and methods for processing packets in a computer network
CN101300811B (zh) 窥探回波响应提取方法和提取器
CN109495320B (zh) 一种数据报文的传输方法和装置
CN105763440A (zh) 一种报文转发的方法和装置
CN110740144B (zh) 确定攻击目标的方法、装置、设备及存储介质
US20170187731A1 (en) Information processing system, information processing method and program
CN102457430B (zh) 网络封包处理方法及路由设备
Song et al. Novel duplicate address detection with hash function
US11245668B1 (en) Critical firewall functionality management
US9019951B2 (en) Routing apparatus and method for processing network packet thereof
CN101938411B (zh) 一种nd探听表项的处理方法和设备
CN112910825B (zh) 一种蠕虫检测方法及网络设备
EP3026862B1 (en) Routing loop determining method
CN116346429A (zh) 非法外联设备检测方法及装置
CN111010362A (zh) 一种异常主机的监控方法及装置
CN112019361A (zh) 访问控制列表的迁移方法及装置,存储介质和电子设备
CN104767684A (zh) 数据传输方法及相关装置和通信系统
CN112565005B (zh) 网络串线检测方法及装置、设备及介质
CN110868388B (zh) 用于操作联网设备的系统和方法
CN116471038A (zh) 一种通过网络蜜罐引流的网络攻击捕获方法及装置
CN116723020A (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
C14 Grant of patent or utility model
GR01 Patent grant