CN108243103A - 克洛斯织物网络中分配路由协议信息的装置、系统和方法 - Google Patents
克洛斯织物网络中分配路由协议信息的装置、系统和方法 Download PDFInfo
- Publication number
- CN108243103A CN108243103A CN201710179667.6A CN201710179667A CN108243103A CN 108243103 A CN108243103 A CN 108243103A CN 201710179667 A CN201710179667 A CN 201710179667A CN 108243103 A CN108243103 A CN 108243103A
- Authority
- CN
- China
- Prior art keywords
- node
- level
- packet
- configuration level
- configuration
- 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.)
- Granted
Links
Classifications
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- 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/32—Flooding
-
- 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/02—Topology update or discovery
-
- 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/02—Topology update or discovery
- H04L45/025—Updating only a limited number of routers, e.g. fish-eye update
-
- 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/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- 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/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- 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/26—Route discovery packet
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
Abstract
本公开涉及克洛斯织物网络中分配路由协议信息的装置、系统和方法。所公开的方法可以包括:(1)在第一节点处识别第一节点的预配置层级;(2)在第一节点处从第二节点接收邻居公告,其包括第二节点的预配置层级;(3)确定第一节点的预配置层级与第二节点的预配置层级之间的差值等于1;(4)基于差值等于1,在第一节点处记录第一节点与第二节点之间的相邻关系;(5)基于相邻关系,从第一节点向第二节点传输第一类型的路由协议包;以及(6)基于相邻关系,制止从第一节点向第二节点传输第二类型的路由协议包。还公开了各种其他装置、系统和方法。
Description
技术领域
本公开总体上涉及网络技术领域,更具体地,涉及克洛斯织物网络中分配路由协议信息的装置、系统和方法。
背景技术
克洛斯和胖树网络(Clos and Fat-Tree network)拓扑在当今的网络(尤其是当今的数据中心网络)中表现突出。典型的克洛斯网络可以是高度连接的多级网络,其中每一级处的节点连接至每个前级和/或后级中的所有节点。例如,典型的三级克洛斯网络可以包括三级节点,其中,中间级中的节点连接至网络的入口级和出口级中的所有节点。典型的胖树网络可以认为是克洛斯网络的特殊折叠形式,其使用叶-脊拓扑来配置。在典型的胖树网络中,网络中的每个叶节点(即,网络中的最低层级处的每个节点)可以连接至网络中的每个脊节点(即,网络中的最高层级处的每个节点)。例如,典型的三级胖树网络可以包括两个或更多个分支(或者交货点(PoD)),每个都具有克洛斯网络拓扑。在三级胖树网络的每个分支中,每个叶节点可以连接至分支中的每个中间层级节点,并且每个中间层级节点可以连接至网络中的每个脊。
不幸地,与限定的克洛斯网络相比,现有的基础路由协议(例如,开放最短路径优先(OSPF)路由协议、中间系统到中间系统(IS-IS)路由协议、增强内部网络路由协议(EIGRP)和边界网关协议(BGP))通常朝向具有不规则拓扑和低程度的连接的网络发展。自然解决高度连接克洛斯网络的基础路由解决方案的缺乏导致许多数据中心操作者通过随意地修改现有协议来创建可供选择的路由协议,总体具有混合的结果。因此,本公开识别并解决了用于在克洛斯织物网络(clos fabrics)中分配路由协议信息的系统和方法的需求。
发明内容
如下文更加详细描述的,本公开总体上涉及用于在克洛斯织物网络中分配路由协议信息的装置、系统和方法。在一个示例中,用于完成这种任务的装置可以包括:(1)存储设备,用于存储路由协议信息;以及(2)至少一个物理处理器,在克洛斯网络内的第一节点处通信地耦合至存储设备。在一些示例中,物理处理器可以(1)在克洛斯网络中的第一节点处,识别克洛斯网络中的第一节点的预配置层级;(2)在第一节点处,从克洛斯网络中的第二节点接收邻居公告,其包括克洛斯网络中的第二节点的预配置层级;(3)在第一节点处,确定第一节点的预配置层级与第二节点的预配置层级之间的差值等于1;(4)基于确定差值等于1,在第一节点处向存储设备记录第一节点与第二节点之间的相邻关系;(5)基于相邻关系,从第一节点向第二节点传输第一类型的路由协议包;以及(6)基于相邻关系,制止从第一节点向第二节点传输第二类型的路由协议包。
类似地,结合有上述装置的系统可以包括:(1)识别模块,存储在存储器中,用于在克洛斯网络的第一节点处识别克洛斯中的第一节点的预配置层级;(2)接收模块,存储在存储器中,用于在第一节点处从克洛斯网络中的第二节点接收邻居公告,其包括克洛斯网络中的第二节点的预配置层级;(3)确定模块,存储在存储器中,用于在第一节点处确定第一节点的预配置层级与第二节点的预配置层级之间的差值等于1;(4)记录模块,存储在存储器中,用于基于差值等于1,在第一节点处记录第一节点与第二节点之间的相邻关系;(5)传输模块,存储在存储器中,该传输模块(a)基于相邻关系从第一节点向第二节点传输第一类型的路由协议包以及(b)基于相邻关系制止从第一节点向第二节点传输第二类型的路由协议包;以及(6)至少一个物理处理器,用于执行识别模块、接收模块、确定模块、记录模块和传输模块。
对应方法可以包括:(1)在克洛斯网络的第一节点处识别克洛斯网络中的第一节点的预配置层级;(2)在第一节点处,从克洛斯网络中的第二节点接收邻居公告,其包括克洛斯网络中的第二节点的预配置层级;(3)在第一节点处确定第一节点的预配置层级与第二节点的预配置层级之间的差值等于1;(4)基于确定差值等于1,在第一节点处记录第一节点与第二节点之间的相邻关系;(5)基于相邻关系,从第一节点向第二节点传输第一类型的路由协议包;以及(6)基于相邻关系,制止从第一节点向第二节点传输第二类型的路由协议包。
根据本文描述的一般原理,任何上述实施例的特征可以相互组合。将在结合附图和权利要求阅读下文详细描述之后更加完整地理解这些和其他实施例、特征和优势。
附图说明
附图示出了多个示例性实施例并且作为说明书的一部分。与下文描述一起,这些附图示出和解释了本公开的原理。
图1是用于在克洛斯织物网络中分配协议路由信息的示例性系统的框图。
图2是用于在克洛斯织物网络中分配路由协议信息的示例性网络的框图。
图3是用于在克洛斯织物网络中分配路由协议信息的示例性方法的流程图。
图4是路由协议包的示例性交换的流程图。
图5是路由协议包的示例性交换的流程图。
图6是路由协议包的示例性交换的流程图。
图7是路由协议包的示例性交换的流程图。
图8是路由协议包的示例性交换的流程图。
图9是路由协议包的示例性交换的流程图。
图10是用于在克洛斯织物网络中分配路由协议信息的示例性系统的框图。
图11是能够实施本文描述和/或说明的一个或多个实施例和/或结合本文描述和/或说明的一个或多个实施例使用的示例性计算系统的框图。
在附图中,相同的参考符号和描述表示相似但不是必须相同的元件。虽然本文描述的示例性实施例容易具有各种修改和替换形式,但在附图中通过示例示出特定实施例并且将在本文进行详细描述。然而,本文描述的示例性实施例不用于限于公开的特定形式。相反,本公开覆盖了落入所附权利要求的范围内的所有修改、等效和替换。
具体实施方式
本公开描述了用于在克洛斯织物网络中分配路由协议信息的各种装置、系统和方法。如下文更详细解释的,通过一般地仅朝向胖树网络中的脊传播链接状态信息以及仅朝向胖树网络中的叶传播距离矢量信息,本公开的实施例可以减少必须由胖树网络中的节点交换和保持的路由信息和状态的量,以识别胖树网络内的路由。如下文更详细讨论的,本公开的实施例还可以提供各种其他优势和特征。
参照图1至图2,下文将提供用于在克洛斯织物网络中分配路由协议信息的示例性系统的详细描述。还将结合图3至图10提供对应的计算机实施方法的详细描述。此外,将结合图11提供能够实施本文描述的一个或多个实施例的示例性计算系统的详细描述。
图1是用于在克洛斯织物网络中分配路由协议信息的示例性系统100的框图。如该图所示,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。例如,如下文更详细说明的,示例性系统100可以包括识别模块104,其在克洛斯网络中的第一节点处识别克洛斯网络中的第一节点的预配置层级。示例性系统100还可以包括接收模块106,其在第一节点处从克洛斯网络中的第二节点接收邻居公告,其包括克洛斯网络中的第二节点的预配置层级。示例性系统100可进一步包括:确定模块108,其在第一节点处确定第一节点的预配置层级与第二节点的预配置层级之间的差值等于1;以及记录模块110,基于确定差值等于1,在第一节点处记录第一节点与第二节点之间的相邻关系。
此外,如下文更详细描述地,示例性系统100可以包括传输模块112,其(a)基于相邻关系从第一节点向第二节点传输第一类型的路由协议包,以及(b)基于相邻关系制止从第一节点向第二节点传输第二类型的路由协议包。在一些示例中,示例性系统100还可以包括生成模块114,其生成本文描述的各种路由协议包。尽管被示为独立的元件,但图1中的一个或多个模块102可以表示单个模块或应用的部分。
在特定实施例中,图1中的一个或多个模块102可以表示一个或多个软件应用或程序,当被计算设备执行时可以使得计算设备执行一个或多个任务。例如,如下文更详细描述的,一个或多个模块102可以表示软件模块,其可以被存储和配置以在一个或多个计算设备上运行,诸如图2所示的设备(例如,脊202、脊204、节点212、节点214、节点216、节点218、叶222、叶224、叶226和叶228)和/或图11中的计算系统1100。图1中的一个或多个模块102还可以表示被配置为执行一个或多个任务的一个或多个专用计算机中的所有或部分。如图1所示,示例性系统100还可以包括一个或多个路由协议包,诸如邻居公告120、链接状态包122、距离向量包124、北行距离矢量包126和南行距离矢量包128。
图1中的示例性系统100可以以各种方式来实施。例如,示例性系统100的所有或部分可以表示图2中的示例性网络200的部分。如图2所示,网络200可以包括脊202、脊204、节点212、节点214、节点216、节点218、叶222、叶224、叶226和叶228。在一些示例中,示例性网络200中的每个节点都可以用一个或多个模块102来编程。如图2所示,示例性网络200可以是胖树网络。虽然本文提供的示例示出了在胖树网络内起作用的公开系统和方法,但本文公开的系统和方法还可以在具有规则的、高度连接拓扑的任何网络内作用,诸如折叠蝴蝶、榕树(banyan)或欧米伽网络。
在一个实施例中,当被示例性网络200中的每个节点的至少一个处理器执行时,来自图1的一个或多个模块102可以使得示例性网络200中的每个节点在示例性网络200中分配路由协议信息。例如,如将在下文更详细描述的,一个或多个模块102可以使得节点212:(1)识别节点212的预配置层级;(2)在节点212处从脊202接收邻居公告,其包括脊202的预配置层级;(3)在节点212处确定节点212的预配置层级比脊202的预配置层级低一个层级;(4)基于确定节点212的预配置层级比脊202的预配置层级低一个层级,在节点212处记录节点212与脊202之间的相邻关系;(5)基于相邻关系,从节点212向脊202传输北行路由协议包;以及(6)基于相邻关系,制止从节点212向脊202传输南行路由协议包。
根据另一示例,一个或多个模块102可以使得节点212:(1)识别节点212的预配置层级;(2)在节点212处从叶222接收邻居公告,其包括叶222的预配置层级;(3)在节点212处确定节点212的预配置层级比叶222的预配置层级高一个层级;(4)基于确定节点212的预配置层级比叶222的预配置层级高一个层级,在节点212处记录节点212与叶222之间的相邻关系;(5)基于相邻关系,从节点212向叶222传输南行路由协议包;以及(6)基于相邻关系,制止从节点212向叶222传输北行路由协议包。
脊202、脊204、节点212、节点214、节点216、节点218、叶222、叶224、叶226和叶228均一般性地表示促进横跨数据中心和/或网络的通信和/或网络流量的任何类型或形式的设备、系统和/或机制。在一个示例中,脊202、脊204、节点212、节点214、节点216、节点218、叶222、叶224、叶226和叶228每个都可以表示路由器(诸如网关路由器)。在该示例中,脊202、脊204、节点212、节点214、节点216、节点218、叶222、叶224、叶226和叶228每个都可以促进和/或支持层3路由以及前向层2和/或层3流量。脊202、脊204、节点212、节点214、节点216、节点218、叶222、叶224、叶226和/或叶228的示例包括但不限于路由器、网关、开关、集线器、调制解调器、桥、中继器、多工器、网络适配器、网络接口、网络架、服务器、计算设备、在它们的一个或多个上运行的虚拟机、它们的一个或多个的一部分、它们的一个或多个的组合或变形、和/或任何其他适当的脊节点。如本文所使用的,术语“叶”和“叶节点”一般表示胖树网络的最低层级处的任何节点,其可以通过唯一地通过北行链接连接至脊。如本文所使用的,术语“脊”和“脊节点”一般表示仅可具有南行链接的胖树网络的最高层级处的任何节点。
如图2所示,示例性网络200可以被配置为具有三个层级的节点和两个分支的胖树网络。在该示例中,叶222、叶224、叶226和叶228可以表示示例性网络200的最低层级(即,网络200的层级0)处的节点;节点212、节点214、节点216和节点218可以表示示例性网络200的中间层级(即,网络200的层级1)处的节点;以及脊202和脊204可以表示示例性网络200的最高层级(即,网络200的层级2)处的节点。此外,节点212、节点214、叶222和叶224可以表示示例性网络200的左侧分支中的节点;以及节点216、节点218、叶226、和叶228可以表示示例性网络200的右侧分支中的节点。如图2所示,在与层级0节点相同的分支中,每个层级1节点都可以连接至每个层级2节点,并且每个层级0节点可以连接至每个层级1节点。
如图2所示,可以经由图2中的层级0节点获得各种网络前缀(network prefix)。例如,前缀232可以经由叶222获得,前缀234可以经由叶224获得,前缀236可以经由叶224或叶226获得,前缀238可以经由叶226获得,以及前缀240可以经由叶228获得。如本文所使用的,术语“前缀”一般表示任何互联网协议(IP)地址和/或子网掩码,其限定可以路由数据的网络目的地(例如,网络、子网络或主机的地址)。前缀可以存储在节点的路由表格中,并且每个都可以与一个或多个下一跳节点(通过其可以获得前缀)相关联。当在网络中的节点处接收到目的地为特定地址的数据包时,该节点可以通过其路由表格中与特定地址匹配的最长前缀并将数据包传输至与最长前缀相关联的下一跳节点来确定哪一个下一跳节点传送数据。
图3是用于在克洛斯织物网络中分配路由协议信息的示例性计算机实施方法300的流程图。图3所示的步骤可以通过任何适当的计算机可执行代码和/或计算系统来执行。在一些实施例中,图3所示的步骤可以通过图1中的系统100、图2中的系统200和/或图11中的计算系统1100的一个或多个部件来执行。
如图3所示,在步骤310处,本文描述的一个或多个系统可以在克洛斯网络中的第一节点处识别克洛斯网络中的第一节点的预配置层级。例如,作为图2中的节点212的一部分,识别模块102可以识别节点212的预配置层级。
本文描述的系统可以以任何适当的方式执行步骤310。一般地,本文描述的系统和方法能够使胖树网络中的每个节点预先分配给胖树网络中的单个层级(或层),并且识别模块104可以通过读取与该节点相关联的配置细节来识别节点所分配的层级。在一个示例中,本文描述的系统和方法能够使节点配置有单个数值,其表示该节点应该操作的胖树网络中的层级。例如,本文描述的系统和方法能够使节点分配层级0、1、2、3等。在一些示例中,层级0可以表示网络的最低或最南层级处的叶节点,并且每个更高层级的数可以表示网络的连续更高或更北层级中的节点。将图2用作示例,叶222、叶224、叶226和叶228均可以预配置有层级0;节点212、节点214、节点216和节点218均可以预配置有层级1;以及脊202和脊204均可以预配置有层级2。
在一些示例中,本文描述的系统和方法能够使节点预配置或制造有默认层级(例如,0)以简化节点的特定层级的部署。在其他示例中,本文描述的系统和方法能够使管理员将层级分配给节点。一般地,节点分配的层级与节点如何物理地连接至其他节点无关或者不受节点如何物理连接至其他节点的影响。如此,网络中的节点的层级不受错误布线(例如,错误地将层级0处的节点布线至层级2处的节点不会影响任何节点的预定层级)的影响。
在步骤320中,本文描述的一个或多个系统可以在第一节点处从克洛斯网络中的第二节点接收邻居公告,其包括克洛斯网络中的第二节点的预配置层级。例如,作为图2中的节点212的一部分,接收模块106可以从脊202接收包括脊202的预配置层级的邻居公告。
本文描述的系统可以以任何适当的方式执行步骤320。一般地,网络中的每个节点可以周期性地向其邻居(即,与节点直接连接的节点)广播邻居公告,并且作为特定节点的一部分,接收模块106周期性地接收来自节点邻居的邻居公告。如本文所使用的,术语“邻居公告”一般表示可以从网络中的节点向该节点的邻居发送且能够使该节点的邻居发现该节点和/或关于该节点的信息的路由协议包(例如,来自OSPF路由协议的HELL数据包)。在一些示例中,邻居公告可以包括节点的标识符、节点的预配置层级和/或可以描述该节点的任何其他信息。
将图4用作示例,脊202、脊204、叶222和叶224可以周期性地分别向节点212发送邻居公告402、404、406和408;并且作为节点212的一部分,接收模块106可以接收邻居公告402、404、406和408。在该示例中,邻居公告402可以包括脊202的标识符和脊202的预配置层级(在该示例中为层级2);邻居公告404可以包括脊204的标识符和脊204的预配置层级(在该示例中为层级2);邻居公告406可以包括叶222的标识符和叶222的预配置层级(在该示例中为层级0);以及邻居公告408可以包括叶224的标识符和叶224的预配置层级(在该示例中为层级0)。
在步骤330中,本文描述的一个或多个系统可以在第一节点处确定第一节点的预配置层级与第二节点的预配置层级之间的差值小于或等于1。例如,作为图2中的节点212的一部分,确定模块108可以确定节点212的预配置层级与叶222的预配置层级之间的差值等于1。在步骤340中,本文描述的一个或多个系统可以基于确定差值小于或等于1在第一节点处记录第一节点与第二节点的相邻关系。例如,作为图2中的节点212的一部分,记录模块110可以基于确定节点212的预配置层级与脊202的预配置层级之间的差值小于或等于1来记录节点212与脊202之间的相邻关系。
本文描述的系统可以以任何适当的方法执行步骤330和340。一般地,作为节点的一部分,确定模块108可以将节点的预配置层级与该节点的邻居(即,从其接收邻居公告的节点)的预配置层级进行比较,以识别与该节点具有相邻关系的一个或多个节点,并且记录模块110可以记录每个节点的识别相邻关系。如下文将更加详细说明的,本文描述的系统和方法可以使用两个节点之间的相邻关系来确定如何在两个节点之间交换路由信息。如本文所使用的,术语“相邻关系”一般表示形成在网络中的两个相邻节点(它们的预配置层级相同或相差1)之间的关系。每个节点的相邻关系都可以是三种类型中的一种:北行相邻关系、南行相邻关系和东/西相邻关系。预配置层级相等的两个节点之间的相邻关系可以认为对于两个节点来说都是东/西相邻关系。预配置层级相差1的两个节点之间的相邻关系可以认为是:对于具有较高预配置层级的节点来说为南行相邻关系,而对于具有较低预配置层级的节点来说为北行相邻关系。在至少一个示例中,本文描述的系统和方法仅可以形成两个节点之间的相邻关系(如果这两个节点在相同的PoD中)。
将图4用作示例,节点212可以具有四个相邻关系:与脊202的相邻关系、与脊204的相邻关系、与叶222的相邻关系以及与叶224的相邻关系。在该示例中,与脊202和204的相邻关系可以被节点212认为为北行相邻关系,以及与叶222和叶224的相邻关系可以被节点212认为是南行相邻关系。
在一些示例中,节点可以具有预配置层级比该节点本身的预配置层级高1个层级或低1个层级以上的邻居。例如,具有预配置层级0的叶节点可以错误地连接至层级2处的脊节点。在这些示例中,本文描述的系统和方法可以不创建两个这样节点之间的相邻关系,并且可以制止在节点之间交换任何路由协议包。通过以这种方式生成和使用相邻关系,本文公开的系统和方法可以自动地以不受节点的错误布线影响的方式构造胖树拓扑。
在步骤350和360中,本文描述的一个或多个系统可以基于相邻关系从第一节点向第二节点传输第一类型的路由协议包,同时还基于相邻关系制止从第一节点向第二节点传输第二类型的路由协议包。例如,作为图2中的节点212的一部分,基于节点212与脊202的相邻关系,传输模块112可以从节点212向脊202传输北行路由协议包,同时还制止从节点212向脊202传输南行路由协议包。
如本文所使用的,术语“路由协议包”一般表示在网络中的两个或更多个节点之间交换的任何信息,其能够使一个节点识别通过网络的路径(例如,最短路径),通过该数据可以被路由至任何网络目的地。路由协议包的示例包括但不限于链接状态数据包(可以类似于OSPF路由协议的链接状态公告和IS-IS路由协议的链接状态包)和距离矢量包(可以类似于BGP路由协议的距离矢量)。
如本文所使用的,术语“链接状态包”一般表示在网络中的两个节点之间交换并描述节点的相邻关系的任何信息、可经由节点获得的前缀、节点的预配置层级和/或关于节点的任何其他信息(例如,诸如防洪能力的特殊能力)。传统的链接状态路由协议(例如,OSPF和IS-IS)可以:(1)使网络中的每个节点向其邻居广播链接状态包,其描述节点的自身相邻关系和可经由该节点获得的前缀;以及(2)使网络中的每个其他节点每当接收到链接状态包时向北和向南输出(flood),使得网络中的每个节点的链接状态包被传播到网络中的每个其他节点。在网络中的每个节点接收到网络中的其他节点的链接状态包之后,网络中的每个节点都可以具有网络拓扑的完整画面,并且传统的链接状态路由协议可以使得网络中的每个节点计算用于网络中的每个前缀的最短路径树。如下文将更详细解释的,不同于传统的链接状态路由协议,本文描述的系统和方法可以仅在从胖树网络中的较低层级处的节点向胖树网络中的较高层级处的节点的北行方向上输出链接状态包,同时制止在从胖树网络中的较高层级处的节点向胖树网络中的较低层级处的节点的南行方向上输出链接状态包。以这种方式,本文描述的系统和方法可以减少胖树网络上的路由协议流量的量以及必须由网络中的每个节点保持的链接状态信息的量。在处于胖树网络中的特定层级处的节点接收到胖树网络中的每个较低层级节点的链接状态包之后,该节点可以具有低于特定层级的胖树网络拓扑的完整画面,并且本文描述的系统和方法可以使得该节点计算用于胖树网络中的该部分中的每个前缀的最短路径树。
如本文所使用的,术语“距离矢量包”一般是指由网络中的一个节点向其邻居发送的描述可经由该节点获得的前缀和/或到前缀的路径的成本的任何信息。传统的距离矢量路由协议(例如,BGP和EIGRP)可以使得网络中的节点:(1)确定什么前缀可经由该节点获得(可能经由从邻居节点接收的距离矢量包);以及(2)向其邻居传输描述可经由该节点获得的前缀的距离矢量包。当节点接收到来自其邻居的距离矢量包时,该节点可以在节点的路由表格中存储在距离矢量包中描述的前缀,其中与前缀相关联的下一跳节点作为邻居。如下文将更详细解释的,不同于传统的距离矢量路由协议,本文描述的系统和方法通常可以仅在从胖树网络中的较高层级处的节点向胖树网络中的较低层级处的节点的南行方向上传输距离矢量包,同时制止在从胖树网络中的较低层级处的节点向胖树网络中的较高层级处的节点的北行方向上传输距离矢量包。通过在南行方向上传播距离矢量包而非链接状态包,本文描述的系统和方法可以减少必须由胖树网络中的较低层级节点保持的链接状态信息的量。
一般地,本文描述的路由协议包可以被指定为北行路由协议包(即,应该仅从胖树网络中的较低层级处的节点向胖树网络中的较高层级处的节点发送的路由协议包)或南行路由协议包(即,应该仅从胖树网络中的较高层级处的节点向胖树网络中的较低层级处的节点发送的路由协议包)。
在一些示例中,本文描述的系统和方法可以将链接状态包指定为北行路由协议包。在这些示例中,传输模块112可以沿着节点的北行相邻关系传输链接状态包,同时制止沿着节点的南行相邻关系传输链接状态包。通过仅在胖树网络内的北行方向上传输链接状态包,本文描述的系统和方法能够使胖树网络中的特定层级处的节点:(1)得到该层级以下的胖树网络的拓扑的画面;以及(2)计算可经由胖树网络中的较低层级节点获得的前缀的最短路径路由。
将图5用作示例,作为叶222的一部分,生成模块114可以生成链接状态包502(其描述叶222和/或可经由叶222获得的前缀的相邻关系),并且作为叶222的一部分,传输模块112可以向网络200中的与叶222具有北行相邻关系的节点(即,节点212和214)传输链接状态包502。在该示例中,作为节点212的一部分,接收模块106可以接收来自叶222的链接状态包502。由于链接状态包502被指定为北行路由协议包,所以作为节点212的一部分,传输模块112可以沿着节点212的北行相邻关系输出链接状态包502,同时制止沿着节点212的南行相邻关系输出链接状态包502。例如,如图5所示,作为节点212的一部分,传输模块112可以向脊202和脊204传输链接状态包502,同时制止向叶224传输链接状态包502。
在一些示例中,本文描述的系统和方法可以指定链接状态包作为可由发起该链接状态包的节点南行传输但是仅由接收链接状态包的节点北行输出或反射的路由协议包(即,接收链接状态包的任何节点将制止沿着其南行相邻关系输出链接状态包)。在这些示例中,传输模块112可以输出或反射在一个节点处沿着该节点的北行相邻关系从北行相邻关系的节点处接收的任何链接状态包,同时制止沿着该节点的南行相邻关系输出或反射链接状态包。通过反射沿着节点的其他北行相邻关系从节点的北行相邻关系接收的链接状态包,本文描述的系统和方法可以使能具有北行相邻关系的节点以相互发现和学习。通过将北行方向上从胖树网络中的更高层级处的节点接收的链接状态数据包反射至该更高层级处的其他节点,本文描述的系统和方法能够使更高层级处的节点得到更高层级处的胖树网络的拓扑的画面。
将图6用作示例,作为脊202的一部分,生成模块114可以生成描述脊202和/或可经由脊202获得的前缀的相邻关系的链接状态包602,并且作为脊202的一部分,传输模块112可以向网络200中的与脊202具有南行相邻关系的节点(即,节点212、节点214、节点216和节点218)传输链接状态包602。在该示例中,作为节点212的一部分,接收模块106可以接收来自脊202的链接状态包602。由于链接状态包602已经被指定为可被南行传输但是仅北行输出或反射的路由协议包,所以作为节点212的一部分,传输模块112可以沿着节点212的北行相邻关系反射链接状态包602,同时制止沿着节点212的南行相邻关系输出链接状态包602。例如,如图6所示,作为节点212的一部分,传输模块112可以向脊204传输链接状态包602,同时制止向叶222或叶224传输链接状态包602。
在一些示例中,本文描述的系统和方法可以将距离矢量包指定为南行路由协议包。在这些示例中,传输模块112可以沿着节点的南行相邻关系传输距离矢量包,同时制止沿着节点的北行相邻关系传输距离矢量包。一般地,作为胖树网络中的每个节点的一部分,生成模块114可以独立地产生距离矢量包(其指示默认前缀(例如,“0/0”)以及可能的可经由节点获得的一个或多个分解前缀),并且传输模块112可以沿着节点的南行相邻关系传输距离矢量包,同时制止沿着节点的北行相邻关系传输距离矢量包。
将图7用作示例,作为脊202的一部分,生成模块114可以产生至少描述可经由脊202获得的默认前缀的距离矢量包702,并且作为脊202的一部分,传输模块112可以向网络200中与脊202具有南行相邻关系的节点(例如,节点212、节点214、节点216和节点218)传输距离矢量包702。类似地,作为脊204的一部分,生成模块114可以产生至少描述可经由脊204获得的默认前缀的距离矢量包704,向网络200中与脊204具有南行相邻关系的节点(即,节点212、节点214、节点216和节点218)传输距离矢量包704。在该示例中,作为节点212的一部分,接收模块106可以从脊202接收距离矢量包702以及从脊204接收距离矢量包704。作为节点212的一部分,生成模块114可以产生至少描述可经由节点212获得的默认前缀的距离矢量包706,并且作为节点212的一部分,传输模块112可以向网络200中与节点212具有南行相邻关系的节点(即,叶222和叶224)传输距离矢量包706,同时制止向网络200中与节点212具有北行相邻关系的节点(即,脊202和脊204)传输距离矢量包706。在该示例中,距离矢量包702、距离矢量包704和距离矢量包706的产生和传输可以以任何顺序发生(即,在距离矢量包702、距离矢量包704和距离矢量包706的产生和传输之间没有因果联系)。
本文描述的系统和方法在克洛斯织物网络中分配路由协议包的方式能够执行各种操作,诸如前缀的自动分解和/或链接状态公告输出的负载平衡。如上所述,本文描述的系统和方法可以使得胖树网络中的每个节点将至少描述可经由节点获得的默认前缀(“0/0”)的距离矢量包传输至胖树网络中与该节点具有南行相邻关系的每个节点。然而,在一些情况下,特定前缀可能不能经由节点的南行相邻关系获得。图8示出了这种情况。在该示例中,节点214与叶224之间的链接失败。因此,不能经由节点214的南行相邻关系获得前缀234和前缀236。如果节点212和节点214沿着其南行相邻关系仅公告默认前缀,则叶222可以通过节点214路由目的地为前缀234或前缀236的数据。为了防止发生这种情况,本文描述的系统和方法能使节点212分解前缀234和236。
在一个示例中,胖树网络中的节点可以通过以下方式自动地分解前缀:(1)识别可经由节点的南行相邻关系获得的一个或多个前缀;(2)确定不能经由其他节点的南行相邻关系获得的任何被识别前缀是否与该节点处于相同层级;以及(3)在由该节点传输的距离实例包中包括不可经由与该节点处于相同层级的其他节点的南行相邻关系获得的任何前缀。在一个示例中,胖树网络中的节点可以使用沿着节点的南行相邻关系在节点处接收的链接状态包识别可经由节点的南行相邻关系获得的一个或多个前缀。将图8用作示例,节点212可以使用从叶222和叶224接收的链接状态包识别可经由叶222和叶224获得的前缀232、234和236。在识别可经由节点的南行相邻关系获得的一个或多个前缀之后,该节点然后可以确定被识别的前缀是否不可经由与该节点处于相同层级的一个或多个其他节点的南行相邻关系获得。该节点可以使用以下数据包来确定前缀是否不可经由与该节点处于相同层级的另一节点的南行相邻关系获得:(1)前缀可通过其获得的较低层级节点的链接状态包,表示较低层级节点不与另一节点具有北行相邻关系;和/或(2)另一节点的链接状态包,其被较低层级节点反射到该节点并且表示前缀不可经由另一节点的南行相邻关系获得。将图8用作示例,节点212可以使用叶224的链接状态包(指示叶224不具有与节点214的北行相邻关系)或节点214的链接状态包((a)指示前缀234和前缀236不可经由节点224的南行相邻关系获得,(b)从节点214传输至叶222,以及(c)被叶222反射到节点212)确定前缀234和236不可经由节点214的南行相邻关系获得。在确定前缀234和236不可经由节点214的南行相邻关系获得之后,节点212可以在由节点212传输的距离矢量数据包中包括前缀234和236。
在一些示例中,本文描述的系统和方法可以从胖树网络中的一个层级到另一层级对链接状态包的输出进行负载平衡。如上所述,链接状态包可以指定为北行路由协议包。在一些示例中,当节点接收到来自较低层级节点的链接状态包时,节点可以沿着每个节点的北行相邻关系输出链接状态包。在一些情况下,胖树网络中的特定层级处的两个或更多个节点可以具有相同的南行相邻关系和相同的北行相邻关系。因此,两个节点都可以接收来自相同较低层级节点的链接状态包并且可以向相同的较高层级节点输出链接状态包,并且较高层级节点可以接收链接状态包的副本。将图2用作示例,节点212和214可以具有相同的南行相邻关系(例如,都具有与叶222的相邻关系和与叶224的相邻关系)和相同的北行相邻关系(例如,都具有与脊202的相邻关系和与脊204的相邻关系)。如此,节点212和214可以接收来自叶222和224的链接状态包,并且可以向脊202和脊204两者均输出这些链接状态包,并且脊202和脊204可以接收复制的链接状态包。
在一些示例中,当胖树网络中的特定层级处的两个或更多个节点具有相同的南行相邻关系和相同的北行相邻关系时,本文公开的系统和方法可以选择一个节点输出一些或所有的链接状态包来代替其他节点。将图2用作示例,在确定节点212和214具有相同的南行相邻关系和相同的北行相邻关系之后,本文公开的系统和方法可以选择节点212来将从叶222和224接收的链接状态包输出至脊202和脊204,并且可以使节点214停止输出这些数据包。可替换地,本文公开的系统和方法可以选择节点212将从叶222接收的链接状态包输出至脊202和204并且可以选择节点214将从叶224接收的链接状态包输出至脊202和脊204。为了确定胖树网络中的特定层级处的两个或更多个节点是否具有相同的南行相邻关系和相同的北行相邻关系,本文公开的系统和方法可以使用结合图6描述的反射机制。
在一些示例中,本文描述的系统和方法可以通过使用策略引导的距离矢量包使能胖树网络内的基于策略的流量转向(traffic-steering)功能。如本文所使用的,术语“策略引导的距离矢量包”一般表示以下距离矢量包:(1)描述可通过生成距离矢量包的节点获得的前缀;(2)包括在每一跳处严格单向增加的成本;以及(3)与确定距离矢量包和/或前缀如何应该被接收距离矢量包的节点处理的策略相关联。在一些示例中,与策略引导的距离矢量包相关联的策略可以指示接收策略引导的距离矢量包的节点应该或不应该在节点的路由表格中存储前缀、应该将特定成本与前缀相关联以使与前缀相关联的下一跳节点或多或少被优选、应该或不应该传播策略引导的距离矢量包和/或任何其他适当的动作。
在一些示例中,本文描述的系统和方法可以使用两种不同类型的策略引导的距离矢量包:北行策略引导的距离矢量包,其应该仅从胖树网络中较低层级处的节点发送至胖树网络中较高层级处的节点;以及南行策略引导的距离矢量包,其应该仅从胖树网络中较高层级处的节点发送至胖树网络中较低层级处的节点。一般地,当节点接收到北行策略引导的距离矢量包时,该节点可以:(1)根据与北行策略引导的距离矢量包相关联的策略来处理该北行策略引导的距离矢量包;(2)生成附加的北行策略引导的距离矢量包,其具有比在北行策略引导的距离矢量包中指示的成本更高的成本;以及(3)沿着节点的北行相邻关系传输附加的北行策略引导的距离矢量包,同时制止沿着节点的南行相邻关系(和节点的东行/西行相邻关系,如果存在这些相邻关系的话)传输附加的北行策略引导的距离矢量包。将图9用作示例,叶222可以初始地传输北行策略引导的距离矢量包902。当节点212接收到北行策略引导的距离矢量包902时,节点212可以:(1)根据与北行策略引导的距离矢量包902相关联的策略处理北行策略引导的距离矢量包;(2)根据北行策略引导的距离矢量包902生成北行策略引导的距离矢量包904,其具有的成本高于在北行策略引导的距离矢量包902中指示的成本;以及(3)将北行策略引导的距离矢量包904传输至脊202和脊204,同时制止将北行策略引导的距离矢量包904传输至叶222或叶224。在一些示例中,如果节点接收到来自其一个北行相邻关系的北行策略引导的距离矢量包,则该节点可以简单地忽略或丢弃该数据包。
一般地,当节点接收到南行策略引导的距离矢量包时,该节点可以:(1)根据与南行策略引导的距离矢量包相关联的策略处理南行策略引导的距离矢量包;(2)生成附加的南行策略引导的距离矢量包,其具有的成本高于在南行策略引导的距离矢量包中指示的成本;以及(3)沿着节点的南行相邻关系传输附加的南行策略引导的距离矢量包,同时制止沿着节点的北行相邻关系传输附加的南行策略引导的距离矢量包。将图10用作示例,脊202可以初始地传输南行策略引导的距离矢量包1002。当节点212接收到南行策略引导的距离矢量包1002时,节点212可以:(1)根据与南行策略引导的距离矢量包1002相关联的策略处理南行策略引导的距离矢量包1002;(2)根据南行策略引导的距离矢量包1002生成南行策略引导的距离矢量包1004,其具有的成本高于在南行策略引导的距离矢量包1002中指示的成本;以及(3)将南行策略引导的距离矢量包1004传输至叶222或叶224,同时制止将南行策略引导的距离矢量包1004传输至脊202和脊204。在一些示例中,如果节点接收到来自其南行相邻关系之一的南行策略引导的距离矢量包,则该节点可以简单地忽略或丢弃该数据包。
如上所述,通常通过仅朝向胖树网络中的脊传播链接状态信息以及仅朝向胖树网络中的叶传播距离矢量信息,本公开的实施例可以减少必须由胖树网络中的节点交换和保持以识别胖树网络内的路径的路由信息的量。
图11是能够结合本文描述和/或示出的一个或多个实施例实施和/或使用的示例性计算系统1100的框图。在一些实施例中,计算系统1100的所有或部分可以单独或结合其他元件执行参照图3在本文描述的一个或多个步骤,和/或作为用于执行参照图3描述的一个或多个步骤的装置。所有或部分计算系统1100还可以执行本文描述和/或示出的任何其他步骤、方法或处理,和/或作为用于执行和/或实施本文描述和/或示出的任何其他步骤、方法或处理的装置。在一个示例中,计算系统1100可以表示用于在胖树织物网络中分配路由协议包的装置。
计算系统1100广义地表示任何类型或形式的电负载,包括能够执行计算机可读指令的单或多处理器计算设备或系统。计算系统1100的示例包括但不限于工作站、笔记本电脑、客户端侧终端、服务器、分布式计算系统、移动设备、网络开关、网络路由器(例如,骨干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路由器等)、网络器具(例如,网络安全装置、网络控制装置、网络定时装置、SSL VPN(安全套接层虚拟私人网络)装置等)、网络控制器、网关(例如,服务网关、移动数据包网关、多接入网关、安全网关等)和/或任何其他类型或形式的计算系统或设备。
计算系统1100可以被编程、配置和/或以其他方式设计为符合一个或多个联网协议。根据特定实施例,计算系统1100可以被设计为与开放系统互连(OSI)参考模型的一个或多个层的协议一起工作,诸如物理层协议、链接层协议、网络层协议、传输层协议、会话层协议、呈现层协议和/或应用层协议。例如,计算系统1100可以包括根据通用串行总线(USB)协议、电气与电子工程师协会(IEEE)1394协议、以太网协议、T1协议、同步光联网(SONET)协议、同步数字体系(SDH)协议、集成服务数字网络(ISDN)协议、异步传输模式(ATM)协议、点对点协议(PPP)、以太网上点对点协议(PPPoE)、ATM上点对点协议(PPPoA)、蓝牙协议、IEEE802.XX协议、帧中继协议、令牌环协议、生成树协议和/或任何其他适当协议配置的网络设备。
计算系统1100可以包括各种网络和/或计算部件。例如,计算系统1100可以包括至少一个处理器1114和系统存储器1116。处理器1114通常表示任何类型或形式的处理单元,其能够处理数据或解释并且执行指令。例如,处理器1114可以表示专用集成电路(ASIC)、芯片上系统(例如,网络处理器)、硬件加速器、通用处理器和/或任何其他适当的处理元件。
处理器1114可以根据上文讨论的一个或多个联网协议来处理数据。例如,处理器1114可以执行或实施部分协议栈,可以处理数据包,可以执行存储操作(例如,对数据包进行排队用于稍后的处理)、可以执行终端用户应用,和/或可以执行任何其他处理任务。
系统存储器1116通常表示任何类型或形式的易失性或非易失性存储设备或介质,其能够存储数据和/或其他计算机可读指令。系统存储器1116的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其他适当的存储设备。尽管未要求,但在特定实施例中,计算系统1100可以包括易失性存储单元(例如,系统存储器1116)和非易失性存储设备(例如,主存储设备1132,如下文详细描述的)。系统存储器1116可以实施为网络设备中的共享存储器和/或分布式存储器。此外,系统存储器1116可以存储在联网操作中使用的数据包和/或其他信息。
在特定实施例中,示例性计算系统1100还可以包括除处理器1114和系统存储器1116之外的一个或多个部件或元件。例如,如图11所示,计算系统1100可以包括存储控制器1118、输入/输出(I/O)控制器1120和通信接口1122,每个均可以经由通信基础架构1112来互连。通信基础架构1112通常表示任何类型或形式的能够利于计算设备的一个或多个部件之间的通信的基础架构。通信基础架构1112的示例包括但不限于通信总线(诸如串行ATA(SATA)、工业标准架构(ISA)、外围部件互连(PCI)、PCI Express(PCIe)和/或任何其他适当的总线)和网络。
存储控制器1118通常表示任何类型或形式的能够处理存储器或数据或者控制计算系统1110的一个或多个部件之间的通信的设备。例如,在特定实施例中,存储控制器1118可以控制处理器1114、系统存储器1116和I/O控制器1120之间经由通信基础架构1112的通信。在一些实施例中,存储控制器1118可以包括直接存储接入(DMA)单元,其可以将数据(例如,数据包)传输至链接适配器或者传输来自链接适配器的数据。
I/O控制器1120通常表示任何类型或形式的能够协调和/或控制计算设备的输入和输出功能的设备或模块。例如,在特定实施例中,I/O控制器1120可以控制或促进计算系统1100的一个或多个元件(诸如处理器1114、系统存储器1116、通信接口1122和存储接口1130)之间的数据的传送。
通信接口1122广义地表示任何类型或形式的通信设备或适配器,其能够促进示例性计算系统1100与一个或多个附加设备之间的通信。例如,在特定实施例中,通信接口1122可以促进计算系统1100与包括附加计算系统的私人或公共网络之间的通信。通信接口1122的示例包括但不限于链接适配器、有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)和任何其他适当的接口。在至少一个实施例中,通信接口1122可以经由与网络(诸如互联网)的直接链接提供与远程服务器的直接连接。通信接口1122还可以间接地提供这种连接,例如通过局域网(诸如以太网)、个人局域网、广域网、私人网络(例如,虚拟私人网络)、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其他适当的连接。
在特定实施例中,通信接口1122还可以表示主机适配器,其被配置为促进计算系统1100与一个或多个附加网络或存储设备之间经由外部总线或通信信道的通信。主机适配器的示例包括但不限于小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE 1394主机适配器、高级技术配件(ATA)、并行ATA(PATA)、串行ATA(SATA)和外部SATA(eSATA)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口1122还能够使计算系统1100参加分布式或远程计算。例如,通信接口1122可以接收来自远程设备的指令,或者向远程设备发送指令用于执行。
如图11所示,示例性计算系统1100还可以包括经由存储接口1130耦合至通信基础架构1112的主存储设备1132和/或备份存储设备1134。存储设备1132和1134通常表示任何类型或形式的存储设备或介质,其能够存储数据和/或其他计算机可读指令。例如,存储设备1132和1134可以表示磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口1130通常表示任何类型或形式的用于在存储设备1132和1134与计算系统1100的其他部件之间传送数据的接口或设备。
在特定实施例中,存储设备1132和1134可以被配置为从和/或向可移除存储单元(其被配置为存储计算机软件、数据或其他计算机可读信息)读取和/或写入数据。适当的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存设备等。存储设备1132和1134还可以包括其他类似的结构或设备,用于允许计算机软件、数据或其他计算机可读指令被加载到计算系统1100中。例如,存储设备1132和1134可以被配置为读取和写入软件、数据或其他计算机可读指令。存储设备1132和1134可以是计算系统1100的一部分,或者可以是通过其他接口系统访问的独立设备。
许多其他设备或子系统可以连接至计算系统1100。相反,不需要存在图11所示的所有部件或设备来实践本文描述和/或说明的实施例。上文参考的设备和子系统还可以以不同于图11所示的方式来进行互连。计算系统1100还可以采用任何数量的软件、固件和/或硬件结构。例如,本文公开的一个或多个示例性实施例可以编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。术语“计算机可读介质”一般表示任何形式的设备、载体或介质,其能够存储或承载计算机可读指令。计算机可读介质的示例包括但不限于诸如载波的传输类型介质和非暂态型介质,诸如磁性存储介质(例如,硬盘驱动器和软盘)、光学存储介质(例如,压缩盘(CD)和数字视频盘(DVD))、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。
虽然前面的公开使用特定的框图、流程图和示例阐述了各个实施例,但本文描述和/或说明的每个框图部件、流程图步骤、操作和/或部件可以单独和/或统一地使用大范围的硬件、软件或固件(或任何它们的组合)结构来实施。此外,其他部件内包含的部件的任何公开本质上应该认为是示例性的,因为可以实施许多其他架构来实现相同的功能。
在一些示例中,图1中的系统100的所有或部分可以表示基于云计算或网络的环境的一部分。基于云计算和网络的环境可以经由互联网提供各种服务和应用。这些基于云计算和网络的服务(例如,作为服务的软件、作为服务的平台、作为服务的基础架构等)可以通过网络浏览器或其他远程接口来访问。本文描述的各种功能还可以提供网络切换能力、网关接入能力、网络安全功能、用于网络的内容高速缓存和传送服务、网络控制服务和/或其他联网功能。
此外,本文描述的一个或多个模块可以将数据、物理设备和/或物理设备的表示从一个转换为另一个。例如,本文引用的一个或多个模块可以接收将被转换的邻居公告,将邻居公告转换为相邻关系,向路由协议系统输出转换的结果,使用转换的结果以确定如何分配路由协议包,以及将转换的结果存储至相邻关系数据库。附加地或可选地,本文引用的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一个形式转换为另一形式。
本文描述和/或本文说明的步骤的处理参数和序列仅通过示例来给出,并且可以根据期望而改变。例如,虽然本文说明和/或描述的步骤可以以特定顺序来示出或讨论,但这些步骤不是必须以所示或所讨论的顺序来执行。本文描述和/或示出的各个示例性方法还可以省略本文描述或说明的一个或多个步骤或者包括除所公开步骤之外的附加步骤。
提供上文的描述以使本领域技术人员能够最佳地使用本文公开的示例性实施例的各个方面。这种示例性描述不是排他性的或者限于所公开的任何精确形式。在不背离本公开的精神和范围的情况下,可以实现许多修改和变化。本文公开的实施例应该认为在所有方面都是说明性的而非限制性的。应该参照所附权利要求及其等效物来确定本公开的范围。
除非另有指定,否则如说明书和权利要求所使用的,术语“连接至”和“耦合至”(和它们的衍生词)被构建为允许直接和间接(即,经由其他元件或部件)连接。此外,如说明书和权利要求所使用的,术语“一个”被构建为“至少一个”的含义。最后,为了方便使用,如说明书和权利要求所使用的,术语“包括”和“具有”(和它们的衍生词)可与词语“包含”交换并且具有相同的含义。
Claims (15)
1.一种方法,包括:
在克洛斯网络中的第一节点处识别所述克洛斯网络中的所述第一节点的预配置层级;
在所述第一节点处从所述克洛斯网络中的第二节点接收邻居公告,所述邻居公告至少包括所述克洛斯网络中的所述第二节点的预配置层级;
在所述第一节点处确定所述第一节点的预配置层级与所述第二节点的预配置层级之间的差值等于1;
基于确定所述差值等于1,在所述第一节点处记录所述第一节点与所述第二节点之间的相邻关系;
至少部分地基于所述相邻关系,从所述第一节点向所述第二节点传输第一类型的路由协议包;以及
至少部分地基于所述相邻关系,制止从所述第一节点向所述第二节点传输第二类型的路由协议包。
2.根据权利要求1所述的方法,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级;
所述第一类型的路由协议包包括链接状态包,每个链接状态包均包括描述所述克洛斯网络中的较低层级节点的至少一个相邻关系的信息,该较低层级节点产生所述链接状态包并且该较低层级节点的预配置层级比所述第一节点的预配置层级低至少一个层级;
从所述第一节点向所述第二节点传输所述第一类型的路由协议包包括:
在所述第一节点处从所述克洛斯网络中的较低层级节点接收链接状态包,该较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;并且
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级,从所述第一节点向所述第二节点输出所述链接状态包;
所述第二类型的路由协议包包括距离矢量包,每个距离矢量包均包括描述可经由所述第一节点获得的至少一个前缀的信息;并且
制止从所述第一节点向所述第二节点传输所述第二类型的路由协议包包括:
在所述第一节点处生成距离矢量包,所述距离矢量包包括描述可经由所述第一节点获得的至少一个前缀的信息;
向所述克洛斯网络中的一个或多个较低层级节点传输所述距离矢量包,所述一个或多个较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;并且
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级,制止向所述第二节点传输所述距离矢量包。
3.根据权利要求2所述的方法,还包括:
在所述克洛斯网络中的第三节点处生成附加链接状态包,所述第三节点的预配置层级与所述第二节点的预配置层级相同,所述附加链接状态包包括描述所述第三节点的相邻关系的信息;
从所述第三节点向所述第一节点传输所述附加链接状态包;
在所述第一节点处从所述第三节点接收所述附加链接状态包;
至少部分地基于所述第三节点的预配置层级等于所述第二节点的预配置层级,从所述第一节点向所述第二节点输出所述附加链接状态包;以及
制止向所述克洛斯网络中的预配置层级比所述第一节点的预配置层级低一个层级的任何较低层级节点输出所述附加链接状态包。
4.根据权利要求1所述的方法,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级;
所述第一类型的路由协议包包括距离矢量包,每个距离矢量包均包括描述可经由所述第一节点获得的至少一个前缀的信息;
从所述第一节点向所述第二节点传输所述第一类型的路由协议包包括:
在所述第一节点处生成距离矢量包,该距离矢量包包括描述可经由所述第一节点获得的至少一个前缀的信息;
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级,向所述第二节点传输所述距离矢量包;并且
制止向所述克洛斯网络中的预配置层级比所述第一节点的预配置层级高一个层级的任何较高层级节点传输所述距离矢量包;
所述第二类型的路由协议包包括链接状态包,每个链接状态包均包括描述所述克洛斯网络中的较低层级节点的至少一个相邻关系的信息,该较低层级节点产生所述链接状态包并且该较低层级节点的预配置层级比所述第一节点的预配置层级低至少一个层级;以及
制止从所述第一节点向所述第二节点传输所述第二类型的路由协议包包括:
在所述第一节点处从所述克洛斯网络中的较低层级节点接收链接状态包,该较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;并且
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级,制止向所述第二节点输出所述链接状态包。
5.根据权利要求4所述的方法,还包括:
在所述第一节点处从所述克洛斯网络中的第三节点接收第一附加链接状态包,所述第三节点的预配置层级比所述第一节点的预配置层级低一个层级,所述第一附加链接状态包包括描述所述第三节点与所述克洛斯网络中的第四节点之间的相邻关系的信息,所述第四节点的预配置层级等于所述第一节点的预配置层级;
在所述第一节点处从所述第二节点接收第二附加链接状态包,所述第二附加链接状态包:
不包括描述所述第二节点与所述第四节点之间的相邻关系的信息;以及
包括描述可经由所述第二节点获得的前缀的信息,其中从所述第三节点接收的所述第一附加链接状态包不包括指示所述前缀可经由所述第三节点获得的信息;
至少部分地基于在所述第二附加链接状态包中不存在描述所述第二节点与所述第四节点之间的相邻关系的信息来确定所述前缀不可通过所述第四节点获得;以及
响应于确定所述前缀不可通过所述第四节点获得,从所述第一节点向所述第三节点传输附加距离矢量包,所述附加距离矢量包指示所述前缀可经由所述第一节点获得,其中所述第三节点被配置为使用最长前缀匹配来对流量进行路由。
6.根据权利要求4所述的方法,还包括:
在所述第一节点处从所述克洛斯网络中的较低层级节点接收第一附加链接状态包,所述较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级,所述第一附加链接状态包:
从所述克洛斯网络中的预配置层级等于所述第一节点的预配置层级的相同层级节点产生;
被所述较低层级节点反射至所述第一节点;
包括描述所述相同层级节点的每个北行相邻关系的信息;并且
包括描述所述相同层级节点的每个南行相邻关系的信息;
响应于确定以下项来形成所述第一节点与所述相同层级节点之间的输出合作关系:
所述相同层级节点与所述第一节点具有相同的北行相邻关系;以及
所述相同层级节点与所述第一节点具有相同的南行相邻关系;
在所述第一节点处从所述较低层级节点接收第二附加链接状态包,所述第二附加链接状态包:
从所述较低层级节点产生;并且
包括描述所述较低层级节点的每个相邻关系的信息;
至少部分地基于所述输出合作关系,确定所述相同层级节点将向所述克洛斯网络中的较高层级节点输出所述第二附加链接状态包,所述较高层级节点的预配置层级比所述第一节点的预配置层级高一个层级;以及
在所述第一节点处至少部分地基于确定所述相同层级节点将向所述较高层级节点输出所述第二附加链接状态包来制止向所述较高层级节点输出所述第二附加链接状态包。
7.根据权利要求1所述的方法,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级;
所述第一类型的路由协议包包括北行策略引导的距离矢量包,每个北行策略引导的距离矢量包均包括:
描述可经由所述克洛斯网络中的较低层级节点获得的至少一个前缀的信息,所述北行策略引导的距离矢量包是从所述较低层级节点接收的且所述较低层级节点的预配置层级比所述第一节点的预配置层级低至少一个层级;
指示策略的信息;和
所述前缀的成本;以及
从所述第一节点向所述第二节点传输所述第一类型的路由协议包包括:
在所述第一节点处从所述克洛斯网络中的预配置层级比所述第一节点的预配置层级低一个层级的任何较低层级节点接收第一北行策略引导的距离矢量包;
在所述第一节点处向所述第一北行策略引导的距离矢量包应用所述策略;
根据所述第一北行策略引导的距离矢量包生成第二北行策略引导的距离矢量包;
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级,从所述第一节点向所述第二节点传输所述第二北行策略引导的距离矢量包;并且
制止向所述克洛斯网络中的预配置层级比所述第一节点的预配置层级低一个层级的任何较低层级节点传输所述第二北行策略引导的距离矢量包。
8.根据权利要求1所述的方法,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级;
所述第一类型的路由协议包包括南行策略引导的距离矢量包,每个南行策略引导的距离矢量包均包括:
描述可经由所述克洛斯网络中的较高层级节点获得的至少一个前缀的信息,所述南行策略引导的距离矢量包是从所述较高层级节点中接收的且所述较高层级节点的预配置层级比所述第一节点的预配置层级高一个层级;
指示策略的信息;和
所述前缀的成本;以及
从所述第一节点向所述第二节点传输所述第一类型的路由协议包包括:
在所述第一节点处从所述克洛斯网络中的预配置层级比所述第一节点的预配置层级高一个层级的任何较高层级节点接收第一南行策略引导的距离矢量包;
在所述第一节点处向所述第一南行策略引导的距离矢量包应用所述策略;
根据所述第一南行策略引导的距离矢量包生成第二南行策略引导的距离矢量包;
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级,从所述第一节点向所述第二节点传输所述第二南行策略引导的距离矢量包;并且
制止相所述克洛斯网络中的预配置层级比所述第一节点的预配置层级高一个层级的任何较高层级节点传输所述第二南行策略引导的距离矢量包。
9.一种系统,包括:
识别模块,存储在存储器中,用于在克洛斯网络的第一节点处识别所述克洛斯网络中的所述第一节点的预配置层级;
接收模块,存储在存储器中,用于在所述第一节点处从所述克洛斯网络中的第二节点接收邻居公告,所述邻居公告至少包括所述克洛斯网络中的所述第二节点的预配置层级;
确定模块,存储在存储器中,用于在所述第一节点处确定所述第一节点的预配置层级与所述第二节点的预配置层级之间的差值等于1;
记录模块,存储在存储器中,用于基于确定所述差值等于1,在所述第一节点处记录所述第一节点与所述第二节点之间的相邻关系;
传输模块,存储在存储器中,所述传输模块:
至少部分地基于所述相邻关系,从所述第一节点向所述第二节点传输第一类型的路由协议包;并且
至少部分地基于所述相邻关系,制止从所述第一节点向所述第二节点传输第二类型的路由协议包;以及
至少一个物理处理器,用于执行所述识别模块、所述接收模块、所述确定模块、所述记录模块和所述传输模块。
10.根据权利要求9所述的系统,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级;
所述第一类型的路由协议包包括链接状态包,每个链接状态包均包括描述所述克洛斯网络中的较低层级节点的至少一个相邻关系的信息,该较低层级节点产生所述链接状态包并且该较低层级节点的预配置层级比所述第一节点的预配置层级低至少一个层级;
所述接收模块进一步在所述第一节点处从所述克洛斯网络中的较低层级节点接收链接状态包,该较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级,所述传输模块通过从所述第一节点向所述第二节点输出所述链接状态包来从所述第一节点向所述第二节点传输所述第一类型的路由协议包;
所述第二类型的路由协议包包括距离矢量包,每个距离矢量包均包括描述可经由所述第一节点获得的至少一个前缀的信息;
所述系统还包括生成模块,所述生成模块存储在存储器中,所述生成模块在所述第一节点处生成距离矢量包,所述距离矢量包包括描述可经由所述第一节点获得的至少一个前缀的信息;以及
所述传输模块通过以下操作制止从所述第一节点向所述第二节点传输所述第二类型的路由协议包:
向所述克洛斯网络中的预配置层级比所述第一节点的预配置层级低一个层级的一个或多个较低层级节点传输所述距离矢量包;并且
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级,制止向所述第二节点传输所述距离矢量包。
11.根据权利要求10所述的系统,其中:
所述生成模块进一步在所述克洛斯网络中的第三节点处生成附加链接状态包,所述第三节点的预配置层级与所述第二节点的预配置层级相同,所述附加链接状态包包括描述所述第三节点的相邻关系的信息;
所述传输模块进一步从所述第三节点向所述第一节点传输所述附加链接状态包;
所述接收模块进一步在所述第一节点处从所述第三节点接收所述附加链接状态包;以及
所述传输模块进一步:
至少部分地基于所述第三节点的预配置层级等于所述第二节点的预配置层级,从所述第一节点向所述第二节点输出所述附加链接状态包;以及
制止向所述克洛斯网络中的预配置层级比所述第一节点的预配置层级低一个层级的任何较低层级节点输出所述附加链接状态包。
12.根据权利要求9所述的系统,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级;
所述第一类型的路由协议包包括距离矢量包,每个距离矢量包均包括描述可经由所述第一节点获得的至少一个前缀的信息;
所述系统还包括生成模块,所述生成模块存储在存储器中,所述生成模块在所述第一节点处生成距离矢量包,所述距离矢量包包括描述可经由所述第一节点获得的至少一个前缀的信息;
所述传输模块通过以下操作从所述第一节点向所述第二节点传输所述第一类型的路由协议包:
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级,向所述第二节点传输所述距离矢量包;并且
制止向所述克洛斯网络中的预配置层级比所述第一节点的预配置层级高一个层级的任何较高层级节点传输所述距离矢量包;
所述第二类型的路由协议包包括链接状态包,每个链接状态包均包括描述所述克洛斯网络中的较低层级节点的至少一个相邻关系的信息,该较低层级节点产生所述链接状态包并且该较低层级节点的预配置层级比所述第一节点的预配置层级低至少一个层级;
所述接收模块进一步在所述第一节点处从所述克洛斯网络中的较低层级节点接收链接状态包,该较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;以及
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级,所述传输模块通过制止向所述第二节点输出所述链接状态包来制止从所述第一节点向所述第二节点传输所述第二类型的路由协议包。
13.一种装置,包括:
存储设备,用于存储路由协议信息;以及
至少一个物理处理器,用于在克洛斯网络内的第一节点处通信地耦合至所述存储设备,其中所述物理处理器:
在所述克洛斯网络中的所述第一节点处识别所述克洛斯网络中的所述第一节点的预配置层级;
在所述第一节点处从所述克洛斯网络中的第二节点接收邻居公告,所述邻居公告至少包括所述克洛斯网络中的所述第二节点的预配置层级;
在所述第一节点处确定所述第一节点的预配置层级与所述第二节点的预配置层级之间的差值等于1;
基于确定所述差值等于1,在所述第一节点处将所述第一节点与所述第二节点之间的相邻关系记录至所述存储设备;
至少部分地基于所述相邻关系,从所述第一节点向所述第二节点传输第一类型的路由协议包;并且
至少部分地基于所述相邻关系,制止从所述第一节点向所述第二节点传输第二类型的路由协议包。
14.根据权利要求13所述的装置,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级;
所述第一类型的路由协议包包括链接状态包,每个链接状态包均包括描述所述克洛斯网络中的较低层级节点的至少一个相邻关系的信息,该较低层级节点产生所述链接状态包并且该较低层级节点的预配置层级比所述第一节点的预配置层级低至少一个层级;
所述物理处理器通过以下操作从所述第一节点向所述第二节点传输所述第一类型的路由协议包:
在所述第一节点处从所述克洛斯网络中的较低层级节点接收链接状态包,该较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;并且
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级,从所述第一节点向所述第二节点输出所述链接状态包;
所述第二类型的路由协议包包括距离矢量包,每个距离矢量包均包括描述可经由所述第一节点获得的至少一个前缀的信息;以及
所述物理处理器通过以下操作制止从所述第一节点向所述第二节点传输所述第二类型的路由协议包:
在所述第一节点处生成距离矢量包,所述距离矢量包包括描述可经由所述第一节点获得的至少一个前缀的信息;
向所述克洛斯网络中的一个或多个较低层级节点传输所述距离矢量包,所述一个或多个较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;并且
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级低一个层级,制止向所述第二节点传输所述距离矢量包。
15.根据权利要求13所述的装置,其中:
所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级;
所述第一类型的路由协议包包括距离矢量包,每个距离矢量包均包括描述可经由所述第一节点获得的至少一个前缀的信息;
所述物理处理器通过以下操作从所述第一节点向所述第二节点传输所述第一类型的路由协议包:
在所述第一节点处生成距离矢量包,所述距离矢量包包括描述可经由所述第一节点获得的至少一个前缀的信息;
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级,向所述第二节点传输所述距离矢量包;并且
制止向所述克洛斯网络中的预配置层级比所述第一节点的预配置层级高一个层级的任何较高层级节点传输所述距离矢量包;
所述第二类型的路由协议包包括链接状态包,每个链接状态包均包括描述所述克洛斯网络中的较低层级节点的至少一个相邻关系的信息,该较低层级节点产生所述链接状态包并且该较低层级节点的预配置层级比所述第一节点的预配置层级低至少一个层级;以及
所述物理处理器通过以下操作制止从所述第一节点向所述第二节点传输所述第二类型的路由协议包:
在所述第一节点处从所述克洛斯网络中的较低层级节点接收链接状态包,该较低层级节点的预配置层级比所述第一节点的预配置层级低一个层级;并且
至少部分地基于所述第一节点的预配置层级比所述第二节点的预配置层级高一个层级,制止向所述第二节点输出所述链接状态包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/390,356 | 2016-12-23 | ||
US15/390,356 US10044605B2 (en) | 2016-12-23 | 2016-12-23 | Apparatus, system, and method for distributing routing-protocol information in clos fabrics |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108243103A true CN108243103A (zh) | 2018-07-03 |
CN108243103B CN108243103B (zh) | 2020-12-04 |
Family
ID=58410207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710179667.6A Active CN108243103B (zh) | 2016-12-23 | 2017-03-23 | 用于在克洛斯网络中分配路由协议信息的装置、系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10044605B2 (zh) |
EP (1) | EP3340549B1 (zh) |
CN (1) | CN108243103B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526113A (zh) * | 2019-02-02 | 2020-08-11 | 中兴通讯股份有限公司 | 协议处理方法及装置、存储介质 |
CN112311673A (zh) * | 2019-07-24 | 2021-02-02 | 瞻博网络公司 | 在采用分段路由的网络中使用和处理每切片分段标识符 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10530873B1 (en) * | 2017-04-28 | 2020-01-07 | Cisco Technology, Inc. | Techniques for optimizing EVPN-IRB for IPv6-enabled data centers with top-of-rack deployments |
US10848417B2 (en) * | 2018-05-21 | 2020-11-24 | Cisco Technology, Inc. | Distance vector negative southbound topology information for routing in fat trees (RIFT) route |
US10785701B2 (en) * | 2018-06-26 | 2020-09-22 | Ciscot Technology, Inc. | Hybrid control plane entity for fat tree route disaggregation |
TWI813742B (zh) | 2018-08-23 | 2023-09-01 | 美商阿爾克斯股份有限公司 | 在網路路由環境中的非同步物件管理機制 |
US11089507B2 (en) | 2019-04-02 | 2021-08-10 | Cisco Technology, Inc. | Scalable reachability for movable destinations attached to a leaf-spine switching architecture |
US11038794B2 (en) | 2019-06-26 | 2021-06-15 | Cisco Technology, Inc. | Source-initiated distribution of spine node identifiers of preferred spine nodes for use in multicast path selection |
US11496391B1 (en) * | 2019-06-28 | 2022-11-08 | Juniper Networks, Inc. | Defining non-forwarding adjacencies in bipartite networks, such as Clos networks, having a level 2 backbone and level 1 nodes |
US11050679B1 (en) * | 2019-06-28 | 2021-06-29 | Juniper Networks, Inc. | Defining non-forwarding adjacencies in bipartite networks, such as Clos newtorks, having a level 2 backbone and level 1 nodes |
US11777844B2 (en) | 2020-07-03 | 2023-10-03 | Huawei Technologies Co., Ltd. | Distributing information in communication networks |
US11757753B2 (en) * | 2021-02-25 | 2023-09-12 | Huawei Technologies Co., Ltd. | Link state steering |
CN116032820A (zh) * | 2022-12-27 | 2023-04-28 | 天翼云科技有限公司 | 一种基于clos架构的数据中心网络架构搭建方法与系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026668A (zh) * | 2010-08-16 | 2013-04-03 | 瑞典爱立信有限公司 | 用于胖树网络的自动化业务工程 |
CN103957163A (zh) * | 2014-03-07 | 2014-07-30 | 哈尔滨工业大学深圳研究生院 | 一种基于胖树形高拓展性超立方体的网络拓扑结构 |
US20140376402A1 (en) * | 2013-06-19 | 2014-12-25 | Cumulus Networks, Inc. | Methods and systems for automatic generation of routing configuration files |
US20150124642A1 (en) * | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | Running link state routing protocol in clos networks |
CN104937892A (zh) * | 2013-01-23 | 2015-09-23 | 思科技术公司 | 多节点虚拟交换系统 |
CN104935506A (zh) * | 2014-03-21 | 2015-09-23 | 瞻博网络公司 | 可选择的服务节点资源 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7860392B2 (en) * | 2003-06-06 | 2010-12-28 | Dynamic Method Enterprises Limited | Optical network topology databases based on a set of connectivity constraints |
US8139508B1 (en) * | 2005-03-31 | 2012-03-20 | James Roskind | Self-forming network |
US7366111B2 (en) * | 2005-04-08 | 2008-04-29 | Cisco Technology, Inc. | Arrangement for providing optimized connections between peer routers in a tree-based ad hoc mobile network |
US8451744B2 (en) * | 2010-08-16 | 2013-05-28 | Cisco Technology, Inc. | Partitioning directed acyclic graph (DAG) topologies |
US9008092B2 (en) | 2011-10-07 | 2015-04-14 | Cisco Technology, Inc. | Route prefix aggregation using reachable and non-reachable addresses in a computer network |
US9178801B1 (en) * | 2012-06-27 | 2015-11-03 | Juniper Networks, Inc. | Automated service discovery in computer networks |
US9450817B1 (en) * | 2013-03-15 | 2016-09-20 | Juniper Networks, Inc. | Software defined network controller |
US9882804B2 (en) * | 2013-09-26 | 2018-01-30 | Cisco Technology, Inc. | Co-existence of a distributed routing protocol and centralized path computation for deterministic wireless networks |
US10230630B2 (en) * | 2015-10-02 | 2019-03-12 | Landis+Gyr Innovations, Inc. | Determining network rank for communication to neighboring nodes |
-
2016
- 2016-12-23 US US15/390,356 patent/US10044605B2/en active Active
-
2017
- 2017-03-23 CN CN201710179667.6A patent/CN108243103B/zh active Active
- 2017-03-23 EP EP17162646.8A patent/EP3340549B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026668A (zh) * | 2010-08-16 | 2013-04-03 | 瑞典爱立信有限公司 | 用于胖树网络的自动化业务工程 |
CN104937892A (zh) * | 2013-01-23 | 2015-09-23 | 思科技术公司 | 多节点虚拟交换系统 |
US20140376402A1 (en) * | 2013-06-19 | 2014-12-25 | Cumulus Networks, Inc. | Methods and systems for automatic generation of routing configuration files |
US20150124642A1 (en) * | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | Running link state routing protocol in clos networks |
CN103957163A (zh) * | 2014-03-07 | 2014-07-30 | 哈尔滨工业大学深圳研究生院 | 一种基于胖树形高拓展性超立方体的网络拓扑结构 |
CN104935506A (zh) * | 2014-03-21 | 2015-09-23 | 瞻博网络公司 | 可选择的服务节点资源 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526113A (zh) * | 2019-02-02 | 2020-08-11 | 中兴通讯股份有限公司 | 协议处理方法及装置、存储介质 |
CN111526113B (zh) * | 2019-02-02 | 2023-05-30 | 中兴通讯股份有限公司 | 协议处理方法及装置、存储介质 |
US11863653B2 (en) | 2019-02-02 | 2024-01-02 | Zte Corporation | Protocol processing method and storage medium |
CN112311673A (zh) * | 2019-07-24 | 2021-02-02 | 瞻博网络公司 | 在采用分段路由的网络中使用和处理每切片分段标识符 |
Also Published As
Publication number | Publication date |
---|---|
CN108243103B (zh) | 2020-12-04 |
EP3340549B1 (en) | 2021-02-17 |
EP3340549A1 (en) | 2018-06-27 |
US20180183706A1 (en) | 2018-06-28 |
US10044605B2 (en) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108243103A (zh) | 克洛斯织物网络中分配路由协议信息的装置、系统和方法 | |
CN103168445B (zh) | 用于虚拟网络中的可靠性和可用性设定的控制机制 | |
TW202026896A (zh) | 在網路路由環境中的非同步物件管理機制 | |
CN104380672B (zh) | 用于802.1aq的三级折叠Clos优化 | |
EP2928131B1 (en) | Systems and methods for multipath load balancing | |
CN107231304B (zh) | 用于使用最小转发信息库来转发网络流量方法、系统和装置 | |
CN107231307A (zh) | 用于防止数据中心架构内子网间流量转接的方法、系统和装置 | |
CN107733795B (zh) | 以太网虚拟私有网络evpn与公网互通方法及其装置 | |
CN104704779A (zh) | 用于加速软件定义网络中的转发的方法和设备 | |
TW202037127A (zh) | 具有分解式網路元件的邏輯路由器 | |
CN112448900A (zh) | 一种数据传输方法及装置 | |
CN104754025A (zh) | 可编程分布式联网 | |
CN110995602B (zh) | 用于负载平衡多播流量的系统和方法 | |
CN111835645B (zh) | 用于跨网络内的多个接口代理子网内流量的方法、系统和装置 | |
CN108270690A (zh) | 控制报文流量的方法和装置 | |
CN108574634A (zh) | 用于跨越共享标签的标签交换路径提供节点保护的装置、系统和方法 | |
CN105763439B (zh) | 一种多链接透明互联网络中数据中心的互联方法及装置 | |
CN110830394B (zh) | 一种基于RapidIO网络的路由表生成方法 | |
CN108400922B (zh) | 虚拟局域网络配置系统与方法及其计算机可读存储介质 | |
EP4207699A1 (en) | Service packet forwarding method, sr policy sending method, device, and system | |
US10999151B2 (en) | Apparatus, system, and method for topology discovery across geographically redundant gateway devices | |
CN110830598B (zh) | Bgp会话建立、发送接口地址和别名的方法及网络设备 | |
CN114124787A (zh) | 数据发送方法、装置、设备及混合网络 | |
CN113824633B (zh) | 园区网中路由发布方法及网络设备 | |
JP6440640B2 (ja) | 中継装置および経路選択方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |