一种网络地址查找方法及装置的制作方法

文档序号:7906725阅读:149来源:国知局
专利名称:一种网络地址查找方法及装置的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及一种网络地址查找方法及装置。
背景技术
通信领域中,路由器对报文进行转发前,需要根据报文的目的地址在路由转发表中查找与目的地址匹配的表项。从而确定该报文的下一跳地址。最长前缀匹配(the longest prefix match)是较为常用的查找方式。实现最长前缀长度匹配的多种方式中,使用三态内容可寻址存储器(Ternary Content Addressable Memory, TCAM)是一种常用方法。TCAM 的存储单元除了 “0” 和 “ 1” 两种状态,还有一种不关心(don’ t care)状态。不关心状态表明既可以为“0”也可以为 “1”。发明人发现现有技术存在以下技术问题将若干个网络地址存储在一个表中,当多个网络地址的高位相同时,每个网络地址的高位都需要占用一定的存储空间,占用的存储空间较多。

发明内容
本发明实施例提供一种网络地址查找方法和装置,可以解决将若干个网络地址存储在一个表中,当多个网络地址的高位相同时,每个网络地址的高位都需要占用一定的存储空间,占用的存储空间较多的问题。一方面,本发明实施例提供的一种网络地址查找方法,包括在高M表中查找第一高M表项,所述第一高M表项包含第一网络地址的高M位地址,M为自然数,所述第一网络地址为X位,X为自然数;如果在所述高M表中查找到所述第一高M表项,则判断低N表中是否包含对应所述第一高M表项的子表,N为自然数;如果所述低N表中包含所述子表,则在所述低N表中查找对应所述第一网络地址的低N表项,所述低N表项包含所述第一网络地址的低N位,X为M与N的和。另一方面,本发明实施例提供的一种网络地址查找装置,包括查找单元以及判断单元;所述查找单元用于在高M表中查找第一高M表项,所述第一高M表项包含第一网络地址的高M位地址,M为自然数,所述第一网络地址为X位,X为自然数,根据所述判断单元的判断结果,如果低N表中包含对应所述第一高M表项的子表,则在所述低N表中查找对应所述第一网络地址的低N表项,所述低N表项包含所述第一网络地址的低N位,N为自然数,X为M与N的和;所述判断单元用于如果在所述高M表中查找到所述第一高M表项,则判断所述低 N表中是否包含所述子表。本发明实施例提供的网络地址查找方法及装置,将若干个网络地址的高位存储在高M表中,将该若干个网络地址的低位存储在低N表中。当该若干个网络地址中多个网络地址的高位相同时,只需使用高M表的一个表项存储该多个网络地址的高位。可见,通过本发明实施例提供的网络地址查找方法及装置,可以解决将若干个网络地址存储在一个表中,当多个网络地址的高位相同时,每个网络地址的高位都需要占用一定的存储空间,占用的存储空间较多的技术问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的网络地址查找方法流程图;图2是本发明实施例提供的网络地址查找装置示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一本发明实施例提供了一种网络地址查找方法,可以用于需要进行网络地址查找的场景中,例如网关对主机发出的地址解析协议(Address Resolution Protocol, ARP)请求进行相应响应时,需要查找主机的网络地址。参见图1,图1是本发明实施例提供的网络地址查找方法流程图,该方法包括101 在高M表中查找第一高M表项,该第一高M表项包含第一网络地址的高M位, M为自然数,该第一网络地址为X位,X为自然数。第一网络地址可以是目的地址或者是源地址。第一网络地址可以是对应特定协议的网络地址。特定协议可以是网际协议(Internet Protocol, IP)或者媒体接入控制(Media Access Control,MAC)协议。当第一网络地址是IP地址时,IP地址可以是网际协议版本 4 (Internet Protocol version 4, IPv4)地址,或者网际协议版本 6 (Internet Protocol version 6, IPv6)地址。当第一网络地址是IPv4地址时,第一网络地址为32位二进制数。 当第一网络地址是IPv6地址时,第一网络地址为1 位二进制数。第一网络地址可以承载于网络设备收到的报文中。例如网络设备收到网际协议分组(Internet Protocol Packet, IP分组),该IP分组中包含了 IP地址。高M表可以存储在网络设备中,该网络设备可以是路由器、交换机、防火墙或者负载均衡器。具体来说,高M表可以存储在该网络设备的内存中。当该网络设备中包含TCAM 时,高M表也可以存储在该网络设备的TCAM中。该高M表可以用于存储X位网络地址的高M 位。高M表可以包括一个表项或者多个表项。在特定场景下,利用高M表存储X位网络地址的高M位地址可以节省存储空间。以IPv4的场景为例,路由器接收邻居路由器发布的路由消息,获得了进行报文转发所需的路径信息。路径信息可以存储在转发信息库O^orwarding Information Base, FIB)。FIB中的路径信息可以包括若干个32位的目的IP地址。该若干个IP地址中多个目的IP地址的高16位可以是相同的。例如该多个目的IP地址的高16 位都是十进制192. 168。因此可以用高M表中的一个表项表示该多个目的IP地址的高16 位,从而节省该多个目的IP地址的存储空间。高M表可以包括第一高M表项,该第一高M表项包含该第一网络地址的高M位地址。以IPv6的场景为例,当第一网络地址为1 位的IPv6地址时,高M表中可以包含该第一网络地址的高64位。此时M的值为64。102 如果在该高M表中查找到该第一高M表项,则判断低N表中是否包含对应该第一高M表项的子表,N为自然数。低N表用于存储X位网络地址的低N位。低N表可以包括多个表项。低N表可以包括对应该第一高M表项的子表。该子表为该低N表的一个子集。该子表可以包括1个或多个子表表项。子表表项包含高M位等于该第一网络地址的高M位的X位网络地址的低N 位。该子表可以包含该第一网络地址的低N位,也可以不包含该第一网络地址的低N位。在特定场景下,该低N表中可以不包含该子表。例如,路由器通过路由协议学习到第一网络地址。该第一网络地址为一个新的IPv6地址。当路由器的控制平面向路由器的数据平面下送该第一网络地址时,可以只下送该第一网络地址的高64位,即网段地址,不下送该第一网络地址的低64位。通过上述场景形成的低N表中可以不包含对应该第一网络地址的子表。103 如果该低N表中包含该子表,则在该低N表中查找对应该第一网络地址的低 N表项,该低N表项包含该第一网络地址的低N位,X为M与N的和。根据第一网络地址的低N位地址,在低N表中查找低N表项。该低N表项包含该第一网络地址的低N位。如果查找到低N表项,则表明第一网络地址与高M表以及低N表发生匹配。上述查找第一网络地址的技术方案可以应用于多种场景。例如,可以将高M表以及低N表作为网关的ARP缓存表对主机发出的ARP请求进行验证。当第一网络地址与高M 表以及低N表发生匹配时,表明源IP地址为第一网络地址的报文通过网关的ARP缓存表的验证。另外,可以将高M表以及低N表作为路由器的路由转发表对路由器收到的报文进行转发。当第一网络地址与高M表以及低N表发生匹配时,表明路由器可以根据路由转发表对目的地址为第一网络地址的IP分组进行转发。相对于现有技术将若干个X位网络地址存储在一个表中,本实施例将X位网络地址的高M位以及低N位分别存储在高M表以及低N表中。在高M表中,只需通过一个表项存储X位网络地址中高M位相同的多个网络地址的高M位。这意味着高M表中可以没有内容重复的表项,减少了高M位相同的多个X位网络地址所需的存储空间。因此,本实施例提供的网络地址查找方法解决了将若干个网络地址存储在一个表中,当多个网络地址的高位相同时,每个网络地址的高位都需要占用一定的存储空间,占用的存储空间较多的技术问题。另外,本实施例提供的网络地址查找方法中,在低N表中查找第一网络地址的低N 位前,对低N表中是否包含对应该第一高M表项的子表进行判断,避免了当低N表中没有对应该第一高M表项的子表时,仍然在低N表中查找对应该第一网络地址的低N表项。提高了查找效率。本实施例提供了一种查找网络地址的方法,该查找方法通过查找高M表以及低N 表实现。下文提供了该查找方法的一种具体实现方式。为便于理解,下文先介绍高M表以及低N表的生成过程,然后介绍高M表以及低N表的查找过程第一部分高M表以及低N表的生成过程路由器的嵌入式操作系统初始化时,可以在内存中分别为1 位的IPv6地址的高 64位、低64位以及高64位地址的索引分配一个存储空间。以上三个存储空间是彼此独立的。路由器根据路由协议,学习到第一网络地址,该第一网络地址为1 位的IPv6 地址。路由器的CPU通过控制通道,例如周边部件高速互连(Peripheral Component Interconnect Express, PCI-E)总线,将该网络地址下发到查找引擎。查找引擎可以是一个芯片。查找引擎收到路由器学习到的第一网络网络地址,将该第一网络地址的高64位添加到高M表中,形成第一高M表项。具体实现时,可以是查找引擎将该网络地址的高64 位写入到路由器的嵌入式操作系统初始化时为高64位分配的地址空间。查找引擎可以随机生成该高64位地址的索引,并将该高64位地址的索引存储到嵌入式操作系统初始化时为高64位地址的索引分配的存储空间。高64位地址以及高64 位地址的索引是一一对应的。也就是说对于不同的高64位地址,高64位地址的索引是不同的。高64位地址的索引可以是Y个比特的二进制数,Y为自然数。当查找引擎随机生成该高64位地址的索引时,查找引擎可以生成该低高M表项的第一标志。第一标志用于表示低M表中是否包含对应该第一高M表项的子表。第一标志可以是一个比特的二进制数。例如可以用二进制0表示低M表中没有包含对应该第一高M表项的子表;可以用二进制1表示低M表中包含对应该第一高M表项的子表。查找引擎将该第一网络地址的高64位地址的索引以及该第一网络地址的低64位添加到低M表中,形成低N表项。具体实现时,可以是查找引擎将该第一网络地址的高64 位地址的索引以及该第一网络地址的低64位地址写入到路由器的嵌入式操作系统初始化时为低64位地址分配的地址空间。第二部分高M表以及低N表的查找过程路由器收到目的地址为第一网络地址的报文,并将该报文送到网络处理器 (Network Processor, NP) 0 NP对该报文进行解析后,提取出该报文的目的IP地址,即第一网络地址。NP将该第一网络地址的高1 位发送至查找引擎。查找引擎在高M表中查找该第一网络地址的高64位。如果查找引擎在高M表中查找到包含该第一网络地址的高64位地址的表项,即第一高M表项,查找引擎从路由器的内存中读出该高64位地址的索引,并将该高64位地址的索引发送至NP。当查找引擎读出该高64位地址的索引时,查找引擎可以读出该高64位地址的第一标志,并将该第一标志发送至NP。第一标志用于表示低M表中是否包含对应该第一高M 表项的子表。第一标志可以是一个比特的二进制数。例如用二进制0表示低64表中没有包含对应该第一高64表项的子表;用二进制1表示低64表中包含对应该第一高64表项的子表。
当第一标志表明该高64位地址有对应的低64位地址时,NP将该高64位地址的索引以及该第一网络地址的低64位发送至查找引擎。查找引擎以该高64位地址的索引以及该第一网络地址的低64位为键值(key),在低M表中查找是否存在与该key匹配的表项。 当标志位表明低M表中没有包含对应该第一高M表项的子表时,NP不再发起查找。查找引擎以该高64位地址的索引以及该第一网络地址的低64位地址为key,在低 64表中查找与该key匹配的表项,即低N表项。如果查找引擎在低M表中查找到该低N表项,查找引擎可以读出该低64位地址的索引,并将该低64位地址的索引发送至NP。NP可以根据该低64位地址的索引,为路由器收到的目的地址为第一网络地址的报文确定进行转发的物理出接口。可选的,如果该低N表中不包含该子表,则不在该低N表中查找该低N表项。可选的,该判断低N表中是否包含对应该第一高M表项的子表具体包括根据该第一高M表项的第一标志判断该低N表中是否包含该子表。可选的,该在该低N表中查找对应第一网络地址的低N表项具体包括以该第一高M表项的索引以及该第一网络地址的低N位为key,在该低N表中查找该低N表项,该低N表项包含该第一高M表项的索引。可选的,该第一网络地址的高M位地址和/或低N位地址以二叉树的形式存储于该高M表和/或该低N表中。实施例二 本发明实施例提供了一种网络地址查找装置,可以用于需要进行网络地址查找的场景中,例如网关对主机发出的ARP请求进行相应响应时,需要查找主机的网络地址。参见图2,图2是本发明实施例提供的网络地址查找装置示意图,该装置包括查找单元201以及判断单元202 该查找单元201用于在高M表中查找第一高M表项,该第一高M表项包含第一网络地址的高M位地址,M为自然数,该第一网络地址为X位,X为自然数,根据该判断单元的判断结果,如果低N表中包含对应该第一高M表项的子表,则在该低N表中查找对应该第一网络地址的低N表项,该低N表项包含该第一网络地址的低N位,N为自然数,X为M与N的和。第一网络地址可以是目的地址或者是源地址。第一网络地址可以是对应特定协议的网络地址。特定协议可以是IP或者MAC协议。当第一网络地址是IP地址时,IP地址可以是IPv4地址,或者IPv6地址。当第一网络地址是IPv4地址时,第一网络地址为32位二进制数。当第一网络地址是IPv6地址时,第一网络地址为1 位二进制数。第一网络地址可以承载于网络设备收到的报文中。例如网络设备收到IP分组,该IP分组中包含了 IP地址。高M表可以存储在网络设备中,该网络设备可以是路由器、交换机、防火墙或者负载均衡器。具体来说,高M表可以存储在该网络设备的内存中。当该网络设备中包含TCAM时,高M表也可以存储在该网络设备的TCAM中。该高M表可以用于存储X位网络地址的高 M位。高M表可以包括一个表项或者多个表项。在特定场景下,利用高M表存储X位网络地址的高M位地址可以节省存储空间。以IPv4的场景为例,路由器通过接收邻居路由器发布的路由消息,获得了进行报文转发所需的路径信息。路径信息可以存储在FIB。FIB中的路径信息可以包括若干个32位的目的IP地址。该若干个IP地址中多个目的IP地址的高 16位可以是相同的。例如该多个目的IP地址的高16位都是十进制192. 168。因此可以通过高M表中的一个表项表示该多个目的IP地址的高16位,从而节省该多个目的IP地址的存储空间。高M表可以包括第一高M表项,该第一高M表项包含该第一网络地址的高M位地址。以IPv6的场景为例,当第一网络地址为1 位的IPv6地址时,高M表中可以包含该第一网络地址的高64位。此时M的值为64。根据第一网络地址的低N位地址,在低N表中查找低N表项。该低N表项包含该第一网络地址的低N位。如果查找到低N表项,则表明第一网络地址与高M表以及低N表发生匹配。该判断单元202用于如果在该高M表中查找到该第一高M表项,则判断该低N表中是否包含该子表。低N表用于存储X位网络地址的低N位。低N表可以包括多个表项。低N表可以包括对应该第一高M表项的子表。该子表为该低N表的一个子集。该子表可以包括1个或多个子表表项。子表表项包含高M位等于该第一网络地址的高M位的X位网络地址的低N 位。该子表可能包含该第一网络地址的低N位,也可能不包含该第一网络地址的低N位。在特定场景下,该低N表中可以不包含该子表。例如,路由器通过路由协议学习到第一网络地址。该第一网络地址为一个新的IPv6地址。当路由器的控制平面向路由器的数据平面下送该第一网络地址时,可以只下送该第一网络地址的高64位,即网段地址,不下送该第一网络地址的低64位。通过上述场景形成的低N表中可以不包含对应该第一网络地址的子表。上述查找第一网络地址的技术方案可以应用于多种场景。例如,可以将高M表以及低N表作为网关的ARP缓存表对主机发出的ARP请求进行验证。当第一网络地址与高M 表以及低N表发生匹配时,表明源IP地址为第一网络地址的报文通过网关的ARP缓存表的验证。另外,可以将高M表以及低N表作为路由器的路由转发表对路由器收到的报文进行转发。当第一网络地址与高M表以及低N表发生匹配时,表明路由器可以根据路由转发表对目的地址为第一网络地址的IP分组进行转发。相对于现有技术将若干个X位网络地址存储在一个表中,本实施例将X位网络地址的高M位以及低N位分别存储在高M表以及低N表中。在高M表中,只需通过一个表项存储X位网络地址中高M位相同的多个网络地址的高M位。这意味着高M表中可以没有发生重复的表项,减少了高M位相同的多个X位网络地址所需的存储空间。因此,本实施例提供的网络地址查找装置解决了将若干个网络地址存储在一个表中,当多个网络地址的高位相同时,每个网络地址的高位都需要占用一定的存储空间,占用的存储空间较多的技术问题。另外,本实施例提供的网络地址查找装置中,在低N表中查找第一网络地址的低N 位前,对低N表中是否包含对应该第一高M表项的子表进行判断,避免了当低N表中没有对应该第一高M表项的子表时,仍然在低N表中查找对应该第一网络地址的低N表项。提高了查找效率。本实施例提供了一种查找网络地址的装置,该查找装置通过查找高M表以及低N 表实现。下文提供了该查找装置的一种具体实现方式。为便于理解,下文先介绍高M表以及低N表的生成过程,然后介绍高M表以及低N表的查找过程第一部分高M表以及低N表的生成过程路由器的嵌入式操作系统初始化时,可以在内存中分别为1 位的IPv6地址的高 64位、低64位以及高64位地址的索引分配一个存储空间。以上三个存储空间是彼此独立的。路由器根据路由协议,学习到第一网络地址,该第一网络地址为1 位的IPv6地址。路由器的CPU通过控制通道,例如PCI-E总线,将该网络地址下发到查找引擎。查找引擎可以是一个芯片。查找引擎收到路由器学习到的第一网络网络地址,将该第一网络地址的高64位添加到高M表中,形成第一高M表项。具体实现时,可以是查找引擎将该网络地址的高64 位写入到路由器的嵌入式操作系统初始化时为高64位分配的地址空间。查找引擎可以随机生成该高64位地址的索引,并将该高64位地址的索引存储到嵌入式操作系统初始化时为高64位地址的索引分配的存储空间。高64位地址以及高64 位地址的索引是一一对应的。也就是说对于不同的高64位地址,高64位地址的索引是不同的。高64位地址的索引可以是Y个比特的二进制数,Y为自然数。当查找引擎随机生成该高64位地址的索引时,查找引擎可以生成该低高M表项的第一标志。第一标志用于表示低M表中是否包含对应该第一高M表项的子表。第一标志可以是一个比特的二进制数。例如可以用二进制0表示低M表中没有包含对应该第一高M表项的子表;可以用二进制1表示低M表中包含对应该第一高M表项的子表。查找引擎将该第一网络地址的高64位地址的索引以及该第一网络地址的低64位添加到低M表中,形成低N表项。具体实现时,可以是查找引擎将该第一网络地址的高64 位地址的索引以及该第一网络地址的低64位地址写入到路由器的嵌入式操作系统初始化时为低64位地址分配的地址空间。第二部分高M表以及低N表的查找过程路由器收到目的地址为第一网络地址的报文,并将该报文送到NP。NP对该报文进行解析后,提取出该报文的目的IP地址,即第一网络地址。NP将该第一网络地址的高1 位发送至查找引擎。查找引擎在高M表中查找该第一网络地址的高64位。如果查找引擎在高M表中查找到包含该第一网络地址的高64位地址的表项,即第一高M表项,查找引擎从路由器的内存中读出该高64位地址的索引,并将该高64位地址的索引发送至NP。当查找引擎读出该高64位地址的索引时,查找引擎可以读出该高64位地址的第一标志,并将该第一标志发送至NP。第一标志用于表示低M表中是否包含对应该第一高M 表项的子表。第一标志可以是一个比特的二进制数。例如用二进制0表示低64表中没有包含对应该第一高64表项的子表;用二进制1表示低64表中包含对应该第一高64表项的子表。当第一标志表明该高64位地址有对应的低64位地址时,NP将该高64位地址的索引以及该第一网络地址的低64位发送至查找引擎。查找引擎以该高64位地址的索引以及该第一网络地址的低64位为key,在低M表中查找是否存在与该key匹配的表项。当标志位表明低M表中没有包含对应该第一高M表项的子表时,NP不再发起查找。查找引擎以该高64位地址的索引以及该第一网络地址的低64位地址为key,在低 64表中查找与该key匹配的表项,即低N表项。如果查找引擎在低M表中查找到该低N表项,查找引擎可以读出该低64位地址的索引,并将该低64位地址的索引发送至NP。NP可以根据该低64位地址的索引,为路由器收到的目的地址为第一网络地址的报文确定进行转发的物理出接口。可选的,该查找单元进一步用于,如果该低N表中不包含该子表,则不在该低N表中查找该低N表项。可选的,该判断单元具体用于,根据该第一高M表项的第一标志判断该低N表中是否包含该子表。可选的,该查找单元具体用于,以该第一高M表项的索引以及该第一网络地址的低N位为 key,在该低N表中查找该低N表项,该低N表项包含该第一高M表项的索引。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种网络地址查找方法,其特征在于在高M表中查找第一高M表项,所述第一高M表项包含第一网络地址的高M位,M为自然数,所述第一网络地址为X位,X为自然数;如果在所述高M表中查找到所述第一高M表项,则判断低N表中是否包含对应所述第一高M表项的子表,N为自然数;如果所述低N表中包含所述子表,则在所述低N表中查找对应所述第一网络地址的低 N表项,所述低N表项包含所述第一网络地址的低N位,X为M与N的和。
2.根据权利要求1所述方法,其特征在于如果所述低N表中不包含所述子表,则不查找所述低N表项。
3.根据权利要求1或2所述方法,其特征在于所述判断低N表中是否包含对应所述第一高M表项的子表具体包括根据所述第一高M表项的第一标志判断所述低N表中是否包含所述子表。
4.根据权利要求1至3任一权利要求所述方法,其特征在于所述在所述低N表中查找对应所述第一网络地址的低N表项具体包括以所述第一高M表项的索引以及所述第一网络地址的低N位为键值key,在所述低N表中查找所述低N表项,所述低N表项包含所述第一高M表项的索引。
5.根据权利要求1至4任一权利要求所述方法,其特征在于所述第一网络地址的高M位和/或低N位以二叉树的形式存储于所述高M表和/或所述低N表中。
6.一种网络地址查找装置,其特征在于,包括查找单元以及判断单元;所述查找单元用于在高M表中查找第一高M表项,所述第一高M表项包含第一网络地址的高M位,M为自然数,所述第一网络地址为X位,X为自然数,根据所述判断单元的判断结果,如果低N表中包含对应所述第一高M表项的子表,则在所述低N表中查找对应所述第一网络地址的低N表项,所述低N表项包含所述第一网络地址的低N位,N为自然数,X为M 与N的和;所述判断单元用于如果在所述高M表中查找到所述第一高M表项,则判断所述低N表中是否包含所述子表。
7.根据权利要求6所述装置,其特征在于所述查找单元进一步用于,如果所述低N表中不包含所述子表,则不查找所述低N表项。
8.根据权利要求6或7所述装置,其特征在于所述判断单元具体用于,根据所述第一高M表项的第一标志判断所述低N表中是否包含所述子表。
9.根据权利要求6至8任一权利要求所述装置,其特征在于所述查找单元具体用于,以所述第一高M表项的索引以及所述第一网络地址的低N位为key,在所述低N表中查找所述低N表项,所述低N表项包含所述第一高M表项的索引。
全文摘要
本发明实施例提供了一种网络地址查找方法,包括在高M表中查找第一高M表项,该第一高M表项包含第一网络地址的高M位地址,M为自然数,该第一网络地址为X位,X为自然数;如果在该高M表中查找到该第一高M表项,则判断低N表中是否包含对应该第一高M表项的子表,N为自然数;如果该低N表中包含该子表,则在该低N表中查找对应第一网络地址的低N表项,该低N表项包含该第一网络地址的低N位,X为M与N的和。此外,还提供了相应的装置。通过本发明实施例提出的网络地址查找方法及装置,可以解决将若干个网络地址存储在一个表中,当多个网络地址的高位相同时,每个网络地址的高位都需要占用一定的存储空间,占用的存储空间较多的问题。
文档编号H04L12/56GK102291472SQ20111026817
公开日2011年12月21日 申请日期2011年9月9日 优先权日2011年9月9日
发明者李晚龙, 赵鹤轩, 魏芳 申请人:华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1