CN1300147A - 应用于网络装置的查询装置与方法 - Google Patents

应用于网络装置的查询装置与方法 Download PDF

Info

Publication number
CN1300147A
CN1300147A CN01102293A CN01102293A CN1300147A CN 1300147 A CN1300147 A CN 1300147A CN 01102293 A CN01102293 A CN 01102293A CN 01102293 A CN01102293 A CN 01102293A CN 1300147 A CN1300147 A CN 1300147A
Authority
CN
China
Prior art keywords
network address
address
mentioned
package
hash
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.)
Granted
Application number
CN01102293A
Other languages
English (en)
Other versions
CN1138384C (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.)
PUBANG SCIENCE AND TECHNOOGY CO Ltd
Original Assignee
PUBANG SCIENCE AND TECHNOOGY 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 PUBANG SCIENCE AND TECHNOOGY CO Ltd filed Critical PUBANG SCIENCE AND TECHNOOGY CO Ltd
Priority to CNB011022930A priority Critical patent/CN1138384C/zh
Publication of CN1300147A publication Critical patent/CN1300147A/zh
Application granted granted Critical
Publication of CN1138384C publication Critical patent/CN1138384C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种应用于网络装置的查询装置与方法,用以查询网络地址查询表。该查询装置主要包含:一文法分析器,用以取得到来的封包的网络地址信息。特定数量的位移控制逻辑,用以依据到来的封包的网络地址信息,产生特性独立分布(I.I.D.)的杂凑索引。每个位移控制逻辑的输出经由选择器的逐一挑选,可藉由查询网络地址查询表,而输出相对应的转送信息。藉由本发明的位移控制逻辑的设置,可以使查询引擎更有效率地建构每笔数据流的登录(f1owentry),并快速执行属于该笔数据流封包的服务分类。

Description

应用于网络装置的查询装置与方法
本发明涉及一种网络装置的查询引擎,尤指一种可选择特性独立分布(Identity Independent Distribution,以下简称I.I.D.)的杂凑函数的查询引擎,以有效查询网络地址查询表。
为改善网络地址的查询效率,在INFOCOMM2000期刊中,徐俊(Jun Xu)等人发表一种新的快取架构(route caching scheme),可以存储器存取速度支持layer-4的封包分类,(参见“A Novel Cache Architecture toSupport Layer-Four Packet Classification at Memory Access Speeds”一文)。该新的路由快取架构建立在一种全新、且不依赖统计方式的平行杂凑架构(statistically independent parallel hashing scheme)的基础上的动态集合关联架构(dynamic set-associative scheme)。徐俊所设计的路由快取架构(route cache)是针对layer-4的查询需求而设计的。该路由快取架构包含一般的N个分项集合关联架构(N-way set-associative scheme),其中N杂凑函数h1,h2,…,hN满足以下的特性:假设有个任意的杂凑键(hashkey)X,该杂凑键在经过杂凑函数h1(x),h2(x),…,hN(x)等的运算后,所产生的结果会是具有特性独立分布(I.I.D.)的任意变量。
参考图1,当一查询的需求(request)到来时,该需求中由104比特所构成的layer-4地址<DA,SA,DP,SP,PRO>101,会分别被N个不同的硬件杂凑运算装置102平行处理,以产生N个具有r比特的杂凑值,及(104-r)-bit的尾标(tags)。杂凑运算装置102的输出传送到N个独立的SLDRAM(SynchronizeLink Dynamic Random Access Memory)储存区块(banks)103。每个快取登录(entry)的尾标字段将与杂凑运算装置102所输出的尾标值同时且平行地进行比较。如果其中一个登录的配对成功,对应于该登录的“next-hop”字段将会作为多任务器105的最后的“next-hop”输出。相对地,查询失误(lookup miss)则会由一取代逻辑(Replacement Logic)106加以处理。
徐俊的快取架构的优点在于可有效地降低碰撞机率。然而,徐俊并未揭露如何从GF(2)定义下的矩阵中选择具有I.I.D.特性的杂凑函数,而且每个杂凑函数个别地对应于该矩阵。
本发明的主要目的是提供一种易于实施于网络装置且效率高的查询引擎,是利用I.I.D.杂凑函数以达到快速查询网络地址查询表的目的。
本发明的另一目的是提供一种可应用于Layer-4网络装置的查询引擎,以提供快速的封包转送机制。
本发明的又一目的是提供一种易于实施的杂凑机制,以选择具有I.I.D.特性的杂凑函数,进而降低碰撞的机率,提高查询网络地址查询表的效率。
本发明的应用于网络装置的查询装置是这样实现的:其至少包含:一文法分析器,用以取得一到来的封包的网络地址信息;一设定数的位移控制逻辑,其中每一位移控制逻辑用以依据该到来的封包的地址信息,各别产生具有特性独立分布(I.I.D.)特性的杂凑索引;及一选择装置,用以从该设定数的位移控制逻辑中选择一具有I.I.D.特性的杂凑索引,及经由该所选择的I.I.D.特性的杂凑索引,使该网络地址查询表输出该到来的封包的转送判定。
更包含:一中央处理单元,用以在上述的I.I.D.杂凑索引在上述的网络地址查询表中找不到对应的资料时,处理上述的到来的封包。
3.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一目的MAC地址。
4.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一目的IP地址。
5.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一数据流地址。
6.如申请专利范围第1项所述的查询装置,其中上述的位移控制逻辑包含:一位移缓存器,系分为复数个区段,用以依据一设定数的杂凑键的数目,执行该复数个区段的位移;及XOR运算装置,用以执行上述的复数个区段的XOR运算。
7.一种应用于网络装置的查询方法,至少包含步骤:从一到来的封包的标头取得网络地址;分割该m位的网络地址为复数个区段Si,每个区段有n位,其中 ;执行区段Sbase及区段Sextend的XOR运算,以产生一I.I.D.杂凑索引,其中该区段Sbase的形成,是对该每个区段进行XOR运算的结果,及该区段Sextend的形成,是对区段So位移由一特定的杂凑键(hash key)的数目所取决的位数的结果;及以该I.I.D.杂凑索引查询一网络地址查询表,以产生转送信息。
8.如申请专利范围第7项所述的方法,更包含步骤:藉由填入二进制的0,以使上述的区段
Figure 0110229300061
具有与区段So相同的长度。
9.如申请专利范围第7项所述的方法,其中上述的网络地址为一数据流地址(flow address),且上述的网络地址查询表为一数据流表(flow table)。
10.如申请专利范围第7项所述的方法,其中上述的网络地址为目的IP地址,及上述的网络地址查询表为一路由表。
11.如申请专利范围第7项所述的方法,其中上述的网络地址为MAC地址,及上述的网络地址查询表为一过滤表。
12.如申请专利范围第7项所述的方法,更包含步骤:当上述的I.I.D.杂凑索引不在上述的网络地址查询表时,转送上述的到来封包至一处理器。
本发明是一种网络装置的查询引擎,包含:一文法分析器,用以取得到来的封包的网络地址信息。特定数量的位移控制逻辑,用以依据到来的封包的网络地址信息,产生特性独立分布(I.I.D.)的杂凑索引。每个位移控制逻辑的输出经由选择器的逐一挑选,可藉由查询网络地址查询表,而输出相对应的转送信息。
本发明更提出一种应用于网络装置的查询引擎的方法,该方法包含以下步骤:首先,从到来的封包的标头部份取得网络地址信息。然后,将m位的网络地址分割为多个区段Si,每个区段具有n位,其中 。然后,执行区段Sbase及Sextend的XOR运算,以产生I.I.D.杂凑索引。其中,区段Sbase是藉由在每个区段上执行XOR运算的方式所形成,而区段Sextend是藉由轮转区段So的几个特定数的比特而形成,而这几个特定数的比特是依据杂凑键的数目所决定的。之后,利用I.I.D.杂凑索引查询网络地址查询表,以产生转送的信息。
图1为一传统技术的快取架构示意图。
图2为一依据本发明的较佳实施例的网络装置的查询引擎架构的功能方块图。
图3为一依据本发明的较佳实施例的多重分项杂凑机制的功能方块图。
图4为一依据本发明的较佳实施例的位移控制逻辑的运作流程的流程图。
为解决传统的杂凑碰撞的问题,并提供一种适用于layer-4网络装置的查询机制,本发明提供一种简单的杂凑机制的硬件实施方式,是可选择一具有特性独立分布(Identity Independent Distribution,以下简称I.I.D.)的特性的杂凑函数,以更有效地查询网络地址查询表。本发明的杂凑机制可适用于任何需要进行查表的网络装置,以产生封包转送的判定(packet forwardingdecision),如layer-2,layer-3,及layer-4的交换器(switch)、路由器(router)、或桥接器(bridge)等。
图2显示可提供layer-4服务的网络装置的查询引擎10的基本架构。当layer-4的网络装置收到一个封包时,便将该到来的封包传送至查询引擎10,以作出封包转送的判定。到来的封包的标头部份将由文法分析器(parser)11进行分析,以将标头的信息分别提供给封包分类装置12,layer-3逻辑14,及layer-2逻辑18。有关layer-2及layer-3转送引擎的架构已为一般掌握该项技艺的人员所熟知,因此不再详述。一般就网络装置所提供的layer-3服务而言,文法分析器11会将到来封包的目的IP地址转送至layer-3逻辑14,以查询路由表141,并使路由表141输出相对应的输出端口端口。然后,输出端口的信息便传送至合并逻辑(Merge Logic)16。另一方面,在layer-2的服务层次而言,到来封包的MAC地址会转送到layer-2逻辑18,以查询过滤表(filteringtable)181,并输出到相对应的输出端口。该输出端口也同样会传送至合并逻辑16。合并逻辑1 6则利用输出端口的信息以指导输入端口如何处理该到来的封包,并传送输出端口信息至转送引擎(forwardlng engine)17。任何的查询失误(1ookup miss)将会传送至中央处理单元(Central Process Unit,CPU)13以将到来的封包作更进一步的处理。
CPUl3中有一个规则表(rule table)131,以作为服务类别的区分(servicedifferentiation),其中还有封包过滤(packet filtering),策略选径(policyrouting),流量限制(traffic rate limiting),会计及付款(accounting andbilling)等功能。规则表131可由系统/网络管理者所界定,或从决策服务器(Dolicy server)下载。规则表131的数据结构包含:来源IP地址(source IPaddress),来源IP地址屏蔽(source IP address mask),目的IP地址(destination IP address),目的IP地址屏蔽(destination IP addressmask),来源端口范围(source port range),目的端口范围(destination portrange),协议ID(protocol ID),可容许的输入率(allowed input rate),各跳程的行为(Per-hop behavior,PHB),及下一个跳程(hop)等字段。每条法则可以包含一个以上的数据流(flow)。以下有几条法则的例子,这些例子只供解说之用,而非用以限制本发明的范围。例如:
法则1,服务区分(Service Differentiation):从子网络1.2.3.x来的封包应接收EF PHB的信息。
法则2,封包过滤(Packet Filtering):拒绝所有来自4.5.6.x且目的为7.8.9.x的封包。
法则3,策略选径(Policy Routing):传送所有来自10.2.3.x的语音用IP(voice-over-IP)封包,并通过分开的ATM网络传送至20.4.5.6。
法则4,会计及付款(Accounting & Billing):将所有传送至80.90.100.200的影像数据流量(video traffic)赋予最高的优先权,并将以该方式传送的流量予以计费。
法则5,流量率限制(Traffic Rate Limiting):确定子网络30.7.8.不会涌入5Mbps以上的电子邮件,并确定整体的流量控制在20Mbps。
当封包传送给查询引擎10时,到来的封包的标头信息将会被用作数据流地址(flow address),以查询封包分类装置12的数据流表121。对任何新到来的封包,封包会导致数据流表的查询失误。然后,封包便会传送到CPU13,以依据规则表131中所界定的法则,更进一步地对封包进行分类。应事先将利用CPU运算的算法安装好,以对到来的封包进行分类。
每个传送到CPU13的封包会符合上述的至少一条已定义的法则。每条法则指定一种可将封包加以归类的类别,如Per-Hop Behavior(PHB)。基于这些指定的类别,封包便会依据这些服务的分类被传送。同时,CPU13在数据流表121中,会为属于该数据流的到来封包,产生一笔新的数据输入(entry)。在本发明的一较佳实施例中,封包分类装置(packet classifier)12具有自动学习(Auto-learning)的能力。也就是,封包分类装置12将会学习CPU 13的转送方式(forwarding behavior),如PHB选择,并将该笔选择记录于数据流表121中。
封包分类装置12使用文法分析器11所提供的标头信息以形成数据流地址(flow address),并进行数据流表121的查询。所谓的“数据流”(flow)是一种应用对应用(application-to-application)的封包流,且“数据流”是由来源IP(SIP)、目的IP(DIP)、协议(PRO)、来源端口(SP),及目的端口(DP)等信息的比特所构成的比特组合(bit-combination)。数据流表121己录来源IP地址、目的IP地址、来源端口、目的端口、协议ID,及法则索引等信息,以产生对应于到来的封包的计量ID(MID)。
为解说方便,试举一些数据流的实施例如下:
数据流-1:从IP1.2.3.4,port1500至IP100.2.3.4,port150,等来的封包,为一符合法则-1的数据流,在数据流表121中为一笔登录(entry)。
数据流-2:从IP1.2.3.8,port2500至IP200.2.3.4,port250到来的封包,也属于EF(expedited forwarding)的数据流。
流量策略管理装置(Traffic Profile Manager)15维护一计量表151。计量表151的数据结构包含:符号空栏(token bucket)、容许的输入率(allowedinput rate),最后一次的更新登录(last time update entry,token enoughPHB,token not enough PHB,及token not enough next hop)。计量表151记录线上流量的统计及流量参数,以决定数据流的流量是否符合设定的方案(profile)。计量表151也分别记录方案中(in-profile)及方案外(out-of-profile)的活动。计量表151将依据数据流表12所输出的计量ID,输出一转送的决定给转送引擎(forwarding engine)17。计量表151也可输出一转送端口判定给合并逻辑16。以上述的例子为例,数据流-1与数据流-2应符合法则-1所界定的流量方案(traffic profile)。任何查询失误也将会送至CPU 13处理。
查询引擎10具有查询网络地址查询表的机制,包含但不限于数据流表121,计量表151,路由表141及过滤表181。以数据流表121的查询为例,本发明提供一杂凑机制,其可选择一I.I.D.杂凑函数以更有效查询数据流表121。参阅图2,以显示本发明的最佳实施例的杂凑机制。杂凑机制可将杂凑键的范围(universe)转译为更零散、更均匀分布的地址。
参阅图3,数据流表121是作为个别的端点对端点(end-to-end)的数据流的快取数据流信息之用。每笔数据流表121中的登录以一个完全指定的过滤器(fully specified filter)(即不包含万用字符,no wildcards)对应至一笔数据流。由于不用万用字符(wildcarding),所以杂凑的运算可以更有效地执行,以实施数据流表121。
为提供I.I.D.特性的杂凑函数,本发明应用一种数学上已经获得证明的I.I.D.矩阵,由L.Carter及M.Wegman在“Universal Classes of HashingFunctions,”一文中所提出,(参见J.Computer and System Sciences,vol.18,no.2,pp.143-154,1979。)以产生多个I.I.D.杂凑函数。依此,I.I.D.杂凑函数的产生,可用数据流地址<SIP,DIP,SP,DP,PRO>乘以I.I.D.矩阵来达成。
I.I.D.矩阵可以下列方式表示:
其中,B代表n位的杂凑索引,Q代表所有n×m矩阵的集合,T代表转换装置,A代表m位的数据流地址。依此,每个杂凑函数为BT=QAT的线性转换,该线性转换为m-位的二进制比特流(bit-stream)A=a0a1…am-1对应至n-位的二进制比特流,B=b0b1…bn-1
在此,k-比特流被视为k-因次的向量,以GF(2)={0,1}定义的。Q为n×m矩阵,由GF(2)所定义且每个杂凑函数单独地对应至该矩阵Q。GF(2)中的乘积与加法运算是分别由boolean AND(以符号&表示)及XOR(以符号_表示)的操作数所执行的。因此,B的每个位计算如下:bi=(a0 & qi,0)_(a1 & qi,1)_…_(am-1 & qi,m-1),i=0,1,2,…,n-1。
让Q指n×m矩阵所有可能的集合,其中n代表2n大小的数据流表,m代表m位的数据流地址的数目。让Qh∈Q为所需要的矩阵集合,且0≤h≤n-l(索引h指杂凑函数选择器)。而且,让qi,j指Qh的组件,其中i代表行列数(rownumber),j代表字段数(column number),(0≤i≤n-1且0≤j≤m-1)。然后,在此条件下:
               当j<n时,
               如果j等于(i+h)mod n,qi,j=1;
               否则,qi,j=0;
                  当j≥n时,
                  如果i等于j mod n,qi,j=1;
                  否则,qi,j=0。
依据此条件,I.I.D.杂凑函数可从I.I.D.矩阵中选取出来。因此,基于qi,j的定义,bi=a(i+h)modn_ai+n_ai+n…,其中i=0,1,2,…,n-1。
依据该条件,假设有一任意的杂凑键X或一数据流地址,则多重分项N(themulti-way N)的杂凑函数h1(x),h2(x),…,hN(x)都是I.I.D的任意变量。也就是,每个杂凑索引,如h1(X),可被视为数据流表121中的一个内存空间地址。假设有个特别的数据流地址,这些所产生的杂凑索引都必然不相同。为更清楚显示这些杂凑键的I.I.D.特性,以一个5×19Q矩阵为例说明,其中杂凑函数选择器h为2。然后,Q2经过计算并显示如下:
0010000010000011000001000 1000001000001000001000001 1000001000001000001000001 10000100001000010000
由以上的矩阵可知,数据流地址在矩阵中的排列是零散地分布。并且,Qh所有的行列向量(row vectors)的线性分布都是独立的。在上述的矩阵选择(Qh)程序形成的后,就不必执行任何与矩阵相关的运算。
上述的方法的硬件实施可利用简易的位移控制逻辑22来达成。位移控制逻辑22包含一个位移缓存器及多个XOR逻辑门。位移控制逻辑22的运算如图4所示。依据图3所示的较佳实施例,每个数据流地址皆会由四个位移控制逻辑22进行4次的杂凑运算。换言之,图3的实施例在成本的考虑下,每个数据流地址最多可存取数据流表121四次。
其方法为,首先,从文法分析器11取得m位的数据流地址21,步骤301。然后,将数据流地址21切割为K个曲段Si
Figure 0110229300112
。每个区段Si包含n个位,表示1×n的矩阵。如果最后的区段 有剩余的位,则以“0”将最右边的位填满,步骤302。的后,一边执行Si区段的位移,其位移的位数由所设定的杂凑键数决定,一边进行每个区段Si的XOR运算,步骤303。换言之,在每次的XOR运算的后,区段So的h-bit(在此为4位)先被向右位移。选择器所选择的杂凑索引(indexh)于是产生,即
indexh=S0_S1…_ 使杂凑索引Sbase=SXOR S2 XOR…Sk-1。由于任何的数据流地址A可表示为a0,a1,a2,…,am,Sbase的区段可表示为Sbase,i。如此,Sbase,i=an+i_a2n+i_…。
步骤304 ̄步骤311是有关S0的h-bit的轮转(rotate)与位移(shift),以产生每个I.I.D.的杂凑索引。步骤304:设i=0。然后,设定Sextend=RotateS0 Key[i]bits,以产生一个新的区段,步骤305。Sextend的组件可以Sextend,i来表示。于是,基于轮转的运算,Sextend,i=a(i+h)modn。然后,以执行Sbase及Sextend的XOR运作的方式,产生I.I.D.杂凑索引。Indexh=Sbase XOR Sextend,步骤306。当Indexh为计算的结果时,Indexh的组件可用Indexh,i表示。因此,Indexh,i=a(i+h)modn_an+i_a2n+i_… 依此,轮转(rotation)及XOR运算的结果等同于矩阵的运算(matrix operation)。
然后检查i是否小于杂凑键的数目(key number),步骤307。如果是,执行步骤308以将i的值加1,然后执行步骤305。重复这些步骤,直到4个杂凑键皆已产生,然后执行步骤309结束。
位移控制逻辑22所产生的四个杂凑键依序地由选择器23依据比较逻辑24的控制而选取,直到找到一笔空的登录(entry)。比较器逻辑24依序地检查该目前杂凑索引所对应的数据流表121中的登录,是否为空闲的。如果是,该登录便被选取。否则,该比较器逻辑24便传送一控制信号至选择器23,以选取下一个可用的杂凑键22。此程序反复进行,直到每个杂凑索引22皆已被选取。如果在第一轮的杂凑索引查询中找不到空闲的位置,查询失误的信息便会传送到CPU13,以处理到来的封包。
依此,当一查询的需求到来时,该需求中104-位的数据流地址21将会被用来产生n-位的杂凑索引。例如,如果n的值为16,则数据流表的大小为64K(2n=216)。直觉上,若与IP地址的杂凑进行方式(32-bit→16-bit)相比较,这样的杂凑配对(104-bit→16-bit)会导致高度的碰撞机率。然而,由于本发明使用了以上所描述的I.I.D.矩阵,因此杂凑碰撞的机率已降至最低。
综上所述,本发明所选择的杂凑函数可保障在查表时,可使窗体的查询及数据插入具有I.I.D.的特性。因此,本发明可更有效地使用内存空间并可与Layer-3逻辑及Layer-2逻辑一样快速存取内存,以在同样的封包处理周期中完成其工作。如此,查询引擎便可以快速地建构每笔数据流的登录并对属于该笔数据流的封包进行服务分类。
1.一种应用于网络装置的查询装置,至少包含:一文法分析器,用以取得一到来的封包的网络地址信息;一设定数的位移控制逻辑,其中每一位移控制逻辑用以依据该到来的封包的地址信息,各别产生具有特性独立分布(I.I.D.)特性的杂凑索引;及一选择装置,用以从该设定数的位移控制逻辑中选择一具有I.I.D.特性的杂凑索引,及经由该所选择的I.I.D.特性的杂凑索引,使该网络地址查询表输出该到来的封包的转送判定。
2.如申请专利范围第1项所述的查询装置,更包含:一中央处理单元,用以在上述的I.I.D.杂凑索引在上述的网络地址查询表中找不到对应的资料时,处理上述的到来的封包。
3.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一目的MAC地址。
4.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一目的IP地址。
5.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一数据流地址。
6.如申请专利范围第1项所述的查询装置,其中上述的位移控制逻辑包含:一位移缓存器,系分为复数个区段,用以依据一设定数的杂凑键的数目,执行该复数个区段的位移;及XOR运算装置,用以执行上述的复数个区段的XOR运算。
7.一种应用于网络装置的查询方法,至少包含步骤:从一到来的封包的标头取得网络地址;分割该m位的网络地址为复数个区段Si,每个区段有n位,其中 ;执行区段Sbase及区段Sextend的XOR运算,以产生一I.I.D.杂凑索引,其中该区段Sbase的形成,是对该每个区段进行XOR运算的结果,及该区段Sextend的形成,是对区段So位移由一特定的杂凑键(hash key)的数目所取决的位数的结果;及以该I.I.D.杂凑索引查询一网络地址查询表,以产生转送信息。
8.如申请专利范围第7项所述的方法,更包含步骤:藉由填入二进制的0,以使上述的区段 具有与区段So相同的长度。
9.如申请专利范围第7项所述的方法,其中上述的网络地址为一数据流地址(flow address),且上述的网络地址查询表为一数据流表(f1ow table)。
10.如申请专利范围第7项所述的方法,其中上述的网络地址为目的IP地址,及上述的网络地址查询表为一路由表。
11.如申请专利范围第7项所述的方法,其中上述的网络地址为MAC地址,及上述的网络地址查询表为一过滤表。
12.如申请专利范围第7项所述的方法,更包含步骤:当上述的I.I.D.杂凑索引不在上述的网络地址查询表时,转送上述的到来封包至一处理器。

Claims (12)

1.一种应用于网络装置的查询装置,至少包含:一文法分析器,用以取得一到来的封包的网络地址信息;一设定数的位移控制逻辑,其中每一位移控制逻辑用以依据该到来的封包的地址信息,各别产生具有特性独立分布(I.I.D.)特性的杂凑索引;及一选择装置,用以从该设定数的位移控制逻辑中选择一具有I.I.D.特性的杂凑索引,及经由该所选择的I.I.D.特性的杂凑索引,使该网络地址查询表输出该到来的封包的转送判定。
2.如申请专利范围第1项所述的查询装置,更包含:一中央处理单元,用以在上述的I.I.D.杂凑索引在上述的网络地址查询表中找不到对应的资料时,处理上述的到来的封包。
3.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一目的MAC地址。
4.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一目的IP地址。
5.如申请专利范围第1项所述的查询装置,其中上述的网络地址为一数据流地址。
6.如申请专利范围第1项所述的查询装置,其中上述的位移控制逻辑包含:一位移缓存器,系分为复数个区段,用以依据一设定数的杂凑键的数目,执行该复数个区段的位移;及XOR运算装置,用以执行上述的复数个区段的XOR运算。
7.一种应用于网络装置的查询方法,至少包含步骤:从一到来的封包的标头取得网络地址;分割该m位的网络地址为复数个区段Si,每个区段有n位,其中
Figure 0110229300021
;执行区段Sbase及区段Sextend的XOR运算,以产生一I.I.D.杂凑索引,其中该区段Sbase的形成,是对该每个区段进行XOR运算的结果,及该区段Sextend的形成,是对区段So位移由一特定的杂凑键(hash key)的数目所取决的位数的结果;及以该I.I.D.杂凑索引查询一网络地址查询表,以产生转送信息。
8.如申请专利范围第7项所述的方法,更包含步骤:藉由填入二进制的0,以使上述的区段 具有与区段So相同的长度。
9.如申请专利范围第7项所述的方法,其中上述的网络地址为一数据流地址(flow address),且上述的网络地址查询表为一数据流表(flow table)。
10.如申请专利范围第7项所述的方法,其中上述的网络地址为目的IP地址,及上述的网络地址查询表为一路由表。
11.如申请专利范围第7项所述的方法,其中上述的网络地址为MAC地址,及上述的网络地址查询表为一过滤表。
12.如申请专利范围第7项所述的方法,更包含步骤:当上述的I.I.D.杂凑索引不在上述的网络地址查询表时,转送上述的到来封包至一处理器。
CNB011022930A 2001-01-21 2001-01-21 应用于网络装置的查询装置与方法 Expired - Fee Related CN1138384C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011022930A CN1138384C (zh) 2001-01-21 2001-01-21 应用于网络装置的查询装置与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011022930A CN1138384C (zh) 2001-01-21 2001-01-21 应用于网络装置的查询装置与方法

Publications (2)

Publication Number Publication Date
CN1300147A true CN1300147A (zh) 2001-06-20
CN1138384C CN1138384C (zh) 2004-02-11

Family

ID=4652624

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011022930A Expired - Fee Related CN1138384C (zh) 2001-01-21 2001-01-21 应用于网络装置的查询装置与方法

Country Status (1)

Country Link
CN (1) CN1138384C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1293726C (zh) * 2003-01-06 2007-01-03 华为技术有限公司 在网络链路上实现快速传输桥接数据的方法
CN100373887C (zh) * 2002-09-13 2008-03-05 华为技术有限公司 使用四层的端口号掩码对数据流分类的方法
CN100521617C (zh) * 2004-08-30 2009-07-29 佳能株式会社 网络装置管理系统及控制方法、网络装置、管理装置及方法
CN106331279A (zh) * 2016-11-01 2017-01-11 无锡纽微特科技有限公司 一种通讯录的显示实现方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100373887C (zh) * 2002-09-13 2008-03-05 华为技术有限公司 使用四层的端口号掩码对数据流分类的方法
CN1293726C (zh) * 2003-01-06 2007-01-03 华为技术有限公司 在网络链路上实现快速传输桥接数据的方法
CN100521617C (zh) * 2004-08-30 2009-07-29 佳能株式会社 网络装置管理系统及控制方法、网络装置、管理装置及方法
CN106331279A (zh) * 2016-11-01 2017-01-11 无锡纽微特科技有限公司 一种通讯录的显示实现方法及装置
CN106331279B (zh) * 2016-11-01 2019-05-14 无锡纽微特科技有限公司 一种通讯录的显示实现方法及装置

Also Published As

Publication number Publication date
CN1138384C (zh) 2004-02-11

Similar Documents

Publication Publication Date Title
CN1282332C (zh) 一种快速数据包过滤方法
US20020116527A1 (en) Lookup engine for network devices
Taylor Survey and taxonomy of packet classification techniques
US7436830B2 (en) Method and apparatus for wire-speed application layer classification of upstream and downstream data packets
US8792497B2 (en) Method and apparatus for performing link aggregation
US7984038B2 (en) Longest prefix match (LPM) algorithm implementation for a network processor
US7369557B1 (en) Distribution of flows in a flow-based multi-processor system
US7257590B2 (en) Method and system for classifying binary strings
US8265072B2 (en) Frame switching device
US8131841B2 (en) Method and apparatus for detecting predefined signatures in packet payload
CN1465014A (zh) 使用tcam实现数据流的选择性路由
CN1708959A (zh) 软件和硬件包流转发的方法、路由器或交换机
US20190052553A1 (en) Architectures and methods for deep packet inspection using alphabet and bitmap-based compression
CN1913454A (zh) 一种ip报文负载分担实现方法及装置
CN1362820A (zh) 在路由设备中为分组选择路由的方法
US20070124496A1 (en) Method and equipment for making a routing decision dependent on a quality-of-service class
US20090293114A1 (en) Diversity string based pattern matching
CN1677982A (zh) 虚拟局域网标识的可个别地编程的最高有效位
CN1897560A (zh) 一种提高路由表容量的方法
CN1138384C (zh) 应用于网络装置的查询装置与方法
US7085235B2 (en) Method and apparatus for constructing and searching IP address
CN1265602C (zh) 媒体网关控制器和媒体网关之间的交互方法
US9590897B1 (en) Methods and systems for network devices and associated network transmissions
Tzeng Routing table partitioning for speedy packet lookups in scalable routers
Gong et al. ERFC: an enhanced recursive flow classification algorithm

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee