CN1333616A - 路由选择检索系统及其方法以及使用的路由器 - Google Patents
路由选择检索系统及其方法以及使用的路由器 Download PDFInfo
- Publication number
- CN1333616A CN1333616A CN01120404A CN01120404A CN1333616A CN 1333616 A CN1333616 A CN 1333616A CN 01120404 A CN01120404 A CN 01120404A CN 01120404 A CN01120404 A CN 01120404A CN 1333616 A CN1333616 A CN 1333616A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- address
- routing data
- items
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree 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
-
- 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/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种比现有IP传输装置中二叉树检索更有效的路由选择检索系统。路由选择检索系统根据标识通信对方的目的地址确定下一个发送节点。该系统包括:以等级结构建立对应的节点条目信息和路由选择数据的树结构的路由选择存储器,所述树结构具有要从所述目的地址的高位起以N位为单位(N是大于或等于2的整数)检查的一种M分支树结构(M=2N);路由选择检索装置,用于根据所述目的地址从一个初始等级阶段到较低等级阶段顺序地检索存储器的节点条目信息,以得到相应的路由选择数据。
Description
发明领域
本发明一般涉及一种路由选择检索系统及其方法和其中使用的路由器,以及记录其控制程序的存储介质。更具体地讲,本发明涉及用于根据标识通信对方目的地址确定发送接收分组的节点的路由选择检索系统。
发明背景
在因特网中,当通过诸如路由器之类的转发设备发送IP(因特网协议)分组时,转发设备(路由器装置)参考一个目标(目的)地址(此后称为“DA”)确定下一个传送目的地的IP地址(此后成为“NH”(Next Hop address下一中继地址))。这就是路由选择检索。转发设备具有一个有关“DA”和“NH”的路由选择表(路由选择信息存储器)。对于输入的每个IP分组,从路由选择表检索对应于“DA”的“NH”。
图16示出了一个IPv4(IP第4版)的路由选择表的示例。在图16中,“NA”和“掩码长度”指示“DA”属于哪个网络。“NA”是一个网络地址。另一方面,掩码长度代表当掩码长度的值是“N”时,32位中的N个高位是“1”。即,在24的情况下,它相当于用十六进制表达的“0xFFFFFF00”。这叫作净掩码。例如,当“DA”是“11.1.1.5”时,它属于由第3条目的一项代表的网络。这用于判断“DA”和掩码长度指示的净掩码的“与”(逻辑乘法)是否和同一条目的“NA”相匹配。
在这里,假设将具有“10.1.0.1”的“DA”的IP分组输入到具有图16所示路由选择表的转发设备。转发设备取出具有“DA”:10.1.0.1属于的NA的条目中具有最长掩码长度的一个条目。这是最长前缀匹配(LPM)。在这个示例中,将条目1和2考虑为检索结果的候选条目。由于条目2具有最长掩码长度,所以选择该条目作为检索结果。因此,转发设备将IP分组发送到由“NH”指示的“21.1.1.1”的IP地址上。
如上所述,在IP路由选择检索中,在一个检索中可能出现多个满足检索标准的候选条目,因而需要通过LPM导出结果。这是由于不能仅从输入的IP分组的“DA”看到“DA”属于的“NA”。考虑到上述问题,提出了一些支持路由选择表和检索处理的方法。这些建议的方法一般可以分成两类。
两类方法中的一类是一种通过能够并行处理的专用硬件实现的方法。例如,通过给路由选择表的每个条目提供一个检查电路,并行地对路由选择表中的所有条目执行检索处理。尽管这种方法由于允许对路由选择表中的各条目并行存取是高速度的,但其成本也高。
另一种方法可以在对路由选择表的并行存取不可能的情况下使用。这相当于通过软件或使用通用存储器或FPGA(现场可编程门阵列)的硬件支持。这种方法可以使用现有设备低成本实现,但速度不如并行处理高。
可以根据应用或目的有选择地使用这些方法。对于用于需要大容量传输性能的大规模干线网的设备,前一种方法是适合的。另一方面,作为中等或比较小规模的网络干线中使用的设备,后者可以满足这种需求。
以下将讨论后一类方法的特殊方法。后一类方法可以分类成一种利用散列法的检索方法,和一种使用二叉树结构的检索方法。利用散列法的方法是一种用特定散列函数简并“DA”和用于检索关键字的方法。在IPv4情况下,由于地址是32位,如果可以预先提供2的三十二次方(232)的条目空间,那么可以实现高速检索。但是,从成本观点看是不现实的。通过利用散列函数,可以使条目空间变小。但是,通过利用散列函数,可能造成条目的碰撞。此外,在IPv4的情况下,必须对三十一种净掩码模式应用对应的散列法。
利用二叉树结构的方法一般是用软件支持的。在日本未审查专利公开平11-191781中,提出了用于硬件的支持方法。图17中示出了二叉树结构的一个示例。图17中每个矩形叫作二叉树的节点。另一方面,在每个节点中写入了表达式“xxxxxxxx/y”,“x”是用十六进制表示的“NA”,“y”是掩码长度。
例如,当“DA”是“0x800AC091”时,由于节点1的“y”是“0”,检查“DA”的最高有效位,以便如果最高有效位是“1”时向右分支,如果最高有效位是“0”时,向左分支。在本例中,是向右分支,以使节点2作为下一个检查目的。在节点2,由于掩码长度是8,使“0xFF000000”和“DA”相“与”,以检查结果是否与写入节点2中的“NA”匹配。如果不匹配,那么由于不存在相应于“DA”的条目,所以检索结束。在所示示例中,由于结果与节点2中的“NA”匹配,因而进行检查确定检查位8(高位第九位)是“1”还是“0”,并实施进一步的分支。重复进行上述处理,直到不存在进一步的分支,或节点中的“NA”不匹配。
在适配于LPM时,利用二叉树结构的方法比利用散列法的方法更有效。但是,在最坏的情况下,必须用寄存的条目检查全部三十二位。特别是,在具有一百二十八位的地址空间的IPv6(IP第6版)中,效率低下。
发明概述
本发明的一个目的是要提供一种比IP传输装置中现有二叉树检索更有效的路由选择检索系统。
根据本发明的第一方面,一种用于根据标识通信对方的目的地址确定下一个对其发送的节点的路由选择检索系统,包括:
路由选择存储器,其中以等级结构来建立对应节点条目信息和路由选择数据的树结构,树结构具有要从目的地址的高位起以N位为单位(N是大于等于2的整数)进行检查的一种M分支树结构(M=2N);和
路由选择检索装置,用于根据目的地址从初始等级阶段到较低等级阶段顺序检索存储器的节点条目信息,以导出相应的路由选择数据。
节点条目信息可以包括:指示相应节点中的路由选择数据存在或不存在的路由选择数据存在/不存在信息,指示到一个较低等级阶段的链路存在或不存在的链路存在/不存在信息,指示较低等级阶段的等级值,标识较低等级阶段中的一个节点的节点ID,和用于标识路由选择数据和相应于节点的网络地址的路由选择数据ID。路由选择数据的一个条目信息可以具有至少一个下一个要发送的节点的地址值。
路由选择检索装置可以包括:地址产生装置,用于采取树结构的初始等级阶段和一个根节点的节点ID作为一个初始值,读出相应于初始等级阶段的目的地址的N个高位,并且利用N个高位和根节点的节点ID产生用于读出路由选择存储器的地址;和子节点判断装置,用于通过进行节点条目信息的链路存在/不存在信息的判断,以在链路存在时将一个读出节点条目信息的等级阶段信息和节点ID发送到地址产生装置,命令产生下一个较低等级阶段的节点条目信息的读出地址。
路由选择检索装置也可以包括用于判断读出节点条目信息中网络地址和目的地址的匹配的地址判断装置,用于判断读出节点条目信息的路由选择数据存在/不存在信息的路由选择数据存在/不存在判断装置,和用于根据地址判断装置、路由选择数据存在和不存在判断装置、和子节点判断装置的判断结果控制存储器的读出的控制装置。
根据本发明的第二方面,一种用于根据标识通信对方的目的地址确定下一个发送节点的路由选择检索方法,包括如下步骤:
提供一个以等级结构建立对应的节点条目信息的树结构和路由选择数据的路由选择存储器,树结构具有一种要从目的地址的高位起以N位为单位(N是大于或等于2的整数)检查的M分支树结构(M=2N);和
路由选择检索步骤,根据目的地址从初始等级阶段到较低等级阶段顺序检索存储器的节点条目信息,以导出相应的路由选择数据。
节点条目信息可以包括:指示相应节点中路由选择数据存在或不存在的路由选择数据存在/不存在信息,指示到较低等级阶段的链路存在或不存在的链路存在/不存在信息,指示较低等级阶段的等级值,标识较低等级阶段中节点的节点ID,和用于标识路由选择数据和相应于节点条目的网络地址的路由选择数据ID。路由选择数据的一个条目信息可以具有至少一个下一个发送节点的地址值。
路由选择检索步骤可以包括:地址产生步骤,采用树结构的一个初始等级阶段和一个根节点的节点ID作为初始值,读出相应于初始等级阶段的目的地址的N个高位,和利用N个高位和根节点的节点ID产生用于读出路由选择存储器的地址;和子节点判断步骤,通过判断节点条目信息的链路存在/不存在信息,以便在链路存在时把读出节点条目信息的等级阶段信息和节点ID发送到地址产生步骤,命令产生下一个较低等级阶段的节点条目信息的读出地址。
路由选择检索步骤可以包括判断读出节点条目信息中网络地址和目的地址的匹配的地址判断步骤,判断读出节点条目信息的路由选择数据存在/不存在的路由选择数据存在/不存在判断步骤,和根据地址判断步骤、路由选择数据存在/不存在判断步骤,和子节点判断步骤的判断结果控制存储器的读出的控制步骤。
根据本发明的第三方面,用于根据标识通信对方的目的地址确定下一个发送节点的路由器,包括:
路由选择存储器,其中以等级结构建立对应的节点条目信息和路由选择数据的树结构,树结构具有一种要从目的地址的高位起以N位为单位(N是大于等于2的整数)检查的M分支树结构(M=2N);和
路由选择检索装置,用于根据目的地址从初始等级阶段到较低等级阶段顺序地检索存储器的节点条目信息,以导出一个相应的路由选择数据。
根据本发明的第四方面,一种记录用于根据标识通信对方的目的地址确定下一个发送的节点的路由选择检索方法的控制程序的存储介质,所述路由选择检索方法包括如下步骤:
提供一个以等级结构建立对应的节点条目信息和路由选择数据的树结构的路由选择存储器,树结构具有一种要从目的地址的高位起以N位为单位(N是大于等于2的整数)检查的M分支树结构(M=2N);和
根据目的地址从初始等级阶段到较低等级阶段顺序地检索存储器的节点条目信息,以导出相应的路由选择数据的路由选择检索步骤。
以下讨论本发明的操作。与现有技术的每一位检查目标地址的二叉树不同,本发明使用了每N位(N>1)检查的M分支树结构,因而减少了存取检索表的次数。应当注意,M是一个2的N次幂的值。接下来,进行每N位的检查,并且允许每位的最长前缀匹配。
从下面给出的详细说明和本发明的优选实施例的附图中可以对本发明有更充分的了解,但是不应当将它们当成是对本发明的限制,而仅是为了解释和理解的目的。
附图说明
图1A是显示现有技术的二叉树检索方法的概念图;
图1B是M分支(M>2)检索方法的概念图;
图2示出了本发明的路由选择表的树结构的示例;
图3示出了IP地址与节点之间的关系;
图4示出了一个节点条目的示例;
图5示出了路由选择数据条目结构的示例;
图6示出了一个路由选择检索电路的构造;
图7示出了一个子节点判断处理部分606的操作的流程图;
图8示出了一个有效判断处理部分607的操作的流程图;
图9示出了一个NA判断处理部分608的操作的流程图;
图10示出了一个L字段判断处理部分609的操作的流程图;
图11示出了控制部分611的处理逻辑;
图12A和12B是解释NA判断处理部分608的必要性的示意图;
图13示出了本发明的另一个实施例中的一个节点条目的构造;
图14示出了本发明的另一个实施例的一个路由选择数据条目的构造;
图15示出了本发明的另一个实施例的一个路由选择检索电路600的构造;
图16是解释LPM(最长前缀匹配)的一个示例的示意图;和
图17是解释现有技术二叉树结构的一个示例的示意图。
优选实施例
以下参考附图根据本发明的一个路由选择检索系统的优选实施例对本发明进行详细说明。在以下的说明中,提出了许多特定的细节,以便提供对本发明的深入了解。但是,熟悉本领域的人员显然知道,没有这些特定细节也可以实现本发明。
图1A是显示现有技术的二叉树检索方法的概念图,图1B是“M”分支(M>2)检索方法的概念图。在图1A和1B中,矩形框代表节点,圆形框代表数据区。节点具有用于检索的信息。在数据区中,存储着要输出的结果的数据(路由选择信息)。在实践中,节点和数据区存在于存储器中,并且在节点中存储了数据区的地址。
例如,当将成为检索关键字的IP地址是“0x80E10001”时,节点101,102和103成为候选者。在这些节点中,一个具有最长匹配长度的节点成为最终结果,并且被输出到数据区104。另一方面,当IP地址是“0x80000001”,并且假设在节点107以下没有匹配节点时,那么节点106就成为要输出到数据区108的检索结果。在这里,应当注意,在前一个示例中的节点101,102,和103,以及后一个示例中的节点105和106必须进行二叉树检查。
图1B中示出了一个示例,其中用一个本发明所建议的“M”分支树结构代替二叉树。在这里,假设“M”是8,“N”是3。即,通过一次全部检查IP地址的第九、第十、和第十一位,可以确定一个分支目的地。在本例中,由于没有具有9或10的净掩码长度,所有不能检索具有9或10的净掩码长度的条目。因此,如图1B中所示,数据区从一个具有“N”位宽度范围内最长净掩码长度的节点链接到该节点。
例如,在“0x80E10001”的情况下,节点109成为候选者,并且数据区成为110。在这里,数据区111相当于节点102的数据区,但是,由于数据区是以净掩码长度递减顺序链接到节点的,因而链接到节点109的数据区110是结果,并且不需要读出数据区111和112中的数据。同样,在“0x80000001”的情况下,在节点113,由于没有相应于净掩码长度11的条目,此外,如果在下一个节点中不存在结果,那么要输出数据的数据区是114。在本发明的这种方法中,与现有技术二叉树结构相比,可以减少节点的阶段数,并且可以十分容易地进行最长前缀匹配(LPM)。
以下将讨论适用于IPv4的十六分支树情况的一个实施例。图2示出了所说明实施例的树结构的概念图。树被划分成八个等级阶段L0到L7。树是由节点和路由选择数据构成的。每个节点由唯一的节点标识符NID标识。每个节点是十六节点条目。节点包括根节点,叶节点,和分支节点。根节点是一个在等级阶段L0的固定节点。分支节点位于不是等级阶段L0的各个等级阶段。节点的一个条目具有一个链接到较低等级阶段中其它节点的分支。每个叶节点是一种其节点条目之一具有路由选择数据的节点。分支节点可以是叶节点。在构造中,每个节点和路由选择数据各自占据存储器中的一个区。
图3示出了IPv4地址和一个树结构之间的关系。IPv4地址的三十二位被划分成每个四位的码组,并且用B0到B7标识对应的码组。B0到B7对应着图2的L0到L7的对应等级阶段。例如,图2的节点A和节点B之间的关系成为图3中所示的关系。即,节点B的节点条目是通过把相应于节点A的等级阶段的码组的位串,以及在需要时将几个“0”位加到节点A的“NID”上产生的。这成为形成节点B的节点条目的地址。
图4示出了节点条目的结构。在图4中,“V”指示节点条目是有效或无效,其中“1”代表有效节点,“0”代表无效节点。当节点是无效时,其它字段的信息根本没有意义。“L”代表有关节点条目是否具有路由选择数据。因此,它可以是指示“1”或“0”的一位构造。但是,在所示实施例中,由于以下原因给予了四位。当“L”字段不是“0000”时,节点具有路由选择数据。“C”代表对较低等级阶段中的节点的链接存在或不存在。当“C”是“1”时,它代表节点条目具有到较低等级阶段中的节点的链接。
“CL”代表在“C”是“1”并且是链接的时候是有效的较低等级阶段的节点的等级。“NID”代表较低等级阶段的节点ID,它在“C”是“1”时是有效的。“EID”是路由选择数据的标识符。通过“EID”唯一地标识存储路由选择数据的存储器地址。当“L”不是“0000”时,“EID”是有效的。最后,“NA”是相应于节点条目的一个网络地址。
这里将讨论“L”的使用。树被构造成IPv4的4位组码。因此,当净掩码长度不是四位边界时,使用“L”字段。在所说明的实施例中,组码是由四位构成的,“L”字段也是由四位构成的。讨论图3中所示的例子,当“L”是“1***”时,存在相应于12的净掩码长度的路由选择数据,同样,当“L”是“*1**”时,净掩码长度是11,当“L”是“**1*”时,净掩码长度是10,等等。此时,根据最长前缀匹配(LPM),将LPM路由选择数据的标识符设为“EID”。例如,当“L”是“1010”时,相应于12的净掩码长度的路由选择数据的标识符成为“EID”。
图5示出了路由选择数据的结构的一个示例。当“A”是“1”时,它代表路由选择数据是有效的。当“P”是“1”时,则代表到其它路由选择数据的链路存在。在“NEID”中,存储去往链接目的地的路由选择数据的“EID”。“NH”和“OP”分别代表目的地的IP地址和输出端口。以图1为例,在路由选择数据110的“NEID”字段中,存储了路由选择数据111的“EID”。在图6中以方框图的形式示出了根据上述树结构的转发设备(路由器装置)中的路由选择检索电路600。
首先,在路由选择检索电路600中,将目标IP地址(DA)的三十二位、初始等级阶段(相当于图2的L0)、以及图2所示的根节点的ID输入。初始等级阶段的值是“0”,并且根节点ID是一个固定值。输入的“DA”存储在一个DA保持部分601中。一个地址产生部分602读出相应于一个子节点判断处理部分606提供的(指示节点的较低等级阶段的)“CL”的组码(图3示例中的B2),并且利用组码的位串和从子节点判断处理部分606提供的(指示较低等级阶段的节点ID的)“NID”产生图3中所示的地址,以输出到节点读出部分603。
地址产生部分602保持一个用于从“DA”和节点ID读出的指示一个等级值(图3中的B0至B7)的读出等级值。首先,将输入的初始等级值用作读出等级值,并且把根节点ID(固定值)用作节点ID。节点读出部分603接收来自一个控制部分611的节点读出命令,并且读出从地址产生部分602输出的地址的节点条目,以分别输出到子节点判断处理部分606,有效性判断处理部分607,NA判断处理部分608,和L字段判断处理部分609。
如图7的操作流程所示,子节点判断处理部分606检查节点条目的“C”位(步骤S1)。如果“C”位是“1”,那么将“CL”字段的值和“NID”的值输出到地址产生部分602(步骤S2)。地址产生部分602利用“CL”值和“NID”值产生下一个地址。子节点判断处理部分606同时将“C”位的值输出到控制部分611(步骤S3)。如图8的操作流程所示,有效性判断处理部分607提取节点条目的“V”位(步骤S21),以输出到控制部分611(步骤S22)。
如图9的操作流程所示,NA判断处理部分608进行DA保持部分601保持的“DA”和节点条目的“NA”字段的“与”运算(步骤S31),并且检查结果是否与节点条目的“NA”字段相同(步骤S32)。如果相同,将“1”输出到控制部分611(步骤S33),如果不同,将“0”输出到控制部分611(步骤S34)。如图10的操作流程所示,L字段判断处理部分609检查节点条目的“L”字段(步骤S41)。如果“L”字段不是“0000”,那么将节点条目的“EID”字段的值输出到一个结果输出部分610(步骤S42)。另一方面,当“L”是“0000”时,将“0”输出到控制部分611(步骤S43,S44),当“L”不是“0000”时,将“1”输出到控制部分611(步骤S45)。
图11中示出了控制部分611的处理内容。分别用一位表达来自子节点判断部分606、有效性判断处理部分607、NA判断处理部分608和L字段判断处理部分609的输入,以形成如图11中所示的四位输入值。通过组合四位的对应输入值,控制部分611将一个节点读出命令信号输出到节点读出部分603,并且将一个结果输出命令信号和“EID”命令信号输出到结果输出部分610。
结果输出部分610只有在接收到来自控制部分611的“EID”更新命令时,才保持从L字段判断处理部分609输出的“EID”。当存在已经保持的“EID”时,更新保持的“EID”。另一方面,当接收到来自控制部分611的结果输出命令时,经过一个存储器控制器605从一个外存储器604读出路由选择数据,并且输出读出的路由选择数据的“OP”和“NH”值。如果不存在要保持的“EID”,那么输出一个指示检索失败的信号。
通过上述处理,顺序地跟踪了建立为存储区的树的节点,以发现希望的路由选择信息。
在这里,参考图12讨论图8中的NA判断处理部分608的判断处理的必要性,该判断处理是通过将保持在DA保持部分601中的输入“DA”值和节点读出部分609读出的节点条目的“NA”值进行“与”运算来判断是否匹配。例如,在图12A中所示的情况,其中“DA”值是“0x11223344”,一个节点条目的“DA”值是“0x1122E344”,即,考虑图12B中所示的树结构。
此时,在所示实施例中,从初始等级阶段每四位组码L0至L7执行判断处理,在等级阶段4读出相应于NA=0x1122E344的节点条目。“NA”的这个值与在等级阶段L4的“DA”不同,由于不满足条件,必须放弃这个条目。因此,提供了NA判断处理部分608,以通过比较“DA”和“NA”的所有位值执行匹配判断。
以下讨论作为另一个实施例的情况,其中“NA”不存在于节点条目信号中,而是存在于路由选择数据信息中。在本发明的方法中,节点的存储容量可以不必很大。具体地讲,当组码的位数很大时,或当处理具有大的地址长度的IPv6时,必须抑制存储容量。
在本实施例中,采用IPv6地址作为示例。在IPv6中,网络地址高达六十四位。这个信息不是在节点条目中而是在路由选择数据中提供。这样作使得节点条目的存储容量变小。在这种情况下,节点条目的结构如图13中所示,路由选择数据的结构如图14所示。
图15是显示路由选择检索电路600的所示实施例的构造的方框图。与图6中组件相同的组件将由相同的参考号标识。在图15中,与图6的构造不同的组件是一个NA判断处理部分608。当NA判断处理部分608作出在L字段判断处理部分609中存在路由选择数据的判断时,NA判断处理部分608接收来自L字段判断处理部分609的“EID”,经过存储器控制器605从外存储器604读出路由选择数据中的“NA”值,然后执行与图6的NA判断处理部分608相同的处理。其它电路构造执行与图6的电路构造相同的处理。为了简化说明并且有利于对本发明的清楚理解,删除了与图6中所示电路构造相同的处理的多余讨论。
应当指出,通过预先将控制程序存储在只读存储介质中,并且通过用计算机(CPU)读出控制程序而执行控制操作,可以实现不同于图6和图15中所示的DA保持部分601、存储器604、存储控制器605等等的构造。
本发明实现了一种将IP地址划分成组码,并且利用M分支树(M>2)同时地检查多个位而不是检查每一位的方法。因此,与二叉树检索方法相比,可以减少存取检索表的次数。此外,一次全部地检查多个位遇到了可以以多个位为一个单元地处理净掩码长度的问题。但是,本发明通过使用其中链接了路由选择数据的一种构造而允许每位地处理净掩码长度。
这种每组码处理IP地址的检索方法对于处理具有四倍于IPv4地址长度的128位的地址的IPv6分组的情况是特别有效的。
尽管本发明是参考示例实施例图示和说明的,熟悉本领域的人员应当知道可以在其中和对其进行上述的和各种其它改变、删除和增加,而不脱离本发明的精神和范围。因此,不应当认为本发明限于上述提出的特定实施例,而是包括可以在附属权利要求中指出的特征所包括的范围及其等价物内具体实现的所有可能的实施例。
Claims (20)
1.一种用于根据标识通信对方的目的地址确定下一个发送节点的路由选择检索系统,包括:
路由选择存储器,其中以等级结构建立对应的节点条目信息和路由选择数据的树结构,所述树结构具有要从所述目的地址的高位起以N位为单位检查的一种M分支树结构,N是大于或等于2的整数,M=2N;和
路由选择检索装置,用于根据所述目的地址从初始等级阶段到较低等级阶段顺序地检索所述存储器的所述节点条目信息,以得到相应的路由选择数据。
2.根据权利要求1所述的路由选择检索系统,其中所述节点条目信息是由指示相应节点中所述路由选择数据存在或不存在的路由选择数据存在/不存在信息,指示到一个较低等级阶段的链路存在或不存在的链路存在/不存在信息,指示该较低等级阶段的等级值,标识所述较低等级阶段中一个节点的节点ID,和标识所述路由选择数据和一个相应于所述节点条目的网络地址的路由选择数据ID组成的。
3.根据权利要求2所述的路由选择检索系统,其中所述路由选择数据的一个条目信息具有至少一个下一个发送节点的地址值。
4.根据权利要求2所述的路由选择检索系统,其中所述路由选择检索装置包括:地址产生装置,用于采用所述树结构的初始等级阶段和根节点的节点ID作为一个初始值,读出相应于所述初始等级阶段的所述目的地址的N个高位,并利用所述N个高位和所述根节点的节点ID产生用于读取所述路由选择存储器的地址,和子节点判断装置,用于通过进行所述节点条目信息的所述链接存在/不存在信息的判断命令,产生下一个较低等级阶段的所述节点条目信息的读出地址,以在链路存在时把一个读出节点条目信息的所述等级阶段信息和所述节点ID发送到所述地址产生装置。
5.根据权利要求4所述的路由选择检索系统,其中所述路由选择检索装置包括:地址判断装置,用于判断所述读出节点条目信息中的所述网络地址与所述目的地址是否匹配,路由选择数据存在/不存在判断装置,用于判断所述读出节点条目信息的所述路由选择数据存在/不存在的信息,和控制装置,用于根据所述地址判断装置、所述路由选择数据存在/不存在判断装置、和所述子节点判断装置的判断结果控制所述存储器读出。
6.一种用于根据标识通信对方的目的地址确定下一个发送节点的路由选择检索方法,包括如下步骤:
提供以等级结构建立对应节点条目信息和路由选择数据的树结构的路由选择存储器,所述树结构具有要从所述目的地址的高位起以N位为单位检查的M分支树结构,N是大于或等于2的整数,M=2N;和
根据所述目的地址从初始等级阶段到较低等级阶段顺序地检索所述存储器的所述节点条目信息,以得到相应的路由选择数据的路由选择检索步骤。
7.根据权利要求6所述的路由选择检索方法,其中所述节点条目信息包括:指示相应节点中所述路由选择数据存在或不存在的路由选择数据存在/不存在信息,指示到一个较低等级阶段的链路存在与否的链路存在/不存在信息,指示该较低等级阶段的等级值,标识所述较低等级阶段中一个节点的节点ID,和标识所述路由选择数据和一个相应于所述节点条目的网络地址的路由选择数据ID。
8.根据权利要求7所述的路由选择检索方法,其中所述路由选择数据的一个条目信息具有至少一个下一个发送节点的地址值。
9.根据权利要求7所述的路由选择检索方法,其中所述路由选择检索步骤包括:地址产生步骤,采用所述树结构的初始等级阶段和根节点的节点ID作为初始值,读出相应于所述初始等级阶段的所述目的地址的N个高位,并利用所述N个高位和所述根节点的节点ID产生用于读取所述路由选择存储器的地址,和子节点判断步骤,通过进行所述节点条目信息的所述链接存在/不存在信息的判断命令,产生下一个较低等级阶段的所述节点条目信息的读出地址,以在链路存在时把所述读出节点条目信息的所述等级阶段信息和所述节点ID发送到所述地址产生步骤。
10.根据权利要求9所述的路由选择检索方法,其中所述路由选择检索步骤包括:地址判断步骤,判断所述读出节点条目信息中的所述网络地址与所述目的地址的匹配,路由选择数据存在/不存在判断步骤,判断所述读出节点条目信息的所述路由选择数据存在/不存在信息,和控制步骤,根据所述地址判断步骤、所述路由选择数据存在/不存在判断步骤、和所述子节点判断步骤的判断结果控制所述存储器读出。
11.一种路由器,用于根据标识通信对方的目的地址确定下一个发送节点,包括:
路由选择存储器,其中以等级结构建立对应的节点条目信息和路由选择数据的树结构的,所述树结构具有要从所述目的地址的高位起以N位为单位检查的一种M分支树结构,N是大于或等于2的整数,M=2N;和
路由选择检索装置,用于根据所述目的地址从初始等级阶段到较低等级阶段顺序地检索所述存储器的所述节点条目信息,以得到相应的路由选择数据。
12.根据权利要求11所述的路由器,其中所述节点条目信息包括:指示相应节点中所述路由选择数据存在或不存在的路由选择数据存在/不存在信息,指示到一个较低等级阶段的链路存在或不存在的链路存在/不存在信息,指示该较低等级阶段的等级值,标识所述较低等级阶段中一个节点的节点ID,标记所述路由选择数据,和相应于所述节点条目的网络地址的路由选择数据ID。
13.根据权利要求12所述的路由器,其中所述路由选择数据的一个条目信息具有至少一个下一个发送节点的地址值。
14.根据权利要求12所述的路由器,其中所述路由选择检索装置包括:
地址产生装置,用于采用所述树结构的初始等级阶段和一个根节点的节点ID作为一个初始值,读出相应于所述初始等级阶段的所述目的地址的N个高位,并利用所述N个高位和所述根节点的节点ID产生读出所述路由选择存储器的地址,和子节点判断装置,用于通过进行所述节点条目信息的所述链接存在/不存在信息的判断命令,产生下一个较低等级阶段的所述节点条目信息的读出地址,以在链接存在时把一个读出节点条目信息的所述等级阶段信息和所述节点ID发送到所述地址产生装置。
15.根据权利要求14所述的路由器,其中所述路由选择检索装置包括:
地址判断装置,用于判断所述读出节点条目信息中的所述网络地址与所述目的地址是否匹配,路由选择数据存在/不存在判断装置,用于进行所述读出节点条目信息的所述路由选择数据存在/不存在信息的判断,和控制装置,用于根据所述地址判断装置、所述路由选择数据存在/不存在判断装置、和所述子节点判断装置的判断结果控制所述存储器读出。
16.一种存储介质,记录用于根据标识通信对方的目的地址确定下一个发送节点的路由选择检索方法的控制程序,该路由选择检索方法包括如下步骤:
提供以等级结构建立对应节点条目信息和路由选择数据的树结构的路由选择存储器,所述树结构具有要从所述目的地址的高位起以N位为单位检查的M分支树结构,N是大于或等于2的整数,M=2N;和
路由选择检索步骤,根据所述目的地址从初始等级阶段到较低等级阶段顺序地检索所述存储器的所述节点条目信息,以导出一个相应的路由选择数据。
17.根据权利要求16所述的存储介质,其中所述节点条目信息包括:指示相应节点中所述路由选择数据存在或不存在的路由选择数据存在/不存在信息,指示到一个较低等级阶段的链路存在或不存在的链接存在/不存在信息,指示该较低等级阶段的等级值,标识所述较低等级阶段中一个节点的节点ID,标识所述路由选择数据,和相应于所述节点条目的网络地址的路由选择数据ID组成的。
18.根据权利要求17所述的存储介质,其中所述路由选择数据的一个条目信息具有至少一个下一个发送节点的地址值。
19.根据权利要求17所述的存储介质,其中所述路由选择检索步骤包括:地址产生步骤,采用所述树结构的初始等级阶段和根节点的节点ID作为初始值,读出相应于所述初始等级阶段的所述目的地址的N个高位,并利用所述N个高位和所述根节点的节点ID产生用于读取所述路由选择存储器的地址,和子节点判断步骤,通过进行所述节点条目信息的所述链接存在/不存在信息的判断命令产生下一个较低等级阶段的所述节点条目信息的读出地址,以在链路存在时把所述读出节点条目信息的所述等级阶段信息和所述节点ID发送到所述地址产生步骤。
20.根据权利要求19所述的存储介质,其中所述路由选择检索步骤包括:地址判断步骤,判断所述读出节点条目信息中的所述网络地址与所述目的地址的匹配,路由选择数据存在/不存在判断步骤,判断所述读出节点条目信息的所述路由选择数据存在/不存在信息,和控制步骤,根据所述地址判断步骤、所述路由选择数据存在/不存在判断步骤、和所述子节点判断步骤的判断结果控制所述存储器读出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP210654/2000 | 2000-07-12 | ||
JP2000210654A JP2002026973A (ja) | 2000-07-12 | 2000-07-12 | 経路検索システム及びその方法並びにそれに使用するルータ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1333616A true CN1333616A (zh) | 2002-01-30 |
Family
ID=18706888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01120404A Pending CN1333616A (zh) | 2000-07-12 | 2001-07-11 | 路由选择检索系统及其方法以及使用的路由器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20020009056A1 (zh) |
EP (1) | EP1172971A3 (zh) |
JP (1) | JP2002026973A (zh) |
KR (1) | KR100472275B1 (zh) |
CN (1) | CN1333616A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007019777A1 (fr) * | 2005-08-16 | 2007-02-22 | Huawei Technologies Co., Ltd. | Méthode d’établissement de session et nœud de contrôle de session |
CN1653738B (zh) * | 2002-05-14 | 2010-04-28 | 汤姆森许可贸易公司 | 在由网络服务的移动终端用户之间通信数据分组的方法 |
CN102461092A (zh) * | 2009-04-24 | 2012-05-16 | 代尔夫特科技大学 | 用于地址查找的数据结构、方法和系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100421414B1 (ko) * | 2001-07-23 | 2004-03-09 | 한국전자통신연구원 | 다중 탐색 트리의 노드 구조를 이용한 트리 검색 및업데이트 방법 |
JP2006526920A (ja) * | 2003-06-03 | 2006-11-24 | カシエント・リミテッド | 無線網状ネットワークのためのシステムと方法 |
US7840696B2 (en) * | 2003-07-25 | 2010-11-23 | Broadcom Corporation | Apparatus and method for classifier identification |
US9185074B2 (en) * | 2004-07-06 | 2015-11-10 | Hewlett-Packard Development Company, L.P. | Method and system for generating ranges of internet protocol addresses |
JP4571182B2 (ja) | 2005-01-27 | 2010-10-27 | 富士通株式会社 | ネットワーク機器管理装置、ネットワーク機器管理方法、ネットワーク機器、及びそれらで使用されるプログラム、並びにシステム |
KR100887104B1 (ko) | 2007-06-12 | 2009-03-04 | 건국대학교 산학협력단 | Ip 패킷의 라우팅을 위한 세그먼트 트리 구성 장치 및방법 |
US8942098B2 (en) * | 2009-11-04 | 2015-01-27 | Saudi Arabian Oil Company | Adaptive hybrid wireless and wired process control system with hierarchical process automation field network sets |
CN102156759B (zh) * | 2011-05-25 | 2013-12-18 | 华为技术有限公司 | 二叉树并行查找方法和设备 |
KR20230001519U (ko) | 2022-01-21 | 2023-07-28 | 현충만 | 개별 과수목용 비닐하우스 프레임 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860136A (en) * | 1989-06-16 | 1999-01-12 | Fenner; Peter R. | Method and apparatus for use of associated memory with large key spaces |
AU620994B2 (en) * | 1989-07-12 | 1992-02-27 | Digital Equipment Corporation | Compressed prefix matching database searching |
US5654985A (en) * | 1993-02-19 | 1997-08-05 | Advanced Micro Devices, Inc. | Address tracking over repeater based networks |
US5787430A (en) * | 1994-06-30 | 1998-07-28 | International Business Machines Corporation | Variable length data sequence backtracking a trie structure |
KR0129140B1 (ko) * | 1994-12-21 | 1998-04-08 | 양승택 | Cdma 이동통신 네트워크 노드에서의 멀티캐스팅 통신경로 제어 방법 |
WO1997002680A1 (en) * | 1995-06-30 | 1997-01-23 | Philips Electronics N.V. | A method and apparatus for routing messages in a network of nodes |
US6104701A (en) * | 1996-12-13 | 2000-08-15 | International Business Machines Corporation | Method and system for performing a least cost routing function for data communications between end users in a multi-network environment |
US6285679B1 (en) * | 1997-08-22 | 2001-09-04 | Avici Systems, Inc. | Methods and apparatus for event-driven routing |
US6018524A (en) * | 1997-09-09 | 2000-01-25 | Washington University | Scalable high speed IP routing lookups |
IT1305140B1 (it) * | 1998-10-27 | 2001-04-10 | Cselt Centro Studi Lab Telecom | Memoria per la ricerca di informazioni mediante analisi di prefissi inparticolare per la realizzazione di tabelle di instradamento in nodi |
US6404752B1 (en) * | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
WO2001043345A2 (en) * | 1999-12-10 | 2001-06-14 | Mosaid Technologies Incorporated | Method and apparatus for longest match address lookup |
EP1128608B1 (en) * | 2000-01-27 | 2006-03-01 | International Business Machines Corporation | Method and means for classifying data packets |
KR100364433B1 (ko) * | 2000-04-28 | 2002-12-11 | 학교법인 동국학원 | 비트-벡터 테이블을 이용한 ip 주소 검색방법 |
US6591285B1 (en) * | 2000-06-16 | 2003-07-08 | Shuo-Yen Robert Li | Running-sum adder networks determined by recursive construction of multi-stage networks |
US7966421B2 (en) * | 2000-06-21 | 2011-06-21 | SAtech Group, A.B. Limited Liability Company | Method and apparatus for logically expanding the length of a search key |
-
2000
- 2000-07-12 JP JP2000210654A patent/JP2002026973A/ja active Pending
-
2001
- 2001-07-09 US US09/899,986 patent/US20020009056A1/en not_active Abandoned
- 2001-07-11 EP EP01116935A patent/EP1172971A3/en not_active Withdrawn
- 2001-07-11 CN CN01120404A patent/CN1333616A/zh active Pending
- 2001-07-11 KR KR10-2001-0041465A patent/KR100472275B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653738B (zh) * | 2002-05-14 | 2010-04-28 | 汤姆森许可贸易公司 | 在由网络服务的移动终端用户之间通信数据分组的方法 |
WO2007019777A1 (fr) * | 2005-08-16 | 2007-02-22 | Huawei Technologies Co., Ltd. | Méthode d’établissement de session et nœud de contrôle de session |
CN1889565B (zh) * | 2005-08-16 | 2010-05-05 | 华为技术有限公司 | 会话建立方法 |
CN102461092A (zh) * | 2009-04-24 | 2012-05-16 | 代尔夫特科技大学 | 用于地址查找的数据结构、方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2002026973A (ja) | 2002-01-25 |
KR20020006464A (ko) | 2002-01-19 |
EP1172971A2 (en) | 2002-01-16 |
US20020009056A1 (en) | 2002-01-24 |
EP1172971A3 (en) | 2004-04-21 |
KR100472275B1 (ko) | 2005-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8335780B2 (en) | Scalable high speed relational processor for databases and networks | |
CN1179523C (zh) | 用于四路散列表的方法和装置 | |
CN1564989A (zh) | Mac地址高速搜索引擎 | |
CN1270487C (zh) | 用于三重内容可寻址存储器(tcam)表管理的方法和设备 | |
Van Lunteren | High-performance pattern-matching for intrusion detection | |
CN100472480C (zh) | 分组处理方法和装置 | |
US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
CN1143592C (zh) | 虚路径/虚信道查找方法和装置 | |
US6625612B1 (en) | Deterministic search algorithm | |
CN1333616A (zh) | 路由选择检索系统及其方法以及使用的路由器 | |
US8139591B1 (en) | Methods and apparatus for range matching during packet classification based on a linked-node structure | |
CN102333036B (zh) | 一种实现高速路由查找的方法和系统 | |
CN1462004A (zh) | 用于产生和使用改进的树形位图数据结构的方法和装置 | |
US20070121632A1 (en) | Method and system for routing an IP packet | |
CN1653763A (zh) | 在基于硬件的包交换中用于存储器有效的快速vlan查找和插入的方法和设备 | |
WO1998041931A1 (en) | Method for implementing an associative memory based on a digital trie structure | |
CN1504912A (zh) | 用树状分段改善树搜索性能和存储器带宽的方法和系统 | |
CN1784678A (zh) | 用于高效地搜索被分成具有界大小的、有界数量的子数据库的转发数据库的系统和方法 | |
CN1781286A (zh) | 用于分组分类和重写的方法和装置 | |
JP3570323B2 (ja) | アドレスに関するプレフィクスの格納方法 | |
CN101345707A (zh) | 一种实现IPv6报文分类的方法及设备 | |
CN1543150A (zh) | 分组分类装置和使用字段级特里结构的方法 | |
CN1216473C (zh) | 支持多个下一跳的三态内容可寻址存储器查找方法及系统 | |
CN112667526B (zh) | 一种访问控制列表电路实现方法及其电路 | |
CN1675635A (zh) | 具有增强能力的关联存储器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |