CN103370910A - 利用链路聚合进行下一跳缩放的方法、系统和计算机可读介质 - Google Patents
利用链路聚合进行下一跳缩放的方法、系统和计算机可读介质 Download PDFInfo
- Publication number
- CN103370910A CN103370910A CN2011800653182A CN201180065318A CN103370910A CN 103370910 A CN103370910 A CN 103370910A CN 2011800653182 A CN2011800653182 A CN 2011800653182A CN 201180065318 A CN201180065318 A CN 201180065318A CN 103370910 A CN103370910 A CN 103370910A
- Authority
- CN
- China
- Prior art keywords
- grouping
- packet
- down hop
- packet handler
- outlet
- 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
Images
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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/60—Router architectures
-
- 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/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- 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/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
文中描述的主题包括利用链路聚合进行下一跳缩放的方法、系统和计算机可读介质。根据文中描述的主题的一个方案,提供了一种用于下一跳缩放的系统。所述系统包括分组转发设备,其包括用于执行下一跳和链路聚合组(LAG)选择操作的多个分组处理器。在所述多个分组处理器内,将入口分组处理器配置为:对于具有处于不同分组处理器上的下一跳的接收分组,指示需要出口下一跳选择操作。将所述多个分组处理器的出口分组处理器配置为:对于指示了出口下一跳选择操作的分组,执行出口下一跳和成员选择操作,其中,所述分组的转发局限于所述出口分组处理器本地的活动LAG组成员。
Description
优先权声明
本申请要求享有2010年11月19日提交的美国临时专利申请序列号61/415,643、2010年11月19日提交的美国专利申请序列号12/950,587,以及2010年12月17日提交的美国专利申请序列号12/972,391的权益;在此通过引用将其每者全文并入本文。
技术领域
本文描述的主题涉及分组转发设备。更具体而言,本文描述的主题涉及利用链路聚合改善了下一跳缩放的分组转发设备。
背景技术
地址解析协议(ARP)是在设备之间传送IP地址和MAC地址之间的绑定所遵循的协议。在设备需要向另一设备发送IP分组时,发送设备必须首先确定对应于下一跳(通往目的地的路径中的下一机器或者在下一机器为目的地的情况下为目的地本身)的IP地址的MAC地址。所述发送设备可以使用ARP来确定下一跳MAC地址。所述发送机器将具有下一跳IP地址的ARP请求广播给特定域内的所有机器,IP地址包含于该ARP请求中的机器则以该机器的MAC地址做出应答。一旦发送机器获得了下一跳MAC地址,所述发送机器将所述IP地址和MAC地址之间的绑定存储到存储器内,从而能够使用所述绑定将随后的分组转发给同一机器。
在一些分组转发架构内,单独通过入口分组处理器,即,与接收分组的分组转发设备的端口相关联的分组处理器,执行用于为所接收到的分组确定下一跳信息的查找。所述入口分组处理器执行基于所接收到的分组中的IP地址执行层3路由查找,从而不仅为所述分组识别分组转发设备中的目的地端口,还为所述分组识别目的地MAC地址。利用这样的针对全网流量设计的入口查找架构,由于以特定的主机为目的地的分组可能抵达分组转发设备的任意端口,因而与每一分组处理器相关联的存储器必须存储针对连接至所述分组转发设备的所有主机的整个ARP绑定集合。
由于可由每一分组处理器访问的存储器通常是有限的,因而能够连接至分组转发设备的主机的数量可能受到单个分组处理器可用的存储器的限制,这极大限制了分组转发设备的可缩放性(scalability)。例如,在每一分组处理器均具有固定量的用于存储ARP绑定的存储器的分组转发架构中,ARP表条目的最大数量受到单个分组处理器的存储量的限制,这是因为每一分组处理器必须存储相同的整个ARP绑定集合。换言之,每一分组处理器存储相同的整个ARP绑定集合的要求使得系统的可缩放性降低了因数1/(分组处理器的数量)。一旦达到了受单个分组处理器可用的ARP绑定存储空间限制的ARP表条目的最大数量,那么增加分组处理器不会提高分组转发设备能够服务的主机的数量。这样的限制是不希望的,尤其是在需要分组转发设备服务于大量的连接主机时。
在利用虚拟化时,出现了一种希望使分组转发设备服务于大量的连接主机的特定网络配置。在虚拟化环境中,单个物理主机可以配置有多个虚拟主机。每一虚拟主机具有其自身的独立操作系统、网络地址和MAC地址。每一虚拟主机将需要分组转发设备中的ARP绑定。因而,将很多物理主机连接至分组转发设备,其中每个物理主机包括多个虚拟主机,将进一步提高对可缩放的分组转发设备架构的需求。
因此,考虑到这些困难,需要用于下一跳缩放的方法、系统和计算机可读介质。然而,此外,尽管改进的下一跳缩放可以利用服务器虚拟化或者大的层2转发域来帮助具有大数据中心的客户,但是这些相同的客户还经常严重地依赖链路聚合(又称为端口负载共享)进行复原和负载平衡。链路聚合组(LAG)可以由相当于一个组的多个物理端口构成。客户对LAG行为存在两种预期,这是在所要开发的任何分布式IP下一跳缩放方法中都必须解决的:(1)从多个源到特定MAC地址(和网络地址)(或者从单个源到多个地址的)的分组可以利用LAG中的所有活动端口用于负载平衡;以及(2)在LAG中的端口下行或上行时,所述网络快速适应以实现预期(1)。
因此,对于所开发的任何用于下一跳缩放的方法和系统而言,都可能希望这样的开发不会妨碍这样的方法和系统结合链路聚合的能力。
发明内容
文中描述的主题包括利用链路聚合进行下一跳缩放的方法、系统和计算机可读介质。根据文中描述的主题的一个方案,提供了一种用于下一跳缩放的系统。所述系统包括分组转发设备,其包括用于执行下一跳和链路聚合组(LAG)选择操作的多个分组处理器。在所述多个分组处理器内,将入口分组处理器配置为:对于从分组转发设备的外部端口抵达的分组,执行下一跳和LAG成员选择操作。还将所述入口分组处理器配置为:对于具有处于不同分组处理器上的下一跳的接收到的分组,指示需要出口下一跳选择操作。将所述多个分组处理器的出口分组处理器配置为:对于指示了出口下一跳选择操作的分组,执行出口下一跳和成员选择操作,其中,所述分组的转发局限于所述出口分组处理器本地的活动LAG组成员。
可以利用具有存储于其上的可执行指令的非瞬时计算机可读介质实现文中描述的利用链路聚合的用于下一跳缩放的主题,所述指令在由计算机的处理器执行时控制所述计算机执行步骤。用于实现文中描述的主题的示范性计算机可读介质可以包括芯片存储设备、磁盘存储设备、可编程逻辑设备和专用集成电路。此外,实现文中描述的主题的计算机可读介质可以位于单个设备或计算平台上,或者可以跨越多个设备或计算平台分布。
附图说明
现在将参考附图描述文中描述的主题的优选实施例,其中:
图1是根据文中描述的主题的实施例的分组转发设备的方框图;
图2是示出了不存在经修改的链路聚合的分组转发设备中的表的方框图;
图3是根据文中描述的主题的实施例的具有经修改的链路聚合的分组转发设备的方框图;以及
图4是示出了根据文中描述的主题的实施例的利用链路聚合的下一跳缩放的示例性方法的流程图。
具体实施方式
文中描述的主题包括利用链路聚合的用于下一跳缩放的方法、系统和计算机可读介质。图1是示出了根据文中描述的主题的实施例的利用链路聚合实施下一跳缩放的示范性分组转发设备的方框图。参考图1,分组转发设备100可以具有层2交换能力和层3分组转发能力,其中,层2和层3是指OSI协议栈中的对应层。分组转发设备100包括多个输入/输出(I/O)模块102,每一模块具有至少一个端口104,用于向所连接的主机传送分组或者从其接收分组,所述主机例如为服务器、个人计算机、路由器等。每一I/O模块102包括分组处理器106和存储器108。每一分组处理器106利用存储在其相应的存储器108内的分组转发信息执行分组转发操作。在所示出的例子中,每一存储器108包括:用于存储层2分组转发信息的MAC转发数据库110,用于存储层3分组转发信息的层3最长前缀匹配或主机路由表112,用于存储出口端口、MAC地址和VLAN信息的下一跳表114,以及用于存储LAG信息的端口汇聚(trunk)表120,所述LAG信息包括LAG组的出口插槽和端口信息。
层3路由表112和下一跳表114的组合存储下一跳绑定(例如,ARP绑定)。例如,在层3路由表112中执行查找,以确定对应于接收到的分组中的目的地IP地址的下一跳标识符或索引。利用所述下一跳标识符或索引在下一跳表114中执行查找,该下一跳表114能够存储对应于目的地IP地址的MAC地址和VLAN信息。可替换地,如果目的地IP地址被连接至LAG,那么下一跳表114中的查找能够得到对端口汇聚表120的索引。端口汇聚表120包括对应于LAG组的条目,其中,对应于LAG组的条目包括用于LAG组成员的出口插槽和端口信息。每一分组处理器106可以基于分组参数值利用散列算法在LAG组成员当中进行选择,并且可以将所述分组转发至与所述出口插槽和端口相关联的分组处理器。然而,由于使用分布式ARP缩放,通过出口分组处理器也可以执行分组转发查找,并且用于在LAG组成员中进行选择的出口分组处理的散列算法可以不等同于入口分组处理器上的散列算法,可能出现在多个分组处理器中转发分组的回旋效应。文中描述的主题避免了当在LAG组成员中进行选择时的这种回旋效应,即使是在执行针对分布式ARP缩放的入口和出口分组转发查找时亦如此,下文将对此予以更为详细的描述。
除了I/O模块102之外,分组转发设备100包括交换结构116,其负责在I/O模块102之间以及在I/O模块102和交换管理模块118之间转发分组。交换管理模块118控制分组转发设备100的总体操作。此外,交换管理模块118可以参与IP路由协议,以填充层3路由表110,并且可以针对在层3路由表112中未填充条目的分组来执行慢路径转发查找。
分布式ARP缩放
利用分布式ARP缩放,ARP绑定可以跨越分组处理器分布,从而将主机的ARP绑定仅存储到连接所述主机的分组处理器的下一跳表中。分组处理器的下一跳表中针对未连接至该分组处理器的其他主机的条目可以表示为分组处理器使用的下一跳表中的中继条目。如果分组处理器(下文称为入口分组处理器)从外部端口接收到的分组导致与下一跳表中的中继条目匹配,那么将所述分组不经修改地转发至与所述出口端口相关联的分组处理器(下文中称为出口分组处理器)。出口分组处理器将在其L3路由表和下一跳表中执行查找,确定分组的MAC地址,替换所述分组中的MAC地址,以及转发来自分组转发设备100的分组。
例如,可以将不同I/O模块102上的下一跳表114配置为包含不同的下一跳信息。例如,既定的下一跳表114可以存储连接至与该下一跳表114相关联的分组处理器的主机的MAC地址,但不包含连接至其他分组处理器的主机的MAC地址。而所选择的下一跳表114则包含连接至其他分组处理器的主机的中继条目,其中,目的地端口识别出口I/O模块上作为先前未使用端口的“混合”端口。所述混合端口可以是未用于分组转发的任何端口。
在出口分组处理器接收到已由入口分组处理器进行中继的分组时,所述分组将包括指示目的地端口的结构报头(fabric header)。通过入口分组处理器将结构报头插入到分组上,从而使交换结构能够将所述分组引导至正确的出口分组处理器。如果结构报头出口端口参数指示混合端口,那么这样的参数将触发出口分组处理器在其L3路由表和下一跳表中执行查找,以确定所述分组的MAC地址以及所述分组的出口端口。之后,出口分组处理器将替换分组中的MAC地址,并转发来自分组转发设备100的分组。
应当注意,要求与每一分组处理器相关联的下一跳表仅存储用于系统中每一额外分组处理器的单个中继条目,而不管连接至其他分组处理器的主机的数量如何,这将极大降低每一分组处理器必须为连接至其他处理器的主机必须存储的数据量。还应当注意,与每一分组处理器相关联的L3路由表112彼此存在差异,以表明对应的下一跳表中的差异。在2010年11月19日提交的美国专利申请序列号12/950,587中公开了具有这样的ARP绑定的分布式布置的分组转发设备100的示范性配置,通过引用将该申请的公开内容全部并入本文。
由于能够将分组转发设备100配置为包括ARP绑定的分布式存储装置,而不是局限于可由单个分组处理器用于存储ARP绑定的存储装置,因而分组转发设备100能够连接的主机的数量受限于跨越所有分组处理器的可用于ARP绑定的存储总量。因而,与典型配置形成相比,这样的配置能够提供可缩放性的显著提升。此外,由于每一分组处理器负责直接连接的主机的全部ARP绑定,因而分组转发设备100能够服务的主机的数量随着分组处理器的数量而缩放。因此,能够通过添加额外的分组处理器而提高分组转发设备100的连通性。
因而,利用与出口分组处理器上的中继条目和出口下一跳查找相结合的ARP绑定的分布式存储,实现了改进的ARP缩放。可以利用文中描述的具有ARP缩放的分组转发设备极大地提高该分组转发设备能够服务的物理和/或虚拟主机的数量。例如,由于下一跳绑定的存储跨越分组处理器分布,因而能够服务的主机的数量受限于跨越所有分组处理器的总记忆存储空间,而不受限于单个分组处理器的记忆存储。例如,如果既定的分组转发设备具有四个分组处理器,那么所述分组转发设备能够容纳具有若干条目的分布式下一跳表,所述条目可以存储在四个分组处理器的组合存储空间内。能够存储的下一跳条目的总数将不会恰好等于一个分组处理器相应数量的四倍,因为中继条目占据入口分组处理器上的一些空间。此外,主机在分组处理器之间可以不是均匀分布的。因而,文中描述的主题使得分组转发设备更可缩放,这是因为增加额外的分组处理器允许服务更多的主机同时降低达到下一跳表条目的最大数量的可能性。
利用LAG的分布式ARP缩放
然而,如上所述,还希望将这样的改进的ARP缩放结合到还提供链路聚合用于复原和负载平衡的系统当中。增加链路聚合可能意味着,即使分组处理器从外部端口接收的分组导致与下一跳表中的中继条目匹配,但是如果所述中继条目与LAG相关联,那么仍然必须执行LAG成员选择操作。图2是分组转发设备100的更加详细的图示,其示出了在链路聚合配置当中使用的层3路由表112、下一跳表114和端口汇聚表120的示范性配置。为简单起见,图2中省略了图1所示的其余部件。在图2中,I/O模块102与分组转发设备100中的不同卡插槽相关联。在所示出的配置当中,单个I/O模块与插槽1相关联,单个I/O模块与插槽8相关联,以及单个I/O模块与插槽9相关联。出于这一例子的目的,还假定每一I/O模块包括单个分组处理器。然而,每一I/O模块和/或插槽使用多个分组处理器也应当被认定为处于文中描述的主题的范围内。
在所示的例子中,每一端口104具有相关联的端口号和插槽号。例如,1:48表示插槽1、端口48,8:21表示插槽8、端口21等。插槽1:端口48连接至主机200,插槽8:端口1连接至主机202,以及插槽9:端口48连接至主机204。类似地,分组转发设备100的其余端口作为LAG130一起连接至具有图2所示的IP地址/MAC地址组合的主机206。具体而言,插槽8:端口21、插槽8:端口22和插槽9:端口23中的每个经由L2交换机208连接至主机206。主机200、202、204和206可以是物理设备或者是物理设备和虚拟设备的组合。例如,主机200、202、204和206可以是有或者没有虚拟化软件的服务器、客户端计算机、路由器等。
如图2所示,LAG成员选择是通过如下完成的:向每一I/O模块102上的端口汇聚表120的条目查询意图用于与LAG130相关联的主机(例如,图2中的主机206)的所有下一跳。具体而言,例如,每一端口汇聚表120的条目0包含作为LAG130的成员的每一端口104的列表。应当注意,在这一配置中,端口汇聚表120中与每一I/O模块102和分组处理器相关联的条目是等同的,其中,每一端口汇聚表120包含用于作为连接至分组转发设备100的LAG130的成员的所有端口的条目,而不考虑成员连接的物理端口。
在没有分布式IP ARP缩放的情况下,入口分组处理器利用有关分组参数的散列从LAG130中的端口当中选择出口端口,出口分组处理器不执行任何ARP或LAG查找。然而,在如上文所述实施分布式ARP缩放时,入口分组处理器和出口分组处理器二者都在分组转发中发挥作用。由于涉及两个独立的分组处理器,因而在两分组处理器处利用常规的基于散列的LAG决策可能会出现上文提到的回旋问题。作为范例,参考图2,可以将来自主机200的分组意图用于传输至主机206。如果采用标准的LAG行为,那么入口分组处理器(插槽1上的I/O模块102a上的分组处理器)可以对分组进行散列,并选择插槽8上的出口端口8:21。之后出口分组处理器(插槽8上的I/O模块102b上的分组处理器)进行L3查找,以转发所述分组,并再次进行散列。如果散列算法在与I/O模块102a和102b相关联的分组处理器之间是不相同的,那么该第二散列可以选择又一不同的插槽上的出口端口,例如,插槽9上的端口9:23,只要新的出口端口也是LAG130的一部分即可。在从最终的处理器(例如,插槽9上的I/O模块102c上的分组处理器)输出之前访问中间分组处理器(例如,插槽8上的I/O模块102b上的分组处理器)的分组的这一“回旋效应”(如图2中被标识为路径P1的虚线所示)过度利用了交换背板带宽,因此是不希望出现的。
为了避免这样的效应,一种选择可以是在将唯一出口端口用于每一唯一IP目的地的情况下对端口汇聚表进行预编程,以执行一种准负载平衡。这种配置将避免“回旋效应”,但是其将不允许对于一个服务器的最佳负载共享,因为来自一个入口分组处理器上的所有端口且以一个主机为目的地的分组每次都将以同一端口为出口。这样的方案还要求在LAG上保持与每一出口端口相关联的主机的列表,因而无论何时当LAG端口上行或下行时都需要数以万计的端口汇聚表更新,或者无论何时当在LAG上添加或删除端口时就要再平衡各个主机。这种布置将不会对LAG变化提供快速反应。
或者,可以将系统配置为如图3所示在端口汇聚表中保持双LAG空间。对于用户利用前面板端口配置的每一LAG组而言,能够自动预备和保持单独的专用LAG组。这一专用LAG组可以包含前面板端口104或者分组处理器“混合端口”104a。无论何时对前面板LAG组做出更新时,都能够快速地更新所述专用LAG组。如果在本地分组处理器上没有活动的LAG端口,那么能够将所述专用LAG配置为包含对应于每一出口端口的混合端口号。然而,如果某一LAG端口在本地分组处理器上活动,那么能够将所述专用LAG配置为仅包含本地活动的前面板端口号。这种配置使得LAG组的最大数量减半(例如,从128变为64),但是其满足了两种客户预期:负载共享到分布式IP ARP条目的分组,以及对LAG中变化的快速反应。应当注意,只有分布式IP下一跳主机条目利用所述专用LAG组。其他转发数据库条目,例如层2MAC条目或多播条目,可以使用“标准”的LAG组,并且不受这种方法的影响。
就专用LAG组的具体实现而言,图3示出,每一端口汇聚表120除了具有包含既定LAG的成员的主要条目(例如,条目0)之外,每一端口汇聚表120还具有与对应的专用LAG相关联的补充条目(例如,条目64)。就像不同的下一跳表114对于每一I/O模块102可以是不同的,每一端口汇聚表120的补充条目也可以是不同的,以反映出对于从既定I/O模块102转发的分组而言既定LAG的哪些成员才是优选出口端口的差异。具体而言,每一端口汇聚表120的补充条目可以仅列出作为LAG的成员的端口的优选子集。
例如,在图3所示的布置中,根据预期,从端口1:48上的主机200到主机206的分组将跨越这些作为LAG的成员的端口(例如,8:21、8:22以及9:23)分布。如果这些端口中的任何端口要下行,那么所述分组将跨越其余的活动端口分布。此外,端口汇聚表120的补充条目可以列出对应于每一LAG成员的混合端口号,而不是精确地列出每一端口。例如,由于LAG中没有主机200本地的任何活动端口,因而端口汇聚表120a的补充条目仅包含对应于出口端口的混合端口号(例如,8:49和9:49)。通过这种方式,入口分组处理器只需识别出适当的出口分组处理器,而不是选择精确的出口端口。
此外,在单个I/O模块上包含多个LAG成员的情况下,可以将对应的混合端口号的多个实例列到端口汇聚表120a的补充条目内,以保持转发给LAG的每一成员的分组的均等分布。例如,端口汇聚表120a的条目64可以包含混合端口号8:49的两个实例,这是因为所述混合端口号与出口端口8:21和8:22都相关联。结果,根据与每一相应模块相关联的可能出口端口的2比1比率,转发至I/O模块102b的分组将倾向于是转发至I/O模块102c的分组的二倍。
相反,对于从端口8:1上的主机202到主机206的分组而言,优选的是仅选择同一分组处理器上的本地端口(即,8:21和8:22)。相应地,从端口汇聚表120b的补充条目中省略非本地端口(即,9:23)。类似地,从端口9:48上的主机204引导至主机206的分组可以优选总是以本地端口(即9:23)为出口。只有在端口9:23将下行时,从主机204到主机206的分组才会跨越端口8:21和8:22分布,这是因为在该分组处理器上没有任何本地端口保持活动。
图4是示出了根据文中描述的主题的实施例的利用链路聚合的用于下一跳缩放的示例性过程的流程图。参考图4,在步骤400中,下一跳信息在与分组转发设备中的不同分组处理器相关联的存储器之间分布,从而使与不同分组处理器相关联的存储器存储不同的下一跳绑定。例如,如图3所示,与每一分组处理器相关联的下一跳表(或者分组处理器参考的端口汇聚表)可以存储直接连接的主机的完整MAC地址,并且可以存储连接至其他分组处理器的主机的中继条目。
在步骤402中,在入口分组处理器处接收分组。所述分组具有与LAG相关联的下一跳。例如,再次参考图3,在插槽1:端口48处接收到的分组可以具有目的地IP地址23.1.1.89,其具有对应于连接至I/O模块102b和102c两者的LAG的下一跳。
返回图4,在步骤404中,对于与LAG的活动端口成员相关联的入口分组处理器,执行ARP查找以确定目的地MAC地址,并转发来自分组转发设备的分组。具体而言,从与入口分组处理器相关联的LAG的成员当中选择目的地MAC地址。
返回图4,在步骤406中,对于与LAG的活动端口成员不相关联的入口分组处理器,首先将所述分组中继至出口分组处理器。继续当前的例子,对于抵达插槽1:端口48的编址到23.1.1.89的分组,LAG成员选择操作将选择在对端口汇聚表120a的补充条目中列出的混合端口号之一,并基于这一选择将所述分组转发至插槽8分组处理器或者插槽9分组处理器。所述中继分组在其结构报头内将具有先前未使用的端口号(即,混合端口)。
返回图4,在步骤408中,在出口分组处理器处接收分组,所述结构报头中的混合端口地址触发ARP查找,以确定目的地MAC地址,并转发来自所述分组转发设备的分组。具体而言,从与出口分组处理器相关联的LAG的成员当中选择目的地MAC地址。继续当前例子,如果将被编址到23.1.1.89的分组转发至插槽8,那么第二LAG成员选择操作将在对端口汇聚表120b的补充条目中列出的插槽8:端口21或插槽8:端口22当中进行选择。将用对应于所选的出口端口的MAC地址和VLAN标记来代替所述分组中的MAC地址和VLAN标记。将利用所选择的端口从分组转发设备100转发分组。
尽管上文描述的主题涉及分布式ARP缩放,但是文中描述的主题不限于ARP缩放,在不背离文中描述的主题的范围的情况下,可以将其应用于任何种类的下一跳缩放。例如,在不背离文中描述的主题的范围的情况下,可以将文中描述的主题用于邻居发现绑定(等价于IPv6的ARP)的分布式存储。
应当理解,在不背离当前公开的主题的范围的情况下可以改变当前公开的主题的各种细节。此外,前述说明只是出于举例说明的目的,而不是出于限制的目的。
Claims (25)
1.一种利用链路聚合进行下一跳缩放的系统,所述系统包括:
分组转发设备,包括:
多个分组处理器,用于执行下一跳和链路聚合组(LAG)选择操作;
其中,将所述多个分组处理器中的入口分组处理器配置为:对于从所述分组转发设备的外部端口抵达的分组,执行链路聚合组(LAG)成员选择操作,并且还将所述入口分组处理器配置为:对于具有在不同分组处理器上的下一跳的接收到的分组,指示需要出口下一跳选择操作;并且
其中,将所述多个分组处理器中的出口分组处理器配置为:对于指示了出口下一跳选择操作的分组,执行出口下一跳和成员选择操作,并将所述分组的转发限制于所述出口分组处理器本地的活动LAG组成员。
2.根据权利要求1所述的系统,其中,与每一分组处理器相关联的存储器存储用于连接至其余分组处理器的下一跳的中继条目。
3.根据权利要求2所述的系统,其中,与每一分组处理器相关联的存储器存储用于其余分组处理器中的每一个的单个中继条目。
4.根据权利要求2所述的系统,其中,与入口分组处理器上的中继条目匹配的分组的接收触发出口分组处理器执行出口下一跳查找。
5.根据权利要求3所述的系统,其中,所述中继条目不存储连接至其余分组处理器的主机的MAC地址。
6.根据权利要求1所述的系统,其中,与每一分组处理器相关联的存储器仅为直接连接至每一分组处理器的下一跳存储MAC地址,从而将用于所有主机的下一跳绑定分布在与所有分组处理器相关联的存储器之间。
7.根据权利要求1所述的系统,其中,每一存储器存储:层3主机或者层3最长前缀匹配路由表,其将IP地址信息映射至下一跳信息;以及下一跳表,其将所述下一跳信息映射至层2分组转发信息。
8.根据权利要求7所述的系统,其中,对于层3主机或最长前缀匹配路由表和所述下一跳表可用的存储器是共享的。
9.根据权利要求8所述的系统,其中,每一存储器存储MAC转发数据库,所述MAC转发数据库存储连接至所述分组转发设备的主机的MAC和VLAN信息。
10.根据权利要求1所述的系统,其中,与所述分组处理器相关联的存储器存储用于实际主机和虚拟主机的下一跳绑定。
11.根据权利要求1所述的系统,其中,下一跳绑定包括地址解析协议(ARP)绑定。
12.根据权利要求1所述的系统,其中,下一跳绑定包括IPv6邻居发现绑定。
13.一种用于下一跳缩放的方法,所述方法包括:
将下一跳信息分布在与包括多个分组处理器的分组转发设备中的不同分组处理器相关联的存储器中,从而使与不同分组处理器相关联的存储器存储不同的下一跳绑定;
在入口分组处理器处接收分组,所述分组具有与链路聚合组(LAG)相关联的下一跳;
对于从所述分组转发设备的外部端口抵达的分组,执行链路聚合组(LAG)成员选择操作;
对于具有在不同分组处理器上的下一跳的接收到的分组,指示需要出口下一跳选择操作,并将所述分组中继至出口分组处理器;以及
对于指示了出口下一跳选择操作的分组,执行出口下一跳和LAG成员选择操作,其中,所述LAG成员选择操作将所述分组的转发限制于所述出口分组处理器本地的活动LAG组成员。
14.根据权利要求13所述的方法,其中,与每一分组处理器相关联的存储器存储用于连接至其余分组处理器的下一跳的中继条目。
15.根据权利要求14所述的方法,其中,与每一分组处理器相关联的存储器存储用于其余分组处理器中的每一个的单个中继条目。
16.根据权利要求14所述的方法,其中,与入口分组处理器上的中继条目匹配的分组的接收触发出口分组处理器执行出口下一跳查找。
17.根据权利要求15所述的方法,其中,所述中继条目不存储连接至其余分组处理器的主机的MAC地址。
18.根据权利要求13所述的方法,其中,与每一分组处理器相关联的存储器仅为直接连接至每一分组处理器的下一跳存储MAC地址,从而将用于所有主机的下一跳绑定分布在与所有分组处理器相关联的存储器之间。
19.根据权利要求13所述的方法,其中,每一存储器存储:层3主机或最长前缀匹配路由表,其将IP地址信息映射至下一跳信息;以及下一跳表,其将所述下一跳信息映射至层2分组转发信息。
20.根据权利要求19所述的方法,其中,对于所述层3主机或最长前缀匹配路由表和所述下一跳表可用的存储器是共享的。
21.根据权利要求20所述的方法,其中,每一存储器存储MAC转发数据库,所述MAC转发数据库存储连接至所述分组转发设备的主机的MAC和VLAN信息。
22.根据权利要求13所述的方法,其中,所述下一跳绑定包括地址解析协议(ARP)绑定。
23.根据权利要求13所述的方法,其中,所述下一跳绑定包括IPv6邻居发现绑定。
24.一种具有存储于其上的可执行指令的计算机可读介质,所述指令在由计算机的处理器执行时控制所述计算机执行以下步骤,包括:
在入口分组处理器处接收分组,所述分组具有与链路聚合组(LAG)相关联的下一跳;
对于从所述分组转发设备的外部端口抵达的分组,执行链路聚合组(LAG)成员选择操作;
对于具有在不同分组处理器上的下一跳的接收到的分组,指示需要出口下一跳选择操作,并将所述分组中继至出口分组处理器;以及
对于指示了出口下一跳选择操作的分组,执行出口下一跳和LAG成员选择操作,其中,所述LAG成员选择操作将所述分组的转发限制于所述出口分组处理器本地的活动LAG组成员。
25.一种用于地址下一跳缩放的系统,所述系统包括:
分组转发设备,包括:
用于执行分组转发操作的多个分组处理器;以及
与每一分组处理器相关联的存储器,所述存储器用于存储用于主机的下一跳绑定,其中,将入口分组处理器和与所述入口分组处理器相关联的存储器配置为将下一跳连接至与所述入口分组处理器分离的出口分组处理器的分组中继至所述出口分组处理器,并且其中,将接收到中继分组的出口分组处理器及其存储器配置为执行下一跳查找,从而为所述分组提供目的地MAC地址,并将所述分组转发至所述下一跳。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41564310P | 2010-11-19 | 2010-11-19 | |
US12/950,587 US8660118B2 (en) | 2010-11-19 | 2010-11-19 | Methods, systems, and computer readable media for next hop scaling |
US61/415,643 | 2010-11-19 | ||
US12/950,587 | 2010-11-19 | ||
US12/972,391 | 2010-12-17 | ||
US12/972,391 US8605726B2 (en) | 2010-11-19 | 2010-12-17 | Methods, systems, and computer readable media for next hop scaling with link aggregation |
PCT/US2011/061690 WO2012068579A2 (en) | 2010-11-19 | 2011-11-21 | Methods, systems, and computer readable media for next hop scaling with link aggregation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103370910A true CN103370910A (zh) | 2013-10-23 |
CN103370910B CN103370910B (zh) | 2016-05-18 |
Family
ID=46084698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180065318.2A Active CN103370910B (zh) | 2010-11-19 | 2011-11-21 | 利用链路聚合进行下一跳缩放的方法、系统和计算机可读介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2641360B1 (zh) |
CN (1) | CN103370910B (zh) |
WO (1) | WO2012068579A2 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8605726B2 (en) | 2010-11-19 | 2013-12-10 | Extreme Networks, Inc. | Methods, systems, and computer readable media for next hop scaling with link aggregation |
US8660118B2 (en) | 2010-11-19 | 2014-02-25 | Extreme Networks, Inc. | Methods, systems, and computer readable media for next hop scaling |
CN108259328B (zh) | 2017-08-30 | 2020-06-05 | 新华三技术有限公司 | 报文转发方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
CN1369991A (zh) * | 2002-04-01 | 2002-09-18 | 北京港湾网络有限公司 | 交换机捆绑端口分流方法及交换机芯片 |
CN1725761A (zh) * | 2005-06-10 | 2006-01-25 | 杭州华为三康技术有限公司 | 网络设备实现链路聚合的方法 |
US20070268915A1 (en) * | 2006-05-19 | 2007-11-22 | Corrigent Systems Ltd. | Mac address learning in a distributed bridge |
US20080240133A1 (en) * | 2007-03-28 | 2008-10-02 | Hiroshi Tanaka | Communication device, communication system, and lag management table management method used therefor |
US20100128729A1 (en) * | 2005-08-26 | 2010-05-27 | Alaxala Networks Corporation | Packet forwarding device with packet filter |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190696B1 (en) * | 2002-03-05 | 2007-03-13 | Force10 Networks, Inc. | System and method for distributing packets among a plurality of paths to a destination |
US8009668B2 (en) | 2004-08-17 | 2011-08-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for router aggregation |
-
2011
- 2011-11-21 EP EP11841306.1A patent/EP2641360B1/en active Active
- 2011-11-21 CN CN201180065318.2A patent/CN103370910B/zh active Active
- 2011-11-21 WO PCT/US2011/061690 patent/WO2012068579A2/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
CN1369991A (zh) * | 2002-04-01 | 2002-09-18 | 北京港湾网络有限公司 | 交换机捆绑端口分流方法及交换机芯片 |
CN1725761A (zh) * | 2005-06-10 | 2006-01-25 | 杭州华为三康技术有限公司 | 网络设备实现链路聚合的方法 |
US20100128729A1 (en) * | 2005-08-26 | 2010-05-27 | Alaxala Networks Corporation | Packet forwarding device with packet filter |
US20070268915A1 (en) * | 2006-05-19 | 2007-11-22 | Corrigent Systems Ltd. | Mac address learning in a distributed bridge |
US20080240133A1 (en) * | 2007-03-28 | 2008-10-02 | Hiroshi Tanaka | Communication device, communication system, and lag management table management method used therefor |
Also Published As
Publication number | Publication date |
---|---|
WO2012068579A3 (en) | 2012-10-04 |
EP2641360A2 (en) | 2013-09-25 |
EP2641360A4 (en) | 2016-11-02 |
EP2641360B1 (en) | 2018-03-21 |
CN103370910B (zh) | 2016-05-18 |
WO2012068579A2 (en) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728176B2 (en) | Ruled-based network traffic interception and distribution scheme | |
CN102771094B (zh) | 分布式路由架构 | |
KR101989333B1 (ko) | 소프트웨어 정의 네트워킹에서의 데이터 전달 방법, 기기 및 시스템 | |
CN107819663B (zh) | 一种实现虚拟网络功能服务链的方法和装置 | |
CN101601232B (zh) | 三层任播寻址 | |
US9497039B2 (en) | Agile data center network architecture | |
CN102726021B (zh) | 灵活的数据中心网络体系结构 | |
CN102763380B (zh) | 用于路由分组的系统和方法 | |
US20140112122A1 (en) | System and method for optimizing next-hop table space in a dual-homed network environment | |
CN104780088A (zh) | 一种业务报文的传输方法和设备 | |
KR20130137538A (ko) | 확장형 브리지 내의 멀티-호밍 | |
CN102067533A (zh) | 与虚拟接口相关联的端口分组 | |
CN104335537A (zh) | 用于层2多播多路径传送的系统和方法 | |
CN103155500A (zh) | 用于网络业务流的无状态负载平衡的方法、系统和计算机可读介质 | |
CN101729425B (zh) | Vrrp组网中流量发送的方法及设备 | |
EP2930893A1 (en) | Communication system, control apparatus, communication control method, transfer control method, and transfer control program | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN102447638A (zh) | 负载均衡的方法及转发设备 | |
CN108965134B (zh) | 报文转发方法及装置 | |
Cheng et al. | Application-aware SDN routing for big data networking | |
US8605726B2 (en) | Methods, systems, and computer readable media for next hop scaling with link aggregation | |
CN101534253A (zh) | 报文转发方法及装置 | |
WO2016095142A1 (zh) | 软件定义网络sdn中数据转发的方法、设备和系统 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
CN103370910B (zh) | 利用链路聚合进行下一跳缩放的方法、系统和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |