CN1671125A - 使用循环冗余校验散列函数管理网络业务的方法和装置 - Google Patents
使用循环冗余校验散列函数管理网络业务的方法和装置 Download PDFInfo
- Publication number
- CN1671125A CN1671125A CN200410104778.3A CN200410104778A CN1671125A CN 1671125 A CN1671125 A CN 1671125A CN 200410104778 A CN200410104778 A CN 200410104778A CN 1671125 A CN1671125 A CN 1671125A
- Authority
- CN
- China
- Prior art keywords
- bit
- packet
- crc
- index
- crc index
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000006870 function Effects 0.000 title description 18
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000008569 process Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004087 circulation Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000013558 reference substance Substances 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001195 anabolic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000009331 sowing Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
使用可变长度的循环冗余校验(CRC)索引来混编地址首标以管理网络业务的方法、装置和系统。本发明将数据分组的地址首标复制到CRC产生器。部分地基于地址首标确定CRC索引。部分地基于预定的比特掩码从CRC索引中确定比特子集。地址首标和数据负载与从CRC索引中获得的比特子集组合。修改后的数据分组随后在网络上转发。在一个实施例中,本发明在业务设备中的硬件电路中得以实施。
Description
技术领域
本发明主要涉及管理网络业务,特别地,涉及通过使用循环冗余校验(CRC)散列函数提高确定数据分组路由的效率。
背景技术
在网络上移动数据的过程中,需要确定在网络上是否允许该数据,如果允许,则需要确定数据将被传送到哪里。当数据从源端传送到目的端的时候,网络可以确定发送端和接收端是否都是有效的和是否允许使用该网络,以及将如何处理数据。传输控制协议/因特网协议(TCP/IP)数据典型地是以帧的形式传输,所述帧包括至少两个部分,地址首标和数据负载。可以从五元组形式的地址首标中找到通常用于通过网络向目的端传输数据的信息,所述五元组包括下述字段:源地址、目的端地址、源端口、目的端口和协议。
通常没有这样一种网络编址方案,其支持高达40亿个具有向40亿个目的端中的任何一个发送数据的能力的源端而且每个源端或目的端都能具有高达64000个端口。因此,尝试支持这样一个编址方案会需要一个巨大的查找表,以及具有庞大内存量的业务管理系统。另一方面,在任意给定时刻网络上只有有限数量的业务允许使用一个包含较少信息量的较小的表格。为了达到这个目的,可以在地址首标中的相关信息上使用散列函数来确定一个指向较小表格的索引值。
散列函数是一种数学算法,它能够将数值从一个非常大的值域映射到一个较小的值域。一个“好”的散列函数包括,其中该散列函数在大的数值组中的应用导致一个较小的索引值组,所述索引值在一个较小的域内均匀分布。一个“坏”的散列函数是,较大域中数值组内的许多数值被映射到较小值域内的同一个索引值。任何这样的事件通常称为冲突。因为在任何具体索引值处只有一个连接作为入口,所以任何冲突都要求在各个表格的入口中保持附加信息,从而进一步指导网络去哪里查找混编到相同索引值的任何附加连接。这个具有相同的索引值的入口链接需要一个处理引擎来混编到索引值,读取入口,将其与预混编的五元组比较,并且如果没有找到匹配的,则使用入口中的指针读取另一个入口。重复这个过程直到有匹配或者已经达到链接的最后入口,因为对于每个数据分组都重复这样的过程,处理引擎的效率就降低了。
因此,工业上需要一种通过使用改进的散列函数来管理网络业务的设备、方法和系统。因此,出于这些考虑和其它因素,产生了本发明。
发明内容
本发明目的在于使用混编地址首标的CRC索引来管理网络业务。为了从数据分组中确定地址首标,本发明部分地基于地址首标中的特定字段来确定一个CRC索引。通过使用掩码寄存器从CRC索引中选择出一组预定的比特来形成最后的索引值。最后的索引值在从转发到网络的缓存器中检索出来时被附加在数据分组中。
依照本发明的一个实施例,一个装置被用来管理网络上的信号。这个装置包括CRC电路、换算电路和重新插入电路。CRC电路用于部分地基于输入信号的一部分来确定CRC索引。换算电路用于从CRC索引中确定至少一个比特。重新插入电路用于把从CRC索引中选取的至少一个比特组合到信号中。
依照本发明的另一个实施例,一个设备被用来管理网络上的业务。这个设备包括收发器和索引设备。收发器用于确定与数据分组流中数据分组关联的地址首标并将该地址首标转发到索引设备。索引设备用于部分地基于地址首标确定CRC索引,从CRC索引中确定比特子集,并将比特子集组合到数据分组中。
依照本发明的另一个实施例,一种方法被用来管理网络上的业务。这个方法包括确定与数据分组流中数据分组关联的地址首标、部分地基于地址首标确定CRC索引、从CRC索引中选取至少一个比特,和部分地通过将该选取的至少一个比特组合到数据分组中的方式来修改数据分组。
依照本发明更进一步的实施例,一个系统被用来管理网络上的业务。这个系统包括第一网络设备和第二网络设备。第一网络设备用于确定与数据分组关联的地址首标,部分地基于地址首标确定CRC索引,从CRC索引中确定至少一个比特,和通过将从CRC索引中选取的至少一个比特组合到数据分组中的方式来确定修改的数据分组。第二网络设备用于从第一网络设备中读取修改的数据分组并部分地基于CRC索引信息路由该修改的数据分组。
对本发明更完整的理解和其改进可以通过参考附图和下面的本发明优选实施例的详细说明以及附带的权利要求来获得,所述附图简要地总结如下。
附图说明
参照以下附图来描述本发明的非限制性和非穷举的实施例。在附图中,除非特别说明,不同的附图中相同的附图标记表示相同的部件。
为了更好的理解本发明,将参考以下结合附图的优选实施例的详细描述,其中:
图1示出可以实施本发明的一个网络系统的实施例;
图2示出用于确定CRC索引的装置的实施例框图;和
图3示出按照本发明的实施例一般表示确定CRC索引过程的流程图。
具体实施方式
本发明克服了以上提到的缺点、不足和问题,通过阅读和研究以下的详细说明将更好地理解本发明。
下面将参考相应的附图来更详尽地描述本发明,所述附图作为说明书的一部分,以图例的形式示出了本发明得以实施的特殊实施例。然而,本发明本可以用多种形式来表现,在这里对实施例的解释不能作为对本发明的限制;相反的,提供这些实施例以便本发明的公开充分和完整,并且可以更好地向本领域技术人员告知本发明的范围。另外,本发明可以以方法或设备来实施。因此,本发明可以采取完全的硬件实施方式、完全的软件实施方式或者软硬件组合的实施方式。因而以下的具体描述不能理解为对本发明的限制。
术语“耦合”和“连接”包括相连物体之间的直接连接,或者通过一个或多个无源或有源的中间设备或部件的间接连接。
术语“包含”、“包括”、“含有”、“具有”和“其特征在于”包括开放式的或包含性的过渡的结构,并不排除附加的、未提及的元件或方法步骤。例如,一种包含A和B元件的组合物,也可以理解成是一个由A、B和C元件组成的组合物。
“一个”、“一种”、“这种”的意思包括复数个。“在......内”的意思包括“在......内”和“在......上”。另外,除非有其它的说明或者与本说明不一致,单个的参考物也包括多个参考物。
简明地说,本发明目的在于一种确定用于修改数据分组的CRC散列函数的设备和方法。本发明进一步的目的是减少冲突的可能性和提高CRC散列函数执行的速度。一个“好”的散列函数可以产生在缩小的域内完全均匀分布的索引。简单的基于对输入的运算值进行加法或乘法运算的散列函数,主要是异或运算,不能实现均匀的分布,因为其中一个输入运算值的单个比特的改变通常导致在产生的索引中有单个比特的改变,而对索引根本没有任何改变。不同于通常使用的基于异或的运算,本发明中所采用的CRC函数可以用于达到这个目的。由于CRC函数的连续推导法,CRC函数的单个运算值中单个比特的改变会影响产生的索引的每个比特。
下面描述的是应用于IPv4因特网通信所使用的32比特数据分组中的CRC散列函数。用于从32比特数据分组中产生随机索引值的CRC多项式的实施例为:
X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+5+X4+X2+X+1,
其中变量X表示寄存器,变量X的系数表示为CRC选择的比特(例如32比特,26比特,等等)。
使用上述的CRC多项式,可以获得为与数据分组相关的32比特地址首标随机产生的32比特索引。索引可以部分地基于预定的比特掩码而进一步减少长度。索引可以与相应的地址首标和数据分组中的数据负载组合,并且重新插入到数据分组的IPv4数据流中。随后的网络中的业务设备,例如路由器,网络变换设备等等,可以应用该索引进一步路由该数据分组。
本发明并不局限于以上描述的CRC多项式,也可以使用其它的多项式。另外,尽管为了举例说明的目的应用了包含32比特数据分组的数据流,但是本发明并不局限于32比特宽度的数据。而且,本发明并不局限于最大长度32比特的输入运算值。例如,在使用IPv6协议的网络系统或类似系统中可以使用包含128比特输入运算值地址的数据分组和其它的CRC多项式。
在软件方面,执行上述处理可能需要超过一千次的数据分组的循环,无论数据分组是64字节还是1500字节长。因此,在软件中使用CRC散列函数可能消耗非常多的时间。然而,如下所述,当使用本发明执行相似的操作的时候仅有10次循环。这样通过减少操作时间和更少的内存需求可以提供更高的效率。
示意性操作环境
图1示出了本发明在其中可以实施的网络系统100的一个实施例。如同以下将要详细描述的,本发明涉及一种用于至少在网络的一部分中管理网络业务的方法和装置。网络系统100可以包括比图中示出的更多或更少的组成部分,然而,所示出的已经足以说明本发明能够实施的示意性环境。
如图1所示,网络系统100包括局域网/广域网(LAN/WAN)102、104和108,和业务设备106和110。
局域网/广域网102和108与业务设备110通信。业务设备106与局域网/广域网104和102通信。
局域网/广域网102、104和108能够使用任何形式的用于从一个电子设备向另一个电子设备通信信息的计算机可读介质。另外,除了局域网,广域网局域网/广域网102、104和108还可以包括互联网、直接连接,比如通过通用串行总线(USB)端口,其它形式的计算机可读介质,以及其中的任何组合。在包括基于不同体系和协议的LAN的相互连接的一组局域网中,路由器作为局域网之间的链路,使得消息从一个局域网传到另一个局域网。而且,局域网内的通信链路典型地包括双绞线或同轴电缆,而网络间的通信链路可以利用模拟电话线、其包括T1、T2、T3和T4的完全或部分的专用数据线,综合业务数字网络(ISDN)、数字用户线路(DSL)、包括卫星链路的无线链路,或者本领域技术人员公知的其它通信链路。此外,远程计算机和其它相关的电子设备可以通过调制解调器和临时电话链路远程连接到局域网或广域网。局域网/广域网102、104和108基本上可以包括备种可以在网络设备之间传输信息的通信机制。
按照本发明的一个实施例,业务设备106和110配置成管理在使用CRC索引方案的局域网/广域网102、104和108之间数据分组的传输。另一个实施例中,业务设备106和110可以存在于局域网/广域网102、104和108内部,并管理内部的网络业务。
业务设备106和110可以配置成作为路由器、防火墙、网络变换设备等等来操作。
图2示出CRC索引系统200的一个实施例的框图,该系统可以用于业务设备中,例如用于图1的业务设备106和110中。CRC索引系统200可以包括比图中示出的更多或更少的组成部分,然而,所示出的部分已经足以说明本发明能够实施的示意性实施方案。
如图2所示,CRC索引系统200包括分路器202、CRC电路204、换算电路206和重新插入电路214。换算电路206包括CRC散列存储器208、散列长度存储器210和加法电路212。重新插入电路214包括缓存器216和组合设备218。CRC电路204、换算电路206和重新插入电路214是CRC索引系统200的示意性实施例,其可以被组合、重新组织、分割成更小的子电路等等,来执行基本上相同的操作。
分路器202耦合到CRC电路204和缓存器216。CRC电路204耦合到CRC散列存储器208,该CRC散列存储器然后耦合到加法电路212的一个输入端。散列长度存储器210耦合到加法电路212的另一个输入端。加法电路212的输出和缓存器216的输出一起耦合到组合设备218。
分路器202配置成接收数据分组并从接收到的数据分组中确定数据负载和地址首标。地址首标可以包括任何形式的网络编址信息,包括但是并不局限于五元组的IP首标等等。分路器202可以在转发数据分组给缓存器216的同时复制地址首标到CRC电路204。分路器202可以被实现为译码器、移位寄存器等等。
CRC电路204配置成部分地基于地址首标来确定CRC索引。CRC电路204可以利用前面提到的CRC多项式来确定CRC索引,该CRC索引可以通过地址首标和CRC多项式的多项式除法来确定。在32比特系统的例子中,将该方法应用到32比特的地址首标可以产生单一的、随机的32比特索引。
根据本发明的一个实施例,CRC电路204可以被实现为移位寄存器、异或-触发器链等等,但是也可以包括实质上任何形式的判定电路,配置成确定CRC。
CRC散列存储器208实质上包括配置成接收和存储CRC索引的任何设备。CRC散列存储器208可以被实现成寄存器、存储设备等等。
散列长度存储器210实质上包括配置成接收和存储预定的CRC索引比特掩码的任何设备。可以从CRC索引中选择至少1个比特用于合成索引。所述至少1个比特可以包括从CRC索引的开头、中间或末尾处的一组连续比特中选取来的1个或多个比特。被选取来的比特也可以是非连续的一组比特,例如CRC索引中的相间隔的比特等等。可以被实现为寄存器和存储设备等等的散列长度存储器210,存储确定CRC索引的哪个比特将被屏蔽的索引。在一个实施例中,存储在散列长度存储器210中的预定比特掩码可以是掩码索引。
加法器电路212包括任何配置成组合CRC散列存储器208和散列长度存储器210的输出的设备,以提供从CRC索引到合成索引的掩码。尽管这里提到的是加法电路,但是本发明并不局限于加法操作。例如,也可以使用“或”电路、异或电路、比较器等等。
缓存器216实质上包括任何配置成在CRC索引确定和换算操作过程中接收和存储数据分组的设备。缓存器216可以被实现成寄存器或存储设备等等。
组合设备218包括任何配置成组合从缓存器216接收的数据分组和从换算电路206接收的合成索引以提供修改的数据分组的设备。该合成索引可以以各种方式与数据分组组合,包括,但并不局限于将该合成索引附加到地址首标,或用该合成索引加密地址首标,等等。合成设备218可以被实现成多路复用器、存储器、编码器和加密设备等等。
以上提到的CRC索引系统200可以作为业务设备的一部分来实施。该业务设备可以读取合成索引,从数据分组中除去该合成索引并将数据分组路由到目的地。在另一个实施例中,业务设备可以传输带有合成索引的数据分组,在这种情况下,路由可以由另一个业务设备来实施。因此,业务设备可以从CRC索引系统200传输修改的数据分组,或除去合成索引并传输原始数据分组。
本发明在硬件中提高的效率可以通过比较硬件和软件设备实施所使用的时钟周期数来说明。为32比特的码字(word)计算CRC索引,可能需要处理开始的6个长字,每个长字在CRC电路204中使用一个时钟周期。同时,将同样的6个长字写入缓存器216。这可能需要两个额外的时钟周期,其中一个用于释放CRC索引到CRC散列存储器208,另一个用于CRC散列存储器208的输出与散列长度存储器210的输出相加。最后,可能还要使用两个时钟周期用于组合合成索引数据分组并将该数据分组重新插入到数据流中。因此,当在32比特系统的硬件中实现本发明时只需要使用少至10个时钟周期。类似的软件实施不管怎样都要几百个周期到超过一千周期进行。这使这个处理对于一些网络系统要消耗非常多的时间。
通用操作
图3大体上示出确定CRC索引的过程的一个实施例的流程图。索引过程300可以,例如,在图2的CRC索引系统200中进行操作。
如图3所示如果已经收到要索引的数据分组,则索引过程300在开始方框之后从方框302开始。收到的数据分组可以是IPv4数据分组、IPv6数据分组等等。
过程执行到方框304,其中确定接收的数据分组的数据负载和地址首标。地址首标,被复制到方框306的CRC索引确定过程,其中地址首标可以是IP首标、IP五元组的一部分等等,。
在方框306,部分地基于地址首标确定CRC索引。方框306可以使用前面提到的CRC多项式来确定CRC索引,其中CRC多项式的系数代表比特值。可以基于地址首标的比特形成类似的多项式,并执行CRC多项式和地址首标多项式之间的多项式除法。多项式除法的余数构成了CRC索引。在32比特系统的例子中,根据IPv4协议,应用该方法到32比特地址首标可以获得单一的,随机的32比特索引。
在方框308,从CRC索引中确定至少一个比特用来提供合成索引。这个至少1比特可以包括从CRC索引中确定的一个或多个比特,最多包括所有的比特。这些比特可以是CRC索引的开头、中间或末尾区域的一组连续比特。确定的比特也可以是非连续的一组比特,例如CRC索引中的相间隔的比特等等。这组从CRC索引中确定出的比特确定了合成索引的长度。
在方框310,将合成索引与数据分组组合得到修改后的数据分组。组合过程可以通过多种方法来执行,包括预先添加、附加合成索引到数据分组等等。合成索引也可以被插入到地址首标中预定的位置。在另一个实施例中,地址首标可以使用合成索引加密。
可以在网络上传输得到的修改后的数据分组,用于部分地基于合成索引信息来路由。在另一个实施例中,可以在网络上传输以及把合成索引从数据分组中删除之前检索从合成索引中获得的路由信息。在这个实施例中,可以在网络上传输原始数据分组。在完成方框310后,索引过程300返回到调用过程来执行其它的操作。
需要理解的是,流程图的各个步骤,以及流程图中各个步骤的组合,可以通过硬件系统和软件指令的组合来实现。软件指令可以由处理器执行,产生一系列处理器执行的可操作步骤,产生计算机执行程序,使得在处理器上执行的指令提供用于实现在流程图中描述的一些或全部操作的步骤。
因此,流程图的框图说明支持执行这些指定操作的方法的组合,执行这些指定操作的步骤组合和执行指定操作的程序指令方法。另外需要理解的是,流程图说明的各个方框和其中方框的组合,可以通过专用硬件的系统来实现,该系统执行指定的操作或步骤,也可以通过专用硬件和计算机指令组合来实现。
以上的说明、举例和数据充分描述了本发明组成的制造和使用。因为可以在不脱离本发明的主旨和范围的情况下做出很多本发明的实施例,所以本发明的范围在下面附上的权利要求书中。
Claims (25)
1、一种用于在网络上管理信号的装置,包括:
循环冗余校验(CRC)电路,被配置成接收所述信号的至少一部分,并部分地基于所述信号的所述部分而确定CRC索引;
换算电路,耦合到所述CRC电路,被配置成根据所述CRC索引中确定至少一个比特;
重新插入电路,耦合到所述换算电路,被配置成通过将从所述CRC索引中选择的所述至少一个比特与所述信号相组合来确定修改后的信号,其中从所述CRC索引中选择的所述至少一个比特使得所述修改后的信号能够在所述网络上路由。
2、根据权利要求1所述的装置,其中所述信号的所述部分还包括地址首标。
3、根据权利要求1所述的装置,其中所述至少一个比特还包括通过所述CRC索引与预定的比特掩码相加而得到的至少一个比特。
4、根据权利要求1所述的装置,其中所述至少一个比特还包括非连续性的多个比特、至少两个比特、连续的几个比特以及所有的比特中的至少一种。
5、根据权利要求1所述的装置,其中所述信号的所述部分还包括源地址、目的端地址、源端口、目的端口和协议中的至少一个。
6、根据权利要求1所述的装置,其中所述CRC电路还包括执行操作的电路,所述操作包括32比特CRC多项式计算和128比特多项式计算中的至少一个。
7、根据权利要求1所述的装置,其中所述CRC电路还包括移位寄存器、存储器和异或触发器链中的至少一个。
8、根据权利要求1所述的装置,其中所述换算电路还包括:
散列长度存储器,被配置成保持预定的比特掩码;和
加法电路,耦合到所述散列长度存储器,被配置成通过组合所述CRC索引和所述预定的比特掩码,从所述CRC索引中选取所述至少一个比特。
9、根据权利要求8所述的装置,其中所述散列长度存储器还包括寄存器和存储器中的至少一个。
10、根据权利要求1所述的装置,其中所述重新插入电路还包括:
缓存器,被配置成保持所述信号;
组合设备,耦合到所述缓存器,被配置成部分地通过将从所述CRC索引中选取的所述至少一个比特与所述信号组合,来确定所述修改后的信号。
11、根据权利要求10所述的装置,其中所述缓存器还包括先进先出(FIFO)缓存器。
12、根据权利要求10所述的装置,其中所述组合设备还包括多路复用器、比较器、存储器、编码器中的至少一种。
13、一种用于管理网络业务的设备,包括:
收发器,用于执行如下操作:
接收数据分组流中的数据分组;
确定与所述数据分组关联的地址首标;并且
转发所述地址首标;和
索引设备,耦合到所述收发器,用于执行如下操作:
接收所述地址首标;
部分地基于所述地址首标确定CRC索引;
从所述CRC索引中确定比特子集;和
通过将从所述CRC索引中确定的所述比特子集与所述数据分组相组合,以确定修改后的数据分组,其中从所述CRC索引获得的所述比特子集使得所述数据分组能够在网络上路由。
14、根据权利要求13所述的设备,还包括重新插入电路,所述重新插入电路耦合到所述索引设备,用于执行如下操作:
将所述数据分组重新插入到数据流中。
15、根据权利要求13所述的设备,其中所述地址首标还包括源地址、目的端地址、源端口、目的端口和协议中的至少一个。
16、根据权利要求13所述的设备,其中所述设备可以在负载均衡器、路由器、防火墙、代理、网桥和网络转换设备中的至少一个上实施。
17、根据权利要求13所述的设备,其中从所述CRC索引获得的所述比特子集还包括非连续的多个比特、至少两个比特、连续的几个比特以及所有的比特中的至少一种。
18、一种在网络上路由业务的方法,包括:
接收数据分组流中的数据分组;
确定与所述数据分组关联的地址首标;
部分地基于所述地址首标确定CRC索引;
从所述CRC索引中选择出至少一个比特;和
通过组合从所述CRC索引中选择出的所述至少一个比特和所述数据分组来确定修改后的数据分组,其中所述至少一个从所述CRC索引中选择的比特使得所述数据分组能够在网络上路由。
19、根据权利要求18所述的方法,还包括:
将所述修改后的数据分组重新插入到数据流中。
20、根据权利要求18所述的方法,其中所述方法可以在负载均衡器、路由器、防火墙、代理、网桥和网络转化设备中的至少一个上实施。
21、根据权利要求18所述的方法,其中所述地址首标还包括源地址、目的端地址、源端口、目的端口和协议中的至少一个。
22、根据权利要求18所述的方法,还包括:
通过将从所述CRC索引选取的所述至少一个比特与路由表中的信息比校,来确定所述数据分组的目的端。
23、根据权利要求18所述的方法,其中确定所述修改后的数据分组还包括将从用所述CRC索引中选取的所述至少一个比特预先添加、附加、加密所述数据分组的所述地址首标中的至少一种方法。
24、一种在网络上路由数据分组的设备,包括:
用于接收数据分组流中数据分组的装置;
用于确定与所述数据分组关联的地址首标的装置;
用于部分地基于所述地址首标确定CRC索引的装置,
用于从所述CRC索引中选取至少一个比特的装置;和
用于部分地基于将从所述CRC索引中选取的所述至少一个比特与所述数据分组的地址首标组合,来确定修改后的数据分组的装置,其中从所述CRC索引中选取的至少一个比特使得所述数据分组能够在网络上路由。
25、一种用于管理网络业务的系统,包括:
第一网络设备,被配置成执行如下操作:
接收数据分组流中的数据分组;
确定与所述数据分组关联的地址首标;
部分地基于所述地址首标确定CRC索引;
从所述CRC索引中选取至少一个比特;和
通过组合从所述CRC索引中选取的所述至少一个比特与所述数据分组的方式来确定修改后的数据分组;和
第二网络设备,与所述第一网络设备通信,用于执行如下操作:
接收修改后的数据分组;和
部分地基于从所述CRC索引中选取的所述至少一个比特,路由所述修改后的数据分组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/714,551 | 2003-11-13 | ||
US10/714,551 US7047453B2 (en) | 2003-11-13 | 2003-11-13 | Method and apparatus for managing network traffic using cyclical redundancy check hash functions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1671125A true CN1671125A (zh) | 2005-09-21 |
Family
ID=34574011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410104778.3A Pending CN1671125A (zh) | 2003-11-13 | 2004-11-12 | 使用循环冗余校验散列函数管理网络业务的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7047453B2 (zh) |
KR (1) | KR20050046642A (zh) |
CN (1) | CN1671125A (zh) |
WO (1) | WO2005048006A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102428710A (zh) * | 2009-04-30 | 2012-04-25 | 瑞典爱立信有限公司 | 使用比特掩码来获得独特的标识符 |
CN102487282A (zh) * | 2010-12-03 | 2012-06-06 | 上海华虹集成电路有限责任公司 | 一种实现可变长crc运算的电路 |
CN108984615A (zh) * | 2018-06-12 | 2018-12-11 | 北京杰控科技有限公司 | 一种数据查询方法和系统、存储介质 |
CN110663207A (zh) * | 2017-05-24 | 2020-01-07 | Wago管理有限责任公司 | 嵌入的循环冗余校验值 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050022017A1 (en) | 2003-06-24 | 2005-01-27 | Maufer Thomas A. | Data structures and state tracking for network protocol processing |
US7844731B1 (en) * | 2003-11-14 | 2010-11-30 | Symantec Corporation | Systems and methods for address spacing in a firewall cluster |
US7281187B2 (en) * | 2003-11-20 | 2007-10-09 | Intellon Corporation | Using error checking bits to communicated an address or other bits |
US7935510B2 (en) * | 2004-04-30 | 2011-05-03 | Intrexon Corporation | Mutant receptors and their use in a nuclear receptor-based inducible gene expression system |
US7624446B1 (en) * | 2005-01-25 | 2009-11-24 | Symantec Corporation | Efficient signature packing for an intrusion detection system |
US8161185B2 (en) * | 2006-04-24 | 2012-04-17 | Cisco Technology, Inc. | Method and apparatus for assigning IPv6 link state identifiers |
US7852851B2 (en) * | 2006-11-10 | 2010-12-14 | Broadcom Corporation | Method and system for hash table based routing via a prefix transformation |
US8958460B2 (en) | 2008-03-18 | 2015-02-17 | On-Ramp Wireless, Inc. | Forward error correction media access control system |
US8477830B2 (en) | 2008-03-18 | 2013-07-02 | On-Ramp Wireless, Inc. | Light monitoring system using a random phase multiple access system |
US8520721B2 (en) | 2008-03-18 | 2013-08-27 | On-Ramp Wireless, Inc. | RSSI measurement mechanism in the presence of pulsed jammers |
US20100195553A1 (en) * | 2008-03-18 | 2010-08-05 | Myers Theodore J | Controlling power in a spread spectrum system |
US8363699B2 (en) | 2009-03-20 | 2013-01-29 | On-Ramp Wireless, Inc. | Random timing offset determination |
US8565239B2 (en) * | 2009-07-14 | 2013-10-22 | Broadcom Corporation | Node based path selection randomization |
US8665879B2 (en) * | 2009-07-14 | 2014-03-04 | Broadcom Corporation | Flow based path selection randomization using parallel hash functions |
KR20110074295A (ko) * | 2009-12-24 | 2011-06-30 | 삼성테크윈 주식회사 | Rfid 시스템에서 태그의 데이터 암호화 장치 |
DE102010033229A1 (de) | 2010-08-03 | 2012-02-09 | Siemens Aktiengesellschaft | Verfahren und System zur manipulationssicheren Übertragung von Steuerdaten |
US8996728B2 (en) * | 2010-10-01 | 2015-03-31 | Telcordia Technologies, Inc. | Obfuscating network traffic from previously collected network traffic |
WO2012139602A1 (de) * | 2011-04-15 | 2012-10-18 | Siemens Enterprise Communications Gmbh & Co. Kg | Verfahren zum genieren von adressen in einem computernetzwerk |
FR2990034B1 (fr) * | 2012-04-25 | 2014-04-25 | Inside Secure | Procede de controle de redondance cyclique protege contre une attaque par canal auxiliaire |
CN108073353B (zh) * | 2016-11-15 | 2020-04-14 | 华为技术有限公司 | 一种数据处理的方法及装置 |
US10542039B2 (en) * | 2017-02-08 | 2020-01-21 | Nicira, Inc. | Security against side-channel attack in real-time virtualized networks |
US10419035B2 (en) | 2017-11-20 | 2019-09-17 | International Business Machines Corporation | Use of multiple cyclic redundancy codes for optimized fail isolation |
US10530396B2 (en) | 2017-11-20 | 2020-01-07 | International Business Machines Corporation | Dynamically adjustable cyclic redundancy code types |
US10530523B2 (en) | 2017-11-20 | 2020-01-07 | International Business Machines Corporation | Dynamically adjustable cyclic redundancy code rates |
US10541782B2 (en) | 2017-11-20 | 2020-01-21 | International Business Machines Corporation | Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection |
US11153334B2 (en) * | 2019-04-09 | 2021-10-19 | Arbor Networks, Inc. | Automatic detection of malicious packets in DDoS attacks using an encoding scheme |
US11323372B2 (en) * | 2020-04-21 | 2022-05-03 | Mellanox Technologies Ltd. | Flexible steering |
US11425230B2 (en) | 2021-01-28 | 2022-08-23 | Mellanox Technologies, Ltd. | Efficient parsing tuned to prevalent packet types |
US11711453B2 (en) | 2021-10-24 | 2023-07-25 | Mellanox Technologies, Ltd. | Template-based packet parsing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000269826A (ja) * | 1999-03-15 | 2000-09-29 | Fujitsu Ltd | 誤り検出装置及び方法 |
US6775281B1 (en) * | 1999-09-30 | 2004-08-10 | Mosaid Technologies, Inc. | Method and apparatus for a four-way hash table |
EP1148650A1 (en) * | 2000-04-14 | 2001-10-24 | Matsushita Electric Industrial Co., Ltd. | Crc operation unit and crc operation method |
US7336667B2 (en) * | 2002-11-21 | 2008-02-26 | International Business Machines Corporation | Apparatus, method and program product to generate and use CRC in communications network |
-
2003
- 2003-11-13 US US10/714,551 patent/US7047453B2/en not_active Expired - Fee Related
-
2004
- 2004-11-11 WO PCT/IB2004/003701 patent/WO2005048006A2/en not_active Application Discontinuation
- 2004-11-12 CN CN200410104778.3A patent/CN1671125A/zh active Pending
- 2004-11-13 KR KR1020040092818A patent/KR20050046642A/ko not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102428710A (zh) * | 2009-04-30 | 2012-04-25 | 瑞典爱立信有限公司 | 使用比特掩码来获得独特的标识符 |
CN102428710B (zh) * | 2009-04-30 | 2015-02-18 | 瑞典爱立信有限公司 | 使用比特掩码来获得独特的标识符 |
CN102487282A (zh) * | 2010-12-03 | 2012-06-06 | 上海华虹集成电路有限责任公司 | 一种实现可变长crc运算的电路 |
CN110663207A (zh) * | 2017-05-24 | 2020-01-07 | Wago管理有限责任公司 | 嵌入的循环冗余校验值 |
CN110663207B (zh) * | 2017-05-24 | 2022-07-12 | Wago管理有限责任公司 | 嵌入的循环冗余校验值 |
CN108984615A (zh) * | 2018-06-12 | 2018-12-11 | 北京杰控科技有限公司 | 一种数据查询方法和系统、存储介质 |
CN108984615B (zh) * | 2018-06-12 | 2023-04-07 | 北京杰控科技有限公司 | 一种数据查询方法和系统、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20050046642A (ko) | 2005-05-18 |
WO2005048006A3 (en) | 2006-08-03 |
US20050108617A1 (en) | 2005-05-19 |
WO2005048006A2 (en) | 2005-05-26 |
US7047453B2 (en) | 2006-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1671125A (zh) | 使用循环冗余校验散列函数管理网络业务的方法和装置 | |
EP0993144B1 (en) | Packet relaying apparatus and method and circuit thereof | |
US7325059B2 (en) | Bounded index extensible hash-based IPv6 address lookup method | |
Chandranmenon et al. | Trading packet headers for packet processing | |
US7418505B2 (en) | IP address lookup using either a hashing table or multiple hash functions | |
JP4565793B2 (ja) | 最長一致アドレスルックアップのための方法および装置 | |
JP5525273B2 (ja) | 階層的に構造化された可変長識別子を有するパケットを転送するためのシステム | |
EP1344152B1 (en) | Apparatus and method for performing high-speed ip route lookup and managing routing/forwarding tables | |
CN1127833C (zh) | 分组处理设备、分组处理方法和分组交换 | |
Bando et al. | FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie | |
CA2326928C (en) | Route lookup engine | |
Lim et al. | High speed IP address lookup architecture using hashing | |
Touch | Report on MD5 performance | |
US20040039787A1 (en) | Methods and apparatus for processing packets including accessing one or more resources shared among processing engines | |
Khelifi et al. | A name-to-hash encoding scheme for vehicular named data networks | |
Chang | Fast binary and multiway prefix searches for packet forwarding | |
Sun et al. | An on-chip IP address lookup algorithm | |
AU2003252054B2 (en) | Packet processing engine | |
Mansour et al. | FPGA-based internet protocol version 6 router | |
Qazi et al. | Minimizing content-store data access time using two-tier tree architecture for NDN-based WSNs | |
Smiljanić et al. | A comparative review of scalable lookup algorithms for IPv6 | |
US7171490B2 (en) | Method and apparatus for reducing the number of write operations during route updates in pipelined forwarding engines | |
Tang et al. | RICS‐DFA: a space and time‐efficient signature matching algorithm with Reduced Input Character Set | |
JP4879728B2 (ja) | 検索装置およびデータ処理装置 | |
Wang et al. | Hardware-based IP routing lookup with incremental update |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |