CN100450100C - 一种路由方法和路由设备 - Google Patents

一种路由方法和路由设备 Download PDF

Info

Publication number
CN100450100C
CN100450100C CNB2006101120862A CN200610112086A CN100450100C CN 100450100 C CN100450100 C CN 100450100C CN B2006101120862 A CNB2006101120862 A CN B2006101120862A CN 200610112086 A CN200610112086 A CN 200610112086A CN 100450100 C CN100450100 C CN 100450100C
Authority
CN
China
Prior art keywords
index information
table items
route table
items index
cam
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
CNB2006101120862A
Other languages
English (en)
Other versions
CN1909518A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101120862A priority Critical patent/CN100450100C/zh
Publication of CN1909518A publication Critical patent/CN1909518A/zh
Priority to PCT/CN2007/070057 priority patent/WO2008028412A1/zh
Application granted granted Critical
Publication of CN100450100C publication Critical patent/CN100450100C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种路由方法和路由设备,通过对各路由表项索引信息进行压缩,使一个CAM的单元宽度能够容纳多个压缩后的路由表项索引信息,使CAM能够存储更多的路由表项索引信息,提高了CAM的利用率,扩大了路由表的容量,克服了现有技术中采用CAM时,路由设备成本高,路由表容量限制大的缺点;通过对数据报文中的路由表项索引信息进行压缩,并将该压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配,克服了现有技术中单独采用RAM时,路由查表效率低、路由转发性能差的缺点;从而通过本发明提供的技术方案使路由设备能够同时具有路由查表效率高、路由表容量大、路由设备成本低等特性。

Description

一种路由方法和路由设备
技术领域
本发明涉及网络通讯技术领域,具体涉及一种路由方法和路由设备。
背景技术
在社会信息化高度发展的今天,Internet的网络流量特别是核心网络的流量正在以指数级增长,同时,用户数量、以及用户对服务的要求也正在迅速增加,这一切都对作为Internet核心设备的主干路由设备提出了更高性能、更高容量的要求,也就是说,主干路由设备需要对数据包的IP地址按最长匹配域进行查找,并达到更快的查找速度,同时,要求主干路由设备IP路由表的容量不断扩大。
目前,在路由设备中如路由器、以太网交换机中,主要有两种IP路由查表方法:
方法一、采用HASH(哈希)算法,通过RAM(Random Access Memory,随机存取记忆体)来实现IP路由查表。低端以太网交换机一般会采用HASH查表方式。
方法一的优点在于:路由实现成本低,但是,HASH算法的主要问题是:当不同IP地址经过HASH算法压缩为较短的地址后,总会有地址重复的情况出现。为避免出现地址重复的现象,路由设备一般会采用多级HASH结构来解决这个问题,这样,使路由设备在一次IP查表过程中,实际查RAM的次数不确定,在最坏的情况下,查RAM的次数会很多,从而使IP路由查表效率差,最终导致路由设备的转发性能差。同时,由于路由设备需要对IP地址按最长匹配域进行查找,使HASH处理过程中的IP地址匹配后,需要检查该IP地址匹配是否为最长匹配,进一步降低了IP路由查表效率,从而,进一步降低了路由设备的转发性能。
方法二、为了提高IP路由查表的性能,发展出了CAM(基于内容查表器件)如TCAM(Triple Content Address Memory,三值内容寻址存储器),TCAM可以根据内容如IP地址直接找到对应的表项索引。在中高端芯片中,一般会采用TCAM实现IP路由查表。
TCAM是一种高速按内容查找的器件,三值匹配可以让一条IP路由表项配置IP地址和需要匹配的域,从而可以很好支持IP最长匹配查表,而且,一次查表肯定可以得到结果。目前,高速的器件已经能做到266M/S,这是HASH查找不可想象的速度,TCAM的IP路由查表效率高。但是,TCAM的价格较高,使路由设备的成本较高,而且,目前最大单片的容量为18Mbit,单片容量很难做的特别大,因而,对路由表容量限制较大。
发明内容
本发明的目的在于,提供一种路由方法和路由设备,使CAM能够存储更多的路由表项索引信息,提高了CAM的利用率,使路由设备在具有高效率的CAM路由查表性能的同时,降低了路由设备的成本。
为达到上述目的,本发明提供的一种路由方法,包括:
a、在需要对数据报文进行路由时,路由设备压缩数据报文中的路由表项索引信息,并将该压缩后的路由表项索引信息与CAM中存储的路由表项索引信息进行匹配;
b、路由设备根据匹配到的索引信息对该数据报文进行路由处理;
所述CAM中的一个单元容纳一个以上压缩后的路由表项索引信息。
下述方法的技术方案为可选技术方案。
所述路由表项索引信息压缩前包括:VPNID和IP地址。
所述CAM中存储的路由表项索引信息包括:VPNID和压缩的IP地址,对IP地址的压缩包括:根据CAM单元宽度对IP地址中的预定区域的地址信息进行压缩。
所述预定区域的地址信息包括:A类地址信息和B类地址信息。
设定CAM单元宽度为72比特位,步骤a之前包括:
路由设备将IP地址的高16比特位压缩为10比特位,并将该10比特位与IP地址的低16比特位和10比特位的VPNID一起作为路由表项索引信息,存储在一个CAM单元中。
所述方法还包括:设置未压缩路由表项索引信息与压缩后路由表项索引信息的对应关系;且所述步骤a包括:在需要对数据报文进行路由时,路由设备根据其从数据报文中获取的路由表项索引信息,从所述对应关系中查找压缩后的路由表项索引信息,并将查找到的所述压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配。
所述步骤a中将压缩后的路由表项索引信息与CAM中存储的路由表项索引信息进行匹配的步骤包括:
路由设备按照CAM单元宽度中低位表项到高位表项的顺序,将压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配。
当CAM中存储有多种类型的路由表项索引信息时,所述CAM中还存储有类型标识信息,且所述步骤a包括:
在需要对数据报文进行路由时,路由设备根据其从数据报文中获取的路由表项索引信息确定该路由表项索引信息的类型,从未压缩路由表项索引信息与压缩后路由表项索引信息的对应关系中查找压缩后的路由表项索引信息,并将该数据报文中的路由表项索引信息的类型、查找到的所述压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配。
本发明还提供一种路由设备,所述路由设备中设置有CAM、压缩模块和路由模块;
CAM中存储有压缩后的各路由表项索引信息,且一个CAM单元中存储有一个以上的压缩后的路由表项索引信息;
压缩模块用于:在路由设备需要对数据报文进行路由时,压缩该数据报文中的路由表项索引信息,并将压缩后的该路由表项索引信息与CAM中的路由表项索引信息进行匹配,将匹配到的索引信息发送至路由模块;
路由模块用于:根据其接收的路由表项索引信息对该数据报文进行路由转发处理。
下述路由设备的技术方案为可选技术方案。
所述压缩模块包括:对应关系存储子模块、查找子模块和匹配子模块;
对应关系存储子模块用于:存储未压缩的路由表项索引信息与压缩后的路由表项索引信息的对应关系;
查找子模块用于:在路由设备需要对数据报文进行路由时,根据数据报文中的未压缩的路由表项索引信息,从对应关系存储子模块中查找压缩后的路由表项索引信息,并将查找到的压缩后的路由表项索引信息传输至匹配子模块;
匹配子模块用于:将其接收到的路由表项索引信息与CAM中的路由表项索引信息进行匹配,并将匹配到的索引信息发送至路由模块。
通过上述技术方案的描述可知,通过对各路由表项索引信息进行压缩,使一个CAM的单元宽度能够容纳多个压缩后的路由表项索引信息,使CAM能够存储更多的路由表项索引信息,提高了CAM的利用率,扩大了路由表的容量,克服了现有技术中采用CAM时,路由设备成本高,路由表容量限制大的缺点;通过设置未压缩的路由表项索引信息与压缩后的路由表项索引信息的对应关系,如在RAM中存储该对应关系,使路由设备能够利用RAM的线性查找与CAM相结合的技术来实现路由转发,克服了现有技术中单独采用RAM时,路由查表效率低、路由转发性能差的缺点;通过为不同类型的路由表项索引信息设置类型标识信息,使CAM能够为多种类型的数据报文进行路由转发,如对Ipv4、Ipv6等数据报文进行路由转发;从而通过本发明提供的技术方案使路由设备能够同时具有路由查表效率高、路由表容量大、路由设备成本低等特性。
附图说明
图1是现有技术中的CAM示意图;
图2是本发明实施例的查找压缩后的IP地址示意图;
图3是本发明实施例的CAM示意图;
图4是本发明实施例的查找路由表项索引信息的流程图。
具体实施方式
在现有技术中,当路由设备采用HASH算法进行RAM查表来实现路由查找时,虽然具有成本低的优点,但是存在路由转发效率低、路由转发性能差的问题;当路由设备采用TCAM来实现路由查找时,虽然具有路由查表效率高的优点,但是存在路由表容量低、路由设备成本高的问题。如果将现有技术中两种路由查找方法相结合,提供一种既具有TCAM的高转发性能、又具有较低成本的路由查找方法,则能够在克服路由转发性能差的同时,克服路由设备成本高、路由表容量限制大的缺点。
本发明提出了一种基于CAM和路由表项索引信息压缩的快速路由方法,通过利用CAM如TCAM器件的高速处理能力、同时结合路由表项索引信息的数据组织方法,实现了高速、大容量、低成本的路由查找方法。
下面对本发明提供的技术方案进行详细描述。
在本发明的技术方案中,CAM如TCAM的一个单元中可以存储一个以上的路由表项索引信息,即一个CAM单元中存储的路由表项索引信息的数量应大于1,如一个CAM单元中存储有大于1的整数个路由表项索引信息,当然,一个CAM单元中存储的路由表项索引信息的数量也可以为大于1的非整数。
当CAM的一个单元中存储有大于1的整数个路由表项索引信息时,路由设备应压缩各路由表项索引信息,使一个CAM单元宽度能够容纳多个压缩后的路由表项索引信息。当一个CAM单元中需要存储大于1的整数个压缩后的路由表项索引信息时,应根据CAM的单元宽度来压缩路由表项索引信息。这样,在需要对数据报文进行路由时,路由设备首先应对数据报文中的路由表项索引信息进行压缩处理,并将压缩后的数据报文中的路由表项索引信息与CAM中的路由表项索引信息进行匹配;然后,路由设备根据匹配到的索引信息对该数据报文进行路由转发。
在实际应用过程中,压缩前的路由表项索引信息一般为:VPNID和IP地址。这样,本发明中的路由设备需要对VPNID和IP地址进行压缩处理,具体的压缩处理过程可以为:将IP地址的预定区间的地址信息压缩为预定位宽的地址信息。
由于IP地址的分布是有规律的,即在网络上一个路由节点的A类地址和B类地址的网段数量很少,IP地址的变化主要集中在后面的低16bit。这样,IP地址的预定区间的地址信息可以为:IP地址中的A类地址或者B类地址,即路由设备在进行压缩处理时,可以优先对IP地址中的A类地址或者B类地址进行压缩,如将IP地址中高16bit的IP地址进行压缩。在进行压缩过程中,具体的压缩算法可以根据网络的具体情况来设置,如系统中的IP地址的高16bit只表示n种不同的情况,则设置数字1到n,不同数字对应IP地址中不同的高16bit,在压缩时,根据上述压缩算法进行压缩即可。
当一个CAM单元中需要存储大于1的整数个压缩后的路由表项索引信息时,上述预定位宽应根据CAM中的单元宽度来确定,如当一个CAM单元中需要存放两个路由表项索引信息时,则一个路由表项索引信息的宽度为CAM单元宽度的二分之一,这样,在确定预定位宽时,需要将压缩前的路由表项索引信息的宽度与CAM单元宽度的二分之一相比,以确定压缩前的路由表项索引信息的宽度比CAM单元宽度多多少比特,设定CAM单元宽度为K1比特位,压缩前的路由表项索引信息的宽度比CAM单元宽度的二分之一多K2比特,此时,预定位宽为:K1与K2的差。
在对CAM中存储的路由表项索引信息进行压缩存储后,路由设备在接收到需要进行路由转发的数据报文时,应采用同样的压缩方法对数据报文中的路由表项索引信息进行压缩处理,然后,进行压缩后的路由表项索引信息的匹配处理过程。
本发明也可以预先设置未压缩的路由表项索引信息与压缩后的路由表项索引信息的对应关系,这个对应关系可以存储在路由设备中,如存储在路由设备的RAM中,当然,也可以独立于路由设备存储。上述对应关系也可以存储在非RAM的其他存储介质中。
在设置了上述对应关系后,路由设备在接收到需要进行路由转发处理的数据报文时,首先,从数据报文中获取未压缩的路由表项索引信息,然后,从上述对应关系中线性查找与数据报文中的未压缩的路由表项索引信息相匹配的压缩后的路由表项索引信息,在查找到相匹配的压缩后的路由表项索引信息后,将查找到的压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配,最后,路由设备利用匹配到的CAM中的路由表项索引信息对该数据报文进行路由转发处理。
当一个CAM单元中存储大于1的整数个路由表项索引信息时,路由设备在将查找到的压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配的过程中,可以根据CAM单元宽度中低位表项到高位表项的顺序,将查找到的压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配,例如,当一个CAM单元宽度中存储有两个路由表项索引信息时,路由设备首先在CAM的低位表项中进行匹配操作,如果匹配成功,则匹配过程结束,如果匹配失败,则在CAM的高位表项中进行匹配操作。
当路由设备能够对多种不同类型的数据报文如IPv4、IPv6数据报文等进行路由转发处理时,CAM中应对应存储不同类型的路由表项索引信息,此时,CAM中还应该存储有类型标识信息,该类型标识信息用于指示路由表项索引信息的类型,路由表项索引信息的类型如IPv4的路由表项索引信息、IPv6的路由表项索引信息等。
本发明可以为每一个路由表项索引信息均设置类型标识信息,如为IPv4和IPv6的路由表项索引信息均设置类型标识信息;也可以为部分路由表项索引信息设置类型标识信息,如仅为IPv6的路由表项索引信息设置类型标识信息,对IPv4的路由表项索引信息不设置类型标识信息。
当CAM中存储有类型标识信息、且一个CAM单元中存储有大于1的整数个路由表项索引信息时,在压缩路由表项索引信息时,应考虑CAM单元的宽度、以及类型标识信息占用的位宽信息。
在CAM中存储有类型标识信息的情况下,路由设备在需要对数据报文进行路由转发时,不仅需要从数据报文中获得未压缩的路由表项索引信息,还需要确定该路由表项索引信息的类型,然后,路由设备通过查询RAM表等方式确定该未压缩的路由表项索引信息对应的压缩后的路由表项索引信息,路由设备在确定该数据报文对应的压缩后的路由表项索引信息后,利用该压缩后的路由表项索引信息和类型标识信息在CAM中查找匹配的表项,并根据匹配路由表项索引信息对该数据报文进行路由转发处理。
下面以一个具体的例子对本发明提供的路由方法进行详细说明。
在中高端路由设备中,IPv4路由表项索引信息一般是由VPMD和IP地址组成,也就是说,路由设备是根据VPNID和IP地址来查找路由索引信息的。设定TCAM的一个单元宽度是以72bit为单位的,由于IPv4路由表项索引信息一般不可能做到刚好72bit,这样,TCAM中的很多存储空间均被浪费了。
例如,IPv4的IP地址信息为32比特位,VPNID为10比特位,TCAM单元宽度如附图1所示。
图1中,TCAM单元宽度为72比特位,IP地址和VPNID的宽度和为42比特位,这样,TCAM单元的高30bit没有被充分利用。
为了充分利用TCAM,路由设备可以将VPNID+IP地址信息压缩到36bit内,这样,一个72bit的TCAM单元中可以放两个压缩后的路由表项索引信息,从而使TCAM的路由表项容量提高了一倍。
在对VPNID+IP地址信息进行压缩时,考虑到IP地址分布的规律,在网络上一个路由节点的8bit的A类地址和16bit的B类地址的网段数量很少,IP地址的变化主要集中在后面的16bit。这样,路由设备可以对高16bit的IP地址进行压缩,将高16bit的IP地址压缩为10bit,这样,一个路由表项索引信息可以由36bit组成,其中包括:10bit的VPNID、压缩后的10bit高位地址索引信息和低16bit的IP地址。因此,一个TCAM单元中可以存储两个路由表项索引信息。
路由设备中可以利用RAM来保存未压缩的高16bit的IP地址信息和压缩后的高10bit的IP地址信息的对应关系,如附图2中,RAM中存储有上述对应关系,这样,路由设备在构建路由表项索引信息时,可以直接利用高16bit的IP地址作为索引在RAM中进行线性查表,得到一个压缩后的10bit的高位地址索引信息。
路由设备再用上述线性查表获得的10bit的高位地址索引信息、低16bit的IP地址信息和VPNID来构建CAM的路由表项,如附图2所示,由于TCAM中的每个路由表项宽度减少到了36bit,因此,TCAM中每个72bit的单元中可以存储2个路由表项索引信息。
在设置了上述RAM和TCAM后,当路由设备需要对数据报文进行路由转发时,首先,从数据报文中获得IP地址信息和VPNID信息,然后,将该IP地址的高16bit与RAM中的表项进行匹配,并获得匹配表项中的压缩后的10bit的高位地址索引信息,利用该索引信息与低16bit的IP地址信息和VPNID一起到TCAM中进行路由表项索引信息的匹配处理,并利用匹配到路由表项索引信息对该数据报文进行路由转发处理。本发明中的路由转发处理与现有技术中的路由转发处理过程相同,在此不再详细描述。
路由设备利用RAM、TCAM对数据报文进行路由转发的过程如附图4所示。
图4中,在步骤400,路由设备接收到数据报文,开始本发明的路由过程。
到步骤410,路由设备从数据报文中获得IP地址信息,并利用该IP地址的高16bit与RAM中的表项进行匹配,获得匹配表项中的压缩后的10bit的高位地址索引信息。
到步骤420,路由设备将该压缩后的10bit的高位地址索引信息与低16bit的IP地址信息和VPNID一起组成检索信息。
到步骤430,路由设备利用该检索信息到TCAM的低36bit中进行路由表项索引信息的匹配处理,路由设备判断TCAM的低36bit中是否有与该检索信息匹配的路由表项索引信息,如果有,到步骤440,路由设备利用该匹配到路由表项索引信息对该数据报文进行路由转发处理。
在步骤430,路由设备在确定TCAM的低36bit中没有与该检索信息匹配的路由表项索引信息时,到步骤450,路由设备利用该检索信息到TCAM的高36bit中进行路由表项索引信息的匹配处理,路由设备判断TCAM的高36bit中是否有与该检索信息匹配的路由表项索引信息,如果有,执行步骤440。
在步骤440,路由设备利用该匹配的路由表项索引信息对该数据报文进行路由转发处理,结束流程。
在步骤450,如果路由设备确定TCAM的高36bit中没有与该检索信息匹配的路由表项索引信息,则确定该路由没有匹配,到步骤451,路由设备将报文的IP地址等信息上送给CPU由软件做地址分析,然后软件通过配置对应压缩表项、CAM表项和路由表项,保证对后面同一地址报文能正确转发。
本发明提供的路由设备中设置有CAM、压缩模块和路由模块。
CAM中存储有压缩后的各路由表项索引信息,且一个CAM单元中存储有一个以上的路由表项索引信息。这里的CAM如TCAM。当CAM的一个单元中存储有大于1的整数个路由表项索引信息时,压缩后的路由表项索引信息的长度应根据CAM的单元宽度来确定,如路由表项索引信息为:将IP地址的高16bit压缩为10bit的地址索引信息、IP地址的低16bit和VPNID。当CAM中需要存储不同类型的路由表项索引信息时,CAM中还需要存储类型标识信息,具体如上述方法中的描述。
压缩模块主要用于:在路由设备需要对数据报文进行路由时,压缩数据报文中的路由表项索引信息,并将压缩后的该路由表项索引信息与CAM中的路由表项索引信息进行匹配,将匹配到的索引信息发送至路由模块。
压缩模块由查找子模块、对应关系存储子模块和匹配子模块组成。
对应关系存储子模块主要用于:存储未压缩的路由表项索引信息与压缩后的路由表项索引信息的对应关系。对应关系存储子模块可以为RAM。RAM中存储的对应关系可以为:IP地址的高16bit与压缩后的10bit的地址索引信息之间的对应关系。具体如上述方法中的描述。
查找子模块主要用于:在路由设备需要对数据报文进行路由转发时,从数据报文中获取未压缩的路由表项索引信息,然后,将这个数据报文中的路由表项索引信息在对应关系存储子模块中进行匹配查找,以获得对应的压缩后的路由表项索引信息,并将查找到的压缩后的路由表项索引信息传输至匹配子模块,如查找子模块在RAM中查找与数据报文中的IP地址的高16bit匹配的10bit的检索信息,并将查找到的10bit的检索信息、数据报文中的IP地址的低16bit和数据报文中的VPNID信息传输至匹配子模块。具体如上述方法中的描述。
匹配子模块主要用于:根据其接收到的路由表项索引信息与CAM中的路由表项索引信息进行匹配查找,并将匹配到的索引信息发送至路由模块。查找子模块在匹配查找过程中可以按照从低位到高位的顺序来查找,如当CAM中的一个72bit的单元中存储有两个路由表项索引信息时,先从低36bit的单元中进行匹配查找,在低36bit的单元中没有查找到匹配的路由表项索引信息时,再从CAM的高36bit的单元中进行匹配查找。而且,当CAM中还存储有类型标识信息时,查找子模块还需要确定数据报文中的路由表项索引信息的类型,并在匹配查找时,增加类型标识信息的匹配,具体如上述方法中的描述。
路由模块主要用于:接收匹配子模块传输来的路由表项索引信息,并根据路由表项索引信息对该数据报文进行路由转发处理。路由模块进行的路由转发处理操作与现有技术中的路由转发处理操作相同,在此不再详细描述。
通过上述描述可知,由于线性查表的速度比TCAM更快,本发明通过采用流水线分级查找的硬件设计流程,使本发明提供的路由方法具有高速的路由查表性能,从而使本发明的路由转发性能与现有技术中单独采用TCAM的路由转发性能一样。考虑到IP地址的分布规律,IP地址中高位地址的组合种类很少,有很大的压缩空间,在路由表项索引信息与CAM位宽不匹配时,通过调整路由表项索引信息的宽度,充分利用了CAM的存储空间,而且,调整路由表项索引信息的宽度并没有导致路由转发性能的下降。
本发明提出的基于TCAM和RAM的快速路由表项索引信息查找算法,将CAM的高速处理能力与IP地址的数据组织方法相结合,实现了高速、大容量、低成本的路由转发处理过程。本发明已经通过硬件验证,是确实可行的。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (10)

1、一种路由方法,其特征在于,包括:
a、在需要对数据报文进行路由时,路由设备压缩数据报文中的路由表项索引信息,并将该压缩后的路由表项索引信息与CAM中存储的路由表项索引信息进行匹配;
b、路由设备根据匹配到的索引信息对该数据报文进行路由处理;
所述CAM中的一个单元容纳一个以上压缩后的路由表项索引信息。
2、如权利要求1所述的一种路由方法,其特征在于,所述路由表项索引信息压缩前包括:VPNID和IP地址。
3、如权利要求2所述的一种路由方法,其特征在于,所述CAM中存储的路由表项索引信息包括:VPNID和压缩的IP地址,对IP地址的压缩包括:根据CAM单元宽度对IP地址中的预定区域的地址信息进行压缩。
4、如权利要求3所述的一种路由方法,其特征在于,所述预定区域的地址信息包括:A类地址信息和B类地址信息。
5、如权利要求3所述的一种路由方法,其特征在于,设定CAM单元宽度为72比特位,步骤a之前包括:
路由设备将IP地址的高16比特位压缩为10比特位,并将该10比特位与IP地址的低16比特位和10比特位的VPNID一起作为路由表项索引信息,存储在一个CAM单元中。
6、如权利要求1至5中任一权利要求所述的一种路由方法,其特征在于,所述方法还包括:设置未压缩路由表项索引信息与压缩后路由表项索引信息的对应关系;
且所述步骤a包括:在需要对数据报文进行路由时,路由设备根据其从数据报文中获取的路由表项索引信息,从所述对应关系中查找压缩后的路由表项索引信息,并将查找到的所述压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配。
7、如权利要求1至5中任一权利要求所述的一种路由方法,其特征在于,所述步骤a中将压缩后的路由表项索引信息与CAM中存储的路由表项索引信息进行匹配的步骤包括:
路由设备按照CAM单元宽度中低位表项到高位表项的顺序,将压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配。
8、如权利要求1至5中任一权利要求所述的一种路由方法,其特征在于,当CAM中存储有多种类型的路由表项索引信息时,所述CAM中还存储有类型标识信息,且所述步骤a包括:
在需要对数据报文进行路由时,路由设备根据其从数据报文中获取的路由表项索引信息确定该路由表项索引信息的类型,从未压缩路由表项索引信息与压缩后路由表项索引信息的对应关系中查找压缩后的路由表项索引信息,并将该数据报文中的路由表项索引信息的类型、查找到的所述压缩后的路由表项索引信息与CAM中的路由表项索引信息进行匹配。
9、一种路由设备,其特征在于,所述路由设备中设置有CAM、压缩模块和路由模块;
CAM中存储有压缩后的各路由表项索引信息,且一个CAM单元中存储有一个以上的压缩后的路由表项索引信息;
压缩模块用于:在路由设备需要对数据报文进行路由时,压缩该数据报文中的路由表项索引信息,并将压缩后的该路由表项索引信息与CAM中的路由表项索引信息进行匹配,将匹配到的索引信息发送至路由模块;
路由模块用于:根据其接收的路由表项索引信息对该数据报文进行路由转发处理。
10、如权利要求9所述的一种路由设备,其特征在于,所述压缩模块包括:对应关系存储子模块、查找子模块和匹配子模块;
对应关系存储子模块用于:存储未压缩的路由表项索引信息与压缩后的路由表项索引信息的对应关系;
查找子模块用于:在路由设备需要对数据报文进行路由时,根据数据报文中的未压缩的路由表项索引信息,从对应关系存储子模块中查找压缩后的路由表项索引信息,并将查找到的压缩后的路由表项索引信息传输至匹配子模块;
匹配子模块用于:将其接收到的路由表项索引信息与CAM中的路由表项索引信息进行匹配,并将匹配到的索引信息发送至路由模块。
CNB2006101120862A 2006-08-29 2006-08-29 一种路由方法和路由设备 Active CN100450100C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB2006101120862A CN100450100C (zh) 2006-08-29 2006-08-29 一种路由方法和路由设备
PCT/CN2007/070057 WO2008028412A1 (fr) 2006-08-29 2007-05-28 Procédé et appareil de routage, et procédé d'enregistrement d'informations de routage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101120862A CN100450100C (zh) 2006-08-29 2006-08-29 一种路由方法和路由设备

Publications (2)

Publication Number Publication Date
CN1909518A CN1909518A (zh) 2007-02-07
CN100450100C true CN100450100C (zh) 2009-01-07

Family

ID=37700512

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101120862A Active CN100450100C (zh) 2006-08-29 2006-08-29 一种路由方法和路由设备

Country Status (2)

Country Link
CN (1) CN100450100C (zh)
WO (1) WO2008028412A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291301B (zh) * 2011-08-10 2015-06-10 杭州迪普科技有限公司 一种报文特征的匹配方法及装置
CN103581023A (zh) * 2013-11-06 2014-02-12 盛科网络(苏州)有限公司 实现最长掩码匹配的方法及装置
CN108206782B (zh) * 2017-11-22 2021-07-06 盛科网络(苏州)有限公司 报文转发方法、装置、芯片及服务器
CN112804147A (zh) * 2018-05-25 2021-05-14 华为技术有限公司 报文传输方法、通信装置和系统
CN109039911B (zh) * 2018-07-27 2021-02-26 烽火通信科技股份有限公司 一种基于hash查找方式共享ram的方法及系统
CN110071923A (zh) * 2019-04-24 2019-07-30 杭州迪普信息技术有限公司 报文识别方法、装置、电子设备及机器可读存储介质
CN110708251B (zh) * 2019-09-24 2021-11-16 北京计算机技术及应用研究所 一种三态内容寻址存储器tcam转发单播查表方法
CN112118186B (zh) * 2020-08-28 2022-11-01 深圳市风云实业有限公司 一种交换芯片路由表项存储方法、转发方法及配置方法
CN115484203B (zh) * 2022-09-14 2024-05-24 云合智网(上海)技术有限公司 一种路由表项操作方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389507B1 (en) * 1999-01-15 2002-05-14 Gigabus, Inc. Memory device search system and method
CN1465014A (zh) * 2001-07-20 2003-12-31 诺基亚有限公司 使用tcam实现数据流的选择性路由
US20040095793A1 (en) * 2002-03-08 2004-05-20 Hu Shane Ching-Feng Static content addressable memory cell
CN1507228A (zh) * 2002-12-10 2004-06-23 ����������ͨѶ�ɷ����޹�˾�Ϻ��ڶ� 一种多协议标签交换路由系统接口装置和转发方法
CN1191520C (zh) * 2003-04-04 2005-03-02 清华大学 支持路由压缩的tcam高速更新方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274697B2 (en) * 2000-11-16 2007-09-25 Tensilica, Inc. Fast IP route lookup with 16/K and 16/Kc compressed data structures
CN1279729C (zh) * 2004-02-20 2006-10-11 清华大学 基于tcam的分布式并行ip路由查找方法
CN100375463C (zh) * 2004-07-02 2008-03-12 中国科学院计算技术研究所 一种使用分段压缩表实现最长前缀地址路由查找的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389507B1 (en) * 1999-01-15 2002-05-14 Gigabus, Inc. Memory device search system and method
CN1465014A (zh) * 2001-07-20 2003-12-31 诺基亚有限公司 使用tcam实现数据流的选择性路由
US20040095793A1 (en) * 2002-03-08 2004-05-20 Hu Shane Ching-Feng Static content addressable memory cell
CN1507228A (zh) * 2002-12-10 2004-06-23 ����������ͨѶ�ɷ����޹�˾�Ϻ��ڶ� 一种多协议标签交换路由系统接口装置和转发方法
CN1191520C (zh) * 2003-04-04 2005-03-02 清华大学 支持路由压缩的tcam高速更新方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
分段存储的CAM+SRAM高速IPv6路由查找方案. 曹智,张国杰,张兴明.计算机工程与应用. 2004
分段存储的CAM+SRAM高速IPv6路由查找方案. 曹智,张国杰,张兴明.计算机工程与应用. 2004 *
基于三态内容寻址存储器的路由表压缩和存储技术研究. 刘刚,张德运,李胜磊,高磊.西安交通大学学报,第37卷第10期. 2003
基于三态内容寻址存储器的路由表压缩和存储技术研究. 刘刚,张德运,李胜磊,高磊.西安交通大学学报,第37卷第10期. 2003 *

Also Published As

Publication number Publication date
WO2008028412A1 (fr) 2008-03-13
CN1909518A (zh) 2007-02-07

Similar Documents

Publication Publication Date Title
CN100450100C (zh) 一种路由方法和路由设备
US10445380B2 (en) System and method for direct storage access in a content-centric network
EP2793436B1 (en) Content router forwarding plane architecture
Song et al. Scalable name-based packet forwarding: From millions to billions
CN100466627C (zh) 地址前缀查找方法和装置以及报文转发方法和系统
CN107682466B (zh) Ip地址的地域信息搜索方法及其装置
CN102971732B (zh) 键/值存储器的集成分级查询处理的系统结构
CN101692651B (zh) 一种哈希查找表的方法和装置
CN101459619B (zh) 一种在网络中对报文传输的处理方法和装置
CN101505279B (zh) 一种路由查找方法和装置
CN101594319B (zh) 表项查找方法和装置
Crescenzi et al. IP address lookupmade fast and simple
CN112671880B (zh) 分布式内容缓存和寻址方法、系统、介质、宏基站及微基站
CN104915148A (zh) 用于串流存储装置中的高效内容高速缓冲存储的系统和方法
CN100426791C (zh) 一种路由转发表地址查找引擎装置
CN103973571A (zh) 网络处理器及其路由查找方法
Shubbar et al. A filter-based design of pending interest table in named data networking
CN101483844B (zh) 索引移动电话号码的方法和系统
US20050114393A1 (en) Dynamic forwarding method using binary search
WO2020248690A1 (zh) 报文匹配查表方法、系统、存储介质和终端
CN100505753C (zh) 一种IPv6多域分类处理方法
Ooka et al. Design of a high-speed content-centric-networking router using content addressable memory
CN102868775A (zh) 地址解析协议表容量的扩展方法、报文转发方法和装置
CN113328947B (zh) 基于应用可控前缀扩展布隆过滤器的可变长路由查找方法及装置
Chen et al. Improving NDN forwarding engine performance by rendezvous-based caching and forwarding

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