CN101883055B - 路由转发表容量扩展实现方法、装置及交换设备 - Google Patents

路由转发表容量扩展实现方法、装置及交换设备 Download PDF

Info

Publication number
CN101883055B
CN101883055B CN2010102330440A CN201010233044A CN101883055B CN 101883055 B CN101883055 B CN 101883055B CN 2010102330440 A CN2010102330440 A CN 2010102330440A CN 201010233044 A CN201010233044 A CN 201010233044A CN 101883055 B CN101883055 B CN 101883055B
Authority
CN
China
Prior art keywords
message
unit
routing forwarding
output interface
forwarding
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
CN2010102330440A
Other languages
English (en)
Other versions
CN101883055A (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.)
Ruijie Networks Co Ltd
Original Assignee
Fujian Star Net Communication 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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN2010102330440A priority Critical patent/CN101883055B/zh
Publication of CN101883055A publication Critical patent/CN101883055A/zh
Application granted granted Critical
Publication of CN101883055B publication Critical patent/CN101883055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种路由转发表容量扩展实现方法、装置及交换设备,该方法包括:将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将由外部网关协议产生的域间路由转发表项存放在大容量存储器中;当接收到报文时,由路由转发单元查询TCAM中的域内路由转发表,当查找到相匹配的域内路由转发表项时,通过查找到的域内路由转发表项确定对应的输出接口发送报文;当查找不到时,将报文转至协处理单元并根据协处理单元从所述存储器中查找到的域间路由转发表项所对应的输出接口发送报文。通过将域内路由和域间路由表项分别存储,即保证了路由转发的综合性能,又扩展了路由转发表的容量,降低了成本,节约了功耗等系统资源。

Description

路由转发表容量扩展实现方法、装置及交换设备
技术领域
本发明涉及通信技术领域,尤指一种适用于交换设备的路由转发表容量扩展实现方法、装置及交换设备。 
背景技术
三层交换机是具有互联网协议(Internet Protocol,IP)报文路由转发功能的交换机,进行IP报文路由转发需生成和维护两张表:路由表和路由转发表。路由表相当于网络世界中的地图,其描述了X点有哪些路径可以到达Y点,而路由转发表则是根据一定原则从X点到Y点的多条路径中选取出来的最优路径。 
路由转发的数据处理主要分为控制面处理和数据面处理。控制面处理主要是:通过路由协议交互生成路由表,并根据一定策略生成路由转发表。数据面处理是:根据路由转发表将IP报文传递到正确的目的地址。早期的三层交换设备的控制面处理和数据面处理都是由中央处理单元(Central Processing Unit,CPU)完成的。由于CPU忙于数据面报文转发处理时,可能导致控制面的路由表无法得到及时更新;CPU忙于控制面的路由协议处理时,又可能导致数据面报文转发中断。也就是说控制面处理和数据面处理之间相互影响而导致实时性差、系统性能低。 
因此,目前三层交换机将控制面处理和数据面处理分离开来:CPU专门进行控制面处理,由专用集成电路(Application Specific Integrated Circuit,ASIC)来执行数据面的IP报文路由转发工作,两者相互不影响,其具体结构如图1所示,该三层交换机包括:用于添加路由表等操作的CPU和用于IP报文转发的ASIC。 
ASIC主要是根据IP报文中携带的目的地址,通过查表操作查找路由转发表获取下一站的出口信息。为了满足报文快速转发的网络性能需求,需要提升查表操作速度,目前主要是通过三态内容寻址存储器(ternary content addressable memory,TCAM)来提升查表性能。普通的存储器是输入地址,输出存储的内容,而TCAM相反,是输入内容,输出该内容在存储器中对应的地址,以便以该地址作为索引来获取下一站的出口信息,实现O(1)的查找算法复杂度,获取最快的根据地址获取出口信息的速度。ASIC的具体的结构如图2所示,IP报文到来时由路由转发引擎与TCAM交互获取下一站的出口信息。 
由于IP报文是依据路由转发表来转发,路由转发表的容量直接决定了交换设备能够支撑的网络规模。随着互联网用户越来越多,互联网的规模越来越来大,对路由转发表容量的需求也越来越大,特别是IPv6的推广和能将一台物理设备虚拟成上百台逻辑设备的虚拟路由转发(Virtual Routing Forwarding,VRF)技术的出现,使得路由转发表的需求规模达到了几百万条。然而,由于硬件工艺的限制,集成在ASIC内部的TCAM容量有限,通常只能容纳几万条路由转发表,远远不能满足需求。因此,在满足性能需求的前提下,提升三层交换机路由转发表的容量成为迫切要解决的问题。 
目前三层交换机路由转发表的容量扩展的方案主要是:将TCAM从ASIC中剥离出来作为单独的器件存在,ASIC和TCAM之间采用特殊的接口互联,称之为“外扩TCAM”,外扩TCAM突破了硬件集成工艺的限制,可以采用稍大容量的TCAM,如图3所示,即为采用大容量TCAM的系统结构示意图,其中大容量TCAM通过外部TCAM接口与ASIC中的路由转发引擎交互。 
上述现有扩展路由转发表容量的方法存在如下问题: 
TCAM的价格与其容量成正比,大容量TCAM很昂贵,其价格甚至比ASIC本身还要高,导致产品成本很高而难以扩展到很大的容量以及大规模推广应用。且采用外扩TCAM的性能相对于集成在ASIC内部的TCAM要低,为实 现相同性能要求,需要采用多个“ASIC和外扩TCAM”组进行分布式处理,从而进一步的增加了产品成本投入。TCAM的功耗与其容量成正比,大容量TCAM功耗很大,对系统的供电和散热提出更高的要求,导致额外的能量消耗开销(例如电费等),使得产品使用成本增加,也不符合节能、低碳的经济理念。 
TCAM本身硬件工艺复杂,且其容量一般为几MB或十几MB,其容量的增长速度已经跟不上路由转发表容量增长的需求,且由于其制作工艺限制,扩大到比较大的容量也是很难实现的。 
可见,现有的TCAM不能满足路由转发表容量日益增长的需求,且成本高、耗能大、性能低。即使将几个物理TCAM叠加起来提升容量,或将几个内嵌TCAM的ASIC叠加起来提升容量,也无法从根本解决上述的成本高,功耗大和容量可扩展性低等问题。 
发明内容
本发明实施例提供一种路由转发表容量扩展实现方法、装置及交换设备,用以解决现有技术中存在路由转发扩容所导致的成本高、功耗大、扩展能力有限的的问题。 
一种路由转发表容量扩展实现方法,包括: 
将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将由外部网关协议产生的域间路由转发表项存放在大容量存储器中; 
当接收到报文时,由路由转发单元查询TCAM中的域内路由转发表,当查找到相匹配的域内路由转发表项时,通过查找到的域内路由转发表项确定对应的输出接口发送报文;当查找不到时,将报文转至协处理单元并根据协处理单元从所述存储器中查找到的域间路由转发表项所对应的输出接口发送报文。 
一种路由转发表容量扩展实现装置,包括:中央处理单元、路由转发单元 和协处理单元; 
所述中央处理单元,用于将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将由外部网关协议产生的域间路由转发表项存放在大容量存储器中; 
所述路由转发单元,用于当接收到报文时,由查询TCAM中的域内路由转发表,当查找到相匹配的域内路由转发表项时,通过查找到的域内路由转发表项确定对应的输出接口发送报文;当查找不到时,将报文转至所述协处理单元并根据所述协处理单元从所述存储器中查找到的域间路由转发表项所对应的输出接口发送报文; 
所述协处理单元,用于接收所述路由转发单元转发的报文时,从所述存储器中查找到的域间路由转发表项确定对应的输出接口。 
一种交换设备,包括:上述的路由转发表容量扩展实现装置。 
本发明有益效果如下: 
本发明实施例提供的路由转发表容量扩展实现方法、装置及交换设备,将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将由外部网关协议产生的域间路由转发表项存放在大容量存储器中;当接收到报文时,由路由转发单元查询TCAM中的域内路由转发表,当查找到相匹配的域内路由转发表项时,通过查找到的域内路由转发表项确定对应的输出接口发送报文;当查找不到时,将报文转至协处理单元并根据协处理单元从所述存储器中查找到的域间路由转发表项所对应的输出接口发送报文。该方式根据域内路由、域间路由与域内流量、域间流量的统计规律,通过将域内路由和域间路由表项分别存储,将使用频率较高、对查找速度要求高的域内路由存储在TCAM中,将域间路由存储在其他的普通存储器中,在发送报文时分别查找,从而满足了不同流量的使用需求;通过逻辑器件保证大量域间路由的存储,在保证了系统性能的同时扩展了路由转发表容量,节约了系统资源,降低了路由表容量扩展的成本投入。 
附图说明
图1为现有技术中三层交换机的结构示意图; 
图2为现有技术中专用集成电路ASIC的结构示意图; 
图3为现有技术中三层交换机ASIC扩容后的系统结构示意图; 
图4为本发明实施例一中路由转发表容量扩展实现装置的结构示意图; 
图5为本发明实施例一中路由转发表容量扩展实现方法的流程图; 
图6为本发明实施例二中路由转发表容量扩展实现装置的结构示意图; 
图7为本发明实施例二中路由转发表容量扩展实现方法的流程图。 
具体实施方式
通常网络节点(例如交换设备)中的路由信息包括域间路由和域内路由,域内路由是机构内部各组成部分之间的路径信息,域间路由是到其他机构的路径信息。例如:把一个城市当作一个机构,那么域内路由就类似城市地图,域间路由则类似世界地图。机构内部数据(报文)转发仅使用域内路由信息,而其他机构与当前机构的数据转发则要使用域间路由信息。通常网络核心节点既要转发域内数据也要转发域间数据,因此其路由转发表中存储有域内路由转发表和域间路由转发表。 
域内路由转发表规模与机构的大小有关,而域间路由转发表以目前的互联网状况一般有上百万。而对于网络中的域内数据流量和域间数据流量则与相应路由转发表的数量并不对等。例如:一个拥有几万用户的大型机构(如有几万人的综合性大学),即使每个用户仅有10Mbps(bps为带宽衡量单位,比特每秒)带宽,其网络核心节点承载的域内数据流量就达到几百Gbps。但即使是这样的大型机构,其出口带宽(即到其他机构的带宽)也就是域间数据流量通常只有几Gbps(例如1Gbps或2Gbps)。 
可见,对于网络中的核心节点,例如一个交换机而言,其域间路由转发表 容量有上百万,但域间数据转发流量只有几Gbps;而域内路由转发表容量只有几万,但域内转发流量有几百Gbps,两者容量和性能存在明显的不对称性。 
由于域间路由是通过边界网关协议生成的,而域内路由则是通过内部网关协议生成的,两者是可以区分的。本发明就是充分利用这种路由转发表项数量和路由转发流量之间的不对称性和可区分性达到了路由转发表扩容的目的的,即为了实现扩展路由转发表的容量,保证路由转发性能,同时不增加过多的成本投入,本发明实施例提供的路由转发表容量扩展实现方法,将路由转发表项根据路由来源的协议不同,在满足最长前缀匹配的同时,将路由转发表项按照域间路由转发表项和域内路由转发表项的不同,存储在不同的存储器中。 
实施例一: 
本发明实施例一提供的路由转发表容量扩展实现装置,所采用的路由转发表容量扩展实现装置的结构如图4所示,包括:中央处理单元10、路由转发单元20和协处理单元30。其中,中央处理单元(CPU)10通过控制总线与协处理单元30、路由转发单元20连接,协处理单元30与路由转发单元20通过数据总线连接,路由转发单元20与外部交互,接收和发送报文。其中路由转发单元可以设置多个,图中仅显示了一个。 
中央处理单元10,用于将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将由外部网关协议产生的域间路由转发表项存放在大容量存储器中。 
路由转发单元20,用于当接收到报文时,由查询TCAM中的域内路由转发表,当查找到相匹配的域内路由转发表项时,通过查找到的域内路由转发表项确定对应的输出接口发送报文;当查找不到时,将报文转至协处理单元30并根据协处理单元30从存储器中查找到的域间路由转发表项所对应的输出接口发送报文。具体包括:当查找不到相匹配的域内路由转发表项时,将接收到的报文中继到协处理单元30,以及根据从协处理单元30返回的修改后的报文中解析出的输出接口信息,通过对应的输出接口发送报文。 
协处理单元30,用于接收路由转发单元20转发的报文时,从存储器中查找到的域间路由转发表项确定对应的输出接口。上述协处理单元30具体用于查找存储器中存储的域间路由转发表项,并将根据查找到的域间路由转发表项修改后的至少携带输出接口信息的报文反馈给对应的路由转发单元。 
上述路由转发单元20,具体用于当查找不到相匹配的域内路由转发表项时,将接收到的报文中继到协处理单元,以及根据从协处理单元返回的修改后的报文中解析出的所述输出接口信息,通过对应的输出接口发送报文。 
上述协处理单元30具体用于查找大容量存储器中存储的域间路由转发表项,并将根据查找到的域间路由转发表项修改后的至少携带输出接口信息的报文反馈给对应的路由转发单元。 
也就是说,一般在满足最长前缀匹配的同时,优先将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,由所关联的ASIC执行路由转发,将由外部网关协议产生的域间路由转发表项存放在大容量、低功耗、低成本的存储器中,由所关联的协处理器执行路由转发。 
利用上述路由转发表容量扩展实现装置实现路由转发表容量扩展的方法流程如图5所示,执行步骤如下: 
步骤S101:对域间路由转发表项和域内路由转发表项进行区别存储。 
具体为:根据路由转发表项的来源(内部网关协议还是外部网关协议)将其分为两类:域内路由转发表项或者域间路由转发表项,在保证最长前缀匹配的同时,将使用内部网关协议的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将使用外部网关协议的域间路由转发表项存放在大容量存储器中。在满足最长前缀匹配的的同时(最精确的路由优先使用),优先将域内路由转发表项存放到小容量的TCAM中,以满足高速转发的性能需求;将域间路由转发信息表项存放到大容量存储器中,以满足低成本、低功耗、大容量存储的需求。 
即通过上述装置中的CPU实现控制面的处理,将路由转发表分为域间路转发表和域内路由转发表进行分别处理,而不是一视同仁。通过控制总线将属于域间路由转发表的域间路由转发表项设置到一个大容量的存储器中,较佳的,该存储器位于协处理单元中,可选的,该存储器也可以单独设置并能与协处理单元交互。通过控制总线将属于域内路由转发表的域间路由转发表项设置到TCAM中,较佳的,TCAM位于路由转发单元中,可选的,也可以单独设置,并能与路由转发单元交互。 
步骤S102:当接收到报文时,由路由转发单元查询TCAM中的域内路由转发表。 
接收到的报文即为外界输入输出的标准IP报文,可以简称为外部报文或原始IP报文。例如:上述装置中的路由转发单元(如:可以是ASIC)主要用来根据路由转发表转发IP报文。本发明的实现方案中其优先处理域内路由转发,当接收到IP报文时,优先查询内部集成的或单独设置的TCAM,以便确认是否可以直接转发,还是需要协处理单元查询域间路由后转发。 
步骤S103:是否查找到相匹配的域内路由转发表项。 
相匹配的转发表项是指根据报文发送规则查找符合该规则的转发表项,例如:根据报文的目的地址,查找是否有到达该目的地址的域内路由转发表项等。 
若是,执行步骤S104,否则执行步骤S105。 
步骤S104:通过查找到的域内路由转发表项确定对应的输出接口发送报文。 
例如上述装置中的路由转发单元,当查找到相匹配的域内路由转发表项时,可以直接通过对应的输出接口将报文发送出去。例如可以根据端口索引信息,确定相应的输出接口发送报文,此时,和现有技术中一样按照标准修改IP报文后从对应接口转发出去。 
由于TCAM中优先存放域内路由转发信息,需要高速处理的域内转发流绝大部分在路由转发单元内处理,性能能够得到保证。 
优选的,当路由转发单元不止一个时,通过查找到的域内路由转发表项确 定对应的输出接口发送报文,具体包括: 
若根据查找到的域内路由转发表项确定对应的输出接口为本单元的接口,则通过对应的输出接口发送报文;若根据查找到的域内路由转发表项确定对应的输出接口不是本单元的接口,为接收到的报文添加输出接口信息和单元索引信息,根据添加的单元索引信息将报文转发至对应的路由转发单元,由对应的路由转发单元根据报文中的输出接口信息通过对应的输出接口发送报文。 
步骤S105:将报文转至协处理单元。 
路由转发单元将接收到的报文中继到协处理单元,此时是通过数据总线传送的,一般是将报文原封不动的中继到协处理单元。具体可以通过在路由转发单元中增加设置报文中继单元,在不修改报文的情况下来实现将报文中继到其他单元(常规IP报文路由转发要对标准IP报文进行相关修改),当然,报文中继单元也可以为报文添加一些私有信息,例如接口索引信息、单元索引信息等。 
步骤S106:协处理单元查找存储器中存储的域间路由转发表项。 
当路由转发单元唯一时,根据查找到的域间路由转发表项所指示的输出接口,为接收到的报文添加输出接口信息得到修改后的报文并发送给路由转发单元。 
协处理单元接收到报文后,查找大容量存储器中的域间路由转发表项,并根据查找结果修改报文。由于该大容量存储器重路由转发表项容量大,能够存储所有的域间路由,合法的IP报文必然能够命中,且容量能够得到保证,性能也能满足域间流量的需求。 
修改后的报文根据需要可以携带私有信息,例如接口索引信息和/或单元索引信息等。如:携带接口索引信息的IP报文的具体格式如下表1所示: 
表1 
  接口索引信息   标准IP报文
对标准的IP报文进行修改后,将修改后的打上私有信息的报文发送给路 由转发单元。 
一般若报文是协处理器发出的,携带该代表输出接口的接口索引信息。当如上述步骤S105由路由转发单元发出时,该接口索引信息可以忽略。 
该新增加的协处理单元主要协助路由转发单元进行域间报文的路由转发,采用大容量,低成本,低功耗的存储器件存储域间路由转发表,其容量可高达几个GB(G Bite),转发性能达到几十Gbps。例如可以是普通PC采用的双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR SDRAM)。实现将现有技术中由一个处理器件完成的数据面的处理工作改进成由两个器件分工完成,兼顾数据转发、性能和路由表容量等方面的需求。 
优选的,当路由转发单元不止一个,根据查找到的域间路由转发表项所指示的输出接口,为接收到的报文添加输出接口信息和单元索引信息,得到修改后的报文;以及根据单元索引信息将报文转至相应的路由转发单元。 
修改后的报文根据需要可以携带私有信息,例如接口索引信息和/或单元索引信息等。其具体格式如下表2所示: 
表2 
  接口索引信息   单元索引信息   标准IP报文
步骤S107:发送修改后的报文给路由转发单元。 
即将根据查找到的域间路由转发表项修改后的至少携带输出接口信息的报文反馈给对应的路由转发单元。 
当只有一个路由转发单元时,可以直接发送;当有不止一个路由转发单元时,根据单元索引信息发送到相应的路由转发单元。 
步骤S108:路由转发单元接收上述修改后的报文。 
步骤S109:根据解析出的输出接口信息,通过对应的输出接口发送报文。 
路由转发单元接收到修改后的携带私有信息的报文时,从中解析出输出接口信息,然后去掉私有信息,将标准报文从指定接口输出。由于该步骤不用查 路由信息表,因此路由转发单元中的路由转发表容量对其转发没有影响。 
其中,路由转发单元可以根据接口索引信息,将去掉私有信息后的标准报文相应输出接口输出。目前硬件工艺可使得该处理单元的转发性能可以达到几百Gbps。 
步骤S105-步骤S109实现了当查找不到相匹配的域内路由转发表项时,根据协处理单元从存储器中查找到的域间路由转发表项所对应的输出接口发送报文。 
上述实施例一提供的路由转发表容量扩展,可以适用于一个或多个路由转发单元的情况,较佳的,当设置多个路由转发单元时,还可以设置一个连接协处理单元和多个路由转发单元的报文交换单元,来实现以协处理单元和各路由转发单元之间的报文转发。下面通过具体的实施例二来进行具体说明。 
实施例二: 
本发明实施例二提供的路由转发表容量扩展实现装置,可以对实施例一中提供的装置进行扩展,使其包含多个路由转发单元,且通过报文交换单元连接各路由转发单元和协处理单元。 
下面以包含三个路由转发单元为例进行说明,所采用的路由转发表容量扩展实现装置的结构如图6所示,包括:中央处理单元(CPU)10、路由转发单元(20、21、22)、协处理单元30和报文交换单元40。其中,中央处理单元10通过控制总线与协处理单元30、路由转发单元(20、21、22)连接,协处理单元30与路由转发单元(20、21、22)经过报文交换单元40通过数据总线连接,路由转发单元20与外部交互,接收和发送报文。 
实质上,本发明的上述装置,协处理单元30和CPU 10之间的连接方式可以有多种,上述总线型只是其中一种,还可以是星型、CPU分布式处理等。报文交换单元40和协处理单元30、路由转发单元(20、21、22)之间的连接方式和分工则是以能够实现不同路由转发单元(20、21、22)之间、协处理单元30与路由转发单元20之间通过报文交换单元40实现报文交互即可。 
与实施例一种仅有一个路由转发单元的装置的不同之处在于: 
本实施例中装置还包括:报文交换单元,可以根据单元索引信息,将报文不做修改的中继到目的单元。 
上述实施例一中,当路由转发单元唯一时,协处理单元根据查找到的域间路由转发表项所指示的输出接口,为接收到的报文添加输出接口信息得到修改后的报文并发送给路由转发单元;而本实施例中,较佳的,报文交换单元为路由转发单元和协处理单元分配单元索引信息,报文交换单元接收到路由转发单元或协处理单元转发过来的携带单元索引信息的报文后,根据单元索引信息将接收到的报文交换至相应的路由转发单元或协处理单元。 
当路由转发单元不止一个,协处理单元根据查找到的域间路由转发表项所指示的输出接口,为接收到的添加输出接口信息和单元索引信息得到修改后的报文转发给报文交换单元。 
上述报文交换单元,用于根据单元索引信息将报文转至相应的路由转发单元。 
当路由转发单元不止一个,路由转发单元,具体用于若根据查找到的域内路由转发表项确定对应的输出接口为本单元的接口,则通过对应的输出接口发送报文;若根据查找到的域内路由转发表项确定对应的输出接口不是本单元的接口,为接收到的报文添加输出接口信息和单元索引信息,根据添加的单元索引信息将报文转发给报文交换单元。 
上述报文交换单元,还用于将接收到的报文转发至对应的路由转发单元,由对应的路由转发单元根据报文中的输出接口信息通过对应的输出接口发送报文。 
利用上述路由转发表容量扩展实现装置实现路由转发表容量扩展的方法流程如图7所示,执行步骤如下: 
步骤S201:对域间路由转发表项和域内路由转发表项进行区别存储。 
具体同步骤S101,此处不再赘述。 
步骤S202:当接收到报文时,由路由转发单元查询TCAM中的域内路由转发表。 
具体同步骤S102,此处不再赘述。 
步骤S303:是否查找到相匹配的域内路由转发表项。 
具体同步骤S103,此处不再赘述。 
若是,执行步骤S204,否则执行步骤S208。 
步骤S204:判断报文的输出接口是否是本单元的输出接口。 
报文的输出接口可以根据查找到的路由转发表项确定。例如可以根据端口索引信息,确定相应的输出接口 
若是,执行步骤S205,否则,执行步骤S206。 
步骤S205:通过对应的输出接口发送报文。 
若根据查找到的域内路由转发表项确定对应的输出接口为本单元的接口,则通过对应的输出接口发送报文。此时,和现有技术中一样按照标准修改IP报文后从对应接口转发出去。 
步骤S206:将报文转发至对应的路由转发单元。 
若根据查找到的域内路由转发表项确定对应的输出接口不是本单元的接口,为接收到的报文添加输出接口信息和单元索引信息,根据添加的单元索引信息将报文转发至对应的路由转发单元。具体可以通过报文交换单元实现报文的转发。 
步骤S207:对应的路由转发单元根据对应的输出接口发送报文。 
其他路由转发单元接收到报文交换单元转发过来的报文后,通过与报文中携带的输出接口信息对应的输出接口发送报文。 
步骤S208:将报文转发协处理单元。 
路由转发单元将接收到的报文中继到协处理单元,此时也是由报文交换单元转发并通过数据总线传送的,一般是将报文原封不动的中继到协处理单元。具体可以通过在路由转发单元中增加设置报文中继单元,在不修改报文的情况 下来实现将报文中继到其他单元(常规IP报文路由转发要对标准IP报文进行相关修改),当然,报文中继单元也可以为报文添加一些私有信息,例如接口索引信息、单元索引信息等。 
步骤S209:协处理单元查存储器中存储的域间路由转发表项。 
协处理单元接收到报文后,查找大容量存储器中的域间路由转发表项,并根据查找结果修改报文。修改后的报文根据需要可以携带私有信息,例如接口索引信息和/或单元索引信息等。其具体格式如上述表2所示。 
对标准的IP报文进行修改后,将修改后的打上私有信息的报文转发给对应的路由转发单元。 
步骤S210:发送修改后的报文给路由转发单元。 
将根据查找到的域间路由转发表项修改后的携带输出接口信息和单元索引信息的报文反馈给对应的路由转发单元。 
具体通过报文交换单元实现将报文转发至对应的路由转发单元,即将修改后的报文发送报文交换单元,由报文交换单元根据单元索引信息转发给对应的路由转发单元。 
也就是说,当路由转发单元不止一个,根据查找到的域间路由转发表项所指示的输出接口,为接收到的添加输出接口信息和单元索引信息得到修改后的报文;以及根据单元索引信息将报文转至相应的路由转发单元。 
步骤S211:路由转发单元接收上述修改后的报文。 
步骤S212:根据解析出的输出接口信息,通过对应的输出接口发送报文。 
路由转发单元接收到修改后的携带私有信息的报文时,从中解析出输出接口信息,然后去掉私有信息,将标准报文从指定接口输出。由于该步骤不用查路由信息表,因此路由转发单元中的路由转发表容量对其转发没有影响。 
其中,路由转发单元可以根据接口索引信息,将去掉私有信息后的标准报文相应输出接口输出。目前硬件工艺可使得该处理单元的转发性能可以达到几百Gbps。 
步骤S208-步骤S212实现了当查找不到相匹配的域内路由转发表项时,根据协处理单元从存储器中查找到的域间路由转发表项所对应的输出接口发送报文。 
可见,本发明实施例提供的路由转发表容量扩展实现装置可以扩展为:一个协处理器为多个路由转发单元服务。相互之间采用星型拓扑等方式互联,可以灵活调整流量比例,以适应不同的网络。例如:在域内流量:域间流量比值小的场景中,可以减少路由转发单元,在域内流量:域间流量比值大的场景中,可以增加路由转发单元,以适应不同场景的应用需求。 
上述实施例一和实施例二所提供的路由转发表容量扩展实现装置,可以设置用于网络报文交换的任何交换设备中,例如:三层交换机等。 
本发明实施例提供的路由转发表容量扩展实现方法及装置,该方式根据域内路由、域间路由与域内流量、域间流量的统计规律,将域内路由和域间路由表项分别存储,将使用频率较高、对查找速度要求高的域内路由存储在TCAM中,将域间路由存储在其他的普通存储器中,实现了将数据面的处理根据需求情况分配到不同的处理单元(路由转发单元和协处理单元)中处理,在发送报文时分别查找,从而满足了不同流量的使用需求。前者采用集成的小容量TCAM存储域内路由转发表项,以满足高速转发需求,后者可以是采用DDR等大容量存储器的逻辑处理单元,存储域间路由转发表项,满足低成本,低功耗,大容量的转发需求。 
由于域内流量一般比较大、转发表项比较少,因此本发明中优先查找TCAM来实现大部分流量的迅速转发;而域外流量一般比较小,转发表项比较多,将其独立出来,单独处理,通过逻辑器件保证大量域间路由的存储,在扩展路由表容量的同时提高了系统综合性能,节约了系统资源,降低了路由表容量扩展的成本投入。 
此外,可以根据需求选择不同的路由转发单元数量,适应不同场景的不同需求,随着协处理单元的转发能力增强,该装置适应的场景越广。例如:一个 协处理单元的网络处理器(NP)转发能力可达到40Gbps,即使只按照100倍的放大比来算,其可适用的场景高达4000Gbps,即4Tbps。 
可见,本发明通过将路由转发表有效分类处理和数据流有效分类转发,在不降低网络性能的前提下,极大的提升网络设备的路由转发表容量,同时满足了网络对高性能和路由转发表大容量需求。并具有低成本,低功耗,易扩展的特点,符合节能、低碳、环保的要求,可以根据应用场景进行灵活配置,易于大规模推广应用。 
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。 

Claims (10)

1.一种路由转发表容量扩展实现方法,其特征在于,包括:
将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将由外部网关协议产生的域间路由转发表项存放在大容量存储器中;
当接收到报文时,由路由转发单元查询TCAM中的域内路由转发表,当查找到相匹配的域内路由转发表项时,通过查找到的域内路由转发表项确定对应的输出接口发送报文;当查找不到时,将报文转至协处理单元并根据协处理单元从所述存储器中查找到的域间路由转发表项所对应的输出接口发送报文。
2.如权利要求1所述的方法,其特征在于,所述将报文转至协处理单元并根据协处理单元从所述存储器中查找到的域间路由转发表项所对应的输出接口发送报文,具体包括:
路由转发单元将接收到的报文中继到协处理单元;
协处理单元查找所述存储器中存储的域间路由转发表项,并将根据查找到的域间路由转发表项修改后的至少携带输出接口信息的报文反馈给对应的路由转发单元;
路由转发单元根据解析出的所述输出接口信息,通过对应的输出接口发送报文。
3.如权利要求2所述的方法,其特征在于,将根据查找到的域间路由转发表项修改后的至少携带输出接口信息的报文反馈给路由转发单元,具体包括:
当所述路由转发单元唯一时,根据查找到的域间路由转发表项所指示的输出接口,为接收到的报文添加输出接口信息,得到修改后的报文并发送给路由转发单元;
当所述路由转发单元不止一个,根据查找到的域间路由转发表项所指示的输出接口,为接收到的报文添加输出接口信息和单元索引信息,得到修改后的 报文;以及根据所述单元索引信息将报文转至相应的路由转发单元。
4.如权利要求1所述的方法,其特征在于,当所述路由转发单元不止一个时,所述通过查找到的域内路由转发表项确定对应的输出接口发送报文,具体包括:
若根据查找到的域内路由转发表项确定对应的输出接口为本单元的接口,则通过所述对应的输出接口发送报文;
若根据查找到的域内路由转发表项确定对应的输出接口不是本单元的接口,为接收到的报文添加输出接口信息和单元索引信息,根据添加的单元索引信息将报文转发至对应的路由转发单元,由所述对应的路由转发单元根据所述输出接口信息通过对应的输出接口发送报文。
5.如权利要求1-4任一所述的方法,其特征在于,当所述路由转发单元不止一个时,设置连接协处理单元和各路由转发单元的报文交换单元,由所述报文交换单元为所述路由转发单元和协处理单元分配单元索引信息,将路由转发单元或协处理单元转发过来的携带单元索引信息的报文,根据单元索引信息交换至相应的路由转发单元或协处理单元。
6.一种路由转发表容量扩展实现装置,其特征在于,包括:中央处理单元、路由转发单元和协处理单元;
所述中央处理单元,用于将由内部网关协议产生的域内路由转发表项存放在三态内容寻址寄存器TCAM中,将由外部网关协议产生的域间路由转发表项存放在大容量存储器中;
所述路由转发单元,用于当接收到报文时,查询TCAM中的域内路由转发表,当查找到相匹配的域内路由转发表项时,通过查找到的域内路由转发表项确定对应的输出接口发送报文;当查找不到时,将报文转至所述协处理单元并根据所述协处理单元从所述存储器中查找到的域间路由转发表项所对应的输出接口发送报文;
所述协处理单元,用于接收所述路由转发单元转发的报文时,器中查找到的域间路由转发表项确定对应的输出接口。
7.如权利要求6所述的装置,其特征在于,所述路由转发单元,具体用于当查找不到相匹配的域内路由转发表项时,将接收到的报文中继到协处理单元,以及根据从协处理单元返回的修改后的报文中解析出的所述输出接口信息,通过对应的输出接口发送报文; 
所述协处理单元具体用于查找所述存储器中存储的域间路由转发表项,并将根据查找到的域间路由转发表项修改后的至少携带输出接口信息的报文反馈给对应的路由转发单元。 
8.如权利要求6或7所述的装置,其特征在于,当所述路由转发单元不止一个时,上述装置还包括:报文交换单元; 
所述协处理单元,具体用于:当所述路由转发单元唯一时,根据查找到的域间路由转发表项所指示的输出接口,为接收到的报文添加输出接口信息,得到修改后的报文并发送给路由转发单元;当所述路由转发单元不止一个,根据查找到的域间路由转发表项所指示的输出接口,为接收到的报文添加输出接口信息和单元索引信息,得到修改后的报文转发给报文交换单元; 
所述报文交换单元,用于为所述路由转发单元和协处理单元分配单元索引信息,以及根据所述单元索引信息将报文转至相应的路由转发单元。 
9.如权利要求8所述的装置,其特征在于,所述路由转发单元,具体用于当所述路由转发单元不止一个时,若根据查找到的域内路由转发表项确定对应的输出接口为本单元的接口,则通过所述对应的输出接口发送报文;若根据查找到的域内路由转发表项确定对应的输出接口不是本单元的接口,为接收到的报文添加输出接口信息和单元索引信息,根据添加的单元索引信息将报文转发给所述报文交换单元; 
所述报文交换单元,还用于将接收到的报文转发至对应的路由转发单元,由所述对应的路由转发单元根据所述输出接口信息通过对应的输出接口发送报文。 
10.一种交换设备,其特征在于,包括:如权利要求6-9任一所述的路由转发表容量扩展实现装置。 
CN2010102330440A 2010-07-19 2010-07-19 路由转发表容量扩展实现方法、装置及交换设备 Active CN101883055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102330440A CN101883055B (zh) 2010-07-19 2010-07-19 路由转发表容量扩展实现方法、装置及交换设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102330440A CN101883055B (zh) 2010-07-19 2010-07-19 路由转发表容量扩展实现方法、装置及交换设备

Publications (2)

Publication Number Publication Date
CN101883055A CN101883055A (zh) 2010-11-10
CN101883055B true CN101883055B (zh) 2013-11-20

Family

ID=43054949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102330440A Active CN101883055B (zh) 2010-07-19 2010-07-19 路由转发表容量扩展实现方法、装置及交换设备

Country Status (1)

Country Link
CN (1) CN101883055B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262479B (zh) * 2010-12-17 2016-08-10 日本电气株式会社 通信系统、节点、分组转发方法
CN105515991A (zh) * 2014-09-23 2016-04-20 中兴通讯股份有限公司 一种扩展三层转发设备的路由表容量的方法及转发设备
CN104363177B (zh) * 2014-11-06 2017-10-10 北京东土科技股份有限公司 一种用于报文处理的规则表项的优化方法及装置
CN106161242B (zh) * 2016-08-30 2019-05-21 锐捷网络股份有限公司 一种路由下发方法和装置
CN112804150B (zh) * 2019-11-13 2022-09-23 烽火通信科技股份有限公司 分布式分级路由转发表的实现方法及系统
CN111327532A (zh) * 2020-01-21 2020-06-23 南京贝伦思网络科技股份有限公司 一种网络设备超大转发策略表容量的实现方法
CN112118185A (zh) * 2020-09-24 2020-12-22 盛科网络(苏州)有限公司 报文转发方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753424A (zh) * 2008-11-28 2010-06-23 华为技术有限公司 一种数据通信系统、路由器、数据发送及移动性管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6956858B2 (en) * 2000-06-30 2005-10-18 Mayan Networks Corporation Network routing table and packet routing method
CN1134177C (zh) * 2000-09-28 2004-01-07 国家数字交换系统工程技术研究中心 一种分段式ip路由线速率查表方法
JP3957570B2 (ja) * 2002-06-17 2007-08-15 日本電気株式会社 ルータ装置
CN1279729C (zh) * 2004-02-20 2006-10-11 清华大学 基于tcam的分布式并行ip路由查找方法
CN100418331C (zh) * 2006-03-03 2008-09-10 清华大学 基于网络处理器的路由查找结果缓存方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753424A (zh) * 2008-11-28 2010-06-23 华为技术有限公司 一种数据通信系统、路由器、数据发送及移动性管理方法

Also Published As

Publication number Publication date
CN101883055A (zh) 2010-11-10

Similar Documents

Publication Publication Date Title
CN101883055B (zh) 路由转发表容量扩展实现方法、装置及交换设备
CN112448900B (zh) 一种数据传输方法及装置
CN102857414A (zh) 一种转发表写入、报文转发方法及装置
CN102571587B (zh) 报文转发方法和设备
CN100466627C (zh) 地址前缀查找方法和装置以及报文转发方法和系统
CN106254254B (zh) 一种基于Mesh拓扑结构的片上网络通信方法
CN101106519A (zh) 自治系统边界路由器路由发布方法及自治系统边界路由器
CN104301229B (zh) 数据包转发方法、路由表生成方法及装置
CN101958829B (zh) 一种路由发布方法、装置及系统
CN104079478A (zh) 报文转发方法和装置
CN102137024A (zh) 报文处理方法、出口路由设备及边界路由设备
CN104365066A (zh) 用于以太虚拟专用网的方法和设备
CN105474168A (zh) 网络装置执行的数据处理方法和相关设备
CN106713144A (zh) 一种报文出口信息的读写方法及转发引擎
CN104580165A (zh) 智慧协同网络中的一种协作缓存方法
CN105471747A (zh) 一种智能路由器选路方法和装置
CN102801622B (zh) 一种数据报文的转发方法及转发装置
CN108092896B (zh) 堆叠系统和聚合组建立装置
CN102025632A (zh) Mpls网络中数据分组的标签分配方法及系统
CN101515892B (zh) 一种对等网络中实现多资源处理的方法、设备及系统
CN103096411B (zh) 基于反向能量限制路由协议的物联网通信方法
CN103457855A (zh) 无类域间路由表建立、以及报文转发的方法和装置
CN104821914A (zh) 跨多链路透明连接trill网络的报文转发方法和设备
CN102299853B (zh) 一种实现交换机资源有效利用的方法
Mona Data communication in internet of things: Vision, challenges and future direction

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
CP01 Change in the name or title of a patent holder

Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee after: RUIJIE NETWORKS Co.,Ltd.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd.

CP01 Change in the name or title of a patent holder