CN103780493A - 数据转发方法及系统 - Google Patents

数据转发方法及系统 Download PDF

Info

Publication number
CN103780493A
CN103780493A CN201410025265.7A CN201410025265A CN103780493A CN 103780493 A CN103780493 A CN 103780493A CN 201410025265 A CN201410025265 A CN 201410025265A CN 103780493 A CN103780493 A CN 103780493A
Authority
CN
China
Prior art keywords
index
source
bivariate
data forwarding
list
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
Application number
CN201410025265.7A
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201410025265.7A priority Critical patent/CN103780493A/zh
Publication of CN103780493A publication Critical patent/CN103780493A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据转发方法及系统,其中系统包括:三态内容寻址存储器,用于存储报文下一跳节点的源表和目的表,源表对应于源地址存储的源表索引,目的表对应于目的地址存储的目的表索引;静态随机存储器,用于存储二维表和映射表,二维表以源表索引和目的表索引作为纵向索引和横向索引存储下一跳索引,映射表用于存储对应于下一跳索引的下一跳节点的物理地址;数据转发装置,用于根据所接收的报文查找源表、目的表和二维表获得下一跳节点的物理地址,并发送报文。根据本发明实施例的系统,通过对存储在三态内容寻址存储器和静态随机存储器的四个表进行相互关联并进行划分,减少三态内容寻址存储器的存储空间,同时提高数据转发的效率和正确性。

Description

数据转发方法及系统
技术领域
本发明涉及网络技术领域,特别涉及一种数据转发方法及系统。
背景技术
现有的目的地址的转发是为用户提供可达性服务。但是随着用户需求的增加,涌现出例如策略路由,安全服务,流量工程,QoS服务等新服务。在实现上述新服务的过程中需要有灵活的转发机制,即根据报文的多个字段进行转发的多维路由查找策略。在对数据的转发过程中,为了保证用户的上网体验多维路由查找必须达到线速转发。
为此,现有的多维路由查找一般采用基于三态内容寻址存储器(TCAM)的ACL结构,新服务会使TCAM中的存储空间爆炸式增长。
目的前缀 源前缀 下一跳
**** **** 1.0.0.1
**** 101* 1.0.0.0
**** 11** 1.0.0.2
**** 01** 1.0.0.0
011* **** 1.0.0.2
110* **** 1.0.0.1
110* 111* 1.0.0.2
110* 101* 1.0.0.0
110* 100* 1.0.0.2
110* 11** 1.0.0.3
110* 01** 1.0.0.2
101* **** 1.0.0.1
101* 101* 1.0.0.0
101* 11** 1.0.0.2
101* 01** 1.0.0.0
11** **** 1.0.0.2
11** 11** 1.0.0.3
10** **** 1.0.0.2
10** 100* 1.0.0.2
10** 11** 1.0.0.3
表1
如表1所示的TCAM的ACL二维转发表的结构而言,尽管该转发表只存在6条目的前缀,和6条源前缀,但总的前缀数目却达到了20条。然而,现有的TCAM存储空间只能最多存储100万条IPv4的前缀,且存储条数越多,TCAM的散热量及功耗问题也会随之上升。由此,使得TCAM的可扩展性不足,无法满足用户的需求。
发明内容
本发明的目的旨在至少解决上述的技术缺陷之一。
为此,本发明一方面提供一种数据转发系统。
本发明的另一方面提出一种数据转发方法。
有鉴于此,本发明一方面的实施例提出一种数据转发系统,包括:三态内容寻址存储器,用于存储报文下一跳节点的源表和目的表,所述源表对应于源地址存储的源表索引,所述目的表对应于目的地址存储的目的表索引;静态随机存储器,用于存储二维表和映射表,所述二维表分别以所述源表索引和所述目的表索引作为纵向索引和横向索引存储下一跳索引,所述映射表用于存储对应于所述下一跳索引的所述下一跳节点的物理地址;以及数据转发装置,用于根据所接收的报文查找所述源表、所述目的表和所述二维表获得与所述映射表的索引号相对应的所述下一跳节点的物理地址,并向所述物理地址发送所述报文。
根据本发明实施例的系统,通过将存储有源地址和目的地址的源表索引和目的表索引与二维表进行关联,并通过映射表和二维表的对应关系确定转发节点,以将报文发送至转发节点,从而提高了数据的转发效率正确性,同时降低了对静态随机存储器的占用空间。
在本发明的一个实施例中,所述数据转发装置包括FIFO缓存,所述数据转发装置通过所述FIFO缓存并行的对所述三态内容寻址存储器的源地址和所述目的地址进行查找。
在本发明的一个实施例中,所述三态内容寻址存储器还用于对所述源表和所述目的表进行压缩。
在本发明的一个实施例中,所述静态随机存储器还用于对所述二维表进行压缩以生成新的二维表。
在本发明的一个实施例中,所述静态随机存储器进一步包括:字典表生成模块,用于分别将所述二维表的每行切分为长度为N的多个数据段以获得由所述多个数据段构成的字典表;目录表生成模块,用于根据与所述字典表中多个数据段相对应的所述源表索引和所述目的表索引生成目录表;以及二维表生成模块,用于根据所述字典表和所述目录表生成新的二维表。
在本发明的一个实施例中,所述字典表生成模块还用于删除所述多个数据段中重复的数据段。
本发明另一方面的实施例提出了一种数据转发方法,包括以下步骤:第一查找步骤,接收报文,并从存储有源表索引的源表和存储有目的表索引的目的表中查找所述报文下一跳节点所对应的源表索引和目的表索引;第二查找步骤,根据所述目的表索引和所述源表索引查找二维表以获得所述下一跳节点的物理地址在映射表中的映射表索引号,所述二维表分别以所述源表索引和所述目的表索引作为纵向索引和横向索引存储下一跳索引;以及转发步骤,根据所述映射表索引查找存储有与所述下一跳索引相对应的所述下一跳节点的物理地址的映射表以获得所述下一跳的物理地址,并根据所述物理地址将所述报文转发到所述下一跳节点。
根据本发明实施例的方法,通过将存储有源地址和目的地址的源表索引和目的表索引与二维表进行关联,并通过映射表和二维表的对应关系确定转发节点,以将报文发送至转发节点,从而提高了数据的转发效率正确性,同时降低了对静态随机存储器的占用空间。
在本发明的一个实施例中,所述第一查找步骤中,并行的对所述源表和所述目的表进行查找。
在本发明的一个实施例中,在所述第二查找步骤之后,还包括:对所述源表和所述目的表进行压缩;以及对所述二维表进行压缩以生成新的二维表。
在本发明的一个实施例中,所述转发步骤具体包括:字典表生成步骤,分别将所述二维表的每行切分为长度为N的多个数据段以获得由所述多个数据段构成的字典表;目录表生成步骤,根据与所述字典表中多个数据段相对应的所述源表索引和所述目的表索引生成目录表;以及二维表生成步骤,根据所述字典表和所述目录表生成新的二维表。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1为根据本发明一个实施例的数据转发系统的结构框图;
图2为根据本发明一个实施例的静态随机存储器的结构框图;
图3为根据本发明一个实施例的二维表的FIST结构示意图;
图4为根据本发明一个实施例的三态内容寻址存储器对源表和目的表进行压缩的示意图;
图5为根据本发明一个实施例的三态内容寻址存储器对源表和目的表进行压缩的示意图;
图6为根据本发明一个实施例的数据转发方法的流程图;以及
图7为根据本发明一个实施例的数据转发方法的示意图;
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
图1为根据本发明一个实施例的数据转发系统的结构框图。如图1所示,根据本发明实施例的数据转发系统包括:三态内容寻址存储器100、静态随机存储器200和数据转发装置300。
具体地,三态内容寻址存储器100用于存储报文下一跳节点的源表和目的表,源表对应于源地址存储的源表索引,目的表对应于目的地址存储的目的表索引。静态随机存储器200用于存储二维表和映射表,二维表分别以源表索引和目的表索引作为纵向索引和横向索引存储下一跳索引,映射表用于存储对应于下一跳索引的下一跳节点的物理地址。数据转发装置300用于根据所接收的报文查找源表、目的表和二维表获得与映射表的索引号相对应的下一跳节点的物理地址,并向物理地址发送报文。
在本发明的一个实施例中,数据转发装置300包括FIFO缓存,数据转发装置300通过FIFO缓存并行的对三态内容寻址存储器100的源地址和目的地址进行查找。三态内容寻址存储器100还可用于对源表和目的表进行压缩,以进一步减少源表和目的表的占用空间。
静态随机存储器200还可用于对二维表进行压缩以生成新的二维表。图2为根据本发明一个实施例的静态随机存储器的结构框图。如图2所示,静态随机存储器200进一步包括:字典表生成模块210、目录表生成模块220和二维表生成模块230。
具体而言,字典表生成模块210用于分别将二维表的每行切分为长度为N的多个数据段以获得由多个数据段构成的字典表。本发明的一个示例中,字典表生成模块210还可用于删除多个数据段中重复的数据段,以较少占用空间。目录表生成模块220用于根据与字典表中多个数据段相对应的源表索引和目的表索引生成目录表。二维表生成模块230用于根据字典表和目录表生成新的二维表。
根据本发明实施例的数据转发系统,通过将二维表进行等长度划分,并根据与所划分的等长度数据相对应的源表索引和目的表索引生成目录表,以得到新的二维表,由此进一步减少了数据存储量降低了对三态内容寻址存储器占用空间,提高了数据查找的效率。
下面通过结合附图3-5对本发明进行进一步说明。
图3为根据本发明一个实施例的二维表的FIST结构示意图。如图3所示,
三态内容寻址存储器100中存储有与源地址(源前缀)对应的源表,以及与目的地址(目的前缀)对应的目的表,并且该源表和目的表分别与源表索引和目的表缩影相对应。通过目的前缀和源前缀可指向一个偏移量即在静态随机存储器200中下一跳节点的索引。由于下一跳索引在映射表中进行比较,以得到与该下一跳索引所对应转发节点的物理地址。
在TCAM中,目的表存储目的前缀的信息(即目的地址),并把目的前缀映射到一个目的表索引,源表存储源前缀的信息(即源地址),并把源前缀映射到一个源表索引。在SRAM中的二维表存储了所有二维规则的下一跳转发节点的下一跳索引。本发明中二维表里面的每一个单元格称为二维单元(以目的前缀和源前缀来表示一个二维表中的单元)。在SRAM中还包括有映射表,该映射表存储有下一跳的索引和下一跳节点物理地址之间的对应关系。
对于每条规则(pd,ps,a)来说,pd是存在目的表的目的前缀,ps是存在源表里的源表前缀。对于二维表中的单元(pd,ps)而言,它存储了与a所对应的下一跳索引。通过该下一跳索引,可得到a的物理地址在映射表对应的位置。如表1所示,对于规则(110*,11**,1.0.0.3)而言,110*是存在目的表中目的前缀,并指向目的表索引2,也就是说与二维表的第2行相对应(注:在此部分中,我们以0为基数);11**是存在源表中的源前缀,并指向源表索引4,也就是说与二维表的第4列相对应。在二维表中,二维单元(110*,11**)对应的就是第2行第4列的那个单元格,里面的数值为3。所以在映射表第3个位置里,我们可以找到对应的下一跳节点的物理地址1.0.0.3。
在本发明的一个实施例中,通过本发明的系统可将TCAM的大小变为O(N+M),而SRAM的大小变为O(N*M)。其原因在于,将二维规则的“乘法因子”从TCAM挪到了SRAM中,而不是消除了“乘法因子”。我们将其挪到SRAM中,是因为:1)TCAM的存储空间要比SRAM小得多;2)TCAM比SRAM要贵10-100倍;3)TCAM的耗能要比SRAM多100倍以上。但将存储转到SRAM之后,并没有降低转发表的转发速度,因为转发速度的主导因子是TCAM的查找速度,而FIST并没有增加TCAM的查找次数,在下文中我们将看到,FIST仅仅增加了两次SRAM查找,而通过其它的设计,我们可以让FIST的查找速度与传统基于目的地址的路由器的查找速度一致。
在本发明的一个实施例中,SRAM的定制化程度没有TCAM那么高,这也使得SRAM比TCAM也灵活得多。所以下文中我们也将展示如何利用SRAM的灵活性,对SRAM中的二维表进行压缩以得到存储空间更小的新的二维表。
由于二维表中插入二维规则之后,可能会存在空的单元。例如一个目的地址为1011,源地址为1111的报文到达之后,在该新的二维表中,可与目的前缀101*和源前缀111*匹配上。然而单元格(101*,111*)(第3行,第1列)是空的,也就是二维表中这个单元格没有被赋值。为此,通过一次“预计算”,填入匹配该单元格的报文应该被转发至下一跳节点的索引(下一跳索引),即在报文到达之前,根据预定的转发规则,对这些空的单元格进行赋值。例如,在图3中,目的地址为1011,源地址为1111的报文匹配单元格(101*,111*),同样也匹配(101*,11**),故虽然(101*,111*)为空,但报文应该被转发至单元格(101*,11**)所指向的下一跳,即2,故通过预计算,(101*,111*)中所应填的值为2。
图4为根据本发明一个实施例的三态内容寻址存储器对源表和目的表进行压缩的示意图。如图4所示,通过转发表最优压缩(ORTC)算法分别对源表和目的表进行压缩。由于每个目的前缀或源前缀对应的不是一个下一跳的值,而是一个由下一跳值组成的行向量或列向量。当两个向量完全相等,即认为两个前缀对应的信息是相等。通过ORTC算法,可将目的表和源表压缩到最小,即占用TCAM的空间压缩到最小。
图5为根据本发明一个实施例的三态内容寻址存储器对源表和目的表进行压缩的示意图。如图5所示,由于SRAM不是一个高度定制化的存储结构,因此存在很大的压缩空间。SRAM中存储有二维表和映射表,二维表占主导,因此主要对二维表的压缩进行说明。首先,二维表中的两行或者两列,完全相等时,可将其对应的目的表索引和源表索引置为相同的值,从而消去其中一行。在图5中,示出了将图4中的二维表消除重复的行和列之后的二维表,这样尽管两个前缀不相等,但它们对应的行向量一致的话,也可以消去其中一行.其次,在实际中,两行或两列完全相同的情况可能很少,为了进一步压缩,我们将二维表中的行进行等长度切割,使得所有的行都成为等长度的数据段,另外我们将二维表变成由一个目录表和一个字典表组成的结构,字典表存储了所有的切分所获得的数据段,而目录表将二维表中的各个位置索引到对应的数据段中。在图5的右图中,我们画出了图5左图的二维表中的行切分为长度为3的数据段后,新的二维表。通过切分,目录表的大小为原来二维表的三分之一,而数据段之间由于存在大量的重复,所以字典表中只需要存储三个短行即可。
根据本发明实施例的系统,通过将存储有源地址和目的地址的源表索引和目的表索引与二维表进行关联,并通过映射表和二维表的对应关系确定转发节点,以将报文发送至转发节点,从而提高了数据的转发效率正确性,同时降低了对静态随机存储器的占用空间。
图6为根据本发明一个实施例的数据转发方法的流程图。图7为根据本发明一个实施例的数据转发方法的示意图。如图6和图7所示,根据本发明实施例的数据转发方法包括以下步骤:接收报文,并从存储有源表索引的源表和存储有目的表索引的目的表中查找报文下一跳节点所对应的源表索引和目的表索引(步骤101)。根据目的表索引和源表索引查找二维表以获得下一跳节点的物理地址在映射表中的映射表索引号,二维表分别以源表索引和目的表索引作为纵向索引和横向索引存储下一跳索引(步骤103)。根据映射表索引查找存储有与下一跳索引相对应的下一跳节点的物理地址的映射表以获得下一跳的物理地址,并根据物理地址将报文转发到下一跳节点(步骤105)。
根据本发明实施例的方法,通过将存储有源地址和目的地址的源表索引和目的表索引与二维表进行关联,并通过映射表和二维表的对应关系确定转发节点,以将报文发送至转发节点,从而提高了数据的转发效率正确性,同时降低了对静态随机存储器的占用空间。
下面进一步对本发明进行详细的说明。
在步骤101和步骤103中,将目的表和源表发送至FIFO缓存中并通过该FIFO缓存同时在目的表和源表中查找目的表索引和源表索引,即并行的对目的表和源表进行查找。由此提供的查找速度提高了数据的转发效率。
在本发明的一个实施例中,获得源表、目的表、二维表后可对其进行压缩以减少其占用的存储空间。
在本发明的一些示例中,目的表存储目的前缀的信息(即目的地址),并把目的前缀映射到一个目的表索引,源表存储源前缀的信息(即源地址),并把源前缀映射到一个源表索引。二维表存储了所有二维规则的下一跳转发节点的下一跳索引。另外,映射表存储有下一跳的索引和下一跳节点物理地址之间的对应关系。
对于每条规则(pd,ps,a)来说,pd是存在目的表的目的前缀,ps是存在源表里的源表前缀。对于二维表中的单元(pd,ps)而言,它存储了与a所对应的下一跳索引。通过该下一跳索引,可得到a的物理地址在映射表对应的位置。如表1所示,对于规则(110*,11**,1.0.0.3)而言,110*是存在目的表中目的前缀,并指向目的表索引2,也就是说与二维表的第2行相对应(注:在此部分中,我们以0为基数);11**是存在源表中的源前缀,并指向源表索引4,也就是说与二维表的第4列相对应。在二维表中,二维单元(110*,11**)对应的就是第2行第4列的那个单元格,里面的数值为3。所以在映射表第3个位置里,我们可以找到对应的下一跳节点的物理地址1.0.0.3。
由于二维表中插入二维规则之后,可能会存在空的单元。例如一个目的地址为1011,源地址为1111的报文到达之后,在该新的二维表中,可与目的前缀101*和源前缀111*匹配上。然而单元格(101*,111*)(第3行,第1列)是空的,也就是二维表中这个单元格没有被赋值。为此,通过一次“预计算”,填入匹配该单元格的报文应该被转发至下一跳节点的索引(下一跳索引),即在报文到达之前,根据预定的转发规则,对这些空的单元格进行赋值。例如,在图3中,目的地址为1011,源地址为1111的报文匹配单元格(101*,111*),同样也匹配(101*,11**),故虽然(101*,111*)为空,但报文应该被转发至单元格(101*,11**)所指向的下一跳,即2,故通过预计算,(101*,111*)中所应填的值为2。
在步骤105中,分别将二维表的每行切分为长度为N的多个数据段以获得由多个数据段构成的字典表。目录表生成步骤,根据与字典表中多个数据段相对应的源表索引和目的表索引生成目录表。二维表生成步骤,根据字典表和目录表生成新的二维表。
如图4所示,通过转发表最优压缩(ORTC)算法分别对源表和目的表进行压缩。由于每个目的前缀或源前缀对应的不是一个下一跳的值,而是一个由下一跳值组成的行向量或列向量。当两个向量完全相等,即认为两个前缀对应的信息是相等。通过ORTC算法,可将目的表和源表压缩到最小,即占用TCAM的空间压缩到最小。
如图5所示,SRAM中存储有二维表和映射表,二维表占主导,因此主要对二维表的压缩进行说明。首先,二维表中的两行或者两列,完全相等时,可将其对应的目的表索引和源表索引为相同的值,从而消去其中一行。在图5中,示出了将图4中的二维表消除重复的行和列之后的二维表,这样尽管两个前缀不相等,但它们对应的行向量一致的话,也可以消去其中一行.其次,在实际中,两行或两列完全相同的情况可能很少,为了进一步压缩,我们将二维表中的行进行等长度切割,使得所有的行都成为等长度的数据段,另外我们将二维表变成由一个目录表和一个字典表组成的结构,字典表存储了所有的切分所获得的数据段,而目录表将二维表中的各个位置索引到对应的数据段中。在图5的右图中,我们画出了图5左图的二维表中的行切分为长度为3的数据段后,新的二维表。通过切分,目录表的大小为原来二维表的三分之一,而数据段之间由于存在大量的重复,所以字典表中只需要存储三个短行即可。
根据本发明实施例的方法,通过将存储有源地址和目的地址的源表索引和目的表索引与二维表进行关联,并通过映射表和二维表的对应关系确定转发节点,以将报文发送至转发节点,从而提高了数据的转发效率正确性,同时降低了对静态随机存储器的占用空间。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种数据转发系统,其特征在于,包括:
三态内容寻址存储器,用于存储报文下一跳节点的源表和目的表,所述源表对应于源地址存储的源表索引,所述目的表对应于目的地址存储的目的表索引;
静态随机存储器,用于存储二维表和映射表,所述二维表分别以所述源表索引和所述目的表索引作为纵向索引和横向索引存储下一跳索引,所述映射表用于存储对应于所述下一跳索引的所述下一跳节点的物理地址;以及
数据转发装置,用于根据所接收的报文查找所述源表、所述目的表和所述二维表获得与所述映射表的索引号相对应的所述下一跳节点的物理地址,并向所述物理地址发送所述报文。
2.如权利要求1所述的数据转发系统,其特征在于,所述数据转发装置包括FIFO缓存,所述数据转发装置通过所述FIFO缓存并行的对所述三态内容寻址存储器的源地址和所述目的地址进行查找。
3.如权利要求1所述的数据转发系统,其特征在于,所述三态内容寻址存储器还用于对所述源表和所述目的表进行压缩。
4.如权利要求1所述的数据转发系统,其特征在于,所述静态随机存储器还用于对所述二维表进行压缩以生成新的二维表。
5.如权利要求4所述的数据转发系统,其特征在于,所述静态随机存储器进一步包括:
字典表生成模块,用于分别将所述二维表的每行切分为长度为N的多个数据段以获得由所述多个数据段构成的字典表;
目录表生成模块,用于根据与所述字典表中多个数据段相对应的所述源表索引和所述目的表索引生成目录表;以及
二维表生成模块,用于根据所述字典表和所述目录表生成新的二维表。
6.如权利要求5所述的数据转发系统,其特征在于,所述字典表生成模块还用于删除所述多个数据段中重复的数据段。
7.一种数据转发方法,其特征在于,包括以下步骤:
第一查找步骤,接收报文,并从存储有源表索引的源表和存储有目的表索引的目的表中查找所述报文下一跳节点所对应的源表索引和目的表索引;
第二查找步骤,根据所述目的表索引和所述源表索引查找二维表以获得所述下一跳节点的物理地址在映射表中的映射表索引号,所述二维表分别以所述源表索引和所述目的表索引作为纵向索引和横向索引存储下一跳索引;以及
转发步骤,根据所述映射表索引查找存储有与所述下一跳索引相对应的所述下一跳节点的物理地址的映射表以获得所述下一跳的物理地址,并根据所述物理地址将所述报文转发到所述下一跳节点。
8.如权利要求7所述的数据转发方法,其特征在于,所述第一查找步骤中,并行的对所述源表和所述目的表进行查找。
9.如权利要求7所述的数据转发方法,其特征在于,在所述第二查找步骤之后,还包括:
对所述源表和所述目的表进行压缩;以及
对所述二维表进行压缩以生成新的二维表。
10.如权利要求7所述的数据转发方法,其特征在于,所述转发步骤具体包括:
字典表生成步骤,分别将所述二维表的每行切分为长度为N的多个数据段以获得由所述多个数据段构成的字典表;
目录表生成步骤,根据与所述字典表中多个数据段相对应的所述源表索引和所述目的表索引生成目录表;以及
二维表生成步骤,根据所述字典表和所述目录表生成新的二维表。
CN201410025265.7A 2014-01-20 2014-01-20 数据转发方法及系统 Pending CN103780493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410025265.7A CN103780493A (zh) 2014-01-20 2014-01-20 数据转发方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410025265.7A CN103780493A (zh) 2014-01-20 2014-01-20 数据转发方法及系统

Publications (1)

Publication Number Publication Date
CN103780493A true CN103780493A (zh) 2014-05-07

Family

ID=50572347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410025265.7A Pending CN103780493A (zh) 2014-01-20 2014-01-20 数据转发方法及系统

Country Status (1)

Country Link
CN (1) CN103780493A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601485A (zh) * 2015-02-12 2015-05-06 清华大学 网络流量的分配方法及实现网络流量分配的路由方法
CN105471747A (zh) * 2015-11-25 2016-04-06 武汉烽火网络有限责任公司 一种智能路由器选路方法和装置
CN105763454A (zh) * 2016-02-25 2016-07-13 比威网络技术有限公司 基于二维路由策略的数据报文转发方法及装置
CN108270599A (zh) * 2016-12-30 2018-07-10 北京亿阳信通科技有限公司 一种基于snmp协议的数据解析处理方法及系统
CN109831384A (zh) * 2017-11-23 2019-05-31 华为技术有限公司 名字查找方法及路由器
CN109861915A (zh) * 2017-11-30 2019-06-07 中兴通讯股份有限公司 转发表操作的方法、装置、计算机设备及可读存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601485A (zh) * 2015-02-12 2015-05-06 清华大学 网络流量的分配方法及实现网络流量分配的路由方法
CN104601485B (zh) * 2015-02-12 2018-08-28 清华大学 网络流量的分配方法及实现网络流量分配的路由方法
CN105471747A (zh) * 2015-11-25 2016-04-06 武汉烽火网络有限责任公司 一种智能路由器选路方法和装置
CN105471747B (zh) * 2015-11-25 2019-04-16 武汉烽火网络有限责任公司 一种智能路由器选路方法和装置
CN105763454A (zh) * 2016-02-25 2016-07-13 比威网络技术有限公司 基于二维路由策略的数据报文转发方法及装置
CN105763454B (zh) * 2016-02-25 2018-11-27 比威网络技术有限公司 基于二维路由策略的数据报文转发方法及装置
CN108270599A (zh) * 2016-12-30 2018-07-10 北京亿阳信通科技有限公司 一种基于snmp协议的数据解析处理方法及系统
CN108270599B (zh) * 2016-12-30 2021-05-11 北京亿阳信通科技有限公司 一种基于snmp协议的数据解析处理方法及系统
CN109831384A (zh) * 2017-11-23 2019-05-31 华为技术有限公司 名字查找方法及路由器
CN109831384B (zh) * 2017-11-23 2021-08-03 华为技术有限公司 名字查找方法及路由器
CN109861915A (zh) * 2017-11-30 2019-06-07 中兴通讯股份有限公司 转发表操作的方法、装置、计算机设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN103780493A (zh) 数据转发方法及系统
CN101594319B (zh) 表项查找方法和装置
US7373514B2 (en) High-performance hashing system
CN101655861B (zh) 基于双计数布鲁姆过滤器的哈希方法和哈希装置
CN101901248A (zh) 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN101005461B (zh) 一种IPv6路由表查找、转发的方法
CN103107945B (zh) 一种快速查找ipv6路由的系统及方法
JP5466257B2 (ja) 表検索方法
CN101505279B (zh) 一种路由查找方法和装置
CN106416194A (zh) 用于网络译码及高速缓存辅助内容分配的装置及方法
CN104283806A (zh) 业务链处理方法和设备
CN103051543A (zh) 一种路由前缀的处理、查找、增加及删除方法
CN105141525A (zh) IPv6路由查找方法及装置
CN101267381B (zh) 哈希表操作方法及装置
CN103326925B (zh) 一种消息推送方法及装置
CN106416151A (zh) 用于分组处理的基于多表哈希查找
US9485179B2 (en) Apparatus and method for scalable and flexible table search in a network switch
CN103581358A (zh) Ip地址列表匹配方法及装置
CN113315705A (zh) 基于单次哈希布隆过滤器的Flexible IP寻址方法及装置
CN103778120A (zh) 全局文件标识生成方法、生成装置及相应的分布式文件系统
CN103973571A (zh) 网络处理器及其路由查找方法
CN110096458B (zh) 基于神经网络的命名数据网内容存储池数据检索方法
CN103457855A (zh) 无类域间路由表建立、以及报文转发的方法和装置
CN106685848A (zh) 报文丢弃方法及装置
CN104301227B (zh) 基于tcam的高速低功耗ip路由表查找方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140507

RJ01 Rejection of invention patent application after publication