CN101060482B - 一种路由查找方法和转发系统 - Google Patents
一种路由查找方法和转发系统 Download PDFInfo
- Publication number
- CN101060482B CN101060482B CN2007100739367A CN200710073936A CN101060482B CN 101060482 B CN101060482 B CN 101060482B CN 2007100739367 A CN2007100739367 A CN 2007100739367A CN 200710073936 A CN200710073936 A CN 200710073936A CN 101060482 B CN101060482 B CN 101060482B
- Authority
- CN
- China
- Prior art keywords
- compression
- keyword
- bit
- field
- flag bit
- 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
Images
Classifications
-
- 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
-
- 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/742—Route cache; Operation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及一种路由查找的方法、路由表压缩方法和路由转发系统及路由转发引擎,所述路由查找方法主要是从所接收的数据报文中提取关键字;对所述关键字进行压缩,所述压缩是指将所述关键字中为0的字段压缩为至少一个标志位;根据压缩后的关键字查找压缩路由表。通过把IP地址为0的字段压缩成至少一个标志位,则可以大大缩短路由表的空间,提高路由的查找速度。
Description
技术领域
本发明涉及通信技术,尤其涉及一种路由查找方法和转发系统。
背景技术
INTERNET的迅速发展给我们的生活带来了巨大的变化,随之而来的是网络流量的迅速增长。网络流量的增长对INTERNET上的路由器来说是一个很大的挑战。路由器是互连网的主要节点设备,路由器通过查找路由表决定数据包的转发。由于路由器对每个接收的数据包都需要查找路由表来决定数据包的转发,所以路由表的查找效率如何往往决定了整个路由器的性能。
目前路由的查找主要是根据IP地址为关键字来直接匹配路由表,从而得到路由转发的信息。比如当IPV6报文进行复杂流分类来执行策略路由,则路由表项将非常大。比如复杂流分类需要根据源地址、目的地址、源端口号、目的端口号和协议类型五元组来查找复杂流分类表。由于IPV6的源地址和目的地址都是128位,所以根据复杂流分类表来查找策略路由时将超过256位,这样,随着网络流量的增长,路由表项会越来越大,所以路由查找的速度必然会受到影响。
发明内容
有鉴于此,本发明实施例的主要目的是提供一种路由查找方法、路由表压缩方法和路由转发系统及路由转发引擎,以尽可能解决路由表项大所导致的路由查找速度慢的问题。
本发明实施例的目的是通过以下技术方案实现的:
本发明实施例提供一种路由查找的方法,从所接收的数据报文中提取关键字;对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;;根据所述压缩关键字查找压缩路由表。
此外,本发明实施例还提供一种路由表压缩方法,提取路由表中的关键字;对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;将所述压缩关键字放回所述路由表中,得到压缩路由表。
此外,本发明另一实施例提供了一种路由转发系统,包括控制处理模块、转发引擎、协处理器和存储器,所述控制处理模块包括:第一压缩路由模块,用于对路由表进行压缩,得到压缩路由表,所述压缩具体为提取路由表中的关键字;对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;路由配置模块,用于将所述压缩路由表存放到所述协处理器;所述转发引擎包括:第二压缩路由模块,用于将数据报文中的关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;所述协处理器,用于根据所述压缩关键字查找所述压缩路由表,输出下一跳信息给所述转发引擎;所述转发引擎用于根据所述下一跳信息从所述存储器中提取所述数据报文并进行转发。
本发明实施例还提供另一种路由转发引擎,包括:包接收模块,用于接收数据报文;并提取所述数据报文中的关键字;包转发模块,用于接收所述关键字,并对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;并根据所述关键字查找压缩路由表,输出下一跳信息;包发送模块,用于根据所述下一跳信息对所述数据报文进行转发。
由上述本发明实施例提供的技术方案可以看出,采用本发明实施例,通过把IP地址为0的字段压缩成至少一个标志位,则可以大大缩短路由表的空间,提高路由的查找速度。
附图说明
图1是本发明实施例一的路由查找的方法流程图;
图2是本发明实施例二的路由转发的系统示意图;
图3是本发明实施例三的路由转发引擎示意图。
具体实施方式
为了实现路由的快速查找,发明人通过多方考虑,认为从IP地址的实际应用出发,来解决现有技术的问题有现实意义。将IP地址进行压缩,目的是缩小路由表的空间。所以,为了尽可能地缩小路由表的空间,我们可以将所述关键字中为0的字段压缩为一个标志位。比如IPV6在实际应用中,IPV6地址经常有多个字节为0。如将IPV6地址分割成多个汇聚字段,其特点是经常有多个8比特字段值为0。这样如果把0的字节压缩成一个标志位,则可以大大缩短路由表的空间,提高路由的查找速度。
我们以IPV6地址为例进行说明,对于一个IPV6地址为20::1,则表明第一个字节为20,最后一个字节为1。由于IPV6的字节数有16个,每个字节从低位到高位分别表示为:0、1、2......15。由于字节1至字节14都为0,所以将每个0为的字节都分别用一个标志位来表示,比如字节1至字节14都用标志位为1来表示,这样,可以至少压缩12个字节。
在本发明实施例的具体实现时,具体的压缩标志位的设置可以根据具体的需要来设定。比如,我们可以把16比特为0的字段设置一个标志位;或者我们可以用两个4比特来表示标志位,表示一段连续为0的字节数,前4比特可以表示起始字节,后4比特可以表示终止字节。我们还以IPV6地址20::1为例,这样,起始字节为1,用二进制表示为0001,终止字节14,用二进制表示为1110。这样,字节1至字节14的压缩标志位为00011110。由于关键字经过压缩,相应地,路由表中对应的关键字部分也需要压缩。例如,我们可以通过提取路由表中的关键字;对所述关键字进行压缩,得到压缩关键字,所述压缩是指将所述关键字中为0的字段压缩为至少一个标志位;将所述压缩关键字放回所述路由表中,得到压缩路由表。具体压缩的方法可以和压缩关键字的方法一样。比如,关键字压缩方法为将8比特为0的字段设置一个标志位,则压缩路由表的压缩方法也是将8比特为0的字段设置一个标志位。
针对现实情况中,有些路由的IPV6地址中没有为0的字节数或者为0的字节数不多,所以,导致路由表无法压缩或者没必要压缩。考虑到这种情况,我们可以将没压缩的路由表和压缩路由表同时保存。则对压缩的关键字,从压缩路由表中进行查找路由;对没有压缩的关键字,从没压缩的路由表进行查找路由。
所以,在本发明实施的具体实现时,我们可以设置一个压缩长度规格,例如压缩长度规格为144比特,如果压缩后的长度如果在144比特以内,则进行压缩;如果压缩后的长度超出144比特,则不进行压缩。因此,用压缩的关键字去查找压缩路由表,用不压缩的关键字去查找没压缩的路由表。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
实施例一:
可参考图1,图1是本发明实施例一的路由查找的方法流程图。
步骤101、从所接收的数据报文中提取关键字,所述关键字是用来查找路由;
关键字的提取可以根据实际的需要来设置,我们以策略路由为例,一般数据报文进行策略路由转发时需要依据源地址、目的地址、源端口号、目的端口号和协议类型来查找路由表,从而获取路由转发所需的下一跳的信息。这样,接收到数据报文后,需要从数据报文中提取的关键字为:源地址、目的地址、源端口号、目的端口号和协议类型。其中源地址为20::1,目的地址为10:20::1。如果是组播路由时,则关键字可以为源地址和组播地址。
步骤102、对所述关键字进行压缩,所述压缩是指将所述关键字中为0的字段压缩为至少一个标志位;
我们先以上面提到的源地址为例进行说明。所述源地址为IPV6地址,具体为20::1,则表明第一个字节为20,最后一个字节为1。由于IPV6的字节数有16个,每个字节从低位到高位分别表示为:0、1、2......15。由于字节1至字节14都为0,由于1个字节为8比特,所以字节1至字节14都是分别有8比特位为0。如果将每个为0的字节都分别用一个比特标志位来表示,比如字节1至字节14都用标志位为0来表示,以所述字节1为例,则字节1压缩前占8个比特位,具体为00000000,当所述字节1压缩后只占一个比特位,具体为0。这样,所述字节1压缩后将减少7个比特位。在本发明实施例的具体实现时,我们还可以将不为0的字节统一用一个标志位来表示,例如用1来表示。这样压缩关键字后,所述关键字将得到一个压缩标志位。例如所述源地址20::1的压缩标志位为1000000000000001。此外,我们可以把16比特为0的字段设置一个标志位,我们仍以所述源地址为例,这样,所述源地址20::1的压缩标志位为10000001,这样,压缩关键字长度又少了8比特。所述源地址20::1的压缩关键字以压缩标志位+压缩后有效关键字来表示,具体的压缩标志位的设置可以根据具体的需要来设定。我们现在详细描述一下关键字压缩的实现过程,以下面的压缩方法为例,即以为0的字节压缩为一个比特标志位,例如为0;不为0的字节压缩为一个比特标志位,例如为1。这样,仍以上述的源地址为例,具体的压缩过程可以这样实现:我们先设置一个计数器可以初始化为0,设置寄存器A来存放压缩标志位,设置寄存器B来存放不为0的字节数,设置一个指针C来指示寄存器B的当前字节处。压缩字节不为0的由于所述源地址共有128位,我们可以用4个寄存器来存放。为了方便描述,我们用id来标识寄存器,即4个寄存器分别为id=0;id=1;id=2;id=3。这样,每个寄存器存放32位,共4个字节,为了方便描述,我们用字节0,字节1,字节2,字节3表示。压缩开始后,我们可以先对id=0的寄存器进行压缩,首先可以判断其中的字节3是否为0,如果是的话,则所述计数器加1,并将字节3的压缩标志位置0,且将字节3的压缩标志位放入寄存器A。如果字节3不为0,则将字节3的值放入寄存器B,同时指针C加1,并且将字节3的压缩标志位置1。之后,对id=0的寄存器中字节2进行压缩处理,压缩处理的过程如字节3一样。当id=0的寄存器中字节0压缩完成后,则开始对id=1的寄存器进行压缩处理,具体的压缩过程同上所述。当4个寄存器都压缩完成后,我们可以对关键字中的其他IP地址进行压缩,当关键字中的所有IP地址压缩完成后,我们可以对压缩关键字长度进行判断,如果压缩关键字的长度达到设定的压缩长度规格,则对所述关键字进行压缩,否则不进行压缩。所述压缩长度规格可以根据具体情况来设定,比如可以根据路由表项的大小要求。判断压缩关键字的长度可以根据所述计数器的值来将判断。我们设定关键字的压缩长度规格为144比特,则当关键字中的所有IP地址都压缩完成后,我们通过计数器的值来判断是否满足要求压缩长度规格。由于我们是以8比特为0压缩为1个标志位举例,所以当计数器的值大于等于21时,则说明所述关键字满足压缩长度规格144比特。最终压缩关键字可用下述表示:压缩标志位+不为0的字节。即提取寄存器A和寄存器B中的内容作为压缩关键字来进行查找路由。需要说明的是,压缩所有IP地址时可以使用一个计数器,且计数器的值是累加的。
需要说明的是,本发明实施例并不限定压缩查找寄存器的先后顺序,并不限定压缩每个寄存器中的字节顺序。此外,本发明实施例的具体实现时,我们也可以在对关键字中的所有IP地址分别进行压缩,也可以统一进行压缩。优选地,我们可以对关键字中的所有IP地址都压缩完成后,再判断压缩关键字是否满足要求的压缩长度规格。压缩关键字的长度规格可以分别根据需要来设定。例如压缩关键字的长度考虑到路由表项的大小,设定为144比特。
步骤103、根据压缩后的关键字查找压缩路由表。
由于关键字经过压缩,相应地,路由表中对应的关键字部分也需要压缩。具体压缩的方法可以和压缩关键字的方法一样。比如,关键字压缩方法为将8比特为0的字段设置一个标志位,则压缩路由表的压缩方法也是将8比特为0的字段设置一个标志位。
针对现实情况中,有些路由的IPV6地址中没有为0的字节数或者为0的字节数不多,所以,导致路由表无法压缩或者没必要压缩。考虑到这种情况,我们可以将没压缩的路由表和压缩路由表同时保存。则对压缩的关键字,从压缩路由表中进行查找路由;对没有压缩的关键字,从没压缩的路由表进行查找路由。
所以,在本发明实施的具体实现时,我们可以设置一个压缩长度规格,例如压缩长度规格为144比特,如果压缩后的长度如果在144比特以内,则进行压缩;如果压缩后的长度超出144比特,则不进行压缩。因此,用压缩的关键字去查找压缩路由表,用不压缩的关键字去查找没压缩的路由表。
实施例二:
可参考图2,图2是本发明实施例二的路由转发的系统示意图。
本发明实施例二提供了一种路由转发的系统,包括如下模块,控制处理模块、转发引擎、协处理器和存储器。其中,所述控制处理模块,用于完成控制协议报文的处理,路由表项的一些配置。所述控制处理模块还包括第一压缩路由模块,用于对路由表进行压缩,得到压缩路由表;路由配置模块,用于将所述压缩路由表存放到所述协处理器。所述转发引擎,用于接收数据报文,将所述数据报文存放到所述存储器中,并完成数据报文的转发。所述转发引擎还包括第二压缩路由模块,用于将所述数据报文中的关键字进行压缩,得到压缩关键字;协处理器,用于根据所述压缩关键字查找所述压缩路由表,输出下一跳信息给所述转发引擎。所述转发引擎根据所述下一跳信息从所述存储器中提取所述数据报文并进行转发。
针对上述提到的现实情况中,有些路由的IP地址中没有为0的字节数或者为0的字节数不多,所以,导致关键字或者路由表无法压缩或者没必要压缩。所以,我们可以对关键字或者路由表压缩后的长度分别设置一个压缩长度规格,所述控制处理模块还可以包括第一判断模块,用于判断路由表压缩后的长度是否在压缩长度规格以内;第一压缩路由模块,用于对路由表压缩后的长度在所述压缩长度规格以内的进行压缩,得到压缩路由表。相应地,所述转发引擎还可以包括第二判断模块,用于判断关键字压缩后的长度是否在所述压缩长度规格以内;第二压缩路由模块,用于对关键字压缩后的长度在所述压缩长度规格以内的进行压缩,得到压缩关键字。需要说明的是,为了保证关键字压缩后可以依据压缩关键字查找到对应的路由,所以压缩路由表的压缩方法和压缩关键字的方法一样。这样,所述协处理器中可以包含两个路由表,一个是没压缩的路由表;另一个是压缩路由表。所述协处理器根据所述压缩关键字查找所述压缩路由表,根据所述没压缩关键字查找没压缩路由表。
在本发明实施例的具体实现时,第一判断模块和/或第一压缩路由模块可以位于所述控制处理器中,也可以独立于所述控制处理器设置。相应地,第二判断模块和/或第二压缩路由模块可以位于所述转发引擎中,也可以独立于所述控制处理器设置。还有,所述协处理器中可以存放压缩路由表,也可以存放压缩路由表的下一跳索引。当所述协处理器中存放的是压缩路由表时,所述协处理器输出下一跳给所述转发引擎;当所述协处理器中存放的是压缩路由表的下一跳索引时,所述协处理器输出下一跳索引给所述转发引擎,所述转发引擎根据所述下一跳索引到所述存储器中读取下一跳。
实施例三:
可参考图3,图3是本发明实施例三的路由转发引擎示意图。
本发明实施例三提供了一种路由转发引擎,包括包接收模块、包转发模块、包发送模块。
其中,包接收模块,用于接收数据报文;并提取所述数据报文中的关键字,所述关键字是用来查找路由;
包转发模块,用于接收所述关键字,并对所述关键字进行压缩,并根据所述关键字查找压缩路由表,输出下一跳信息;
包发送模块,用于根据所述下一跳信息对所述数据报文进行转发。
在本发明实施例三的具体实现时,对所述关键字进行压缩也可以由专门的压缩模块来完成。关于提取所述数据报文中的关键字的操作,在本发明实施例的具体实现时,也可以由包转发模块来处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或者部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如;ROM/RAM,磁碟,光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种路由查找的方法,其特征在于,
从所接收的数据报文中提取关键字;
对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;根据所述压缩关键字查找压缩路由表。
2.根据权利要求1所述的方法,其特征在于,所述关键字为源地址、目的地址、源端口号、目的端口号和协议类型。
3.根据权利要求1所述的方法,其特征在于,所述关键字为源地址和组播地址。
4.一种路由查找的方法,其特征在于,
从所接收的数据报文中提取关键字;
当压缩后的关键字长度符合压缩长度规格时,对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;
根据所述压缩关键字查找压缩路由表。
5.一种路由表压缩方法,其特征在,
提取路由表中的关键字;
对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;
将所述压缩关键字放回所述路由表中,得到压缩路由表。
6.一种路由转发系统,包括控制处理模块、转发引擎、协处理器和存储器,其特征在于,
所述控制处理模块包括:
第一压缩路由模块,用于对路由表进行压缩,得到压缩路由表,所述压缩具体为提取路由表中的关键字;对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;
路由配置模块,用于将所述压缩路由表存放到所述协处理器;
所述转发引擎包括:
第二压缩路由模块,用于将数据报文中的关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;
所述协处理器,用于根据所述压缩关键字查找所述压缩路由表,输出下一跳信息给所述转发引擎;
所述转发引擎用于根据所述下一跳信息从所述存储器中提取所述数据报文并进行转发。
7.根据权利要求6所述的系统,其特征在于,所述控制处理模块还可以包括:
第一判断模块,用于判断路由表压缩后的长度是否在压缩长度规格以内;
相应地,第一压缩路由模块,用于对路由表压缩后的长度在所述压缩长度规格以内的进行所述压缩,得到所述压缩路由表。
相应地,所述转发引擎还包括:
第二判断模块,用于判断关键字压缩后的长度是否在所述压缩长度规格以内;
相应地,第二压缩路由模块,用于对关键字压缩后的长度在所述压缩长度规格以内的进行所述压缩,得到所述压缩关键字。
8.一种路由转发系统,包括控制处理模块、转发引擎、协处理器和存储器,其特征在于,
所述控制处理模块包括:
第一压缩路由模块,用于对路由表进行压缩,得到压缩路由表,所述压缩具体为提取路由表中的关键字;对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;
路由配置模块,用于将所述压缩路由表存放到所述存储器,将所述压缩路由表的下一跳索引存放到所述协处理器;
所述转发引擎包括:
第二压缩路由模块,用于将数据报文中的关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;
所述协处理器,用于根据所述压缩关键字查找所述压缩路由表的下一跳索引,输出下一跳索引给所述转发引擎;
所述转发引擎根据所述下一跳索引从所述存储器中获取路由下一跳信息,并提取所述数据报文并进行转发。
9.一种路由转发引擎,其特征在于,包括:
包接收模块,用于接收数据报文;并提取所述数据报文中的关键字;
包转发模块,用于接收所述关键字,并对所述关键字进行压缩,得到压缩关键字,所述压缩关键字包括压缩标志位和压缩后有效关键字,其中,所述压缩标志位是指将所述关键字中为0的字段压缩为至少一个比特第一标志位,不为0的字段压缩为一个比特第二标志位,所述字段为2的整数次幂个比特,所述2的整数次幂个比特的长度大于或等于8比特,且小于或等于所述关键字的比特数的一半,所述压缩后有效关键字为所述关键字中不为0的字段;并根据所述压缩关键字查找压缩路由表,输出下一跳信息;
包发送模块,用于根据所述下一跳信息对所述数据报文进行转发。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100739367A CN101060482B (zh) | 2007-03-31 | 2007-03-31 | 一种路由查找方法和转发系统 |
PCT/CN2008/070465 WO2008119282A1 (fr) | 2007-03-31 | 2008-03-11 | Procédé permettant d'acheminer une consultation et système de réacheminement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100739367A CN101060482B (zh) | 2007-03-31 | 2007-03-31 | 一种路由查找方法和转发系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101060482A CN101060482A (zh) | 2007-10-24 |
CN101060482B true CN101060482B (zh) | 2011-02-02 |
Family
ID=38866382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100739367A Expired - Fee Related CN101060482B (zh) | 2007-03-31 | 2007-03-31 | 一种路由查找方法和转发系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101060482B (zh) |
WO (1) | WO2008119282A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291398B (zh) * | 2011-08-05 | 2017-03-29 | 中兴通讯股份有限公司 | 无线通讯系统中数据压缩与解压缩方法、装置及系统 |
CN102291301B (zh) * | 2011-08-10 | 2015-06-10 | 杭州迪普科技有限公司 | 一种报文特征的匹配方法及装置 |
CN103209127B (zh) * | 2012-01-17 | 2016-01-20 | 迈普通信技术股份有限公司 | 基于Linux系统实现虚拟路由转发方法和装置 |
CN105471747B (zh) * | 2015-11-25 | 2019-04-16 | 武汉烽火网络有限责任公司 | 一种智能路由器选路方法和装置 |
CN109347747B (zh) * | 2018-11-13 | 2021-12-17 | 锐捷网络股份有限公司 | 一种数据处理方法及装置 |
CN110071923A (zh) * | 2019-04-24 | 2019-07-30 | 杭州迪普信息技术有限公司 | 报文识别方法、装置、电子设备及机器可读存储介质 |
CN110519173A (zh) * | 2019-09-10 | 2019-11-29 | 烽火通信科技股份有限公司 | 一种ip五元组表项的查找方法及查找系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1412975A (zh) * | 2001-10-15 | 2003-04-23 | 智邦科技股份有限公司 | 路由器的ip地址的建立和寻找方法及其装置 |
CN1675897A (zh) * | 2002-08-07 | 2005-09-28 | 因芬尼昂技术股份公司 | 数据分组路由方法及路由装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE9903460L (sv) * | 1999-09-22 | 2001-03-23 | Effnet Group Ab | Metod och system för snabba routinguppslag |
US7554981B2 (en) * | 2003-11-26 | 2009-06-30 | Wind River Systems, Inc. | System and method for efficient storage and processing of IPv6 addresses |
-
2007
- 2007-03-31 CN CN2007100739367A patent/CN101060482B/zh not_active Expired - Fee Related
-
2008
- 2008-03-11 WO PCT/CN2008/070465 patent/WO2008119282A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1412975A (zh) * | 2001-10-15 | 2003-04-23 | 智邦科技股份有限公司 | 路由器的ip地址的建立和寻找方法及其装置 |
CN1675897A (zh) * | 2002-08-07 | 2005-09-28 | 因芬尼昂技术股份公司 | 数据分组路由方法及路由装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2008119282A1 (fr) | 2008-10-09 |
CN101060482A (zh) | 2007-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101060482B (zh) | 一种路由查找方法和转发系统 | |
US7554981B2 (en) | System and method for efficient storage and processing of IPv6 addresses | |
AU2008203261B2 (en) | Data processing apparatus and data transfer method | |
US8239341B2 (en) | Method and apparatus for pattern matching | |
EP1168723A2 (en) | Method and apparatus for longest matching prefix determination in a communication network | |
CN103841018B (zh) | 一种基于内容网多端口的转发方法及路由器 | |
CN104115472A (zh) | 用于内容导向网络中可扩展路由的方法 | |
CN108696492B (zh) | Ip报文的处理方法与装置 | |
KR101409311B1 (ko) | 패킷 처리 및 전처리기를 위한 장치 및 방법 | |
TW201501556A (zh) | 用於唯一枚舉解析樹中的路徑的裝置和方法 | |
CN102970150A (zh) | 用于数据中心的可扩展组播转发方法和设备 | |
US9270519B2 (en) | Address translation device, address translation method, and computer product | |
CN103457700A (zh) | Ndn/ccn网络中的数据包内容名称编码压缩方法 | |
CN114050994B (zh) | 一种基于SRv6的网络遥测方法 | |
CN101241499A (zh) | Patricia树快速查找方法 | |
CN110825940B (zh) | 网络数据包存储和查询方法 | |
CN106506390A (zh) | 一种数据流传输方法 | |
CN105162901B (zh) | 一种基于sopc的nat的实现方法及装置 | |
CN101938424B (zh) | 建立路由表的方法和装置及报文转发方法和装置 | |
CN102055549B (zh) | 一种长期演进系统中的速率匹配装置及方法 | |
CN116095197B (zh) | 数据传输方法及相关装置 | |
CN106789440B (zh) | 一种ip包包头检测方法及装置 | |
CN102868775A (zh) | 地址解析协议表容量的扩展方法、报文转发方法和装置 | |
CN102812675B (zh) | 分组转送处理装置、方法 | |
CN115567460A (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: 20110202 Termination date: 20170331 |