CN102812675B - 分组转送处理装置、方法 - Google Patents
分组转送处理装置、方法 Download PDFInfo
- Publication number
- CN102812675B CN102812675B CN201080062742.7A CN201080062742A CN102812675B CN 102812675 B CN102812675 B CN 102812675B CN 201080062742 A CN201080062742 A CN 201080062742A CN 102812675 B CN102812675 B CN 102812675B
- Authority
- CN
- China
- Prior art keywords
- grouping
- entry area
- search condition
- timer
- condition
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
控制部能够可靠且效率良好地检测通信期间的结束,可有效地进行检索表中的检索规则的有效/无效的管理。与检索表的各条目区域相对应来设置定时器。而且,在定时器管理部的控制之下,每当将信息写入有效管理表或者接收与设定为有效的有效管理表上的信息相对应的分组检索条件与通信参数一致的分组时,使上述定时器开始计时动作。另外,在上述定时器的计时时间超过预先设定的超时时间时,使该超时的意思的信息存储于超时管理表。
Description
技术领域
本发明涉及例如IP(Internet Protocol,因特网协议)网所使用的路由器等那样使用分组过滤功能来进行分组的转送处理的分组转送处理装置、方法及程序。
本申请针对2010年2月4日向日本申请的特愿2010-023251号主张优先权,在此引用其内容。
背景技术
近年来,伴随着以因特网为代表的IP网的利用扩大,在企业及家庭内构筑LAN(Local Area Network,局域网),将该LAN经由因特网等与广域网连接而进行分组转送的情况增多。然而,将容纳于LAN的终端与外部网络连接时,有由于来自外部网络的不正当访问而发生个人信息等机密信息的泄漏、窜改的担忧,所以确保LAN内部的安全成为重要的课题。
因此,在以往,使LAN与外部网络之间中继转送分组的路由器等分组转送处理装置具有分组过滤功能。分组过滤功能通过将所输入的分组与预先设定的过滤规则相比较,判定是否许可上述分组的通过。过滤规则由例如发送方地址、收件地址、协议、发送方端口号码以及收件端口号码第分组转送所使用的通信参数来定义。
此外,为了实现分组过滤功能,需要以非常多的过滤规则作为检索规则存储于检索表,但检索表的存储容量有限。因此,为了减少存储于检索表的检索规则的条目数,提出例如以下那样的装置。
即,通常丢弃分组而仅使需要的分组通过的情况下的检索规则不需要始终有效,只要从通信的开始至结束有效即可。因此,对于存储于检索表的各检索规则而分别准备示出各检索规则的有效/无效的有效标识(flag)。然后,当通信开始时CPU(Central Processing Unit,中央处理单元)在检索表中设定检索规则时,将对应的有效标识设定为“1”并使该检索规则有效。另一方面,通信结束时,将上述有效标识重置成“0”,以后不使用该检索规则,为下一检索规则的添加做准备。在该状态下,在新开始通信的情况下,检索与设定为“0”的有效标识相对应的检索规则即无效的条目,在检索表中设定新的检索规则,以代替该未使用的检索规则。这样,通过动态变更检索表的条目的内容,能够以少的存储器区域检索更多的分组。
作为具体的检索电路,存在着并列使用多个规则比较部来比较接收分组的通信参数和过滤规则的电路。该电路如果接收分组,则将上述接收分组的通信参数分配并输入至多个规则比较部中的处理结束的规则比较部。另外,与此同时,每当从检索表读出1个过滤规则时,将该过滤规则供给至上述全部的规则比较部。每当输入接收分组的通信参数时,各规则比较部将其与从上述检索表依次读出的全部的过滤规则相比较。然后,如果检测到与通信参数一致的过滤规则,则以该过滤规则作为检索结果进行输出。此外,在检测到多个与通信参数一致的过滤规则的情况下,以优先级最高的过滤规则作为检索结果而进行输出(例如参照专利文献1)。
现有技术文献
专利文献
专利文献1:日本特开2007-166514号公报。
发明内容
发明要解决的课题
但是,如果CPU为32位架构,则在对检索表的空区域进行检索的情况下,1次只能够调查32个检索表的条目区域。由于检索表的条目区域多达例如2048,所以在CPU对检索表的空区域进行检索时,依然需要较多处理步骤数和时间。
而且,为了在通信结束后使相应的检索规则无效化,需要由CPU判定通信是否结束。然而,一般由与CPU独立地进行动作的分组转送块进行在检索表中设定检索规则之后的通信期间之中的分组转送的可否判定。因此,在通信期间之中,不将分组转送至CPU,CPU不能检测通信期间的结束。
本发明是着眼于上述情况而做出的,其目的在于,提供控制部能够可靠且效率良好地检测通信期间的结束,由此可有效进行检索表中的检索规则的有效/无效的管理,并且能够进一步有效使用有限的检索表的条目区域的分组转送处理装置、方法及程序。
用于解决课题的方案
为了达成上述目的,本发明的1个观点为一种分组转送处理装置,具备:检索表,具有存储多个分组检索条件的多个条目区域;检索处理部,每当接收分组时,将所述接收的分组的通信参数与存储于所述检索表的所述多个分组检索条件分别比较,输出对应于与所述通信参数一致的分组检索条件的检索结果;转送处理部,基于所述检索结果进行所述接收的分组的转送或丢弃处理;有效管理表,存储对应于存储在所述检索表的各个所述多个分组检索条件来设定所述分组检索条件有效或无效的信息;定时器,与各个所述多个条目区域相对应;定时器管理部,每当接收与设定为有效的所述有效管理表上的信息相对应的分组检索条件与通信参数一致的分组时、或每当将所述信息写入所述有效管理表时,由所述定时器开始计时动作;超时管理表,对于每个所述定时器而存储表示所述定时器在计时动作中或超时的信息;有效无效管理部,在所述定时器的计时时间超过预先设定的超时时间时,使表示所述定时器超时的信息存储于所述超时管理表,并且,将存储于所述有效管理表的所述信息中的与超时的所述定时器相对应的信息从有效变更为无效;以及控制部,在通信开始时,以存储于所述超时管理表的所述信息为基础来检测所述检索表中的空条目区域,使所述通信所需要的分组检索条件存储于所述检测到的空条目区域。
因此,依据本发明,对于各个设定为有效的分组检索条件,如果未接收到与该分组检索条件相应的分组的时间持续一定时间以上而定时器超时,则将表示超时的信息存储于超时管理表。因此,在通信开始时,控制部能够以存储于上述超时管理表的信息为基础来检测上述检索表中的空条目区域,能够使新的检索条件存储于该检测到的空条目区域。
即,即使在通信期间之中控制部不参与分组转送处理的情况下,控制部也能够掌握检索表中的空条目区域,动态地管理检索表中的分组检索条件的条目。由此,能够提高检索表的条目区域的利用效率,缩减检索表的存储器量。
另外,本发明也可以具备以下那样的方式。
在第1方式中,所述超时管理表具备:超时寄存器,具有与所述检索表的各条目区域相对应而设置的多个位区域,将表示所述定时器在计时动作中或超时的位数据存储于所述多个位区域中的与所述定时器相对应的位区域;多个或电路(論理和回路),与分割所述超时寄存器的所述多个位区域而成的多个组相对应地设置,输出存储于各组所包括的多个位区域的位数据的或数据(論理和データ);以及多个汇集寄存器,与将所述多个或电路以所述控制部的处理器能够同时地处理的位数分割而成的多个块相对应地设置,存储从各块所包括的或电路输出的或数据,其中,所述控制部在检测所述空条目区域时,以存储于所述汇集寄存器的所述或数据为基础来选择包括示出所述定时器超时的位的块,从所述选择的块内的示出所述定时器超时的位的位置开始选择包括示出所述定时器超时的位的位置的组,从属于所述选择的组的所述超时寄存器的位区域读出位数据,以读出的所述位数据为基础来检测与超时的所述定时器相对应的条目区域。
这样,在检测空条目区域时,首先以存储于汇集寄存器的或数据为基础来选择包括超时的条目区域的组。接着,以属于该选择的组的位区域的位数据为基础来确定空条目区域。即,以两个阶段进行确定空条目区域时的限定。因此,与对于检索表的全部的条目区域来依次判定其有效/无效的情况相比,大幅缩短为了确定空条目区域而需要的处理步骤及时间。
在第2方式中,具备在所述定时器超时时依次存储与超时的所述定时器相对应的所述检索表的条目区域的识别信息的存储器,所述控制部在检测所述空条目区域时,从所述存储器按照存储顺序早的顺序读出所述条目区域的识别信息,以由读出的所述识别信息表示的条目区域作为所述空条目区域。
这样,每当分组检索条件无效时,将表示存储有该分组检索条件的条目区域的识别信息依次存储于存储器,所以控制部能够通过检索该存储器而容易确定空条目区域。因此,不搜索检索表的条目区域或超时寄存器的位区域,能够以更少的处理步骤在短时间内确定空条目区域。
在第3方式中,分组在第1接口与第2接口之间转送,存储于所述检索表的各分组检索条件包括第1检索条件、第2检索条件及第3检索条件,所述检索处理部,在所述接收的分组是由所述第1接口接收的第1分组的情况下,将所述第1分组的通信参数与所述第1检索条件及所述第3检索条件的组相比较,如果所述第1分组的所述通信参数与所述第1检索条件及所述第3检索条件的组一致,则输出所述检索结果在所述接收的分组是由所述第2接口接收的第2分组的情况下,将所述第2分组的通信参数与所述第2检索条件及所述第3检索条件的组相比较,如果所述第2分组的所述通信参数与所述第2检索条件及所述第3检索条件的组一致,则输出所述检索结果。
由此,在由第1接口接收分组的情况下,如果接收的分组的通信参数与第1检索条件及第3检索条件的组一致,则输出检索结果。另外,在由第2接口接收分组的情况下,如果接收的分组的通信参数与第2检索条件及第3检索条件的组一致,则输出检索结果。因此,能够沿双方向进行检索表的检索。因此,能够减少检索表的条目区域,缩减检索表的存储器容量。
在第4方式中,所述检索处理部,在所述接收的分组是所述第1分组的情况下,作为对所述第1分组的网络地址端口变换所导致的变换后的通信参数而输出所述第2检索条件,在所述接收的分组是所述第2分组的情况下,作为对所述第2分组的网络地址端口变换所导致的变换后的通信参数而输出所述第1检索条件。
由此,在由第1接口接收分组的情况下,作为网络地址端口变换所导致的变换后的通信参数而输出第2检索条件。另外,在由第2接口接收分组的情况下,作为网络地址端口变换所导致的变换后的通信参数而输出第1检索条件。因此,不增加检索表的条目区域的数量或不增加存储于检索表的条目区域的分组检索条件,而能够实现网络地址端口变换。
在第5方式中,分组在第1接口与第2接口之间转送,存储于所述检索表的各分组检索条件包括第1检索条件、第2检索条件及第3检索条件,所述检索处理部,不论所述接收的分组由所述第1接口接收或由所述第2接口接收,均将所述接收的分组的通信参数与所述第1检索条件及所述第3检索条件的组相比较,并且,将所述接收的分组的所述通信参数与所述第2检索条件及所述第3检索条件的组相比较,如果所述通信参数与所述第1检索条件及所述第3检索条件的组一致、或所述通信参数与所述第2检索条件及所述第3检索条件的组一致,则输出所述检索结果。
由此,如果接收的分组的通信参数与第1检索条件及第3检索条件的组一致、或接收的分组的通信参数与第2检索条件及第3检索条件的组一致,则输出检索结果。因此,不判断分组由哪个接口接收,就能够沿双方向进行检索表的检索。因此,能够减少检索表的条目区域,缩减检索表的存储器容量。另外,与根据接收分组的接口而进行检索表的检索的情况相比,能够使分组检索条件的数量为1/2。因此,在所需要的分组检索条件的数量多的情况下尤其有效。
在第6方式中,如果所述接收的分组的通信参数与所述第1检索条件及所述第3检索条件的组一致,则所述检索处理部作为对所述接收的分组的网络地址端口变换所导致的变换后的通信参数而输出所述第2检索条件,如果所述通信参数与所述第2检索条件及所述第3检索条件的组一致,则所述检索处理部作为所述变换后的通信参数而输出所述第1检索条件。
由此,如果通信参数与第1检索条件及第3检索条件的组一致,则作为网络地址端口变换所导致的变换后的通信参数而输出第2检索条件。另外,如果通信参数与第2检索条件及第3检索条件的组一致,则作为变换后的通信参数而输出第1检索条件。因此,不增加检索表的条目区域的数量、或不增加存储于检索表的条目区域的分组检索条件,而能够实现网络地址端口变换。
在第7方式中,在所述检索表,各个IPv4用的分组检索条件存储于1个条目区域上,各个IPv6用的分组检索条件存储于2个条目区域上,所述IPv6用的分组检索条件具有与IPv6分组的通信参数所具有的第1参数、第2参数及第3参数分别相对应的第1检索条件、第2检索条件及第3检索条件,所述第1检索条件及所述第3检索条件存储于所述2个条目区域中的第偶数个条目区域,所述第2检索条件及所述第3检索条件存储于所述2个条目区域中的第奇数个条目区域,所述检索处理部根据所述接收的分组为IPv4分组或所述IPv6分组,将各个所述IPv4用的分组检索条件或各个所述IPv6用的分组检索条件与所述接收的分组的所述通信参数相比较。
由此,根据接收IPv4分组或接收IPv6分组,将存储于1个条目区域上的IPv4用的各分组检索条件与接收的IPv4分组的通信参数相比较,或者,将存储于2个条目区域上的IPv6用的各分组检索条件与接收的IPv6分组的通信参数相比较。在IPv6分组的情况下,将第1参数及第3参数的组与存储于第偶数个条目区域的第1检索条件及第3检索条件的组相比较,并且,将第2参数及第3参数的组与存储于第奇数个条目区域的第2检索条件及第3检索条件的组相比较。因此,在IPv4分组和IPv6分组混在一起的环境下,能够使IPv4用的分组检索条件和IPv6用的分组检索条件存储于同一检索表上。因此,与分别地设置IPv4分组用的检索表和IPv6分组用的检索表的情况相比,能够缩减检索表整体的存储器容量,能够将检索表的存储器容量最佳化。
在第8方式中,所述检索处理部具备:第1比较部,将所述接收的分组的所述通信参数与所述第偶数个条目区域的分组检索条件相比较来输出第1比较结果;第2比较部,将所述通信参数与所述第奇数个条目区域的分组检索条件相比较来输出第2比较结果;以及判定部,基于所述第1比较结果及所述第2比较结果来判定是否检索到与所述通信参数一致的分组检索条件,在所述接收的分组为所述IPv4分组的情况下,如果所述第1比较结果及所述第2比较结果的至少一个示出一致,则所述判定部判定为检索到与所述通信参数一致的分组检索条件;在所述接收的分组为所述IPv6分组的情况下,所述第1比较部将所述第偶数个条目区域的分组检索条件与所述第1参数及所述第3参数的组相比较,并且,将所述第偶数个条目区域的分组检索条件与所述第2参数及所述第3参数的组相比较,所述第2比较部将所述第奇数个条目区域的分组检索条件与所述第1参数及所述第3参数的组相比较,并且,将所述第奇数个条目区域的分组检索条件与所述第2参数及所述第3参数的组相比较,如果所述第偶数个条目区域的分组检索条件与所述第1参数及所述第3参数的组一致且所述第奇数个条目区域的分组检索条件与所述第2参数及所述第3参数的组一致,或者,所述第奇数个条目区域的分组检索条件与所述第1参数及所述第3参数的组一致且所述第偶数个条目区域的分组检索条件与所述第2参数及所述第3参数的组一致,则所述判定部判定为检索到与所述通信参数一致的分组检索条件。
由此,在接收IPv4分组的情况下,如果接收的分组的通信参数与第偶数个条目区域的分组检索条件一致、或通信参数与第奇数个条目区域的分组检索条件一致,则判定为检索到与通信参数一致的分组检索条件。另外,在接收IPv6分组的情况下,如果第偶数个条目区域的分组检索条件与第1参数及第3参数的组一致且第奇数个条目区域的分组检索条件与第2参数及第3参数的组一致,或者,第奇数个条目区域的分组检索条件与第1参数及第3参数的组一致且第偶数个条目区域的分组检索条件与第2参数及第3参数的组一致,则判定为检索到与通信参数一致的分组检索条件。因此,即使在IPv4分组和IPv6分组混在一起的情况下,也能够将共同的电路用于IPv4分组及IPv6分组、并进行检索表的检索。另外,由于对第偶数个条目区域的检索和对第奇数个条目区域的检索并行进行,所以能够实现高速的检索。
另外,本发明的另一观点是与上述的分组转送处理装置相对应的分组转送处理方法。
而且,本发明的又一观点是用于使计算机执行所涉及的分组转送处理方法的分组转送处理程序。
发明的效果
即,依据本发明,控制部能够可靠且效率良好地检测通信期间的结束。由此,能够提供可有效地进行检索表中的检索规则的有效/无效的管理且能够进一步有效地使用有限的检索表的条目区域的分组转送处理装置、方法及程序。
附图说明
图1是示出本发明的第1实施方式所涉及的分组转送处理装置的构成的框图。
图2是示出图1所示的分组转送处理装置的检索部及检索表的构成的框图。
图3是示出图2所示的定时器管理部保持有效管理表的有效位保持时的处理顺序和处理内容的流程图。
图4是示出图2所示的定时器管理部将有效管理表的有效位变更为无效位时的处理顺序和处理内容的流程图。
图5是示出用于对于图4所示的位变更处理而要求递减的开始的处理顺序和处理内容的流程图。
图6A是将设在图2所示的超时管理表的聚集(集計)寄存器的构成与条目超时寄存器一起示出的图。
图6B是示出在图1所示的检索部设有FIFO存储器的情况下的分组转送处理装置的检索部及检索表的第1构成例的框图。
图6C是示出在图1所示的检索部设有FIFO存储器的情况下的分组转送处理装置的检索部及检索表的第2构成例的框图。
图7A是示出本发明的第2实施方式中的条目检索表的第1构成例的图。
图7B是示出本发明的第2实施方式中的条目检索表的第2构成例的图。
图8是示出本发明的第2实施方式中的条目检索表的第3构成例的图。
图9是示出使用图8所示的检索表的情况下的检索部的构成和处理内容的图。
图10是示出本发明的其它的实施方式所涉及的分组转送处理装置的构成的框图。
具体实施方式
以下,参照附图,说明本发明所涉及的实施方式。
(第1实施方式)
图1是示出本发明的第1实施方式所涉及的分组转送处理装置的构成的框图。该分组转送处理装置具备分组转送部10和控制部20,该控制部20具备相对于该分组转送部10经由总线30连接的中央处理单元(CPU;Central Processing Unit)。
分组转送部10具备帧接收部1、缓冲器管理部2、分组缓冲器3、解析器(parser)部4、检索表5、检索部6、QoS(Quality of Service,服务质量)部7、帧生成部8及帧发送部9。此外,将这些处理部集成化,分组转送部10由1个LSI(Large Scale Integration,大规模集成电路)构成。
分组转送部10由帧接收部1对于每帧而接收从未图示的接收接口输入的接收分组,使该接收的分组经由缓冲器管理部2而存储于分组缓冲器3并供给至解析器部4。解析器部4解析上述供给的接收分组的报头(header),插入该报头的通信参数,即发送方IP地址、收件IP地址、发送方端口号码、收件端口号码及协议由检索部6使用的参数作为JOB信息而供给至检索部6。
检索部6将从上述解析器部4作为JOB信息而供给的接收分组的通信参数与预先存储于检索表5的多个检索条件(分组检索条件)依次比较,如果找到与通信参数一致的检索条件,则从检索表5读出与表示该检索条件相对应的检索结果的信息并供给至QoS部7。
QoS部7以上述供给的表示检索结果的信息为基础而判定上述接收分组是通过对象或丢弃对象。对于该判定的结果,如果上述接收分组为丢弃对象,则QoS部7对缓冲器管理部2供给删除指示,使相应的分组从分组缓冲器3删除,并且,删除上述JOB信息。相对于此,如果上述接收分组为通过对象,则QoS部7根据从该JOB信息得到的质量等级而积累于未图示的队列。而且,如果通过调度处理而得到上述分组的发送机会,则QoS部7将送出帧信息供给至帧生成部8。帧生成部8经由缓冲器管理部2从分组缓冲器3读出相应的分组,重写该分组的报头的MAC(Media Access Control,媒体接入控制)地址及IP地址等,然后,向帧发送部9输出。帧发送部9将上述供给的分组向未图示的发送侧的电路接口输出。
此外,上述检索表5及检索部6如下地构成。图2是示出它们的构成的框图。
首先,检索表5具备有效管理表51、条目检索表52以及条目结果表53。作为一个示例条目检索表52具有2048个条目区域,分别在控制部20的控制之下将检索条件存储于这些条目区域。
检索条件由用于例如分组过滤、网络地址端口变换(NAPT)检索,路径高速缓存检索的发送方IP地址、收件IP地址、发送方端口号码、收件端口号码、UDP(User Datagram Protocol,用户数据报协议)、TCP(Transmission Control Protocol,传输控制协议)等协议表示。此外,作为检索条件,除了这些以外,也可以使用指定掩码或前缀以便用于路径检索的IP地址/端口号码、ICMP(Internet Control Message Protocol,因特网控制消息协议)码号码或片段分组信息的有无。总之,只要是用于识别分组的信息,不管是如何的信息,都能够适用。
此外,在图2所示的条目检索表中,为了容易理解,示出与协议号码相对应的协议的名称(tcp、udp),但实际上存放协议号码。对于此后说明的图中所示的条目检索表也是如此。
有效管理表51与上述条目检索表52的各条目区域相对应地具有2048个有效位区域。在这些有效位区域中,分别在控制部20的控制之下存储有表示存储于上述条目检索表52的条目区域的检索条件有效或无效的有效/无效位(有效/无效标识)。在图2中,举例说明将有效位设为“1”、将无效位设为“0”的情况。
条目结果表53与上述条目检索表52的各条目区域相对应地设有2048个通过/丢弃位区域和变换地址区域。在通过/丢弃位区域,存储有指定分组通过或丢弃的通过/丢弃位。在变换地址区域,存储有用于在使接收分组通过时变换其报头地址的变换地址。此外,通过/丢弃位及变换地址向通过/丢弃位区域及变换地址区域的存储处理也在控制部20的控制之下进行。
接着,检索部6具备检索处理部61、定时器管理部62、更新定时器管理部63、更新定时器管理表64、管理定时器寄存器表65以及超时管理表66。
检索处理部61将存储于上述条目检索表52的多个检索条件中的与在有效管理表51上设定有效位“1”的有效位区域相对应的检索条件和接收分组的通信参数依次比较,如果找到与通信参数一致的检索条件,则执行从条目结果表53读出与该检索条件相对应的通过/丢弃位及变换地址并输出的处理。
更新定时器管理部63使用设在更新定时器管理表64的计数器642来对系统时钟进行计数,每当其计数值达到存储于更新定时器管理表64的定时器值寄存器641的值时,对定时器管理部62输出递减要求。
管理定时器寄存器表65具备管理定时器寄存器651和管理定时器阈值寄存器652。在管理定时器寄存器651,设有与上述条目检索表52的条目区域相对应的2048个定时器寄存器区域,在这些定时器寄存器区域存储有定时器的计数值。在管理定时器阈值寄存器652,存储上述定时器的最大计数值(超时值)。
定时器管理部62使用定时器来监视存储于条目检索表52的检索条件是否在使用中,具有进行以下处理的功能。
(1)当在有效管理表51上设定有效位“1”时,在对应于与有效位区域相对应的检索条件的定时器寄存器区域,设置管理定时器阈值寄存器652的最大计数值,每当从上述更新定时器管理部63输出递减要求时,将上述定时器寄存器区域的计数值递减的处理。
(2)在上述递减处理执行期间之中,即定时器的计时中,如果从上述检索处理部61通知表示接收分组的通信参数与检索条件一致的一致信息,则在该时刻使上述定时器寄存器区域的计数值返回至管理定时器阈值寄存器652的最大计数值的处理。
(3)在上述递减处理的执行期间之中,如果未从上述检索处理部61通知一致信息,而上述定时器寄存器区域的计数值成为“-1”,则将此看作超时,将管理定时器寄存器651的相应的定时器值设定为“0”,而且,使表示超时的信息“1”存储于超时管理表66内的对应的条目超时寄存器661的处理。
接着,说明如以上那样构成的分组转送处理装置导致的检索条件的使用状况监视动作。图3至图5是示出定时器管理部62的处理顺序和处理内容的流程图。
如图3所示,定时器管理部62在步骤S51中,监视对在对应的有效位区域设定有效位“1”的检索条件的访问,并且,在步骤S52中,监视来自检索处理部61的有效检索结果的输出。在该状态下,例如伴随着通信开始而将“1”或“0”写入有效管理表51,或者,从检索处理部61通知有效的检索结果。
于是,定时器管理部62将处理转移至步骤S53而判定是否能够进行对管理定时器寄存器表65的访问,如果不能访问,则待机,直到能够访问为止。在该状态下,如果管理定时器寄存器651的定时器值的递减处理等结束、能够进行对管理定时器寄存器表65的访问,则定时器管理部62将处理转移至步骤S54,在管理定时器寄存器651的相应的定时器寄存器区域,设置管理定时器阈值寄存器652的最大计数值,(例如在图2中为“200”)作为定时器值。
在后述的定时器的计时期间之中,在将“1”或“0”写入有效管理表51或者从检索处理部61通知有效的检索结果的情况下,也进行以上所述的对管理定时器寄存器651的定时器值的设置。即,每当将“1”或“0”写入有效管理表51的相应的有效位区域或者从检索处理部61通知有效的检索结果时,定时器从最初开始重新进行计时动作。
如图5所示,更新定时器管理部63首先在将计数器642重置之后,通过步骤S71使用该计数器642来开始系统时钟的计数,通过步骤S72监视该计数值是否达到存储于定时器值寄存器641的值。然后,如果计数器642的计数值达到定时器值寄存器641的定时器值“133000000”,则更新定时器管理部63通过步骤S73对定时器管理部62输出递减要求。以下,重复上述步骤S71~步骤S73的处理。因此,从更新定时器管理部63以由上述定时器值和系统时钟的周期决定的时间间隔输出递减要求。例如,如果系统时钟为133MHz,而且定时器值为“133000000”,则每1秒从更新定时器管理部63输出递减要求。
每当从上述更新定时器管理部63输出递减要求时,定时器管理部62如以下那样执行定时器值的递减处理,即定时器的计时处理。即,如图4所示,定时器管理部62首先在通过步骤S61将管理定时器寄存器651的条目号码初始设定为“0”之后,在步骤S62中判定条目号码是否达到作为最大值“2047”+1的“2048”。
然后,如果条目号码未达到作为最大值+1的“2048”,则定时器管理部62在步骤S63中判定是否能够进行对管理定时器寄存器表65的访问,如果不能访问,则待机直到能够访问为止。在该状态下,如果向管理定时器寄存器651的定时器的最大计数值的设定处理等结束、能够进行对管理定时器寄存器表65的访问,则定时器管理部62将处理转移至步骤S64,将与管理定时器寄存器651的条目号码“0”相对应的定时器寄存器区域的计数值,即定时器值递减(-1)。然后,定时器管理部62在步骤S65中判定该递减后的计数值是否为“0”以上。如果递减后的计数值为“0”以上,则定时器管理部62将处理转移至步骤S66,使示出仍在计时中的“0”存储于超时管理表66的相应的条目超时寄存器661的区域。
然后,如果与条目号码“0”相对应的定时器的递减处理结束,则定时器管理部62接着通过步骤S68将条目号码递增(+1)而使处理返回至步骤S62。然后,通过步骤S62~步骤S66及步骤S68执行条目号码“1”的定时器的递减处理。以下,同样地,在步骤S62中,定时器管理部62通过上述步骤S62~步骤S66及步骤S68而重复执行与各条目号码相对应的定时器值的递减处理,直到条目号码超过作为最大值的“2047”为止。而且,如果条目号码超过“2047”,则定时器管理部62结束递减处理。
接着,上述递减处理的结果为与某个条目号码相对应的定时器值成为“-1”。如果在步骤S65中检测到该定时器值为“-1”,则定时器管理部62将此看作超时,通过步骤S67将管理定时器寄存器651的相应的定时器值设定为“0”,而且使表示定时器超时的信息“1”存储于超时管理表66内的对应的条目超时寄存器661。
控制部20基于存储于上述超时管理表66的条目超时寄存器661的信息(即表示定时器在计时中或超时的信息),执行变更有效管理表51的有效位区域的处理。另外,与此同时,控制部20执行从条目检索表52检测空条目区域并在该空条目区域设定用于新的通信的检索条件的处理。
对于用于进行该空条目区域的检测及检索条件的设定的构成及方法,考虑以下2个。
第1构成及方法在超时管理表66设有聚集寄存器,控制部20以该聚集寄存器的输出为基础确定空条目区域。图6A是将该情况下的聚集寄存器67的构成与条目超时寄存器661一起示出的电路图。
即,条目超时寄存器661的2048个位区域分割成多个组,对于这些组的每个而设有或电路671-0~671-63(以下,这些电路总称为或电路671)。这些或电路671分别从属于上述条目超时寄存器661的相应的组的位区域取入表示超时的有无的位数据,输出这些位数据的或数据。上述或电路671进一步分割成多个块,对于这些块的每个而设有超时汇集寄存器672-0及672-1。在这些超时汇集寄存器672-0及672-1,存储有从分别属于该块的上述或电路671-0~671-31及或电路671-32~671-63分别输出的或数据。此时,在上述或电路671的块划分中,根据控制部20的CPU的架构而决定各块中的或数据的位数。例如,如果CPU是32位架构,则划分或电路671,使得32个为1块。
控制部20首先从上述超时汇集寄存器672-0及672-1分别读出32个逻辑电路671-0~671-31的或数据及32个或电路671-32~671-63的或数据,判定在这些或数据中是否包括表示定时器超时的位“1”。例如,控制部20判定各超时汇集寄存器的值是否为“0”。该判定的结果为,如果找到包括表示定时器超时的位“1”的块,则控制部20接着从其或数据确定超时位“1”的位的位置,选择该确定的位的位置所属的组。而且,控制部20从属于该选择的组的上述条目超时寄存器661的位区域读出位数据,以该读出的位数据为基础,以超时的条目区域作为空条目区域而检测。
控制部20将新的通信所需要的检索条件写入条目检索表52内的作为上述空条目区域而检测的条目区域。另外,与此同时,控制部20将通过/丢弃信息及变换地址写入条目结果表53内的与上述条目区域相对应的区域。而且,控制部20将有效位“1”写入有效管理表51内的与上述条目区域相对应的有效位区域。
第2构成及方法使用FIFO(First in First out,先进先出)存储器来管理与超时的定时器相对应的条目区域的号码。
即,如图6B所示,在检索部6’的超时管理表66’内设有FIFO存储器68。或者,如图6C所示,与超时管理表66独立地在检索部6’’内设有FIFO存储器68。而且,在定时器超时时,定时器管理部62使与该超时的定时器相对应的条目区域的号码(识别信息)存储于上述FIFO存储器68。
控制部20在确定空条目区域时,从上述FIFO存储器68读出其存储顺序早的条目区域的号码,确定由该读出的号码表示的条目区域作为空条目区域。然后,控制部20将新的通信所需要的检索条件写入条目检索表52内的作为上述空条目区域而检测的条目区域。另外,与此同时,控制部20将通过/丢弃信息及变换地址写入条目结果表53内的与上述条目区域相对应的区域。而且,控制部20将有效位“1”写入有效管理表51内的与上述条目区域相对应的有效位区域。
如以上所详述的,在该实施方式中,与条目检索表52的各条目区域相对应地将用于监视其使用时间的定时器设在管理定时器寄存器651。然后,在定时器管理部62的控制之下,每当将“1”或“0”写入有效管理表51或者从检索处理部61通知有效的检索结果时,使上述定时器开始计时动作。另外,在上述定时器的计时时间超过预先设定的超时时间时,使该超时的意思的信息存储于超时管理表66的相应的寄存器区域。
因此,控制部20能够在通信开始时以存储于上述超时管理表66的表示超时的结果的信息为基础,确定上述条目检索表52中的空条目区域,能够使此后的通信所需要的检索条件存储于该检测的空条目区域。
因此,即使在通信期间之中控制部20不参与分组转送处理的情况下,控制部20也能够掌握条目检索表52中的空条目区域,而动态地管理条目检索表52中的检索条件的条目。其结果是,能够提高条目检索表52的条目区域的利用效率并缩减条目检索表52的存储器容量。
而且,在该实施方式中,在超时管理表66设有聚集寄存器67,控制部20以该聚集寄存器67的输出为基础确定空条目区域。因此,在确定空条目区域时,控制部20能够以两个阶段进行确定空条目区域时的限定。因此,与对于条目检索表52的全部的条目区域而按照顺序判定其有效/无效的情况相比,能够大幅地缩短为了确定空条目区域而需要的处理步骤及时间。例如,在条目检索表具备2048个条目区域的情况下,对于超时的条目区域的检索,如果在以往,则需要最长64(检索非0的32位寄存器)+32(非0的32位寄存器内的位检索)=96个步骤的处理。相对于此,如果是本实施方式,则能够将处理所需要的步骤数缩减为1+32+32=65个步骤。
另外,如果使用FIFO存储器68来管理与超时的定时器相对应的条目区域的号码,则控制部20只要从该FIFO存储器68读出条目区域的号码,就能够不进行空条目区域的搜索处理就进一步简单地且在短时间内确定空条目区域。
(第2实施方式)
接着,作为本发明的第2实施方式,说明用于缩减条目检索表的存储器容量的实施方式。
第2实施方式为,通过双方向检索而进行在进行NAPT(Network Address Port translation,网络地址端口变换)或分组过滤的情况下的对条目检索表的检索处理。
图7A示出与双方向检索相对应的条目检索表的构成例。此外,在此,假设在2个接口间转送分组,以各个接口作为接口0/接口1而进行说明。另外,在该实施方式中,对于条目检索表等,也使用图2所示的标号来进行说明。
在从条目检索表52检索与由接口0接收的分组的通信参数一致的检索条件的情况下,检索处理部61将接收分组的报头所包括的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码/协议号码与作为检索条件而存储于条目检索表52的条目区域的IP地址0/IP地址1/端口号码0/端口号码1/协议号码相比较。
在为了分组过滤或分组分类而使用该检索条件的情况下,QoS部7根据对应于与上述通信参数一致的检索条件的条目结果表53的内容,对接收分组进行通过/丢弃/等级划分等处理。
在NAPT的情况下,IP地址2/IP地址3、端口号码2/端口号码3作为NAPT变换后的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码而使用。
相反,在检索与由接口1接收的分组的通信参数一致的检索条件的情况下,检索处理部61将接收分组的报头所包括的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码/协议号码与作为检索条件而存储于条目检索表52的IP地址3/IP地址2/端口号码3/端口号码2/协议号码相比较。而且,QoS部7根据对应于与通信参数一致的检索条件而存储于条目结果表53的通过/丢弃信息,决定对该接收分组的处理。
在NAPT的情况下,IP地址1/IP地址0/端口号码1/端口号码0分别作为NAPT变换后的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码而使用。
这样,对存储于条目检索表52的条目区域的检索条件沿双方向检索,由此,减少条目检索表52的条目区域。由此,能够缩减条目检索表52的存储器容量。
在图7B中示出用于进一步缩减条目检索表52的存储器容量的条目检索表的构成。
在从条目检索表52检索与由接口0接收的分组的报头所包括的通信参数一致的检索条件的情况下,检索处理部61将接收的分组的报头所包括的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码/协议号码与作为检索条件而存储于条目检索表52的IP地址1/IP地址0/端口号码1/端口号码0/协议号码相比较。
在该情况下,与之前所述的图7A的情况同样地,QoS部7根据对应于与通信参数一致的检索条件而存储于条目结果表53的通过/丢弃信息,决定该接收分组的动作。
在NAPT的情况下,IP地址2/端口号码2作为NAPT变换后的收件IP地址/收件端口号码而使用。
相反,在从条目检索表52检索与由接口1接收的分组的报头所包括的通信参数一致的检索条件的情况下,检索处理部61将作为通信参数而包括在所接收的分组的报头中的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码/协议号码与作为检索条件而存储于条目检索表52的IP地址0/IP地址2/端口号码0/端口号码2/协议号码相比较。在该情况下,与之前所述的图7A的情况同样地,QoS部7根据对应于与通信参数一致的检索条件而存储于条目结果表53的通过/废弃信息,决定该接收分组的动作。
在NAPT的情况下,IP地址1/端口号码1作为NAPT变换后的发送方IP地址/发送方端口号码而使用。
通过这样,能够进一步减少条目检索表52的条目区域而缩减存储器容量。
此外,能够不判定分组由哪个接口接收就进行条目检索表52的检索。
例如,将作为通信参数而插入所接收的分组的报头的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码/协议号码与检索条件A(条目检索表52的IP地址0/IP地址1/端口号码0/端口号码1/协议号码)及检索条件B(条目检索表52的IP地址3/IP地址2/端口号码3/端口号码2/协议号码)分别比较。
而且,在以分组过滤、分组分类为目的而使用上述检索条件来检索的情况下,在接收分组的通信参数与上述任一个检索条件一致的情况下,QoS部7根据与该一致的检索条件相对应而存储于条目结果表53的通过/丢弃信息,进行通过/丢弃/等级划分等。
在NAPT的情况下,根据与通信参数一致的检索条件而改变分组的重写信息。例如,在通信参数与检索条件A一致的情况下,IP地址2/IP地址3/端口号码2/端口号码3作为NAPT变换后的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码而使用。另外,在通信参数与检索条件B一致的情况下,IP地址1/IP地址0/端口号码1/端口号码0作为NAPT变换后的收件IP地址/发送方IP地址/收件端口号码/发送方端口号码而使用。
这些全都使进行通信参数和检索条件的比较的比较部的电路规模增大。然而,由于能够将检索规则数(条目检索表52的总条目数)为1/2,所以在需要的检索条件的数量多的情况下尤其有效。
在以上的说明为IPv4的情况下,为了存储2个检索条件而使用两个条目区域(参照图8的上侧所示的IPv4用的条目检索表)。
另一方面,在IPv6的情况下,应该指定的地址长度非常长。在该情况下,通过使用2个条目区域,能够缩减条目检索表52的存储器容量。
例如,如图8的下侧所示,构成IPv6用的条目检索表。即,使用两个条目区域所包括的IP地址0/IP地址1/IP地址2/端口号码0/端口号码1的区域,设定发送方IPv6地址及收件IPv6地址。另外,使用两个条目区域所包括的端口号码2的区域,设定发送方端口号码及收件端口号码。而且,使用两个条目区域所包括的协议号码的区域,设定协议号码。由此,能够设定IPv6分组的发送方IPv6地址/收件IPv6地址/发送方端口号码/收件端口号码/协议号码。
在以上的示例中,在两者的条目区域存在着相同协议号码。然而,在根据在IPv4的情况下使用的设定(地址等的分配)而使用各个条目区域来设定发送方IPv6地址/收件IPv6地址、发送方端口号码/收件端口号码及协议号码的情况下,在条目检索表中未使用的区域变大。如果与此相比,则在两者的条目区域存在着相同协议号码的情况能够有效地利用条目检索表。
另外,作为对该IPv6用的条目检索表的检索组件,考虑如下那样的构成。即,对于每个检索条件指定IPv4用的检索条件或IPv6用的检索条件。在IPv4分组的情况下,如之前所说明地进行检索处理。通常,在进行高速检索的情况下,使用多个用于比较分组的通信参数和检索条件的电路。
例如,如图9所示,在检索部6中,由读出电路611从条目检索表分别读出第偶数个检索条件及第奇数个检索条件,将这些条件分别供给至比较部612内的子比较部6121、6122。通过这样,并行地进行分组的通信参数和检索条件的比较处理。
即,在子比较部6121中,接收分组的发送方IPv6地址及收件IPv6地址分别与条目检索表52的IPv6地址0比较。另外,在子比较部6121中,接收分组的发送方端口号码及收件端口号码分别与条目检索表52的端口号码2比较。而且,在子比较部6121中,接收分组的协议号码与条目检索表52的协议号码比较。同样地,在子比较部6122中,接收分组的发送方IPv6地址及收件IPv6地址分别与条目检索表52的IPv6地址1比较。另外,在子比较部6122中,接收分组的发送方端口号码及收件端口号码分别与条目检索表52的端口号码2比较。而且,在子比较部6122中,接收分组的协议号码与条目检索表52的协议号码比较。
然后,将这些比较结果输入判定电路6123。在IPv4分组的情况下,判定电路6123将子比较部6121/子比较部6122的各自的比较结果独立地评价。即,在子比较部6121/子比较部6122两者示出接收分组的通信参数和检索条件的不一致的情况下,判定电路6123输出示出不一致的判定结果。在子比较部6121/子比较部6122的任一个示出接收分组的通信参数和检索条件的一致的情况下,判定电路6123输出示出与输出示出一致的比较结果的子比较部相对应的第偶数个条目区域或第奇数个条目区域的判定结果。在子比较部6121/子比较部6122的两者示出接收分组的通信参数和检索条件的一致的情况下,判定电路6123根据检索条件的优先级,输出与子比较部6121或子比较部6122相对应的第偶数个条目区域或第奇数个条目区域的判定结果。
另一方面,在IPv6分组的情况下,在子比较部6121中接收分组的收件IPv6地址/收件端口号码/协议号码与第偶数个检索条件一致且在子比较部6122中接收分组的发送方IPv6地址/发送方端口号码/协议号码与第奇数个检索条件一致的情况下,判定电路6123判断为接收分组的通信参数与检索条件一致。
同样地,在子比较部6121中接收分组信息的发送方IPv6地址/发送方端口号码/协议号码与第偶数个检索条件一致、且在子比较部6122中接收分组的收件IPv6地址/收件端口号码/协议号码与第奇数个检索条件一致的情况下,判定电路6123判断为接收分组的通信参数与检索条件一致。
通过这样地构成,即使在IPv6分组和IPv4分组混在一起的情况下,也谋求条目检索表52的存储器容量的最佳化。
(其它实施方式)
此外,本发明不限定于上述实施方式。例如,作为分组转送部10的构成,如在图10中作为分组转送部10’所示的,也可以将从检索部6输出的检索结果供给至帧生成部8,将从该帧生成部8输出的送出帧信息供给至QoS部7。
在该情况下,由帧接收部1接收的接收分组经由解析器部4及检索部6而转送至帧生成部8。而且,在从检索部6输出的检索结果示出分组的丢弃的情况下,帧生成部8丢弃接收分组。相对于此,在检索结果未示出分组的丢弃的情况下,帧生成部8进行生成将接收分组的报头的MAC地址及IP地址等重写的分组等处理。接着,帧生成部8经由缓冲器管理部2而使所生成的分组存储于分组缓冲器3,将送出帧信息向Qos部7输出。通过采用以上的构成,不需要使丢弃的分组存储于分组缓冲器3,所以能够更有效地利用分组缓冲器3。
另外,在前述各实施方式中,从检索部6输出检索结果(通过/丢弃位及变换地址)。然而,也可以从检索部6输出条目号码,帧生成部8或QoS部7访问检索表5内的条目结果表53,取得与从检索部6输出的条目号码相对应的通过/丢弃位及变换地址,输出所取得的通过/丢弃位及变换地址。而且,在前述各实施方式中,将通过/丢弃的设定信息及变换后地址作为表示检索结果的信息而从条目结果表53输出。然而,除了这些以外,也可以输出“从特定接口输出”、“丢弃”、“设定质量等级”、“重写IP地址、端口号码”这样的信息。这些信息通知至帧生成部8或QoS部7,帧生成部8或QoS部7进行对该分组的操作。
此外,除了构成上述的分组转送处理装置的各部分由专用的硬件实现的方式以外,也可以是通过由具备存储器及CPU等的计算机系统构成、且将用于实现这些各部分的处理的程序装载于存储器并执行,从而使这些功能实现的方式。另外,也可以预先将该程序记录于计算机可读取记录介质,使记录于该记录介质的程序读入计算机系统而执行。
在此所说的计算机系统包括操作系统、外部设备等硬件。另外,计算机可读取记录介质是指软盘、光磁盘、ROM(Read Only Memory,只读存储器),CD(Compact Disc,光盘)-ROM等移动介质、内置于计算机系统的硬盘等存储装置。上述程序也可以是用于实现前述的功能的一部分的程序。或者,上述程序也可以是能够通过与已记录于计算机系统的程序的组合而实现前述的功能的程序,所谓的差量程序。
此外,对于设在检索表的表的种类、其构成、检索部及定时器管理部的处理顺序及处理内容等,在不脱离本发明的要旨的范围内,能进行各种变形而实施。
总之,本发明不按照原样地限定于上述各实施方式,在实施阶段中,在不脱离其要旨的范围内,能够将构成要素变形而具体化。另外,能够通过上述各实施方式所公开的多个构成要素的适当的组合而形成各种变形。例如,也可以从各实施方式所示的全部的构成要素删除几个构成要素。而且,也可以将跨不同实施方式的构成要素适当组合。
产业上的可利用性
本发明能够由例如在IP网中使用的路由器利用。依据本发明,能够可靠且效率良好地检测通信期间的结束。因此,可有效地进行检索表中的检索规则的有效/无效的管理,能够进一步有效地使用有限的检索表的条目区域。
标号的说明
1…帧接收部,2…缓冲器管理部,3…分组缓冲器,4…解析器,5…检索表,6、6’、6’’…检索部,7…QoS部,8…帧生成部,9…帧发送部,10、10’…分组转送部,20…控制部,30…总线,51…有效管理表,52…条目检索表,53…条目结果表,61…检索处理部,62…定时器管理部,611…读出电路,612…比较部,6121、6122…子比较部,6123…判定电路,63…更新定时器管理部,64…更新定时器管理表,641…定时器值寄存器,642…计数器,65…管理定时器寄存器表,651…管理定时器寄存器,652…管理定时器阈值寄存器,66、66’…超时管理表,661…条目超时寄存器,67…聚集寄存器,671-0、671-1、671-31、671-32、671-63…或电路,672-0、672-1…超时汇集寄存器,68…FIFO存储器。
Claims (12)
1.一种分组转送处理装置,具备:
检索表,具有存储多个分组检索条件的多个条目区域;
检索处理部,每当接收分组时,将所述接收的分组的通信参数与存储于所述检索表的所述多个分组检索条件分别比较,输出对应于与所述通信参数一致的分组检索条件的检索结果;
转送处理部,基于所述检索结果进行所述接收的分组的转送或丢弃处理;
有效管理表,存储对应于存储在所述检索表的各个所述多个分组检索条件来设定所述分组检索条件有效或无效的信息;
定时器,与各个所述多个条目区域相对应;
定时器管理部,每当接收与设定为有效的所述有效管理表上的信息相对应的分组检索条件与通信参数一致的分组时、或每当将所述信息写入所述有效管理表时,由所述定时器开始计时动作;
超时管理表,对于每个所述定时器而存储表示所述定时器在计时动作中或者已经超时的信息;
有效无效管理部,在所述定时器的计时时间超过预先设定的超时时间时,使表示所述定时器超时的信息存储于所述超时管理表,并且,将存储于所述有效管理表的所述信息中的与超时的所述定时器相对应的信息从有效变更为无效;以及
控制部,在通信开始时,以存储于所述超时管理表的所述信息为基础来检测所述检索表中的空条目区域,使所述通信所需要的分组检索条件存储于所述检测到的空条目区域。
2.如权利要求1所述的分组转送处理装置,
所述超时管理表具备:
超时寄存器,具有与所述检索表的各条目区域相对应而设置的多个位区域,将表示所述定时器在计时动作中或者已经超时的位数据存储于所述多个位区域中的与所述定时器相对应的位区域;
多个或电路,与分割所述超时寄存器的所述多个位区域而成的多个组相对应地设置,输出存储于各组所包括的多个位区域的位数据的或数据;以及
多个汇集寄存器,与将所述多个或电路以所述控制部的处理器能够同时地处理的位数分割而成的多个块相对应地设置,存储从各块所包括的或电路输出的或数据,
所述控制部在检测所述空条目区域时,以存储于所述汇集寄存器的所述或数据为基础来选择包括示出所述定时器超时的位的块,从所述选择的块内的示出所述定时器超时的位的位置开始选择包括示出所述定时器超时的位的位置的组,从属于所述选择的组的所述超时寄存器的位区域读出位数据,以读出的所述位数据为基础来检测与超时的所述定时器相对应的条目区域。
3.如权利要求1所述的分组转送处理装置,
具备在所述定时器超时时依次存储与超时的所述定时器相对应的所述检索表的条目区域的识别信息的存储器,
所述控制部在检测所述空条目区域时,从所述存储器按照存储顺序早的顺序读出所述条目区域的识别信息,以由读出的所述识别信息表示的条目区域作为所述空条目区域。
4.如权利要求1~3的任一项所述的分组转送处理装置,
分组在第1接口与第2接口之间转送,
存储于所述检索表的各分组检索条件包括第1检索条件、第2检索条件及第3检索条件,
所述检索处理部,
在所述接收的分组是由所述第1接口接收的第1分组的情况下,将所述第1分组的通信参数与所述第1检索条件及所述第3检索条件的组相比较,如果所述第1分组的所述通信参数与所述第1检索条件及所述第3检索条件的组一致,则输出所述检索结果,
在所述接收的分组是由所述第2接口接收的第2分组的情况下,将所述第2分组的通信参数与所述第2检索条件及所述第3检索条件的组相比较,如果所述第2分组的所述通信参数与所述第2检索条件及所述第3检索条件的组一致,则输出所述检索结果。
5.如权利要求4所述的分组转送处理装置,
所述检索处理部,在所述接收的分组是所述第1分组的情况下,作为对所述第1分组的网络地址端口变换所导致的变换后的通信参数而输出所述第2检索条件,在所述接收的分组是所述第2分组的情况下,作为对所述第2分组的网络地址端口变换所导致的变换后的通信参数而输出所述第1检索条件。
6.如权利要求1~3的任一项所述的分组转送处理装置,
分组在第1接口与第2接口之间转送,
存储于所述检索表的各分组检索条件包括第1检索条件、第2检索条件及第3检索条件,
所述检索处理部,不论所述接收的分组由所述第1接口接收或由所述第2接口接收,均将所述接收的分组的通信参数与所述第1检索条件及所述第3检索条件的组相比较,并且,将所述接收的分组的所述通信参数与所述第2检索条件及所述第3检索条件的组相比较,如果所述通信参数与所述第1检索条件及所述第3检索条件的组一致、或所述通信参数与所述第2检索条件及所述第3检索条件的组一致,则输出所述检索结果。
7.如权利要求6所述的分组转送处理装置,
如果所述接收的分组的通信参数与所述第1检索条件及所述第3检索条件的组一致,则所述检索处理部作为对所述接收的分组的网络地址端口变换所导致的变换后的通信参数而输出所述第2检索条件,如果所述通信参数与所述第2检索条件及所述第3检索条件的组一致,则所述检索处理部作为所述变换后的通信参数而输出所述第1检索条件。
8.如权利要求1~3的任一项所述的分组转送处理装置,
在所述检索表,各个IPv4用的分组检索条件存储于1个条目区域上,各个IPv6用的分组检索条件存储于2个条目区域上,
所述IPv6用的分组检索条件具有与IPv6分组的通信参数所具有的第1参数、第2参数及第3参数分别相对应的第1检索条件、第2检索条件及第3检索条件,所述第1检索条件及所述第3检索条件存储于所述2个条目区域中的第偶数个条目区域,所述第2检索条件及所述第3检索条件存储于所述2个条目区域中的第奇数个条目区域,
所述检索处理部根据所述接收的分组为IPv4分组或所述IPv6分组,将各个所述IPv4用的分组检索条件或各个所述IPv6用的分组检索条件与所述接收的分组的所述通信参数相比较。
9.如权利要求8所述的分组转送处理装置,
所述检索处理部具备:
第1比较部,将所述接收的分组的所述通信参数与所述第偶数个条目区域的分组检索条件相比较来输出第1比较结果;
第2比较部,将所述通信参数与所述第奇数个条目区域的分组检索条件相比较来输出第2比较结果;以及
判定部,基于所述第1比较结果及所述第2比较结果来判定是否检索到与所述通信参数一致的分组检索条件,
在所述接收的分组为所述IPv4分组的情况下,
如果所述第1比较结果及所述第2比较结果的至少一个示出一致,则所述判定部判定为检索到与所述通信参数一致的分组检索条件,
在所述接收的分组为所述IPv6分组的情况下,
所述第1比较部将所述第偶数个条目区域的分组检索条件与所述第1参数及所述第3参数的组相比较,并且将所述第偶数个条目区域的分组检索条件与所述第2参数及所述第3参数的组相比较,
所述第2比较部将所述第奇数个条目区域的分组检索条件与所述第1参数及所述第3参数的组相比较,并且将所述第奇数个条目区域的分组检索条件与所述第2参数及所述第3参数的组相比较,
如果所述第偶数个条目区域的分组检索条件与所述第1参数及所述第3参数的组一致且所述第奇数个条目区域的分组检索条件与所述第2参数及所述第3参数的组一致,或者,所述第奇数个条目区域的分组检索条件与所述第1参数及所述第3参数的组一致且所述第偶数个条目区域的分组检索条件与所述第2参数及所述第3参数的组一致,则所述判定部判定为检索到与所述通信参数一致的分组检索条件。
10.一种分组转送处理方法,具备:
检索表存储过程,将多个分组检索条件存储于检索表的多个条目区域;
检索处理过程,每当接收分组时,将所述接收的分组的通信参数与存储于所述检索表的所述多个分组检索条件分别比较,输出对应于与所述通信参数一致的分组检索条件的检索结果;
转送处理过程,基于所述检索结果来进行所述接收的分组的转送或丢弃处理;
有效管理表存储过程,将对应于存储在所述检索表的各个所述多个分组检索条件来设定所述分组检索条件有效或无效的信息存储于有效管理表;
计时过程,对于各个所述多个条目区域,每当接收与设定为有效的所述有效管理表上的信息相对应的分组检索条件与通信参数一致的分组时、或每当将所述信息写入所述有效管理时,由对应的定时器开始计时动作;
超时管理表存储过程,当所述定时器在计时动作中时,使表示计时中的信息存储于超时管理表,当所述定时器的计时时间超过预先设定的超时时间时,使表示所述定时器超时的信息存储于所述超时管理表;
有效管理表变更过程,在所述定时器的所述计时时间超过所述超时时间时,将存储于所述有效管理表的所述信息中的与超时的所述定时器相对应的信息从有效变更为无效;以及
检索条件存储过程,在通信开始时,以存储于所述超时管理表的所述信息为基础来检测所述检索表中的空条目区域,使所述通信所需要的分组检索条件存储于所述检测到的空条目区域。
11.如权利要求10所述的分组转送处理方法,
所述超时管理表存储过程具备:
超时寄存器存储过程,使表示所述定时器在计时动作中或者已经超时的位数据存储在与所述检索表的各条目区域相对应而设置的超时寄存器的多个位区域中的与所述定时器相对应的位区域;
或数据算出过程,将所述超时寄存器的所述多个位区域分割成多个组,对于每个组求出存储于各组所包括的多个位区域的位数据的或数据;
汇集过程,将所求出的多个或数据以处理器能同时处理的位数分割成多个块,对于每个块,使各块所包括的或数据汇集而存储于汇集寄存器,
所述检索条件存储过程具备:
块选择过程,在检测所述空条目区域时,以存储于所述汇集寄存器的所述或数据为基础来选择包括示出所述定时器超时的位的块;
组选择过程,从所述选择的块内的示出所述定时器超时的位的位置开始选择包括示出所述定时器超时的位的位置的组;以及
条目区域检测过程,从属于所述选择的组的所述超时寄存器的位区域读出位数据,以读出的所述位数据为基础来检测与超时的所述定时器相对应的条目区域。
12.如权利要求10所述的分组转送处理方法,
具备识别信息存储过程,在所述定时器超时时、使与超时的所述定时器相对应的所述检索表的条目区域的识别信息依次存储于存储器,
在检测所述空条目区域时,所述检索条件存储过程从所述存储器按照存储顺序早的顺序读出所述条目区域的识别信息,以由读出的所述识别信息表示的条目区域作为所述空条目区域。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-023251 | 2010-02-04 | ||
JP2010023251 | 2010-02-04 | ||
PCT/JP2010/071460 WO2011096127A1 (ja) | 2010-02-04 | 2010-12-01 | パケット転送処理装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102812675A CN102812675A (zh) | 2012-12-05 |
CN102812675B true CN102812675B (zh) | 2015-05-13 |
Family
ID=44355149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080062742.7A Expired - Fee Related CN102812675B (zh) | 2010-02-04 | 2010-12-01 | 分组转送处理装置、方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8902756B2 (zh) |
JP (1) | JP5389193B2 (zh) |
CN (1) | CN102812675B (zh) |
WO (1) | WO2011096127A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011152052A1 (ja) * | 2010-06-02 | 2011-12-08 | パナソニック株式会社 | 通信制御装置およびパケットフィルタリング方法 |
JP2013161122A (ja) * | 2012-02-01 | 2013-08-19 | Canon Inc | データ処理装置、情報処理方法、及びプログラム |
KR101972295B1 (ko) | 2016-06-23 | 2019-04-24 | 미쓰비시덴키 가부시키가이샤 | 침입 검지 장치 및 기억 매체에 저장된 침입 검지 프로그램 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791068A (zh) * | 2005-12-31 | 2006-06-21 | 钱德沛 | 千兆线速防火墙核心包过滤算法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249194B2 (en) * | 2002-02-08 | 2007-07-24 | Matsushita Electric Industrial Co., Ltd. | Gateway apparatus and its controlling method |
JP3936883B2 (ja) * | 2002-04-08 | 2007-06-27 | 株式会社日立製作所 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
US20040167897A1 (en) * | 2003-02-25 | 2004-08-26 | International Business Machines Corporation | Data mining accelerator for efficient data searching |
WO2004107683A1 (ja) * | 2003-05-29 | 2004-12-09 | Nec Corporation | パケット中継装置及びパケット中継方法並びにプログラム |
JP4341413B2 (ja) * | 2003-07-11 | 2009-10-07 | 株式会社日立製作所 | 統計収集装置を備えたパケット転送装置および統計収集方法 |
JP4365672B2 (ja) * | 2003-12-04 | 2009-11-18 | 株式会社日立製作所 | パケット通信ノード装置 |
WO2006085374A1 (ja) | 2005-02-10 | 2006-08-17 | Fujitsu Limited | 通信装置 |
JP4340653B2 (ja) * | 2005-12-16 | 2009-10-07 | 日本電信電話株式会社 | 通信処理装置及び通信処理方法 |
JP4137948B2 (ja) | 2006-02-14 | 2008-08-20 | 日本電信電話株式会社 | パケット通過制御装置及びパケット通過制御方法 |
JP4881829B2 (ja) * | 2007-10-03 | 2012-02-22 | 株式会社日立製作所 | パケット転送システム |
JP4663761B2 (ja) * | 2008-06-20 | 2011-04-06 | アラクサラネットワークス株式会社 | パケット中継装置 |
JP2010211388A (ja) * | 2009-03-09 | 2010-09-24 | Canon Inc | 検索装置及び検索方法 |
US8514714B2 (en) * | 2009-10-06 | 2013-08-20 | Electronics And Telecommunications Research Institute | Device and method for providing forwarding information and QOS information in flow based network environment |
-
2010
- 2010-12-01 JP JP2011552665A patent/JP5389193B2/ja active Active
- 2010-12-01 WO PCT/JP2010/071460 patent/WO2011096127A1/ja active Application Filing
- 2010-12-01 CN CN201080062742.7A patent/CN102812675B/zh not_active Expired - Fee Related
- 2010-12-01 US US13/575,062 patent/US8902756B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791068A (zh) * | 2005-12-31 | 2006-06-21 | 钱德沛 | 千兆线速防火墙核心包过滤算法 |
Also Published As
Publication number | Publication date |
---|---|
US8902756B2 (en) | 2014-12-02 |
JPWO2011096127A1 (ja) | 2013-06-10 |
WO2011096127A1 (ja) | 2011-08-11 |
US20120294311A1 (en) | 2012-11-22 |
JP5389193B2 (ja) | 2014-01-15 |
CN102812675A (zh) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6993031B2 (en) | Cache table management device for router and program recording medium thereof | |
US7787442B2 (en) | Communication statistic information collection apparatus | |
Kawadia et al. | System services for ad-hoc routing: Architecture, implementation and experiences | |
KR101745456B1 (ko) | HiL 시뮬레이션 환경에서 대용량 데이터를 전송하기 위한 전자제어 장치, 이를 포함하는 시스템 및 그 방법 | |
CN108632156A (zh) | 负载平衡系统、设备和方法 | |
EP2019360B1 (en) | Data processing apparatus and data transfer method | |
CN107992356A (zh) | 区块链事务区块处理方法、电子装置及可读存储介质 | |
CN102307149B (zh) | Ip查找方法和装置以及路由更新方法和装置 | |
JP3216630B2 (ja) | 通信制御装置 | |
CN103081434A (zh) | 智能存储器 | |
CN103841018A (zh) | 一种基于内容网多端口的转发方法及路由器 | |
CN104821924A (zh) | 一种网络数据包处理方法、装置和网络处理设备 | |
CN102439574A (zh) | 系统缓存中数据替换方法及多核通信处理器 | |
CN102812675B (zh) | 分组转送处理装置、方法 | |
CN116114233A (zh) | 自动流管理 | |
CN101060482B (zh) | 一种路由查找方法和转发系统 | |
Zhang et al. | Identifying elephant flows in internet backbone traffic with bloom filters and LRU | |
CN101848162B (zh) | 一种以太网数据发送装置及数据传输方法 | |
JP3446704B2 (ja) | シェーパ及びそれに用いるスケジューリング方法 | |
CN1692609B (zh) | 以太网(r)中的帧转发方法及节点 | |
CN102045234A (zh) | 路由地址映射信息的缓存及超时处理方法和隧道路由器 | |
CN103095595A (zh) | 一种基于单向并行多链表的网络数据管理方法及系统 | |
CN108566335B (zh) | 一种基于NetFlow的网络拓扑生成方法 | |
CN110297785A (zh) | 一种基于fpga的金融数据流控装置和流控方法 | |
CN102571496A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150513 Termination date: 20201201 |