分布式路由架构的制作方法

文档序号:7915109阅读:146来源:国知局
专利名称:分布式路由架构的制作方法
分布式路由架构背景如通常描述的,计算设备利用通信网络或一系列通信网络来交换数据。在一般实施方案中,待交换的数据被分成可在发送计算设备和接收计算设备之间传输的一系列分组。通常,每个分组可被认为包括两个主要部分,即,控制信息和有效载荷数据。控制信息相应于由一个或多个通信网络利用来分发有效载荷数据的信息。例如,控制信息可包括源和目的网络地址、误差检测码和分组排序识别及类似信息。一般,控制信息存在于包括在分组内的分组头部和尾部中,并与有效载荷数据相邻。 实际上,在分组交换通信网络中,分组在多个物理网络或子网络之间传输。通常,物理网络包括从源网络部件接收分组并将分组转发到接收网络部件的多个硬件设备。分组路由硬件设备一般称为路由器。如通常描述的,路由器可使用两个主要功能或平面来操作。第一个功能相应于控制面,其中路由器学习最适合于将所接收的分组转发到特定的目的地的一组外发接口。第二个功能是转发面,其中路由器将所接收的分组转发到出接口。为了执行控制面功能,路由器可保持转发信息库(“FIB”),其除了其它分组属性信息以外还识别至少可能的网络地址的子组的目的信息,例如互联网协议(“IP”)地址。在一般实施方案中,FIB相应于为路由器指定网络转发信息的值的表。在一个方面,商业级路由硬件部件可包括定制的芯片集、存储部件和允许单个路由器支持FIB中的数百万个条目的软件。然而,这样的商业级路由硬件部件一般非常昂贵,且常常需要昂贵的定制。在另一方面,基于商品的路由硬件部件由更一般的部件制成,并可能比商业级路由硬件部件便宜一个大的数量级。然而,这样的基于商品的路由硬件部件一般只支持大约数千条目的FIB。附图简述当结合附图理解时,本发明的前述方面和很多附随的优点将变得更容易被认识至IJ,因为它们通过参考下面的详细描述被更好地理解,其中图IA是示出包括路由器管理部件和分层的分布式路由部件结构的分布式路由环境的一个实施方案的方框图;图IB是示出根据图IA的分布式路由环境利用的路由器部件的组成部分的方框图;图2A-2D是示出图IA的分布式路由环境的方框图,其示出在分层的分布式路由部件结构内的所接收的分组的路由;图3是示出在分布式路由环境内实现的分布式路由器架构路由例程的流程图;以及图4是示出在分布式路由环境内实现的分布式路由器架构路由例程的流程图。详细描述如通常描述的,本公开相应于分布式路由架构。具体地,本公开相应于分层的分布式路由架构,其包括用于接收、处理和在网络部件之间转发数据分组的至少两个逻辑级或层。在一个实施方案中,这两个逻辑级可相应于核心级和分布级。作为例证,核心级相应于从网络部件接收进入的分组并处理与所接收的分组相关的目的地址信息的一个或多个路由器部件。核心级路由器部件接着基于与所接收的分组相关的目的地址的子组来识别分布级路由器部件。分布级相应于从核心级路由器部件接收所转发的分组并进一步处理与所接收的分组相关的目的地址信息的一个或多个路由器部件。分布级路由器部件从分层的分布式路由架构识别适当的运送路线。每个分布级路由器部件与相关于分布式路由架构的FIB的子集相关,或以其它方式相应于相关于分布式路由架构的FIB的子集。与分布式路由环境相关的FIB的部分的映射或其它指配由路由器管理部件管理。在一个实施方案中,与核心级和分布级相关的每个路由器部件可更紧密地相应于基于商品的路由器部件/硬件。在另一实施方案中,核心级和分布级路由器部件相应于不是必须具有相应的硬件路由器部件的逻辑路由器部件。例如,在每级内的一个或多个逻辑路由器部件可在同一硬件路由器部件中实现。同样,与分布式路由架构的不同级相关的逻辑路由器部件可在同一硬件路由器部件中实现。在另一实例中,核心级和分布级路由器部件可相应于作为用于接收进入的分组并确定适当的分布级路由器部件的核心级路由器部件和作为分布级路由器部件操作的路由器部件。在上述实施方案中,因为对维持与分布式路由环境相关的FIB的责任在几个路由 器部件中分配,所以与基于商品的路由器部件/硬件相关的处理和存储限制可被减轻。将根据分布式路由环境来描述用于划分与分布式路由环境相关的FIB的各种实现、组合和应用。然而,相关领域的技术人员将认识到,这样的实施方案和实施例在本质上是例证性的,而不应被解释为限制性的。现在转到

图1A,将描述实现分层的分布式路由架构的分布式路由环境100。分布式路由环境100包括用于控制由分布式路由环境100利用的路由信息的路由器管理部件102。具体地,路由器管理部件102可接收分布式路由环境100所使用的所有上游路由信息,并在分布式路由环境100的部件当中分配上游路由信息的指配,如将描述的。在一个实施方案中,路由器管理部件102可相应于与分布式路由环境100的一个或多个部件通信的计算设备。例证性计算设备可包括服务器计算设备、个人计算设备、或包括处理器、存储器和用于执行与路由器管理部件102的功能相关的指令的其它部件的其它计算设备。在另一实施方案中,路由器管理部件102可被实现为在下面描述的一个或多个路由器部件上执行的软件部件。作为例证,路由器管理部件102维持并更新与分布式路由环境100相关的FIB。此外,路由器管理部件102可将对FIB条目的部分的责任分配给分布式路由环境100的不同级,如将在下面描述的。在一个实施方案中,路由器管理部件102可根据到分布式路由环境100的各种路由器部件的分布来划分FIB,并分配保持在存储器中的与各种路由器部件相关的FIB的相应部分。继续参考图1A,分布式路由环境100包括将数据分组传输到分布式路由环境100的第一通信网络104。第一通信网络104可包括建立与分布式路由环境100的基于分组的通信所必需的联网硬件和协议的任何适当的组合。例如,通信网络104可包括专用网络,例如局域网(LAN)或广域网(WAN)以及公共或专用无线网络。在这样的实施方案中,通信网络104可包括建立与分布式路由环境100的联网链接所必需的硬件(例如,调制解调器、路由器、交换机、载荷平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等)。此外,通信网络104可实现用于在计算设备之间传输数据的各种通信协议之一。如将在下面更详细地解释的,通信协议可包括定义分组流信息的协议,例如相应于互联网协议版本4(IPv4)和互联网协议版本6 (IPv6)互联网层通信网络协议的网络地址信息。然而相关领域的技术人员将认识到,本公开可适用于另外或可选的协议,以及所示实例不应被解释为限制性的。与第一通信网络104通信的是通常称为核心层或核心级的分布式路由环境100的第一级。在一个实施方案中,核心级相应于通常称为核心级路由器106A、106B和106C的一个或多个逻辑路由器部件。如前面所述的,在分布式路由环境100内,核心级路由器106A、106B和106C从来自网络104的部件接收进入的分组,并通过基于与所接收的分组相关的目的地址的子集识别分布级路由器部件来处理目的地址。作为例证,目的地址的子集可相应于少于全部目的IP地址的目的IP地址,例如IP地址的最高值。如以前所述的,核心级路由器106A、106B和106C可相应于在一个或多个硬件部件上实现的逻辑路由器部件。在一个实施方案中,每个逻辑路由器部件可与专用物理路由器部件相应。在另一实施方案中,每个逻辑路由器部件可相应于被分布式路由器环境100中的至少一个其它逻辑路由器部件共享的物理路由器部件。在可选的实施方案中,核心层的至少某个部分可由在分布式路由环境100外部的部件实现。在这样的实施方案中,这样的外部部件将直接处理分布式路由环境100的分布级路由器部件(下面描述)。 分布式路由环境100还可包括通常称为分布层或分布级的第二级逻辑路由器部件。在一个实施方案中,分布级相应于通常称为分布级路由器108AU08B和108C的一个或多个逻辑路由器部件。如前面所述的,在分布式路由环境100内,分布级路由器108AU08B和108C从核心路由网络102接收进入的分组,并根据所接收的分组的属性之一来处理进入的分组。作为例证,目的地址的子集可相应于核心级路由器106AU06B和106C所使用的目的IP地址的较大子集。在这个实施方案中,由分布级执行的路由相对于核心级路由可相应于所接收的分组的更精细的路由。如以前对核心级路由器106AU06B和106C所述的,分布级路由器108AU08B和108C可相应于在一个或多个硬件部件上实现的逻辑路由器部件。在一个实施方案中,每个逻辑路由器部件可与专用物理路由器部件相应。在另一实施方案中,每个逻辑路由器部件可相应于被分布式路由器环境100中的至少一个其它逻辑路由器部件共享的物理路由器部件。与分布式路由环境部件通信的108A、108B和108C在外部运送部件110中。在一个实施方案中,外部运送部件110相应于从分布级路由器108A、108B、108C接收转发的分组的一个或多个路由器部件。外部运送部件110可接着便于进一步在另一通信网络112的节点的“上游”的分组的转发。作为例证,外部运送部件110可以任选地在分布式路由环境100中实现。因此,分布级路由器部件108AU08B和108C可直接与外部网络节点通信,而不利用外部运送部件110。类似于通信网络102,通信网络112可包括建立与分布式路由环境100的基于分组的通信所必需的联网硬件和协议的任何适当的组合。例如,通信网络112可包括专用网络,例如局域网(LAN)或广域网(WAN)以及公共或专用无线网络。在这样的实施方案中,通信网络112可包括建立与分布式路由环境100的联网链接所必需的硬件(例如,调制解调器、路由器、交换机、载荷平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等)。如上文关于通信网络104描述的,通信网络112可实现用于在计算设备之间传输数据的各种通信协议之一。然而相关领域的技术人员将认识到,本公开可适用于另外或可选的协议,以及所示实例不应被解释为限制性的。在所示实施方案中,图IA中的逻辑路由器部件(106和108)可相应于具有处理资源、存储资源、联网资源和用于携带每个逻辑路由器部件的所述功能的其它硬件/软件的计算设备。现在参考图1B,将描述示出根据图IA的分布式路由环境100利用的路由器部件150的部件的方框图。图IB示出的路由器部件150的一般架构包括可用于实现一个或多个逻辑路由器部件106和108的计算机硬件和软件部件的布置。本领域技术人员将认识至IJ,路由器部件150可包括比图IB中所示的部件多得多(或少得多)的部件。然而,不一定所有的这些通常常规的部件都示出,以便提供可行的公开。如图IB所示,路由器部件150包括都可通过通信总线彼此通信的处理单元152、至少一个网络接口 156和至少一个计算机可读介质驱动器158。处理单元152可因此经由网络从其它计算系统或服务接收信息和指令。处理单元152也可与第一存储部件154相关,用于检索在目的地址信息的处理中利用的信息,例如至少与分布式路由环境100相关的FIB的一部分。存储器154通常包括RAM、R0M和/或其它持久存储器。处理单元152也可与存 储器160来回通信。网络接口 156可提供与一个或多个网络或计算系统的连接。至少一个计算机可读介质驱动器158也可相应于RAM、R0M、光学存储器、和/或可持久存留至少与分布式路由环境100相关的FIB的一部分的其它持久存储器。在例证性实施方案中,与存储部件154相关的访问时间可以比与计算机可读介质驱动器158相关的访问时间快。仍然进一步地,计算机可读介质驱动器158可在联网环境中实现,在联网环境中,多个路由器部件150共享对持久存留在计算机可读介质驱动器158上的信息的访问。存储器160包含计算机程序指令,处理单元152执行这些指令以便操作动态分类器。存储器160通常包括RAM、ROM和/或其它持久存储器。存储器160可存储操作系统162,其提供在路由器部件150的一般管理和操作中由处理单元152使用的计算机程序指令。存储器160还可包括用于实现在分布式路由环境100中的一个或多个逻辑路由器部件的计算机程序指令和其它信息。例如,在一个实施方案中,存储器160包括实现与路由器106和108中的任一个相关的功能的路由器模块164。在多个逻辑路由器由同一路由器部件150实现的情况下,存储器160可具有路由器模块164的每个实例。在例证性实施方案中,每个路由器部件150可体现为用于实现一个或多个逻辑路由器106和108的单独的硬件部件。可选地,多个路由器部件150可在一起被聚集和实现。例如,每个路由器部件150可相应于具有处理单元152、存储器154和存储器160 (或具有类似功能的其它部件)的专用集成电路(ASIC)。路由器部件150可经由公共的通信总线共享一个或多个部件,例如网络接口 156和计算机可读介质158。现在参考图2A-2D,将描述通过分布式路由环境100接收分组的处理。首先参考图2A和2B,进入的分组从通信网络104被接收到核心级路由器106。可根据各种技术(包括但不限于载荷平衡、随机选择、循环复用、散列法和其它分组分布技术)来选择接收进入的分组的核心级路由器106。当接收时,核心级路由器106处理目的IP地址,并利用目的IP地址的子集来识别将执行第二级路由的第二级目的路由器部件。在例证性实施方案中,核心级路由器106利用IP地址的最闻有效位,例如目的地址的八个最闻有效位。相应于最闻有效位的选择的IP地址的子集的选择通常称为前缀。例如,八个最高有效位的选择相应于“8”的前缀长度。16个最高有效位的选择相应于“16”的前缀长度。相关领域的技术人员将认识到,核心级路由器106所利用的位的数量可变化。此外,在可选的实施方案中,核心级路由器106可使用不同的方法来分配或以其它方式细分由分布式路由环境100维护的地址空间,包括例如基于IP流级别信息或IP流描述符的细分。这样的IP流级别信息可包括源和目的IP地址信息或端口信息。基于目的地址的第一子集的处理,核心级路由器106将分组转发到分布级路由器,作为例证在这种情况下是108A,“分布路由器I”。如以前所述的,接收分布级路由器108A处理所接收的分组的目的地址,并还利用目的IP地址的子集来将所接收的分组转发到下一网络目的地(在分布式路由环境100的外部)。类似于核心级路由器106,接收分布级路由器可配置成利用IP地址的最高有效位的选择(例如,前缀)来路由分组。在例证性实施方案中,分布级路由器108A所使用的前缀大于核心级路由器106所使用的前缀。如图2A所示,外部运送部件110可用来便于转移。可选地且参考图2B,分布级路由器108A可将分组直接传输到通信网络112。参考图2C,在可选的实施方案中,与核心级路由器部件106相关的功能可由分布级路由器部件108实现。如图2C所示,进入的分组从通信网络104被接收到分布级路由器 108Bo可根据各种技术(包括但不限于载荷平衡、随机选择、循环复用、散列法和其它分组分布技术)来选择接收进入的分组的分布级路由器108B。当接收时,分布级路由器108B处理目的IP地址,并利用目的IP地址的子集来识别将执行第二级路由的第二级分布路由器部件。在例证性实施方案中,分布级路由器108B利用IP地址的最高有效位,例如目的地址的八个最高有效位。相应于最高有效位的选择的IP地址的子集的选择通常称为前缀。相关领域的技术人员将认识到,分布级路由器108B所利用的位的数量可变化。此外,在可选的实施方案中,分布级路由器108B可使用不同的方法来分配或以其它方式细分由分布式路由环境100维护的地址空间。基于目的地址的第一子集的处理,分布级路由器108B将分组转发到分布级路由器,作为例证在这种情况下是分布级路由器108A,“分布路由器I”。如以前所述的,接收分布级路由器108A处理所接收的分组的目的地址,并且还利用目的IP地址的子集来将所接收的分组转发到下一网络目的地(在分布式路由环境100的外部)。类似于分布级路由器108B,接收分布级路由器可配置成利用IP地址的最高有效位的选择(例如,前缀)来路由分组。在例证性实施方案中,分布级路由器108A所使用的前缀大于分布级路由器1088所使用的前缀。如图2A所示,外部运送部件110可用来便于转移。可选地且参考图2B,分布级路由器108A可将分组直接传输到通信网络112。仍然进一步地,在分布级路由器108B确定它是用于分布级路由的适当路由器部件的情况下,相同的分布级路由器108B可处理目的地址信息或利用以前的处理。现在转到图2D,将描述在分布式路由环境100内的IP地址或IP地址的子集的分配。参考图2D,核心级路由器106将目的IP地址的子集的某个部分分配给分布级路由器108A(在202示出)。核心级路由器106将目的IP地址的子集的一个不同的部分分配给分布级路由器108C(在204示出)。分布级路由器108A和108B又进一步直接地(在206和208示出)或经由外部运送部件110 (未示出)将IP地址的部分分配给通信网络112。在例证性实施方案中,路由器管理部件102(图I)可用各种方式将IP地址的子集的责任分配给分布级路由器。在一个实施方案中,路由器管理部件102可根据IP地址在可用路由器当中同等地或实质上同等的指配来分配对IP地址的整个集合的责任。在这个实施方案中,每个分布级路由器108负责IP地址的相等的子集,或如果IP地址不能被相等地划分则负责IP地址的实质上相等的子集。在另一实施方案中,路由器管理部件102可指定特定的分布级路由器108以处理高流量IP地址或前缀。在本实例中,IP地址的整个子集可以由路由器管理部件102定制选择。可选地,只有满足流量阈值的IP地址的子集可被定制选择,IP地址的剩余部分被自动分配。在又一实施方案中,可为IP地址的子集选择多个分布级路由器108。在这个实施方案中,每个核心级路由器106可基于等价多路径路由(ECMP)技术从多个分布级路由器108选择,在该技术中,基于标准载荷共享技术来选择特定的分布级路由器108。可被利用以从多个指定的分布级路由器108选择的其它因素包括运营商偏好、互联网境况、资源利用/健康状态报告、分配或确定的路由成本、服务水平协议(SLA)或其它标准。在一个实施方案中,每个分布路由器108可保持与IP地址的子集相关的、被指配给相应的分布级路由器108的FIB的部分。在另一实施方案中,每个分布级路由器108可将与分布式路由环境100相关的整个FIB保持在存储部件例如计算机可读介质158 (图1B) 中。一旦IP地址的子集被指配给每个相应的分布级路由器108 (或以其它方式被更新),FIB的可适用部分就被装入不同的存储部件例如由路由器使用的存储部件154(图1B)(例如,路由芯片级内容可寻址存储器或处理器级高速缓冲存储器)中。FIB的可适用部分保持在存储部件中通过对FIB的可适用部分的更快的存储器访问时间而便于更好的路由器性能。然而,在这个实施方案中,可通过将所存储的FIB的不同部分从存储整个FIB的第一存储部件(例如,计算机可读介质158)装入到保持被分配给分布级路由器108的FIB的部分的存储部件(例如,存储部件154)来修改FIB到每个分布级路由器108的分配。因此,这个实施方案便于分布级路由器108的动态分配、冗余分布级路由器的创建和对分布级路由器的额外的故障切换。此外,一个或多个核心级路由器106在执行与分布式路由环境100的核心级相关的功能时可利用类似的技术。在又一实施方案中,作为对上述实施方案的变形,可给每个分布级路由器分配与分布式路由环境100相关的FIB的一部分,其比能够保持在路由器的第一存储部件例如存储部件154(例如,处理器级高速缓冲存储器)中的更大。如果核心级路由器106路由到分布级路由器108,且目的IP地址的相应前缀不相应于保持在分布级路由器的第一存储部件中的FIB,则分布级路由器可从保持在不同的存储部件(例如,计算机可读介质158(图IB))中的FIB的较大子集检索信息。保持在第一存储部件(例如,存储部件152)中的FIB可被更新以将前缀存储在主存储部件中。可选地,对于给定的前缀,可以不基于单个请求而是基于流量的增加来自动更新在第一存储部件中的FIB。在又一实施方案中,较低的流量前缀可被指配给多个分布级路由器108。在一个实例中,每个指配的分布级路由器108并不将所指配的FIB的较低流量路由部分保持在主存储部件中。更确切地,对较低流量前缀的路由请求可基于选择技术例如ECMP指向特定的分布级路由器,并可基于保持在选定的分布级路由器内的不同存储部件中的较大FIB由选定的分布级路由器108处理。现在参考图3,将描述用于路由分组和在分布式路由环境100中实现的例程300。在块302,分布式路由环境100获得路由请求。如以前所述的,路由请求从第一网络102 (图I)接收到并包括识别目的IP地址的信息。在块304,相应于分布式路由环境100的第一级的核心级路由器106被选择,并接收路由请求。在例证性实施方案中,每个核心级路由器106可执行相同的功能,并可根据标准选择技术(包括但不限于随机选择、循环复用选择、载荷平衡选择等)而被选择。在块306,选定的核心级路由器106识别相应于分布式路由环境100的第二级的分布级路由器108。核心级路由器108基于处理目的IP地址和利用目的IP地址的子集(例如,前缀)以确定适当的分布级路由器108来选择分布级路由器108。作为例证,根据相应于IPv4通"[目协议的实施方案,核心级路由器106的处理可基于八个最闻有效位的如缀的考虑。然而相关领域的技术人员将认识到,块306和308可被实现,使得核心级路由器106和分布级路由器108在识别要转发所接收的分组的下一路由器部件时可利用所接收的分组的额外或可选的属性(包括目的IP地址的不同部分)。仍然进一步地,如以前所述的,块304和306根据分布级路由器108来实现。在块308,选定的分布级路由器108基于处理目的IP地址和利用目的IP地址的子 集来识别分组的运送路线。作为例证,根据相应于IPv4通信协议的实施方案,分布级路由器108的处理可基于IP地址的较大子集(例如,较长的前缀例如16或24位,如选择适当的运送路线所需的)在块310,例程300终止。现在参考图4,将描述用于路由分组并在分布式路由环境100中实现的另一例程400。在例证性实施方案中,可在比与特定的分布路由器108相关的全部FIB少的FIB被保持在主存储部件中的实施方案中实现例程400。在块402,路由请求在分布级路由器108被接收。前面在上文描述了对分布级路由器108的选择和路由。虽然将关于通过分布级路由器108的实现来描述例程400,但是相关领域的技术人员将认识到,例程400的至少部分可由分布式路由环境100的其它部件例如核心级路由器106实现。在决策块404,进行测试以确定与路由请求相关的目的IP地址的子集是否在被保持在选定的分布级路由器108的主存储器中的FIB表的部分中。如果是,在块406,分布级路由器108从保持在第一存储部件(例如,存储部件152(图IB))中的FIB获得运送层路由信息。在块408,分布级路由器108直接地或经由外部运送部件110沿着选定的运送路线转发分组。可选地,如果在决策块404,与路由请求相关的目的IP地址的子集没有保持在被保持在选定的分布级路由器108的主存储器中的FIB表的部分中,则在块410,分布级路由器108试图从与分布级路由器相关的单独的存储部件获得额外的运送路由信息。在块410,分布级路由器108可使用从其它存储部件获得的信息来更新保持在主存储部件中的转发表信息。可选地,块410可被省略或否则是任选的。在块412,该例程终止。虽然公开和讨论了例证性实施方案,但相关领域的技术人员将认识到,可在本公开的精神和范围内实现额外或可选的实施方案。此外,虽然很多实施方案被指示为例证性的,相关领域的技术人员将认识到,例证性实施方案不需要一起被组合或实现。因此,一些例证性实施方案不需要根据本公开的变形的范围被利用或实现。除非另外特别规定或在所使用的背景中以其它方式理解,条件性语言例如其中包括“can (可以)”、“could(可以)”、“might (可以)”或“may (可以)”通常用来传达某些实施方案包括而其它实施方案不包括某些特征、元件或步骤。因此,这样的条件性语言通常不是用来暗示特征、元件或步骤以任何方式对一个或多个实施方案是要求的,或一个或多个实施方案必须包括用于决定,有或没有用户输入或提示,这些特征、元件或步骤在任何特定的实施方案中是否被包括或将被执行的逻辑。而且,除非另外特别规定或在所使用的背景中以其它方式理解,本发明通常用于传达在列举一列元件时连词“或”的使用并不限制仅仅单个元件的选择,而是可包括两个或多个元件的组合。在本文描述和/或在附图中示出的流程图中的任何过程描述、元件或块应被理解为可能代表包括用于实现过程中的特定逻辑功能或步骤的一个或多个可执行指令的模块、程序段、或代码的部分。可选的实现包括在本文所述的实施方案的范围内,在这些实施方案中,元件或功能可被删除、以与所示或讨论的顺序不同的顺序(包括实质上同时或以相反的顺序,取决于所涉及的功能)执行,如本领域技术人员将理解的。应进一步认识到,上面所述的数据和/或部件可存储在计算机可读介质上,并使用与存储计算机可执行部件的计算机可读介质例如CD-ROM、DVD-ROM或网络接口相关的驱动器机制来装入计算设备的存储器中。此外,部件和/或数据可包括在单个设备中或以任何方式分布。因此,专用计算设备可配置成使用上面描述的各种数据和/或部件的处理和/或执行来实现本公开的过程、算法和方法。可选地,本文描述的方法中的一些或全部可以可选地体现在专门的计算机硬件中。此外,在本文提及的部件可在硬件、软件、固件或其组合中实现。 应强调,对上述实施方案可进行很多变更和修改,其元件应被理解为在其它可接受的实例中。所有这样的修改和变更在本文被规定为包括在本公开的范围内并被下面的权利要求保护。
权利要求
1.一种用于路由分组的系统,包括 路由器管理部件,其在计算设备上被执行,用于将目的地址信息关联到路由器层级; 相应于所述路由器层级的第一级的一个或多个路由器部件,所述路由器层级的所述第一级用于接收用于路由的进入的分组; 相应于所述路由器层级的第二级的一个或多个路由器部件,所述路由器层级的所述第二级用于处理用于路由的进入的分组,所述进入的分组接收自相应于路由器层级的所述第一级的所述一个或多个路由器部件中的至少一个; 其中相应于路由器层级的所述第一级的所述一个或多个路由器部件基于与所述进入的分组相关的目的地址的第一子集来识别来自相应于路由器层级的所述第二级的所述一个或多个路由器部件的一个或多个路由器部件,其中所述第一子集由所述路由器管理部件指配; 其中相应于路由器层级的所述第二级的所述一个或多个路由器部件中的每个相应于与所述进入的分组相关的所述目的地址的第一子集的部分;以及 其中相应于路由器层级的所述第二级的所述一个或多个路由器部件基于与所述进入的分组相关的目的地址的第二子集来识别外发的运送路线,其中所述第二子集由所述路由器部件指配,且其中所述目的地址的所述第二子集比所述目的地址的所述第一子集大。
2.如权利要求I所述的系统,其中相应于路由器层级的所述第二级的所述一个或多个路由器部件被分配以相应于与所述进入的分组相关的所述目的地址的所述第一子集的大致相等的部分。
3.如权利要求I所述的系统,其中相应于路由器层级的所述第二级的所述一个或多个路由器部件基于归因于所述目的地址的流量而被分配以相应于与所述进入的分组相关的所述目的地址的所述第一子集的部分。
4.如权利要求I所述的系统,其中相应于路由器层级的第一级的所述一个或多个路由器部件根据随机选择、循环复用选择、散列法和载荷平衡来选择。
5.如权利要求I所述的系统,其中所述目的地址相应于IP地址。
6.如权利要求5所述的系统,其中所述IP地址的第一子集相应于所述IP地址的八个最闻有效位。
7.如权利要求5所述的系统,其中所述IP地址的第一子集相应于所述IP地址的16个最高有效位或24个最高有效位中的至少一项。
8.如权利要求I所述的系统,其中相应于路由器层级的所述第一级的所述一个或多个路由器部件中的至少两个在公共物理路由器部件中实现。
9.如权利要求I所述的系统,其中相应于所述路由器层级的所述第二级的所述一个或多个路由器部件中的至少两个在公共物理路由器部件中实现。
10.如权利要求I所述的系统,其中所述目的地址相应于IP流描述符。
11.如权利要求I所述的系统,其中至少物理路由器部件实现第一级路由器和第二级路由器中的至少两个。
12.如权利要求I所述的系统,其中至少一个逻辑路由器部件相应于所述路由器层级的第一级和第二级。
13.一种用于路由分组的系统,包括第一组逻辑路由器部件,其用于接收用于路由的进入的分组; 第二组逻辑路由器部件,其用于路由从所述第一组路由器部件接收的分组; 外部运送部件,其用于路由从所述第二组路由器部件接收的分组, 其中所述第一组逻辑路由器部件基于通过与所述进入的分组相关的目的地址的子集的路由器管理部件与选定的路由器的关联来识别来自所述第二组逻辑路由器部件的路由器; 其中相应于与所述第二组逻辑路由器部件的一个或多个路由器部件中的每个由所述路由器管理部件分配以相应于与所述进入的分组相关的所述目的地址的第一子集的部分;以及 其中所述第二组逻辑路由器部件基于通过与所述进入的分组相关的目的地址的第二子集的所述路由器管理部件与第二选定的路由器的关联,来识别由所述外部运送部件识别的路由路径。
14.如权利要求13所述的系统,其中来自所述第二组路由器部件的路由器的关联基于可能的目的地址的实质上相等的分配。
15.如权利要求13所述的系统,其中来自所述第二组逻辑路由器部件的路由器的关联基于目的地址的流量的相关性。
16.如权利要求13所述的系统,其中来自所述第二组逻辑路由器部件的路由器的关联基于目的地址的流量的相关性和其余目的地址的相等分配的组合。
17.如权利要求13所述的系统,其中来自所述第二组逻辑路由器部件的路由器中的每个与阈值数量的目的地址相关,且其中来自所述第二组逻辑路由器部件的路由器的关联基于大于与所述第二组逻辑路由器部件相关的目的地址的所述阈值数量的数量的分配。
18.如权利要求13所述的系统,其中来自所述第二组逻辑路由器部件的路由器的关联基于目的地址的低流量的相关性。
19.如权利要求13所述的系统,其中来自所述第二组逻辑路由器部件的路由器的关联包括对目的地址的相同子集的多个路由器的分配。
20.如权利要求13所述的系统,其中第一组逻辑部件根据随机选择、循环复用选择、散列选择和载荷平衡之一来选择。
21.如权利要求13所述的系统,其中所述目的地址相应于IP地址。
22.如权利要求21所述的系统,其中所述IP地址的第一子集相应于所述IP地址的八个最闻有效位。
23.如权利要求22所述的系统,其中所述IP地址的第一子集相应于所述IP地址的16个最高有效位或24个最高有效位中的至少一项。
24.如权利要求13所述的系统,其中所述第一组逻辑路由器部件中的每个相应于物理路由器部件。
25.如权利要求13所述的系统,其中所述第一组逻辑路由器部件中的两个或多个相应于单个物理路由器部件。
26.如权利要求13所述的系统,其中所述第二组逻辑路由器部件中的每个相应于物理路由器部件。
27.如权利要求13所述的系统,其中所述第二组逻辑路由器部件中的两个或多个相应于单个物理路由器部件。
28.如权利要求13所述的系统,其中所述第一组逻辑路由器部件中的至少一个和所述第二组逻辑部件中的至少一个相应于单个物理路由器部件。
29.如权利要求13所述的系统,其中至少一个逻辑路由部件相应于所述第一组逻辑部件和第二组逻辑部件中的至少一个。
30.一种用于路由分组的方法,包括 从第一通信网络获得相应于数据分组的路由请求; 识别相应于路由器层级的第一级的第一路由器,所述路由器层级的所述第一级相应于一个或多个路由器部件; 将所接收的数据分组转发到所识别的第一路由器; 识别相应于路由器层级的第二级的第二路由器,所述路由器层级的所述第二级相应于一个或多个路由器部件; 将所接收的数据分组转发到所识别的第二路由器;以及 识别相应于通信网络的运送路径; 其中识别相应于所述路由器层级的第二级的所述第二路由器基于与所接收的数据分组相关的所述目的地址的子集与选定的路由器的关联;以及 其中识别所述运送路径基于与进入的分组相关的目的地址的第二子集与选定的第二路由器的关联。
31.如权利要求30所述的方法,其中相应于所述路由器层级的所述第二级的所述一个或多个路由器部件中的每个被分配以相应于与所述进入的分组相关的所述目的地址的所述第二子集的部分。
32.如权利要求31所述的方法,其中来自所述路由器层级的所述第二级的路由器的关联基于至少可能的目的地址的实质上相等的分配。
33.如权利要求31所述的方法,其中来自所述路由器层级的所述第二级的路由器的关联基于目的地址的流量的相关性。
34.如权利要求31所述的方法,其中来自所述路由器层级的所述第二级的路由器的关联基于目的地址的流量的相关性和其余目的地址的相等分配的组合。
35.如权利要求31所述的方法,其中来自所述路由器层级的所述第二级的路由器中的每个与阈值数量的目的地址相关,且其中来自所述路由器层级的所述第二级的路由器的关联基于大于与所述路由器层级的所述第二级相关的目的地址的所述阈值数量的数量的分配。
36.如权利要求31所述的方法,其中来自所述路由器层级的所述第二级的路由器的关联基于目的地址的低流量的相关性。
37.如权利要求31所述的方法,其中来自第二组路由器部件的路由器的关联包括对目的地址的相同子集的多个路由器的分配。
38.如权利要求30所述的方法,其中第一组逻辑部件根据随机选择、循环复用选择、散列选择和载荷平衡之一来选择。
39.如权利要求30所述的方法,其中所述目的地址相应于IP地址。
40.如权利要求30所述的方法,其中所述运送路径相应于外部运送部件。
41.如权利要求30所述的方法,其中所述运送路径相应于通信网络。
全文摘要
提供了分层的分布式路由架构,其包括用于接收、处理和在网络部件之间转发数据分组的至少两级或层。核心级路由器部件从网络部件接收进入的分组,并基于处理与所接收的分组相关的目的地址信息的子集来识别分布级路由器部件。分布级路由器部件接收转发的分组并将分组转发到相应的网络。与分布式路由环境相关的FIB的部分的映射或其它指配由路由器管理部件管理。
文档编号H04L12/56GK102771094SQ201080057229
公开日2012年11月7日 申请日期2010年12月15日 优先权日2009年12月17日
发明者大卫·J·奥马拉, 大卫·J·麦高克, 艾伦·M·贾奇, 詹姆斯·R·汉密尔顿, 贾斯廷·O·皮奇 申请人:亚马逊技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1