CN104170333B - 用于快速且大规模的最长前缀匹配的方法和系统 - Google Patents

用于快速且大规模的最长前缀匹配的方法和系统 Download PDF

Info

Publication number
CN104170333B
CN104170333B CN201380014232.6A CN201380014232A CN104170333B CN 104170333 B CN104170333 B CN 104170333B CN 201380014232 A CN201380014232 A CN 201380014232A CN 104170333 B CN104170333 B CN 104170333B
Authority
CN
China
Prior art keywords
network equipment
address
destination
hop
message
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.)
Expired - Fee Related
Application number
CN201380014232.6A
Other languages
English (en)
Other versions
CN104170333A (zh
Inventor
M·瓦尔韦罗
D·派里诺
J·埃斯特班
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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 Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN104170333A publication Critical patent/CN104170333A/zh
Application granted granted Critical
Publication of CN104170333B publication Critical patent/CN104170333B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • 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

各种示例性实施方式涉及包括以下中的一者或多者的方法和相关的网络节点:在第一网络设备处接收要被转发的消息;确定所述消息的目的地地址;确定所述目的地地址是否被指派给所述第一网络设备;如果所述目的地地址未被指派给所述第一网络设备,则查询第二网络设备以得到所述目的地地址的下一跳;响应于所述查询,接收对所述目的地地址的所述下一跳的指示;以及由所述第一网络设备响应于对所述下一跳的所述指示,将所述消息转发至所述下一跳。

Description

用于快速且大规模的最长前缀匹配的方法和系统
技术领域
这里公开的各种示例性实施方式通常涉及电信网络。
背景技术
互联网已经从用于机器互连的介质演进到用于将机器与内容(例如,视频和照片)连接的介质。尽管互联网已在各种机制(例如,经由IP地址路由信息)的基础上发展,鉴于互联网的当前状态,未来的架构可以使用替换的机制。在多种提案之中的一个公共原则是这些未来的架构可以被集中在提供的内容上,而不是机器自身上。
以内容为中心的连网是较新的范例,其中,内容由名称而不是位置来请求。该范例可以使用基于名称的路由,其中,路由器可以基于“内容名称”将业务移至目的地服务器。如此,互联网路由器可以被提供有关于内容正被移动的显式的信息。
基于名称的路由的一个结果是,尽管IP地址在变化的数量方面受限制,并且在地理上被群集,但内容名称实质上可以具有任意值,并且可以指向位于任何位置处的服务器,而不管拥有具有类似名称的内容的服务器的位置。如此,在基于名称的路由表中项的数量可以具有大于IPv4或IPv6路由表的数量级。这对有效存储该表和使用该表快速转发业务提出了新的挑战。
发明内容
各种示例性实施方式的简要概述在下面被提出。在以下概述中做出了一些简化和省略,该概述意图强调和引入各种示例性实施方式的一些方面,但不意图限制本发明的范围。对适于允许本领域的普通技术人员做出和使用本发明的概念的优选的示例性实施方式的具体描述将在随后的章节进行。
各种示例性实施方式涉及一种由第一网络设备执行的用于转发消息的方法,该方法包括以下中的一者或多者:在所述第一网络设备处接收要被转发的消息;确定该消息的目的地地址;确定该目的地地址是否被指派给所述第一网络设备;如果所述目的地地址未被指派给所述第一网络设备,则查询第二网络设备以得到所述目的地地址的下一跳;响应于所述查询,接收对所述目的地地址的所述下一跳的指示;以及由所述第一网络设备响应于对所述下一跳的所述指示来将所述消息转发至所述下一跳。
各种示例性实施方式涉及一种由第一网络设备执行的用于辅助第二网络设备转发消息的方法,该方法包括以下中的一者或多者:在所述第一网络设备处从所述第二网络设备接收查询,其中,该查询包括设备标识符(ID)和目的地地址;响应于接收到所述查询,至少基于所述设备ID和所述目的地地址来识别所述消息的下一跳,其中,所述下一跳是关于所述第二网络设备的下一跳;向所述第二网络设备传送指示所述下一跳的响应。
各种示例性实施方式涉及一种网络设备,该网络设备包括以下中的一者或多者:网络接口,被配置成接收消息;以及授权管理器:确定与所述消息相关联的目的地地址,确定该目的地地址是否被指派给所述网络设备,如果该目的地地址未被指派给所述网络设备,则经由所述网络接口查询第二网络设备,以得到所述目的地地址的下一跳,响应于所述查询并且经由所述网络接口,接收对所述目的地地址的所述下一跳的指示,以及响应于对所述下一跳的所述指示,经由所述网络接口将所述消息转发至所述下一跳。
描述了各种实施方式,其中,确定所述目的地地址是否被指派给所述第一网络设备的步骤包括:对所述目的地地址执行散列(hash)函数以产生散列密钥;识别多个网络设备标识(ID)中与所述散列密钥最接近的网络设备ID;以及确定所识别出的网络设备ID是否与所述第一网络设备相关联。
描述了各种实施方式,其中,所识别出的网络设备ID与所述第二网络设备相关联。
描述了各种实施方式,其中,执行散列函数的步骤包括:识别所述目的地地址的第一分量和第二分量;对所述第一分量进行散列;独立于对所述第一分量进行散列的步骤,对所述第二分量进行散列;以及将至少散列后的第一分量和散列后的第二分量合并以产生所述散列密钥。
各种实施方式还可以包括:确定所述第一网络设备是否存储与所述目的地地址相关联的缓存项;以及在所述第一网络设备处,响应于对所述下一跳的所述指示,添加与所述目的地地址相关联的且基于对所述下一跳的所述指示的新的缓存项,其中,确定所述目的地地址是否被指派给所述第一网络设备的步骤是在所述第一网络设备未存储与所述目的地地址相关联的缓存项时被执行的。
描述了各种实施方式,其中,所述目的地地址是内容名称。
各种实施方式还包括:将所述消息添加至未决的(pending)路由表;以及响应于接收到对所述目的地地址的所述下一跳的所述指示,从所述未决的路由表中检索(retrieve)该消息。
各种实施方式还包括:在所述第一网络设备处接收路由更新消息,其中,该路由更新消息包括所述目的地地址;识别与所述路由更新消息相关联的针对所述第一网络设备的下一跳;响应于接收到所述路由更新消息,确定所述目的地地址是否被指派给所述第一网络设备;并且如果所述目的地地址未被指派给所述第一网络设备,则向所述第二网络设备传送所述下一跳和目的地地址。
各种实施方式还包括:在所述第一网络设备处接收来自所述第二网络设备的路由更新,其中,该路由更新指示所述目的地地址和所述下一跳中的至少一部分;以及在所述第一网络设备处,存储与所述第二网络设备相关联的所述目的地地址和所述下一跳中的所述至少一部分。
描述了各种实施方式,其中,所述第一网络设备是路由器。
描述了各种实施方式,其中,至少基于所述设备ID和所述目的地地址来识别所述消息的下一跳的步骤包括:基于所述目的地地址执行最长前缀匹配,以识别匹配的路由记录;以及识别与所述设备ID相关联的所述匹配的路由记录的字段;使用所识别出的字段的值作为所述下一跳。
附图说明
为了更好地理解各种示例性实施方式,对附图进行参考,其中:
图1示出了用于路由消息的示例性网络;
图2示出了用于路由消息的示例性网络设备;
图3示出了用于存储路由缓存数据的示例性数据配置;
图4示出了用于存储未决的路由表的示例性数据配置;
图5示出了用于存储过滤器的示例性数据配置;
图6示出了用于存储路由表的示例性数据配置;
图7示出了用于转发消息的示例性方法;
图8示出了用于辅助另一设备转发消息的示例性方法;
图9示出了用于处理路由更新的示例性方法;以及
图10示出了用于授权路由操作的示例性方法。
为了便于理解,相同的参考数字已经被用于指代具有基本上相同或相似的结构和/或基本上相同或相似的功能的元件。
具体实施方式
如上所述,各种新兴的路由范例提议扩展在因特网和其他网络上路由业务中使用的路由表。尽管较大的表可以由较大且更快的存储器和更快的处理器来适应,但这种方法会是成本昂贵的。因此,期望实施一种路由解析(resolution)的方法,该方法可以将路由表和/或各种路由操作分布在多个路由器和/或其他网络设备上。各种附加的目标和益处基于以下描述将是显而易见的。本领域的技术人员显而易见的是,虽然这里描述的各种示例参考基于名称的路由来描述,但描述的方法和系统可以在其他环境中使用,例如,根据IPv4或IPv6协议的路由。
现在参考附图,其中,相似的数据指代相似的组件或步骤,公开了各种示例性实施方式的广泛的方面。
图1示出了用于路由消息的示例性网络100。在各种实施方式中,示例性网络100可以是因特网或其一部分。本领域的技术人员显而易见的是,示例性网络100的构成可以在一些方面被简化。例如,示例性网络100可以包括许多个附加的客户端、服务器、路由器、交换机、和/或其他网络设备。如所示,示例性网络100可以包括多个网络设备:客户端设备110、两个服务器120、130、以及五个路由器140a-e。如在这里使用的,术语“路由器”可以被理解成指代能够接收数据消息和朝向这些数据消息的最终目的地转发数据消息的任何网络设备。因此,术语“路由器”可以包括在网络的OSI模型的任意层上运行的网络设备,例如,交换机(层2)或真路由器(层3)。此外,术语“消息”将被理解成包括被从一个设备转移至另一设备的任意数据组块(chunk),例如,帧或分组。
如所示,路由器140a-e可以将客户端设备110、服务器120和服务器130互连,以使在这些设备之间可以交换消息。如指出的,示例性网络100的构成可以被简化,并且如此,可以存在在示出的那些网络设备之间提供通信的多个中间路由器和/或其他网络设备(未示出)。例如,路由器140c可以通过一个或多个中间网络设备(未示出)与服务器120连接。
客户端设备110可以是能够经由网络请求和接收内容的任何设备。例如,客户端设备110可以包括个人计算机、膝上型计算机、移动电话、平板电脑或其他设备。服务器120、130中的每个可以是能够接收请求和供应(serve)内容的任何设备。例如,服务器120、130中的每个可以包括个人计算机、独立服务器、刀片服务器或其他设备。服务器120、130中的每个可以拥有多个内容项目,每个项目由至少一个内容名称来标识。如示出的,例如,服务器120可以拥有被标识为“TUX/notes.txt”、“JDOE/notes.txt”和“/JDOE/VIDEOS/JD2012/vid.avi”的三个内容项目。如另一示例,服务器130也可以拥有被标识为“/JDOE/PAPERS/PaperA.pdf”、“/JDOE/PAPERS/PaperB.pdf”和“/JDOE/VIDEOS/abc.mpg”的三个内容项目。客户端设备110可以通过发送请求消息来请求这些项目中的任意项目的分发,该请求消息随后可以由路由器140a-e路由到合适的服务器120、130。该路由可以基于所请求的内容的名称来被执行。因此,内容名称可以被当作请求消息的目的地地址。之后,服务器可以使用该请求来定位合适的内容,并且经由路由器150a-e将该内容传送回至客户端设备110。
例如,图1示出了客户端设备110向路由器140a传送请求消息150。请求消息150可以包括“/JDOE/VIDEOS/abc.mpg”的目的地地址。因此,消息150可以请求由服务器130存储的内容。一旦接收到请求消息150,路由器140a就可以执行各种路由操作,以确定该请求消息150应当被转发至哪个路由器或“下一跳”,从而将该请求消息150推进到其最终目的地。为了提供这种能力,路由器140a-e可以实施分布式路由表。如此,每个路由器140a-e可以包括与该路由器140a-e集相关联的路由表的一部分,但不是全部。例如,每个路由器140a-e可以被指派地址范围,该地址范围被指派以用于该路由器140a-e可以存储可用的路由记录。在各种替换的实施方式中,网络100可以包括不是路由器并且包括所述分布式路由表的一部分的一个或多个网络设备。例如,网络100可以包括专用服务器(未示出),该专用服务器存储所述分布式路由表的一部分,并且以与路由器140a-e如何可以在转发消息方面提供对其他路由器140a-e的辅助的方式相似的方式来辅助路由器140a-e转发消息。
在各种替换的实施方式中,请求消息150可以对请求的特定内容“组块”进行定址。例如,请求消息150可以请求“/JDOE/VIDEOS/abc.mpg/chunk2”。在各种这种实施方式中,其中,用于特定内容项目的所有组块被存储在相同的位置,在处理消息中使用的目的地地址可以省略组块标识符,因此,基于“/JDOE/VIDEOS/abc.mpg”进行路由。在各种替换的实施方式中,例如,其中内容可以被分布在多个服务器之中的实施方式,路由器也可以基于组块标识符进行路由,因此,在该示例中,基于“/JDOE/VIDEOS/abc.mpg/chunk2”进行路由。
一旦接收到请求消息150,路由器140a可以确定目的地地址“/JDOE/VIDEOS/abc.mpg”被指派给哪个路由器140a-e。在识别出所指派的路由器之后,路由器140a可以查询该路由器以得到请求消息150的合适的下一跳。例如,路由器140a可以确定地址“/JDOE/VIDEOS/abc.mpg”被指派给路由器140e,并且作为响应,查询路由器140e以得到所述合适的下一跳。
一旦接收到对下一跳的查询,路由器140a-e可以查阅本地存储的路由表,以确定关于发送该查询的网络设备的合适的下一跳。下一跳的选择可以包括本设备的接口的选择,其中,消息将通过该接口被转发。在各种替换的实施方式中,下一跳的选择可以包括用于从本设备接收转发的消息的下一路由器或其他设备的选择。因此,一个路由器的下一跳可以不是不同的路由器的下一跳。继续上面的示例,关于路由器140a的消息150的合适的下一跳将是路由器140d。然而,如果消息150被路由器140e转发,则关于该路由器的下一跳将是路由器140a。在确定消息的合适的下一跳之后,所查询的路由器可以向查询路由器返回包括对下一跳的指示的消息。例如,路由器140e可以向路由器140a发送指示路由器140d是消息150a的下一跳的消息。路由器140a之后可以继续向路由器140d传送消息150,其中,该过程可以自身重复,这次是关于路由器140d而不是路由器140a。
前面的描述被呈现作为网络100的示例性操作的综述,并且其构成在一些方面可以被简化和/或抽象。示例性网络100和路由器140a-e中的一者或多者的更具体的操作现在将参考图2-图10来呈现。
图2示出了用于路由消息的示例性网络设备200。示例性网络设备200可以对应于示例性网络100的路由器140a-e中的一者或多者。对于本领域的技术人员显而易见的是,网络设备200可以在一些方面被抽象,并且网络设备200可以包括各种硬件组件(例如,各种存储器)和一个或多个处理器(例如,微处理器、现场可编程门阵列(FPGA)、和/或专用集成电路(ASIC))。如所示,网络设备200可以包括网络接口210、路由缓存220、授权管理器230、未决的路由表240、最长前缀匹配(LPM)块250、和/或路由管理器260。
网络接口210可以是包括硬件和/或在机器可读存储介质上编码的可执行指令的接口,被配置成与至少一个其他网络设备(例如,客户端设备、服务器和/或路由器)通信。网络接口可以包括用于使能与多个设备的通信的多个物理端口。在各种实施方式中,网络接口210可以包括根据例如以太网、帧中继、ATM和/或PPP之类的协议进行通信的一个或多个接口。在操作方面,网络接口可以接收和传送各种消息,例如,请求消息、内容消息、路由更新消息、查询消息、和/或响应消息。在各种实施方式中,网络接口210可以包括多个物理接口。此外,在一些这种实施方式中,不同的接口可以与不同类型的消息相关联。例如,节点可以包括用于发送和接收查询和响应消息的专用接口,该专用接口与那些用于发送和接收内容消息的接口分离。
路由缓存220可以包括硬件和/或在机器可读存储介质上的可执行指令,被配置成存储和使用缓存的路由。例如,路由缓存可以包括相对快速的存储器(例如,SRAM),其存储与各种目的地地址相关联的缓存项。每个缓存项可以针对缓存的目的地地址中的每个,规定关于网络设备200的合适的下一跳。在各种替换的实施方式中,缓存项还可以规定关于除网络设备200以外的网络设备的下一跳。路由缓存220可以使用各种缓存技术来选择和维护该缓存中的项。路由缓存220的示例性内容将在下面参考图3被更详细地描述。
路由缓存220可以经由网络接口210接收各种要被转发至其他网络设备的消息。例如,路由缓存220可以经由网络接口210接收请求消息和内容消息。一旦接收到这种消息,路由缓存220可以从该消息中提取出目的地地址,并确定路由缓存220是否存储与所提取的地址相关联的缓存项。如果是,路由缓存可以简单地经由网络接口210将接收到的消息转发至合适的下一跳,如由匹配的缓存项所标识的。例如,匹配的缓存项可以标识多个发送端口中消息应当通过哪个被传送的一个发送端口。如果没有针对目的地地址的命中的(hit)缓存,路由缓存220可以将接收到的消息传递至授权管理器230,以进行进一步处理。
授权管理器230可以包括硬件和/或在机器可读存储介质上的可执行指令,被配置成确定所述目的地地址是被“指派”给网络设备200还是被“指派”给另一网络设备。如在这里所使用的,目的地地址可以在网络设备负责管理路由更新、并代表其他节点执行关于该目的地地址的最长前缀匹配操作时,被指派给该网络设备。例如,如在下面将参考图10更为详细地描述的,授权管理器230可以对目的地地址执行散列函数,以生成散列密钥。之后,授权管理器230可以比较该散列密钥和在网络设备200和各种其他网络设备中指派的各种网络设备标识符(ID)。在各种实施方式中,出于这一目的,每个设备可以被指派单个设备标识符。基于该比较,授权管理器可以确定与所述散列密钥最接近匹配的网络设备ID指向目的地地址要被指派给的网络设备。如果该网络设备ID指向网络设备200,授权管理器230可以将该目的地地址转发给LPM块250,以在本地确定合适的下一跳。否则,授权管理器230可以生成并传送包括所述目的地地址的查询消息,以从匹配的网络设备ID所指向的网络设备请求合适的下一跳。授权管理器230之后可以将消息存储在未决的路由表240中,并继续处理其他消息,同时其等待接收合适的下一跳。一旦从LPM块250或经由网络接口210从远程网络设备接收到合适的下一跳,授权管理器可以从未决的路由表240中检索该消息,并将该消息经由网络接口210转发至所述下一跳。
授权管理器230还可以被配置成辅助其他网络设备转发消息。例如,授权管理器230可以经由网络接口210从其他网络设备接收查询消息。作为响应,授权管理器可以提取目的地地址和查询网络设备的网络设备ID,并将该信息传递至LPM块250,以进行进一步处理,如将在下面描述的。一旦接收到关于查询网络设备的下一跳,授权管理器可以生成并传送包括所确定的下一跳的响应消息。在各种替换的实施方式中,在询问LPM块250之前,路由缓存220可以确定指示关于查询网路设备的合适的下一跳的缓存的项是否存在。此外,在各种替换的实施方式中,授权管理器230可以执行与上面描述的确定查询消息是否应当被在本地处理的过程相类似的过程,以确定查询消息是否已经错误地到达了网络设备200。授权管理器230之后可以根据本领域的技术人员公知的各种方法来处理这种错误的查询消息。
未决的路由表240可以是存储与未决的路由操作有关的信息的设备。因此,未决的路由表240可以包括机器可读存储介质,例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒介、光存储媒介、闪存设备、和/或类似的存储媒介。例如,未决的路由表240可以包括存储消息的SRAM,同时授权管理器230等待下一跳的确定。未决的路由表230的示例性内容将在下面参考图4来被更具体地描述。
最长前缀匹配(LPM)块250可以包括硬件和/或在机器可读存储介质上的可执行指令,被配置成确定给定的目的地地址的合适的下一跳和网络设备ID。例如,LPM块250可以对分布式路由表的存储的部分执行最长前缀匹配。对于本领域的技术人员显而易见的是,从路由表或路由表的一部分中识别下一跳的任意方法可以由LPM块250使用。例如,在各种替换的实施方式中,LPM块可以基于全地址匹配而不是简单的最长前缀匹配来识别下一跳。如所示,LPM块250可以包括过滤器252、路由检索器254和/或路由表256。
过滤器252可以包括硬件和/或在机器可读存储介质上的可执行指令,该可执行指令被配置成执行初步处理,以缩减路由表256中可能的结果的字段。在各种实施方式中,过滤器252可以被配置成估计针对给定的目的地地址的最长匹配前缀的长度。例如,过滤器252可以存储多个布隆(Bloom)过滤器,每个Bloom过滤器由存储在路由表中的公共长度的前缀来构建。因此,一个Bloom过滤器可以由所有存储的长度为“1”的前缀来构建,第二Bloom过滤器可以由所有存储的长度为“2”的前缀来构建,等等。与最长前缀相关联的Bloom过滤器(其还与目的地地址匹配)可以指示最长匹配前缀的估计长度。过滤器252之后可以将该估计长度传递至路由检索器,以进行最长前缀匹配的进一步解析。本领域的技术人员将理解的是,过滤器252的各种实施是可能的。因此,过滤器252可以在软件中(例如,在Bloom过滤器中)被实施,和/或在硬件中(例如,在三态内容寻址存储器(TCAM)中)被实施。过滤器252的示例性内容将在下面参考图5被更详细地描述。
路由检索器254可以包括硬件和/或在机器可读存储介质上的可执行指令,被配置成基于最长匹配前缀识别与目的地地址匹配的路由记录。在各种实施方式中,路由检索器254可以循环访问存储在路由表中的多个路由记录,以那些存储最长前缀的路由记录开始,直到定位出针对目的地地址的最长匹配前缀。在过滤器252将最长匹配前缀的估计长度传递至路由检索器254时,路由检索器254可以代替地开始循环访问那些具有相同长度的前缀的记录,跳过那些具有较长前缀的记录。因此,当过滤器252估计出最长匹配前缀的长度时,路由检索器可以通过跳过任何具有较长前缀的记录来缩减要搜索的记录的范围。在定位出匹配的路由记录之后,路由检索器可以提取与网络设备ID有关的合适的下一跳,并且将该下一跳返回至授权管理器230,以进行进一步处理。
路由表256可以是存储对于被指派给网络设备200的前缀已知的路由路径的设备。因此,路由表256可以包括机器可读存储介质,例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒介、光存储媒介、闪存设备、和/或类似的存储媒介。例如,路由表256可以包括存储各种路由记录的DRAM,该路由记录包括前缀和相关联的下一跳。路由表256的示例性内容将在下面参考图6被更详细地描述。
路由管理器260可以包括硬件和/或在机器可读存储介质上的可执行指令,被配置成接收和处理路由更新消息。根据各种实施方式,网络设备组(例如,路由器140a-e)可以实施路由学习协议,以生成分布式路由表。例如,这种网络设备组可以实施BGP、OSPF、RIP和/或其他路由协议。根据这些协议,网络设备可以传送路由更新消息,以通告可以通过该网络设备到达的目的地地址。例如,返回图1,路由器140d可以向路由器140a和/或路由器140b传送路由更新消息,该路由更新消息指示目的地“/JDOE/PAPERS/PaperA.pdf”、“/JDOE/PAPERS/PaperB.pdf”和/或“JDOE/VIDEOS/abc.mpg”可以经由路由器140d到达。一旦接收到路由更新消息,路由管理器260可以提取目的地地址,并将内容名称传递至授权管理器230,以确定该路由更新消息是应当在本地处理还是在远程设备处理。授权管理器230可以根据与确定目的地地址被指派给的网络设备的方法(如上所述)相类似的方法来做出该确定。在接收到响应之后,路由管理器260可以首先确定该授权管理器是否已经确定了路由更新消息应当在本地处理。如果是,路由管理器可以由于该路由更新消息、根据本领域的技术人员公知的任何方法来更新路由表256。例如,路由管理器可以在路由表256中创建新的路由记录,包括针对通告的目的地地址的合适的前缀,以及作为下一跳,对更新消息从其而来的设备的指示,或更新消息经由其到达的本地接口的指示。
另一方面,如果授权管理器230确定路由更新消息应当在不同的网络设备处理,路由管理器可以构建并传送授权更新消息(包括目的地和下一跳)至该不同的网络设备。路由管理器260还可以被配置成处理从其他网络设备接收的类似的授权更新消息。例如,当路由管理器260经由网络接口210接收到授权更新消息时,路由管理器260可以从该消息中提取目的地地址和下一跳,并且查询路由表256以得到要更新的合适的路由记录。在定位出这种路由记录或创建出新记录之后,路由管理器260可以存储合适的匹配前缀,和/或指示的与网络设备的网络设备ID相关联的关于其他网络设备的下一跳。之后,网络设备200能够辅助其他网络设备路由消息,该消息去往与存储的前缀匹配的地址。
图3示出了用于存储路由缓存数据的示例性数据配置300。数据配置300可以使用多种数据结构来被实施,例如,对象、阵列、链路列表、树、和/或散列表。数据配置300可以例如被存储在示例性网络设备200的路由缓存220中。数据配置300可以包括多个字段,例如,内容名称字段310和/或下一跳字段320。
内容名称字段310可以存储内容名称或其他目的地地址。在各种实施方式中,内容名称字段310可以存储内容名称的多个分量。例如,如果内容名称包括总数为B的分量,内容名称字段310可以包括B-1个分量。在一些实施方式中,这可能需要在存储在内容名称字段310之前,简单地跳开来自内容名称的任何组块标识符。在各种实施方式中,存储在内容名称字段310中的值可以纯文本形式被存储,或者可以被存储为散列值。在其中内容名称字段310存储散列值的各种实施方式中,网络设备200的路由缓存220可以被配置成执行接收到的消息的目的地地址的散列操作,并查询数据配置300以得到匹配的散列值,从而确定是否存在命中的缓存。其他修改对于本领域的技术人员而言将是显而易见的。下一跳字段320可以存储将作为与存储在内容名称字段310中的关联值匹配的消息的下一跳的发送接口或网络设备的标识。
例如,数据配置300可以指示用于示例性网络100的路由器140a的路由缓存的内容。缓存项330可以指示包括目的地地址“/JDOE/PAPERS/PaperA.pdf”的消息应当被转发至下一跳“d”,该下一跳“d”可以对应于路由器140d。缓存项340可以指示包括目的地地址“/JDOE/notes.txt”的消息应当被转发至下一跳“b”,该下一跳“b”可以对应于路由器140b。数据配置300可以包括多个附加的缓存项300。
图4示出了用于存储未决的路由表的示例性数据配置400。数据配置400可以使用多种数据结构来被实施,例如,对象、阵列、链路列表、树、和/或散列表。数据配置400可以例如被存储在示例性网络设备200的未决的路由表240中。数据配置400可以包括多个字段,例如,内容名称字段410、分组字段420、授权字段430和/或时间戳字段440。
内容名称字段410可以存储内容名称或其他目的地地址。在各种实施方式中,内容名称字段310可以存储内容名称的多个分量。例如,如果内容名称包括总数为B的分量,内容名称字段310可以包括B-1个分量。在一些实施方式中,这可能需要在存储在内容名称字段310之前,简单地跳开来自内容名称的任何组块标识符。在各种实施方式中,存储在内容名称字段410中的值可以纯文本形式被存储,或者可以被存储为散列值。在其中内容名称字段410存储散列值的各种实施方式中,网络设备200的授权管理器230可以被配置成执行接收到的消息的目的地地址的散列操作,并查询数据配置400以得到匹配的散列值,从而确定是否存在匹配的未决的路由。其他修改对于本领域的技术人员而言将是显而易见的。
分组字段420可以存储使得路由操作悬而未决的消息。例如,在授权管理器230接收到(从LPM块250或从另一网络设备)对合适的下一跳的指示时,授权管理器可以定位合适的未决的路由,并将存储在分组字段420中的消息转发至下一跳。授权字段430可以存储关于最长前缀匹配是在本地执行还是在远程网络设备执行的指示。时间戳字段440可以存储时间戳,该时间戳指示项何时被添加至数据配置400,和/或何时在本地设备接收到关联消息。对于这些值的各种使用对于本领域的技术人员而言将是显而易见的。
如一个示例,未决的路由记录450可以指示在时间“1330774815”接收到分组“<分组149>(<Packet149>)”,并且包括目的地地址“/TUX/notes.txt”。该分组当前正等待关于合适的下一跳的本地决策。如另一示例,未决的路由记录460可以指示在时间“1330774818”接收到分组“<分组150>(<Packet150>)”,并且包括目的地地址“/JDOE/VIDEOS/abc.mpg”。该分组当前正等待由远程设备做出的关于合适的下一跳的决策。在各种实施方式中,未决的路由记录460可以对应于示例性系统100的消息150。数据配置400可以包括多个附加的未决的路由记录470。
图5示出了用于存储过滤器的示例性数据配置500。数据配置500可以使用多种数据结构来被实施,例如,对象、阵列、链路列表、树、和/或散列表。数据配置500可以例如被存储在示例性网络设备200的过滤器252中。数据配置500可以包括多个字段,例如,前缀长度字段510和/或过滤器字段520。
前缀长度字段510可以指示在构建相关联的过滤器中使用的前缀的长度,而过滤器字段520可以自身存储过滤器。如一个示例,过滤器记录530可以指示过滤器“0x91B206”可以用于确定长度为“1”的前缀是否可以匹配当前正被估计的目的地地址。如另一示例,过滤器记录540可以指示过滤器“0xC4E231”可以用于确定长度为“2”的前缀是否可以匹配当前正被估计的目的地地址。数据配置500可以包括多个附加的过滤器记录550。
在各种实施方式中,存储在过滤器字段520中的过滤器可以是Bloom过滤器。因此,每个过滤器可以通过对每个存储的关联长度的前缀执行一次或多次散列函数来被构建。例如,“0x91B206”可以通过对本地存储的长度为“1”的前缀执行多次散列函数来被生成。这些过滤器之后能够被与根据目的地地址产生的散列后的值进行比较,以确定本地设备是否可能存储具有与目的地地址匹配的关联长度的前缀的路由记录。之后,与最长前缀长度相关联的匹配的Bloom过滤器可以指示关于与目的地地址匹配的最长的本地存储的前缀的估计。在执行进一步的最长前缀匹配中,网络设备可以跳过任何比估计的长度更长的前缀。
图6示出了用于存储路由表的示例性数据配置600。数据配置600可以使用多种数据结构来被实施,例如,对象、阵列、链路列表、树、和/或散列表。数据配置600可以例如被存储在示例性网络设备200的路由表256中。数据配置600可以包括多个字段,例如,内容前缀字段610和多个下一跳字段620、630、640。
内容前缀字段610可以存储内容名称或其他目的地地址,和/或其一部分。在各种实施方式中,存储在内容前缀字段610中的值可以以纯文本的形式被存储,或者可以被存储为散列值。在其中内容前缀字段610存储散列值的各种实施方式中,网络设备200的路由检索器254可以被配置成执行接收到的消息的目的地地址的散列操作,并查询数据配置600以得到匹配的散列值,从而确定是否存储匹配的路由。其他修改对于本领域的技术人员而言将是显而易见的。
下一跳字段620可以存储关于特定的网络设备的下一跳。例如,如所示,下一跳字段620可以存储关于与网络设备ID“0xA2”相关联的网络设备的下一跳。下一跳字段630可以存储关于不同网络设备的下一跳。例如,如所示,下一跳字段630可以存储关于与网络设备ID“0x35”相关联的网络设备的下一跳。数据配置600可以包括多个附加的下一跳字段640,以适应附加的网络设备。
如一个示例,路由记录650可以指示其前缀“/JDOE”是最长匹配的前缀的消息应当被转发至下一跳“a”(在网络设备转发与网络设备ID“0xA2”相关联的消息的情况下),或者被转发至下一跳“b”(在网络设备转发与网络设备ID“0x35”相关联的消息的情况下)。如另一示例,路由记录660可以指示其前缀“/JDOE/VIDEOS”是最长匹配的前缀的消息应当被转发至下一跳“a”(在网络设备转发与网络设备ID“0xA2”相关联的消息的情况下),或者被转发至下一跳“b”(在网络设备转发与网络设备ID“0x35”相关联的消息的情况下)。数据配置600可以包括多个附加的路由记录670。
图7示出了用于转发消息的示例性方法700。方法700可以由路由器或其他网络设备(例如,网络设备200)的组件来执行。方法700可以在路由缓存220、授权管理器230和/或LPM块250之中被执行。
方法700可以在步骤705中开始,并进行到步骤710,其中,网络设备可以接收应当被转发至下一跳的消息。在步骤715中,网络设备可以从消息中提取内容名称或内容名称的一部分,并且之后在步骤720中,确定内容名称是否与任何缓存项匹配。在各种实施方式中,所提取出的内容名称部分可以包括第一B-1个分量,其中,内容名称为B个分量长。如果存在命中的(hit)缓存,在步骤725中,网络设备可以从匹配的缓存项中读取合适的下一跳,并进行到步骤775。否则,方法700可以从步骤720进行到步骤730,其中,网络设备可以执行授权功能,以确定是网络设备被指派给内容名称还是远程网络设备被指派给内容名称。执行这种授权过程的示例性方法将在下面参考图10来被更详细地描述。
接下来,在步骤735中,网络设备可以将消息添加至未决的路由表中,以进行进一步转发。之后,在步骤740中,网络设备可以确定授权过程的结果是否指示对于内容名称可适用的路由记录将被在本地存储,或该内容名称被指派给本地设备。如果是,网络设备可以进行以通过在步骤745中对本地存储的路由表执行最长前缀匹配来执行合适的本地处理。在找到匹配的路由记录之后,方法700可以进行到步骤750,其中,网络设备可以使用匹配的路由记录来确定合适的下一跳。在步骤755中,网络设备可以对匹配的项进行缓存,以便于未来的访问。对匹配的项进行缓存可以包括将整个路由记录存储在路由缓存中,或者基于存储在路由记录中的值中的至少一些来生成新的缓存项。之后,方法700可以进行到步骤775。
另一方面,如果在步骤740中,网络设备确定内容名称被存储至远程网络设备,方法700可以进行到步骤760。在步骤760中,网络设备可以查询授权的路由器,以得到合适的下一跳。例如,网络设备可以构建包括内容名称的查询消息,传送该查询消息,并且等待响应。在各种实施方式中,网络设备可以继续处理其他消息,同时等待这一响应。在接收到响应之后,网络设备可以基于该响应确定合适的下一跳。接下来,在步骤770中,网络设备可以对该响应进行缓存以便于未来的访问。对匹配的项进行缓存可以包括将整个响应存储在路由缓存中,或者基于存储在响应中的值中的至少一些来生成新的缓存项。之后,方法700可以进行到步骤775。
在步骤775中,网络设备可以将消息转发至在步骤725、步骤750和/或步骤765中确定出的下一跳。之后,方法700可以进行以在步骤780中结束。
图8示出了用于辅助另一设备转发消息的示例性方法800。方法800可以由路由器或其他网络设备(例如,网络设备200)的组件来执行。方法800可以在授权管理器230和/或LPM块250之中被执行。
方法800可以在步骤805中开始,并进行到步骤810,其中,网络设备可以从另一网络设备接收对合适的下一跳的查询。之后,在步骤815中,网络设备可以从内容消息和/或与查询消息的接收有关的其他信息中提取内容名称和查询设备ID。接下来,在步骤820中,网络设备可以执行最长前缀匹配,以定位存储在路由表中的匹配的记录。该步骤可以与方法700中的步骤745类似。在定位匹配的路由记录之后,网络设备可以基于与查询设备的设备ID匹配的路由记录的项来确定下一跳。之后,网络设备可以构建并发送响应消息至查询设备。该响应可以包括在步骤825中确定的下一跳和所请求的目的地地址。之后,方法800可以进行以在步骤835中结束。
图9示出了用于处理路由更新的示例性方法900。方法900可以由路由器或其他网络设备(例如,网络设备200)的组件来执行。方法900可以在授权管理器230和/或路由管理器260之中被执行。
方法900可以在步骤905中开始,并进行到步骤910,其中,网络设备可以接收路由更新消息。接下来,在步骤915中,网络设备可以计算与更新消息相关联的前缀和/或下一跳。例如,网络设备可以从消息中提取目的地地址或前缀,并记录在其上接收到更新消息的接口。在各种替换的实施方式中,网络设备可以不在步骤915计算前缀,而是相反,可以简单地提取目的地地址。在这种实施方式中,可以在步骤930和935计算前缀,并且该前缀可以由将存储路由记录的远程网络设备计算。
在步骤920中,网络设备可以执行授权功能以确定是网络设备被指派给内容名称还是远程网络设备被指派给内容名称。执行这种授权过程的示例性方法将在下面参考图10来被更详细地描述。在各种实施方式中,步骤920可以对应于方法700中的步骤730。
在步骤925中,网络设备可以确定授权功能的结果是否指示路由更新消息中的信息应当被存储在本地。如果是,方法900可以进行到步骤930,其中,网络设备可以生成新的路由记录,或者更新现有的路由记录以包括地址前缀、下一跳和网络设备的设备ID。否则,方法900可以进行到步骤935,其中,网络设备可以将所述地址前缀、下一跳、以及所述网络设备的设备ID存储在合适的远程网络设备上。这可以包括构建并传送授权的更新消息至远程网络设备。之后,方法900可以进行以在步骤940中结束。
图10示出了用于授权路由操作的示例性方法1000。方法1000可以由路由器或其他网络设备(例如,网络设备200)的组件来执行。方法1000可以由授权管理器230执行。
方法1000可以在步骤1005中开始,并且进行到步骤1010,其中,网络设备可以对内容名称中的每个分量进行散列。在各种实施方式中,步骤1010,网络设备可以将内容名称分解成多个分量,对每个分量独立地进行散列,并且之后,合并分量以形成散列密钥。在各种实施方式中,该合并可以包括根据内容名称中分量的顺序连接散列后的分量中的每个。例如,网络设备可以将内容名称“/JDOE/VIDEOS/abc.mpg”分解成三个分量:“JDOE”、“VIDEOS”和“abc.mpg”。之后,网络设备可以单独对每个分量进行散列,以产生值“0xA2”、“0x21”和“0x8E”。最后,网络设备可以连接这些值以产生散列密钥“0xA2218E”。
接下来,在步骤1015中,网络设备可以通过将“最近距离”变量设置成空、无限、或一些其他高值来对过程进行初始化。之后,在步骤1020中,网络设备可以检索要估计的路由器ID。在步骤1025中,网络设备可以确定当前的路由器ID与散列密钥之间有多接近。例如,网络设备可以首先将多个零填补至网络ID的右侧,以使其与散列密钥等长度。网络设备可以通过在散列密钥与网络设备ID之间执行异或(XOR)函数来确定“距离”。例如,如果散列密钥是“0xA22180”并且路由器ID是“0x35”,该距离可以是“0x972180”。如另一示例,如果散列密钥是“0xA2”,该距离可以是“0x002180”。
在确定针对当前网络设备ID的距离之后,在步骤1030中,网络设备可以通过比较该值与“最近距离”变量,来确定当前距离是否是新的最短距离。如果是,网络设备可以更新“最近距离”变量,并作出当前设备ID是当前“最近设备ID”的注释。接下来,在步骤1040中,网络设备可以确定是否不再有设备ID要处理。如果附加的设备ID存留,方法1000可以返回到步骤1020。否则,方法1000可以进行到步骤1045,其中,网络设备可以返回存储在“最近设备ID”变量中的设备ID,以供调用方法1000的元件使用。因此,所返回的设备ID可以指示对于方法700和/或方法900,特定的目的地地址被指派给的设备。之后,方法1000可以进行以在步骤1050中结束。
在各种替换的实施方式中,方法1000可以确定设备地址被指派给的一个或多个“备份”设备,这些“备份”设备在一个或多个网络设备无响应或不能使用时被使用。根据各种这样的实施方式,方法1000可以标识N个最近网络设备ID,其中,N是大于1的数。用于实施这种功能的各种其他修改对于本领域的技术人员将是显而易见的。例如,网络设备还可以被配置成将授权的更新消息转发至每个备份设备。此外,网络设备可以被配置成当地址被指派给的最初设备不能被查询时查询所述备份设备中的一者。
根据前述内容,应当理解的是,各种实施方式使得大路由表能够有效用于路由消息。例如,通过将路由表分布在多个网络设备之中,下一跳查找的任务可以被分布在这些设备中,因此提供对支持大路由表的有效手段。此外,通过将目的地地址的子集指派给多个网络设备中的每个,下一跳查找能够以有效且可靠的方式被授权。
从前述描述中应当理解的是,本发明的各种示例性实施方式可以在硬件和/或固件中实施。此外,各种示例性实施方式可以被实施为存储在机器可读存储介质上的指令,该指令可以被至少一个处理器读取和运行,以执行这里详细描述的操作。机器可读存储介质可以包括任何用于以由机器可读的形式存储信息的机制,该机器例如个人计算机或膝上型计算机、服务器、或其他计算设备。因此,有形且非暂时的机器可读存储介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒介、光存储媒介、闪存设备以及类似的存储媒介。
本领域的技术人员应当理解的是,这里的任何框图表示体现本发明的原理的例证性电路的概念视图。类似地,应当理解的是,任何流程表、流程图、状态转移图、伪代码等表示各种过程,这些过程可以实质上被表示在机器可读媒介中,并因此供计算机或处理器运行,不管这种计算机或处理器是否被显式地示出。
尽管已经特定参考了各种示例性实施方式的某些示例性方面来详细描述了这些示例性实施方式,但应当理解的是,本发明能够具有其他实施方式,并且这些其他实施方式的细节能够在各种显著的方面被修改。如对本领域的技术人员很容易显而易见的,变形和修改能够被产生,同时保留在本发明的精神和范围之内。因此,前述公开内容、描述和附图仅用于例证目的,并且不以任何方式限制本发明,本发明仅通过权利要求书来定义。

Claims (13)

1.一种由第一网络设备执行的用于转发消息的方法,该方法包括:
在所述第一网络设备处接收(710)要被转发的消息;
确定(715)所述消息的目的地地址;
确定(730、740)所述目的地地址是否被指派给所述第一网络设备;
如果所述目的地地址未被指派给所述第一网络设备,则查询(760)第二网络设备以得到所述目的地地址的下一跳;
响应于所述查询,接收(765)对所述目的地地址的所述下一跳的指示;以及
由所述第一网络设备响应于对所述下一跳的所述指示,将所述消息转发(775)至所述下一跳;
其中,确定(730、740)所述目的地地址是否被指派给所述第一网络设备的步骤包括:
对所述目的地地址执行(1010)散列函数,以产生散列密钥;
识别(1045)多个网络设备标识(ID)中与所述散列密钥最接近的网络设备ID;以及
确定(740)所识别出的网络设备ID是否与所述第一网络设备相关联。
2.根据权利要求1所述的方法,其中,所识别出的网络设备ID与所述第二网络设备相关联。
3.根据权利要求1-2中任一权利要求所述的方法,其中,执行散列函数的步骤(1010)包括:
识别所述目的地地址的第一分量和第二分量;
对所述第一分量进行散列;
独立于对所述第一分量进行散列的步骤,对所述第二分量进行散列;以及
合并至少散列后的第一分量和散列后的第二分量,以产生所述散列密钥。
4.根据权利要求1-2中任一权利要求所述的方法,该方法还包括:
确定(720)所述第一网络设备是否存储与所述目的地地址相关联的缓存项;以及
在所述第一网络设备处,响应于对所述下一跳的指示,添加(770)与所述目的地地址相关联且基于对所述下一跳的指示的新的缓存项,
其中,确定(740)所述目的地地址是否被指派给所述第一网络设备的步骤是在该第一网络设备未存储与所述目的地地址相关联的缓存项时被执行的。
5.根据权利要求1-2中任一权利要求所述的方法,其中,所述目的地地址是内容名称。
6.根据权利要求1-2中任一权利要求所述的方法,该方法还包括:
将所述消息添加(735)至未决的路由表;以及
响应于接收到对所述目的地地址的下一跳的指示,从所述未决的路由表中检索所述消息。
7.根据权利要求1-2中任一权利要求所述的方法,该方法还包括:
在所述第一网络设备处接收(910)路由更新消息,其中,该路由更新消息包括所述目的地地址;
识别(915)与所述路由更新消息相关联的针对所述第一网络设备的下一跳;
响应于接收到所述路由更新消息,确定(920、925)所述目的地地址是否被指派给所述第一网络设备;以及
如果所述目的地地址未被指派给所述第一网络设备,则将所述下一跳和目的地地址传送(935)至所述第二网络设备。
8.一种网络设备,该网络设备包括:
网络接口(210),被配置成接收消息;以及
授权管理器(230),被配置成:
确定与所述消息相关联的目的地地址;
确定所述目的地地址是否被指派给所述网络设备;
如果所述目的地地址未被指派给所述网络设备,则经由所述网络接口查询第二网络设备,以得到所述目的地地址的下一跳;
响应于所述查询,并且经由所述网络接口,接收对所述目的地地址的所述下一跳的指示;以及
响应于对所述下一跳的所述指示,经由所述网络接口将所述消息转发至所述下一跳;
其中,在确定所述目的地地址是否被指派给所述网络设备的过程中,所述授权管理器(230)被配置成:
对所述目的地地址执行散列函数,以产生散列密钥;
识别多个网络设备标识(ID)中与所述散列密钥最接近的网络设备ID;以及
确定所识别出的网络设备ID是否与所述网络设备相关联。
9.根据权利要求8所述的网络设备,其中,所识别出的网络设备ID与所述第二网络设备相关联。
10.根据权利要求8-9中任一权利要求所述的网络设备,其中,在执行散列函数中,所述授权管理器(230)被配置成:
识别所述目的地地址的第一分量和第二分量;
对所述第一分量进行散列;
独立于对所述第一分量进行散列的步骤,对所述第二分量进行散列;以及
合并至少散列后的第一分量和散列后的第二分量,以产生所述散列密钥。
11.根据权利要求8-9中任一权利要求所述的网络设备,该网络设备还包括:
路由缓存(220),被配置成:
确定该路由缓存是否存储与所述目的地地址相关联的缓存项;以及
响应于对所述下一跳的指示,添加与所述目的地地址相关联且基于对所述下一跳的指示的新的缓存项;
其中,所述授权管理器被配置成:响应于所述路由缓存确定该路由缓存未存储与所述目的地地址相关联的缓存项,确定所述目的地地址是否被指派给所述网络设备。
12.根据权利要求8-9中任一权利要求所述的网络设备,其中,所述目的地地址是内容名称。
13.根据权利要求8-9中任一权利要求所述的网络设备,该网络设备还包括:
未决的路由表(240),该未决的路由表(240)在所述授权管理器等待对所述目的地地址的下一跳的指示的同时存储所述消息。
CN201380014232.6A 2012-03-15 2013-03-11 用于快速且大规模的最长前缀匹配的方法和系统 Expired - Fee Related CN104170333B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/421,379 US9729669B2 (en) 2012-03-15 2012-03-15 Method and system for fast and large-scale longest prefix matching
US13/421,379 2012-03-15
PCT/US2013/030164 WO2013138228A1 (en) 2012-03-15 2013-03-11 Method and system for fast and large-scale longest prefix matching

Publications (2)

Publication Number Publication Date
CN104170333A CN104170333A (zh) 2014-11-26
CN104170333B true CN104170333B (zh) 2017-11-10

Family

ID=47997865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380014232.6A Expired - Fee Related CN104170333B (zh) 2012-03-15 2013-03-11 用于快速且大规模的最长前缀匹配的方法和系统

Country Status (6)

Country Link
US (1) US9729669B2 (zh)
EP (1) EP2826213B1 (zh)
JP (1) JP2015512231A (zh)
KR (1) KR20140127876A (zh)
CN (1) CN104170333B (zh)
WO (1) WO2013138228A1 (zh)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US9515920B2 (en) * 2012-04-20 2016-12-06 Futurewei Technologies, Inc. Name-based neighbor discovery and multi-hop service discovery in information-centric networks
US8929379B2 (en) * 2012-06-21 2015-01-06 Breakingpoint Systems, Inc. High-speed CLD-based internal packet routing
US8811401B2 (en) 2012-06-21 2014-08-19 Breakingpoint Systems, Inc. Binding of network flows to process threads
US9485174B2 (en) * 2012-07-30 2016-11-01 Cisco Technology, Inc. Routing using cached source routes from message headers
US9280546B2 (en) 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US10430839B2 (en) 2012-12-12 2019-10-01 Cisco Technology, Inc. Distributed advertisement insertion in content-centric networks
KR101474320B1 (ko) * 2013-02-04 2014-12-18 아주대학교산학협력단 위치기반 컨텐츠를 위한 위치기반 컨텐츠 중심 네트워킹 방법
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
JP6054224B2 (ja) * 2013-03-25 2016-12-27 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9185120B2 (en) 2013-05-23 2015-11-10 Palo Alto Research Center Incorporated Method and system for mitigating interest flooding attacks in content-centric networks
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
US9325771B2 (en) * 2013-09-11 2016-04-26 Theplatform, Llc Systems and methods for data management
US9407549B2 (en) 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9282050B2 (en) 2013-10-30 2016-03-08 Palo Alto Research Center Incorporated System and method for minimum path MTU discovery in content centric networks
US9401864B2 (en) 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) * 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9826463B2 (en) * 2013-12-18 2017-11-21 Qualcomm Incorporated Hash partial matching for discovery
US9379979B2 (en) 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9531679B2 (en) 2014-02-06 2016-12-27 Palo Alto Research Center Incorporated Content-based transport security for distributed producers
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9742670B2 (en) * 2014-03-24 2017-08-22 Cisco Technology, Inc. Non-eligible distance vector protocol paths as backup paths
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9203885B2 (en) 2014-04-28 2015-12-01 Palo Alto Research Center Incorporated Method and apparatus for exchanging bidirectional streams over a content centric network
US9847935B2 (en) * 2014-04-29 2017-12-19 Intel Corporation Technologies for distributed routing table lookup
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
EP2947839B1 (en) * 2014-05-21 2019-10-16 Alcatel Lucent Method and apparatus to forward a request for content
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9467377B2 (en) 2014-06-19 2016-10-11 Palo Alto Research Center Incorporated Associating consumer states with interests in a content-centric network
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9979644B2 (en) 2014-07-13 2018-05-22 Cisco Technology, Inc. Linking to content using information centric networking
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9391777B2 (en) 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
US9491092B1 (en) * 2014-09-30 2016-11-08 Juniper Networks, Inc. Apparatus, system, and method for preventing unintentional forwarding reconfiguration in network environments
US9596181B1 (en) * 2014-10-20 2017-03-14 Juniper Networks, Inc. Two stage bloom filter for longest prefix match
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) * 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
KR101629106B1 (ko) * 2014-12-17 2016-06-09 경희대학교 산학협력단 컨텐츠 기반 네트워크에서 요청 컨텐츠의 해쉬값에 따라 컨텐츠를 송신하는 방법
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9705784B2 (en) * 2014-12-31 2017-07-11 Juniper Networks, Inc. Bit index explicit replication (BIER)forwarding for network device components
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US9590897B1 (en) * 2015-02-26 2017-03-07 Qlogic Corporation Methods and systems for network devices and associated network transmissions
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
CN106161247B (zh) * 2015-04-01 2019-08-20 华为技术有限公司 一种路由收敛方法、控制装置、转发装置以及系统
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
CN105939263B (zh) * 2015-08-12 2019-07-09 杭州迪普科技股份有限公司 一种报文发送方法和装置
US10610144B2 (en) 2015-08-19 2020-04-07 Palo Alto Research Center Incorporated Interactive remote patient monitoring and condition management intervention system
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US20170118113A1 (en) * 2015-10-27 2017-04-27 Freescale Semiconductor, Inc. System and method for processing data packets by caching instructions
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10432509B2 (en) * 2016-06-14 2019-10-01 Cisco Technology, Inc. Flow classification for information centric network protocols
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10164910B2 (en) * 2016-07-13 2018-12-25 Futurewei Technologies, Inc. Method and apparatus for an information-centric MAC layer
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10462059B2 (en) 2016-10-19 2019-10-29 Intel Corporation Hash table entries insertion method and apparatus using virtual buckets
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
EP3560172B1 (en) * 2016-12-21 2021-08-11 Telefonaktiebolaget LM Ericsson (PUBL) First and second icn network nodes, and associated methods and computer program for generating data content
US10394784B2 (en) 2016-12-22 2019-08-27 Intel Corporation Technologies for management of lookup tables
US10404596B2 (en) * 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
CN110753133B (zh) 2018-07-23 2022-03-29 华为技术有限公司 处理地址的方法和网络设备
JP7272227B2 (ja) * 2019-10-10 2023-05-12 富士通株式会社 ネットワーク制御装置およびネットワーク制御方法
CN111917738B (zh) * 2020-07-14 2022-03-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 可支持网络高层协议的处理方法及系统
CN114125915B (zh) * 2022-01-26 2022-04-12 舟谱数据技术南京有限公司 针对设定终端app应用的定位热修复系统和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0915594A2 (en) * 1997-10-07 1999-05-12 AT&T Corp. Method for route selection from a central site
CN1497899A (zh) * 2002-10-07 2004-05-19 ��ʽ����Ntt����Ħ 路径控制系统、路径控制装置、传送装置和路径控制方法
CN101657980A (zh) * 2007-04-13 2010-02-24 微软公司 分布式路由表体系结构和设计
WO2010046178A1 (en) * 2008-10-20 2010-04-29 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for a client node to access an information object located at a node of a secured network via a network of information
CN101795229A (zh) * 2009-01-30 2010-08-04 帕洛阿尔托研究中心公司 用于转发具有层次结构化可变长度标识符的分组的系统
CN101820386A (zh) * 2009-01-30 2010-09-01 帕洛阿尔托研究中心公司 用于促进在以内容为中心的网络中转发分组的方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145911B2 (en) 2002-03-05 2006-12-05 Hewlett-Packard Company Method and system for parallel hash transformation for an address input
US7808971B2 (en) 2005-07-01 2010-10-05 Miller John L Routing cache for distributed hash tables
US7849199B2 (en) 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
JP2009157575A (ja) 2007-12-26 2009-07-16 Kddi Corp ネットワーク端末及びコンピュータプログラム
CN101667958B (zh) 2008-09-01 2012-08-29 华为技术有限公司 选择哈希函数的方法、存储及查找路由表的方法及装置
JP2010256749A (ja) 2009-04-28 2010-11-11 Kddi Corp ハッシュ値生成装置、ハッシュ値生成方法およびプログラム
US8751664B2 (en) * 2010-12-16 2014-06-10 Palo Alto Research Center Incorporated Custodian-based routing in content-centric networks
US8756297B2 (en) * 2010-12-16 2014-06-17 Palo Alto Research Center Incorporated Energy-efficient content caching with custodian-based routing in content-centric networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0915594A2 (en) * 1997-10-07 1999-05-12 AT&T Corp. Method for route selection from a central site
CN1497899A (zh) * 2002-10-07 2004-05-19 ��ʽ����Ntt����Ħ 路径控制系统、路径控制装置、传送装置和路径控制方法
CN1281028C (zh) * 2002-10-07 2006-10-18 株式会社Ntt都科摩 路径控制系统、路径控制装置和传送装置
CN101657980A (zh) * 2007-04-13 2010-02-24 微软公司 分布式路由表体系结构和设计
WO2010046178A1 (en) * 2008-10-20 2010-04-29 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for a client node to access an information object located at a node of a secured network via a network of information
CN101795229A (zh) * 2009-01-30 2010-08-04 帕洛阿尔托研究中心公司 用于转发具有层次结构化可变长度标识符的分组的系统
CN101820386A (zh) * 2009-01-30 2010-09-01 帕洛阿尔托研究中心公司 用于促进在以内容为中心的网络中转发分组的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
以内容为中心的新一代互联网体系架构研究;林啸;《电信科学》;20100531;全文 *

Also Published As

Publication number Publication date
KR20140127876A (ko) 2014-11-04
EP2826213A1 (en) 2015-01-21
WO2013138228A1 (en) 2013-09-19
US20130242996A1 (en) 2013-09-19
JP2015512231A (ja) 2015-04-23
US9729669B2 (en) 2017-08-08
CN104170333A (zh) 2014-11-26
EP2826213B1 (en) 2017-12-06

Similar Documents

Publication Publication Date Title
CN104170333B (zh) 用于快速且大规模的最长前缀匹配的方法和系统
US9178806B2 (en) High-speed content routing
JP6386468B2 (ja) Ipルーティング互換のためのネットワークノードのパケットフォーマットと通信方法及びそのネットワークノード
EP2214355B1 (en) Method and apparatus for forwarding packets with hierarchically structured variable-length identifiers using an exact-match lookup engine
EP2214357B1 (en) Method and system for facilitating forwarding a packet in a content-centric network
US7808971B2 (en) Routing cache for distributed hash tables
CN103248582B (zh) 用于在网络装置中执行包流查找的流缓存器机制
US20130110987A1 (en) Apparatus and method for providing content location information using ospf opaque lsa
WO2011150830A1 (zh) 获取内容的方法、节点及内容网络
KR20130136529A (ko) 사설 어드레스 및 공용 어드레스의 매핑
CN101689195A (zh) 使用前缀哈希树(pht)在对等通信网络中定位服务
US20120158756A1 (en) Searching in Peer to Peer Networks
CN104135438B (zh) 报文携带路由信息的可扩展路由方法
CN106803809A (zh) 一种报文转发的方法和装置
EP3018871B1 (en) Content name compression method and apparatus
CN103609081B (zh) 通过解析进行路由
Tan et al. Efficient name lookup scheme based on hash and character trie in named data networking
EP2947839B1 (en) Method and apparatus to forward a request for content
EP3035595A1 (en) Routable distributed database for managing a plurality of entities of a telecommunication network
WO2013128514A1 (en) Communication system, control apparatus, control method and program
CN103795634B (zh) 一种转发表的生成方法及装置
Masuda et al. Prototype Design for Scalable Support of Interdomain Routes in a Single AS
JP2011244132A (ja) ルータ及び経路記憶方法
JP2013211685A (ja) 通信システム、サーバ装置、サーバ処理プログラム、及び端末装置登録方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171110

Termination date: 20200311