CN102474467B - 在通信网络中对分组进行选路的方法和设备 - Google Patents
在通信网络中对分组进行选路的方法和设备 Download PDFInfo
- Publication number
- CN102474467B CN102474467B CN201080037013.6A CN201080037013A CN102474467B CN 102474467 B CN102474467 B CN 102474467B CN 201080037013 A CN201080037013 A CN 201080037013A CN 102474467 B CN102474467 B CN 102474467B
- Authority
- CN
- China
- Prior art keywords
- clag
- address
- grouping
- downstream node
- node
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- 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
-
- 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/16—Multipoint 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/24—Multipath
-
- 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/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
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种方法和相关的网络节点,所述方法包括以下中的一个或更多:在网络节点处建立第一子链路聚合组(CLAG),其中,所述第一CLAG包括去往第一下游节点的至少一个链路;在网络节点处建立第二CLAG,其中,第二CLAG包括去往第二下游节点的至少一个链路;在网络节点处建立父链路聚合组(PLAG),其中,PLAG包括第一CLAG和第二CLAG;在网络节点处接收分组,其中,所述分组包括该分组的目的地址;确定所述分组的目的地关联于PLAG;以及,在第一CLAG和第二CLAG两者上都发送该分组。
Description
技术领域
此处公开的各种示例性实施例一般涉及通信网络中的分组选路和服务器负载均衡。
背景技术
在例如IP电视(IPTV)的许多客户端-服务器应用中,请求特定服务的客户端的数量可以相当多。因为任何计算机具有有限的处理能力,所以服务器在服务质量降级到不可接受水平之前可以仅向有限数量的客户端提供服务。随着活跃客户端数量的增多,简单地提供更快的服务器组件这一最显而易见的解决方案可以变得过分昂贵和技术上不可能达到。相应地,许多客户端-服务器应用提供多个冗余服务器以便容纳所有客户端请求。各种形式的负载均衡因而被用于确保没有任何单一服务器变得过分陷于向客户端请求提供服务的困境。
在一种基本形式的负载均衡中,可以提供多个服务器,以及客户端可以简单地选择一个服务器来处理请求。这在例如文件镜像的应用中可以见到,其中,在所述文件镜像中,提供所请求的文件的多个计算机的列表被呈现给用户,该用户然后简单地选取一个服务器来从其下载。可以提供例如所述服务器的当前状态或地理位置的其它信息,但处理该信息并做出根据情报的服务器选择是用户的责任。如果已选的服务器不提供所述客户端所期望的服务质量,则可以选择不同的服务器。
在另一种形式的服务器负载均衡中,客户端可以向多个服务器发送多个请求,以及简单地接受第一个到达的响应,丢弃掉任何后来到达的响应。再次地,由于所述请求必须被复制并发送到多个地址,这需要客户端方面的更多工作。组播协议可以被用于将单一请求发送到多个目的地,但再次地,该方法将负担施加到客户端、服务器和网络上。所述一个或多个服务器将需要知道其为之提供服务的每个客户端,并且加入由该客户端作为主人的组播组中。这是不切实际的。
在更高级形式的负载均衡中,中央服务器可以仲裁客户端将从哪个服务器接收服务。根据该方法,客户端可以将其请求发送到中央服务器,该中央服务器将然后确定向该客户端提供服务的合适的活动服务器。所述中央服务器可以然后要么以所指派活动服务器的地址响应于所述客户端,要么将初始请求传递给所述活动服务器。由此,该方法可以要求所述客户端实施不必要的会话建立,以及使所述客户端接触到服务器系统的内部运转的至少一部分。该方法可以还带有使服务器系统更易受到例如拒绝服务攻击等攻击的侵害的额外缺点。
另外,中央服务器将具有与任何其它计算系统一样的极限,以及同样可以接收到太多建立请求而不能高效处理。由此,在特别高客户端容量的应用中,可以要求多个中央服务器,以及所述问题变成递归的。因而必须实现另一种形式的负载均衡,以便确保没有任何中央服务器接收到多于其可以高效处理的更求。
相应地,存在对这样一种方法的需求,该方法在不会不必要地使客户端设备在请求服务时实施的方法复杂化的情况下,在多个服务器之间均衡服务器负载。另外,存在对这样一种方法的需求,该方法以对客户端设备基本不可见的方式均衡服务器负载。
任何网络系统的另一个可能的故障点在于连接网络节点的链路。此处通过引用而被并入的IEEE802.1AX提供链路聚合组(LAGs)来对抗该可能性。LAG由同一组两节点之间的多个链路组成。当在LAG上发送分组时,发送节点简单地选择组成该LAG的链路中的一个,以及在该所选择的链路上发送该分组。给予LAG标识符,所述标识符例如是其成员链路中的一个的MAC地址。这样,分组可以被在去往其目的地的多个链路中的一个上发送,其中,所述发送是以对除所述LAG的任意端点的两个设备之外的所有设备几乎不可见的方式。如果一个链路出故障,则分组仍然可以被在所述LAG中的剩余链路上发送。
尽管在对抗链路故障和提高传输速度时有效,但LAG无益于许多其它问题。LAG的运转非常简单,以及不是高度可定制的。由此,当设计修复网络问题和提高性能的新的和创造性方法时,LAG不是特别有帮助。相应地,存在另外的对这样的LAG实现的需求,所述LAG实现允许更高程度的功能性和可定制性。
本发明的前述目的和优点是可以通过各种示例性实施例达到的那些目的和优点的示例,并且不旨在是穷举性的或限制可以被实现的可能的优点。由此,各种示例性实施例的这些以及其它目的和优点将是从此处的描述中显而易见的,或者可以从实践如此处所收录的或鉴于对本领域的技术人员显而易见的任意变型而修改的各种示例性实施例来得知。相应地,本发明存在于此处所示和在各种示例性实施例中所描述的新颖方法、排列、组合和改进。
发明内容
鉴于当前对于一种以对客户端设备几乎不可见的方式在多个冗余服务器之间均衡服务器负载的方法的需求,各种示例性实施例的简短概括被呈现。在以下概括中可以做出一些简化和省略,其中,所述简化和省略旨在突出和引入所述各种示例性实施例的一些方面,而不旨在限制本发明的范围。在稍后部分中将跟随足以使本领域的技术人员可以形成和使用所述专利概念的对优选示例性实施例的详细描述。
各种示例性实施例涉及一种方法以及相关的网络节点,所述方法包括以下中的一个或更多:在所述网络节点处建立第一子链路聚合组(CLAG),其中,所述第一CLAG包括去往第一下游节点的至少一条链路;在网络节点处建立第二CLAG,其中,所述第二CLAG包括去往第二下游节点的至少一条链路;在所述网络节点处建立父链路聚合组(PLAG),其中,所述PLAG包括所述第一CLAG和所述第二CLAG;在所述网络节点处接收分组,其中,所述分组包括该分组的目的地址;确定所述分组的目的地关联于所述PLAG;以及,在所述第一CLAG和所述第二CLAG两者上都发送所述分组。
这样应该显而易见,各种示例性实施例使得能够将任意分组选路到一组服务器中的每一个,以及使得能够确定哪个服务器应当处理和/或对已接收分组做出响应。特别地,通过在包含于PLAG中的每个CLAG上发送分组,连接到所述CLAG的每个服务器将接收到所述分组的副本。由此,各种示例性实施例使得能够以对所述客户端设备几乎不可见的方式将分组传送到多个服务器。
附图说明
为更好地理解各种示例性实施例,做出对附图的引用,其中:
图1是用于将单播或组播分组选路到多个服务器的示例性网络的示意图;
图2是用于将单播或组播分组选路到多个服务器的示例性选路节点的示意图;
图3是用于存储与IP地址解析相关的数据的示例性数据排列的示意图;
图4是用于存储子链路聚合组配置的示例性数据排列的示意图;
图5是用于存储父链路聚合组配置的示例性数据排列的示意图;
图6是用于在多个服务器之间实施负载均衡的示例性网络的示意图;
图7是用于存储当前活跃服务器的已索引列表的示例性数据排列的示意图;
图8是用于将单播或组播分组选路到多个服务器的示例性方法的流程图;以及
图9是用于在多个服务器之间实施负载均衡的示例性方法的流程图。
具体实施方式
现在参考在其中相似数字指代相似部件或步骤的附图,公开了各种示例性实施例的宽泛方面。应当指出,尽管各种示例使用字母来表示各种网络地址,但这些字母起占位符作用,以及在实际运转中,根据合适的标准形成的有效网络地址将很可能出现。另外,尽管各种实施例此处特别地被描述为对IP分组进行选路,但本公开说明决不限于该协议。
图1是用于将单播或组播分组选路到多个服务器的示例性网络100的示意图。示例性网络100可以包括发送节点110、通信网络120、选路节点130以及许多接收节点140a、140b、140c。
发送节点110可以是与接收节点140a、140b、140c进行通信的设备。发送节点110可以例如充当客户端设备,以及为用户提供对可以由接收节点140a、140b、140c提供的服务的访问。更具体地,在各种示例性实施例中,发送节点110是个人或膝上电脑、无线电子邮件设备、手机、机顶盒或能够将分组发送到另一网络设备的任何其它设备。发送节点110可以关联于例如“D”的IP地址。发送节点110可以还关联于MAC地址。
通信网络120可以是用于在发送节点110与选路节点130之间提供数据通信的任何网络。通信网络120可以是分组交换或电路交换的。进一步地,通信网络120可以向与通信网络120进行通信的各种用户设备提供例如电话或互联网服务。
选路节点130可以是这样的设备,所述设备接收分组并根据其目的地址重传分组。更具体地,在各种示例性实施例中,选路节点130是分组路由器、网络交换机、多层交换机、服务器或能够读取地址并在关联于该地址的端口上转发分组的任何其它设备。选路节点130可以关联于至少一个MAC地址“T”。尽管很可能选路节点130关联于多个MAC地址,但为简单起见,此处T将被用于指代关联于选路节点130的MAC地址中的任意一个合适的MAC地址。
接收节点A-C140a、140b、140c可以是与发送节点110进行通信的网络设备。接收节点A-C140a、140b、140c可以是向用户节点110提供例如IP电话或文件存取的服务的服务器设备。更具体地,在各种示例性实施例中,接收节点A-C140a、140b、140c的每个可以是服务器、个人或膝上电脑、无线电子邮件设备、手机、机顶盒或能够从另一网络设备接收分组的任何其它设备。
接收节点A140a可以关联于IP地址A和例如U和V的许多MAC地址。接收节点B140b可以关联于IP地址B和例如W、X和Y的许多MAC地址。接收节点C140c可以关联于IP地址C和例如Z的许多MAC地址。应当显而易见,接收节点A-C140a、140b、140c的每个可以具有任意数量的网络接口以及因此任意数量的MAC地址,包括如示例性接收节点C140c的情况的单一MAC地址。接收节点A-C140a、140b、140c可以包括未耦合到选路节点130的额外网络接口,但为了此处描述的示例,MAC地址U、V、W、X、Y和Z每个都关联于连接到选路节点130的网络接口。
在已描述了网络100的部件的情况下,将提供网络100的运转的简短概括。应当显而易见,以下描述旨在提供网络100的运转的概述,以及因此是在一些方面的简化。下面将结合图2-5和8进一步详细描述网络100的详细运转。
根据各种示例性实施例,发送节点可以在通信网络120上发送分组。所述分组可以被寻址到IP地址A(即关联于接收节点A140a的IP地址),以及可以被在帧150a内传送到通信网络120中的下一个设备。选路节点130可以然后接收被寻址到MAC地址T的帧150b内的该分组。在确定该分组应当在哪个端口上被转发时,选路节点130可以读取该分组的IP地址,并且查阅其配置以确定怎样处理该分组。在该实例中,选路节点130可以确定其已被配置为,将被寻址到IP地址A的分组发送到全部三个接收节点140a、140b、140c。选路节点130可以然后选择将分组发送到接收节点A140a基于的链路、将分组发送到接收节点B140b基于的链路和将分组发送到接收节点C140c基于的链路。最终,选路节点130可以将帧150c发送到具有MAC地址U的接口、帧150d发送到具有MAC地址Y的接口、以及帧150e发送到具有MAC地址Z的接口。
由此,在发送节点110方面没有任何特别动作的情况下,由发送节点110发送到IP地址A的分组已在每个接收节点140a、140b、140c处被接收。接收节点140a、140b、140c现在自由确定接收节点140a、140b、140c的哪个(如果有的话)应当对分组做出响应。此处参考图6-7和9描述了用于确定哪个节点应当对所述分组做出响应的示例性方法。该过程可以是对于不特别依赖于IP的各种实施例类似的。在这些实施例中,由选路节点130接收的帧的净荷不管其是什么都可以被发送到接收节点140a、140b、140c的每个。
图2是用于将单播或组播分组选路到多个服务器的示例性选路节点200的示意图。示例性选路节点200可以对应于选路节点130,以及可以包括第一接口210、地址解析模块220、地址解析存储器230、链路聚合模块240、链路聚合控制存储器250以及多个接口260u-z。
接口210可以是这样的接口,所述接口包括硬件和/或被编码在机器可读存储介质中的可执行指令,其中,所述硬件和/或可执行指令被配置为在通信网络120上发送和接收数据。接口210可以耦合到通信网络120内的另一网络设备。
地址解析模块220可以包括硬件和/或机器可读存储介质中的可执行指令,其中,所述硬件和/或可执行指令被配置为确定如何根据分组的目的地址来对分组进行选路。例如,地址解析模块220可以从接口210接收分组并读取其目的地址。地址解析模块220可以然后查阅地址解析存储器230以确定关联于目的地址的下一跳地址。地址解析模块220可以最终将分组传递给链路聚合模块240从而其可以根据所述确定的下一跳地址来转发分组。
地址解析存储器230可以是能够存储目的地址与用于对分组进行选路的标识符之间的关联的任何机器可读介质。例如,地址解析存储器230可以是根据地址解析协议而实现的表,并且由此提供IP地址与MAC地址之间的关联。下面参考图3详细描述存储于地址解析存储器230中的数据的示例性实施例。
链路聚合模块240可以包括硬件和/或机器可读存储介质中的可执行指令,其中,所述硬件和/或可执行指令被配置为在合适的接口260u-z上发送分组。链路聚合模块240可以实现至少一个父链路聚合组(PLAG)和成员子链路聚合组(CLAG)。
CLAG可以被配置为包括去往另一网络节点的一个或更多链路。每个CLAG可以关联于CLAG标识符。该CLAG标识符可以是唯一标识符,或者其可以是关联于所包含链路中的一个的、例如其MAC地址的标识符。在运转时,当在CLAG上转发分组时,链路聚合模块240可以选择包含在CLAG中的链路中的一个,并且在仅该所选链路上发送分组。这样,建立了链路冗余,以及,如果CLAG中的一个链路出现故障,剩余链路可以被用于与所连接的网络节点通信。
PLAG可以被配置为包括多个CLAG。每个CLAG可以连接到不同的网络节点或相同的网络节点。PLAG可以关联于PLAG标识符,该PLAG标识符可以是唯一标识符,或者与CLAG标识符一样可以是所包含的CLAG中的一个。在运转时,当在PLAG上转发分组时,链路聚合模块240可以在每个成员CLAG上转发该分组。分组可以然后被根据如以上所描述的成员CLAG的正常运转来转发。由此,在PLAG上转发的分组将在来自每个成员CLAG的一个链路上被发送。当每个CLAG连接到不同网络节点时,每个网络节点将接收到分组的一个副本,以及可以然后相应地处理该副本。
根据图2中的示例性实施例,选路节点200被配置了一个PLAG和三个CLAG。第一CLAG使用MAC地址U作为标识符,以及包括接口260u、260v。第二CLAG使用MAC地址W作为标识符,以及包括接口260w、260x、260y。第三CLAG使用MAC地址Z作为标识符,以及包括接口260z。PLAG使用MAC地址U作为标识符,以及包括CLAG U、CLAG W和CLAG Z。
链路聚合控制存储器250可以是能够存储各种链路聚合组的配置的任何机器可读介质。链路聚合控制存储器250例如可以包含选路节点200上所配置的所有PLAG和CLAG的定义。下面参考图4-5进一步详细描述由链路聚合控制存储器250存储的数据的示例性实施例。
接口260u-z可以每个是这样的接口,所述接口包括硬件和/或被编码在机器可读存储介质中的可执行指令,其中,所述硬件和/或可执行指令被配置为发送和接收数据。每个接口260u-z可以耦合到多个网络节点中的一个。例如,接口260u、260v可以耦合到接收节点A140a;接口260w、260x、260y可以耦合到接收节点B140b;以及,接口260z可以耦合到接收节点C140c。
图3是用于存储与IP地址解析相关的数据的示例性数据排列300的示意图。数据排列300可以是例如存储于地址解析存储器230中的数据库中的表。可替换地,数据排列300可以是一系列链接的列表、数组或类似数据结构。由此应当显而易见,数据排列300是底层数据的抽象;可以使用适于存储该数据的任何数据结构。
数据排列300可以包括IP地址字段310、对应MAC地址字段320以及生存期(TTL)字段330。IP地址字段310可以被用于指示特定记录所对应于的IP地址。MAC地址字段320可以指示应当被用于将分组选路到对应IP地址的MAC地址。TTL字段330可以指示何时特定记录应当被从数据排列300删除。
作为示例,记录340指示,指定给IP地址A的分组应当在关联于MAC地址U的接口上被转发,以及,该映射应当生存到21:12:00为止,在该点时,记录340可以被删除。同样地,记录350指示,IP地址B也映射到MAC地址U,以及该映射应当生存到09:01:25为止。记录360指示,IP地址C也映射到MAC地址U,以及该映射应当生存到00:51:50为止。数据排列300可以包含大量另外的记录370.
图4是用于存储CLAG配置的示例性数据排列400的示意图。数据排列400可以例如是存储于链路聚合控制存储器250中的数据库中的表。可替换地,数据排列400可以是一系列链接的列表、数组或类似数据结构。由此应当显而易见,数据排列400是底层数据的抽象;可以使用适于存储该数据的任何数据结构。
数据排列400可以包括CLAG地址字段410和链路地址字段420。CLAG地址字段410可以指示CLAG记录所对应于的CLAG标识符。链路地址字段420可以指示关联于特定CLAG地址的MAC地址。
作为示例,CLAG记录430指示,CLAG被配置为使用MAC地址U作为标识符,以及包括关联于MAC地址U和V的接口。同样地,CLAG记录440指示,CLAG被配置为使用MAC地址W作为标识符,以及包括关联于MAC地址W、X和Y的接口。进一步地,CLAG记录450指示,CLAG被配置为使用MAC地址Z作为标识符,以及包括关联于MAC地址Z的接口。数据排列400可以包含大量另外的CLAG记录460。
图5是用于存储PLAG配置的示例性数据排列500的示意图。数据排列500可以例如是存储于链路聚合控制存储器250中的数据库中的表。可替换地,数据排列500可以是一系列链接的列表、数组或类似数据结构。由此应当显而易见,数据排列500是底层数据的抽象;可以使用适于存储该数据的任何数据结构。
数据排列500可以包括PLAG地址字段510和CLAG地址字段520。PLAG地址字段510可以指示PLAG记录所对应于的PLAG标识符。CLAG地址字段520可以指示关联于特定PLAG地址的CLAG标识符。
作为示例,PLAG记录530指示,PLAG被配置为使用MAC地址U作为标识符,以及包括由MAC地址U、W和Z标识的CLAG。数据排列500可以包含大量另外的PLAG记录540。
图6是用于在多个服务器140a、140b、140c之间实施负载均衡的示例性网络500的示意图。示例性网络600可以包括选路节点130、接收节点A-C140A、140B、140C和控制节点610.
控制节点610可以是这样的网络设备,所述网络设备能够保持接收节点140a、140b、140c关于哪些接收节点140a、140b、140c是活跃的信息是最新的。更具体地,在各种示例性实施例中,控制节点610可以是服务器、个人或膝上电脑、无线电子邮件设备、手机、电视机顶盒或能够与每个接收节点140a、140b、140c通信的任何其它设备。控制节点610可以维护活跃接收节点140a、140b、140c的列表,以及周期性地将该列表发送到接收节点140a、140b、140c。可替换地,控制节点610可以仅当接收节点140a、140b、140c变得活跃或不活跃时向接收节点140a、140b、140c发送消息,以及,接收节点140a、140b、140c可以然后相应地更新本地存储的活跃服务器列表。进一步可替换地,控制节点610可以根本不出现,以及接收节点140a、140b、140c可以通过相互之间的定期通信来维护本地活跃服务器列表。
接收节点140a、140b、140c可以全都实现这样的算法,所述算法使用当前活跃接收节点140a、140b、140c的列表来确定是否处理接收到的分组以及相应地做出响应。由此,假设每个接收节点140a、140b、140c在其当前活跃服务器列表中包含对全部三个接收节点140a、140b、140c的引用,当接收节点A140a接收到帧150c时,其可以使用公共算法来确定接收节点C140c应当对该分组做出响应。相应地,接收节点A140a可以忽略该分组。同样地,当接收节点B140b接收到帧150d时,其可以确定接收节点C140c应当对该分组做出响应,并且也忽略该分组。当接收节点C140c接收到帧150e时,其可以确定,根据算法其应当处理该分组并相应地做出响应。接收节点C140c可以因此发送寻址到IP地址D(即发送节点110的IP地址)的响应分组,并且将其封装在寻址到MAC地址T的帧620中。
图7是用于存储当前活跃服务器的已索引列表的示例性数据排列700的示意图。数据排列700可以例如是存储在接收节点140a、140b、140c的一个中的数据库中的表。可替换地,数据排列700可以是一系列链接的列表、数组或类似数据结构。由此应当显而易见,数据排列700是底层数据的抽象;可以使用适于存储该数据的任何数据结构。
数据排列700可以包括索引字段710和服务器ID字段720。索引字段710可以简单地包括对应于特定记录的号码。记录可以通过指定所期望记录的索引而被访问。服务器ID字段720可以包括针对接收节点140a、140b、140c中的一个的标识符。所述标识符可以例如是关联于所引用的接收节点140a、140b、140c的IP地址。
作为示例,服务器记录730可以通过号码0被索引到,并且将IP地址A处的节点(即接收节点A140a)识别为活跃服务器。同样地,服务器记录740可以通过号码1被索引到,并且将IP地址B处的节点(即接收节点B140b)识别为活跃服务器。服务器记录750可以通过号码2被索引到,并且将IP地址C处的节点(即接收节点C140c)识别为活跃服务器。数据排列700可以包含大量另外的记录760。
图8是用于将单播或组播分组选路到多个服务器的示例性方法800的流程图。方法800可以被选路节点130实施,以将分组转发到接收节点140a、140b、140c的每个。
方法800开始于步骤805以及继续进行到步骤810,其中,在步骤810处,选路节点130接收到分组。选路节点130可以然后分别在步骤815和820中确定分组的目的IP地址和将该目的IP地址解析为转发分组所基于的合适MAC地址。例如,选路节点130可以查阅地址解析存储器230以确定关联于目的IP地址的MAC地址。在确定用于转发分组的合适MAC地址之后,选路节点130可以在步骤825中确定该MAC地址是否关联于PLAG。
如果MAC地址标识了PLAG,则方法800可以继续进行到步骤830,其中,在步骤830处,选路节点130可以例如通过访问链路聚合控制存储器250中的关联于PLAG地址的PLAG记录来检索关联于该PLAG的CLAG的列表。选路节点130可以然后在步骤835处例如通过访问来自链路聚合控制存储器250的关联于第一个成员CLAG的CLAG记录来检索关联于所述CLAG列表中的第一个CLAG的链路的列表。选路节点130可以然后分别在步骤840和845中从该CLAG的链路列表中选择一个链路和将分组发送到该所选链路。方法800可以然后继续进行到步骤850,其中,在步骤850处,选路节点130可以确定其是否已到达CLAG地址列表的末尾。如果其还未到达,则方法800可以返回到步骤835,其中,在步骤835处选路节点130可以对于列表中的下一个CLAG重复步骤835-850.如果已到达列表的末尾,则方法800可以在步骤880中结束。这样,所接收分组的一个副本可以被在每个CLAG上发送。
如果在步骤825处确定MAC地址不标识PLAG,方法800可以移动到步骤855,其中,在步骤855处,选路节点130可以作为替代确定MAC地址是否关联于CLAG。如果是这样,则选路节点130可以分别在步骤860、865和870中检索关联于该CLAG的链路的列表、从该列表中选择一个链路以及将分组发送到所选链路。方法800可以然后在步骤880中结束。这样,选路节点130可以实现除PLAG功能之外的标准链路聚合功能。
如果选路节点130在步骤855处确定MAC地址不关联于CLAG,则选路节点130可以假设分组可以根据标准操作来进行选路。方法800可以继续进行到步骤875,其中,在步骤875处,选路节点130可以将分组发送到关联于目的IP地址的MAC地址,以及然后在步骤880中结束。
图9是用于在多个服务器之间实施负载均衡的示例性方法900的流程图。方法900可以被接收节点140a、140b、140c中的每个的部件独立地实施,以便确定是否处理所接收的分组并且相应地做出响应。
方法900可以在步骤905中开始,以及继续进程到步骤910,其中,在步骤910处,接收节点140a、140b、140c可以接收已被发送到全部接收节点140a、140b、140c的分组。接收节点140a、140b、140c可以然后在步骤915处从分组中提取一些字段和其它信息。被提取的信息可以例如包括源IP地址或业务请求的类型。方法900可以然后继续进行到步骤920,其中,在步骤920处,接收节点140a、140b、140c可以使用本领域的技术人员已知的任何方法根据已提取字段计算哈希值。在步骤925中,接收节点140a、140b、140c可以然后例如通过查阅本地存储的活跃服务器列表来确定总共多少个接收节点140a、140b、140c当前是活跃的。
接收节点140a、140b、140c可以然后在步骤930处使用哈希值和服务器总数来计算索引值。例如,接收节点140a、140b、140c可以使用活跃服务器总数对哈希函数实施取模运算。应当显而易见,这样获得了具有0和活跃服务器总数减1之间(包含0和活跃服务器总数减1)的值的索引值。接收节点140a、140b、140c可以然后在步骤935中访问活跃服务器列表中关联于所计算出的索引的条目。
在步骤940中,接收节点140a、140b、140c将确定已访问的条目标识其自己还是另一个接收节点140a、140b、140c。如果接收节点140a、140b、140c确定已访问的条目标识其自己,则方法900可以继续进行到步骤945,其中,在步骤945处,接收节点140a、140b、140c可以处理所接收的分组并且相应地做出响应。例如,如果所接收分组是IPTV系统中对于频道改变的请求,则接收节点140a、140b、140c可以通过向发送节点110发送新的频道来做出响应。方法900可以然后在步骤955处结束。另一方面,如果接收节点140a、140b、140c在步骤940中确定所访问条目标识不同的接收节点140a、140b、140c,则其可以在步骤950中简单地忽略该分组,以及方法900可以然后在步骤955中结束。应当显而易见,通过此处描述的方式,接收节点140a、140b、140c中的仅一个将处理并对每个已接收分组做出响应。
已描述了用于示例性网络100、600的运转的示例性部件和方法,现在将参考图1-9提供示例性网络100、600的运转的示例。
选路节点130的地址解析存储器230可以由数据排列300指示。选路节点130的链路聚合控制存储器250可以由数据排列400、500指示。控制节点610可以当前正在监视接收节点140a、140b、140c的状态,以及向接收节点140a、140b、140c的每个发送将全部接收节点140a、140b、140c指示为当前活跃的列表。相应地,每个接收节点140a、140b、140c可以当前包含由数据排列700指示的活跃服务器列表。
过程可以开始于发送节点110在帧150a内基于通信网络120发送具有目的IP地址A的分组。选路节点130可以接收帧150b内的分组。选路节点130的地址解析模块220可以然后确定分组的目的IP地址是A。通过访问地址解析存储器中的记录340,地址解析模块220可以确定IP地址A关联于MAC地址U。分组可以然后被传送到链路聚合模块240,其中,链路聚合模块240可以确定MAC地址U关联于PLAG。通过访问包含在链路聚合控制存储器250中的PLAG记录530,链路聚合模块240可以确定PLAG U包含CLAG U、CLAG W和CLAG Z。
链路聚合模块240可以然后访问CLAG记录430,以及确定接口地址U和V被包含在CLAG U中。链路聚合模块240可以然后选择接口地址U,以及经由接口260u在帧150c中将分组发送到接收节点A140a。移动到CLAG W,链路聚合模块可以访问CLAG记录440,以及从关联于CLAGW的三个接口地址结果列表中选择接口地址Y。链路聚合模块240可以然后经由接口260y在帧150d中将分组发送到接收节点B140b。最后,链路聚合模块可以访问记录450,从关联于CLAG Z的接口地址列表中选择接口地址Z,以及经由接口260z在帧150e中将分组发送到接收节点C140c。
在接收到分组后,每个接收节点140a、140b、140c可以通过首先从分组提取源IP地址和请求类型来确定是否对分组做出响应。例如,源IP地址可以是D,以及请求类型可以是对特定文件的请求。通过使用该信息,每个接收节点140a、140b、140c可以根据已提取的值计算出例如“0x4F31”的哈希值。每个接收节点140a、140b、140c可以然后例如通过计算数据排列700中的记录数来确定多少个服务器当前活跃。在本实例中,活跃服务器总数为3。每个接收服务器可以然后通过使用活跃服务器总数3对所述哈希值实施取模运算来获得计算出的索引2.
每个接收节点可以然后检索出服务器记录750,即具有索引2的服务器记录。接收节点A和B140a、140b可以两个都确定该服务器记录不标识其自己,以及由此可以简单地丢弃该分组。另一方面,接收节点C140c可以识别该服务器记录标识其自己,并且创建被寻址到IP地址D的响应分组。接收节点C140c可以然后在帧220内将该响应分组发送到发送节点110。
根据前述内容,各种示例性实施例提供以对客户端几乎不可见的方式在多个服务器之间均衡服务器负载。特别地,通过实现包括多个子链路聚合组的父链路聚合组,任何分组能够被在2层转发到位于每个CLAG末端的多个服务器。进一步地,通过实现跨全部服务器的选择算法,服务器能够快速和高效地确定应该处理分组的一个服务器。
从前面描述中应当显而易见,本发明的各种示例性实施例可以在硬件和/或固件中被实现。此外,各种示例性实施例可以作为存储于机器可读存储介质中的指令被实现,其中,所述指令可以被至少一个处理器读取和执行以实施此处详细描述的运转。机器可读存储介质可以包括用于以可被机器读的形式存储信息的任何装置,其中,所述机器例如是网络节点(例如路由器或交换机)。由此,机器可读存储介质可以包括只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备和类似存储介质。
尽管已特别参考其特定示例性方面详细描述了各种示例性实施例,但应当理解,本发明能够有其它实施例,以及其细节能够在各种显而易见的方面做出修改。如对本领域的技术人员显而易见的那样,只要仍然在本发明的精神和范围内,可以实现变型和修改。相应地,前述公开、描述和图是仅示例用途的,并且不以任何方式限制本发明,其中,本发明仅由权力要求定义。
Claims (10)
1.一种由网络节点在通信网络中对分组进行选路的方法,所述方法包括:
在所述网络节点处建立第一子链路聚合组CLAG,其中,第一CLAG包括去往第一下游节点的至少一个链路;
在所述网络节点处建立第二CLAG,其中,第二CLAG包括去往第二下游节点的至少一个链路;
在所述网络节点处建立父链路聚合组PLAG,其中,所述PLAG包括所述第一CLAG和所述第二CLAG;
在所述网络节点处接收分组,所述分组包括该分组的目的地址;
确定所述分组的所述目的地关联于所述PLAG;以及
在所述第一CLAG和所述第二CLAG上分别向第一下游节点和第二下游节点两者发送所述分组。
2.根据权利要求1的方法,其中,所述分组是单播分组。
3.根据权利要求1的方法,进一步包括:
将2层地址关联于所述PLAG;
将所述第一下游节点的地址关联于所述2层地址;以及
将所述第二下游节点的地址关联于所述2层地址,
其中,确定所述分组的目的地关联于所述PLAG的步骤包括确定所述分组的目的地址关联于所述2层地址,其中,将所述第一下游节点的地址和将所述第二下游节点的地址关联于所述2层地址的步骤两者都包括修改地址解析协议ARP表;以及其中,确定所述分组的目的地址关联于所述2层地址的步骤包括读取所述ARP表的条目,所述条目关联于所述分组的目的地址。
4.根据权利要求1的方法,其中,在所述第一CLAG和所述第二CLAG两者上都发送所述分组的步骤包括:
选择包含在所述第一CLAG中的至少一个链路的第一选择链路;
选择包含在所述第二CLAG中的至少一个链路的第二选择链路;
构造包括所述分组和关联于所述第一选择链路的地址的第一帧;
构造包括所述分组和关联于所述第二选择链路的地址的第二帧;
在所述第一选择链路上将所述第一帧发送到所述第一下游节点;以及
在所述第二选择链路上将所述第二帧发送到所述第二下游节点。
5.根据权利要求1的方法,进一步包括,在所述第一下游节点处:
接收经由所述PLAG接收帧的全部下游节点的列表,
根据所述列表确定下游节点的总数,
从所述网络节点接收第一帧,
从所述第一帧导出一块信息,
使用所述下游节点总数对所述一块信息实施数学运算,以获取结果索引,
确定所述结果索引是否对应于所述第一下游节点,
当所述结果索引对应于所述第一下游节点时,对所述第一帧做出响应,以及
当所述结果索引不对应于所述第一下游节点时,丢弃所述第一帧。
6.根据权利要求5的方法,进一步包括:
在所述第一下游节点处,按关联于每个下游节点的节点标识符的递增顺序将所有下游节点列表排列到数组中,
其中,确定所述结果索引是否对应于所述第一下游节点的步骤包括:从所述数组读取单元,其中,所述单元的索引等于所述结果索引,以及,确定所述单元是否包含所述第一下游节点的标识。
7.根据权利要求5的方法,其中,所述数学运算是取模运算。
8.根据权利要求5的方法,其中,从所述第一帧中导出一块信息的步骤包括根据所述第一帧的至少一个字段计算哈希值,以及其中,所述第一帧的所述至少一个字段包括源IP地址。
9.一种用于在通信网络中对分组进行选路的网络节点,其中,所述网络节点连接到第一下游节点和第二下游节点,所述网络节点包括:
接收分组的接口,所述分组包括目的地址;
多个接口,所述多个接口包括连接到所述第一下游节点的至少一个接口和连接到所述第二下游节点的至少一个接口;
链路聚合控制存储器,其存储:
第一子链路聚合组CLAG记录,包括第一CLAG标识符,以及所述多个接口中连接到所述第一下游节点的所述至少一个接口的标识,
第二CLAG记录,包括第二CLAG标识符,以及所述多个接口中连接到所述第二下游节点的所述至少一个接口的标识,以及
父链路聚合组PLAG记录,包括PLAG标识符、所述第一CLAG标识符以及所述第二CLAG标识符;
地址解析模块,其确定所述分组的目的地址关联于所述PLAG标识符;以及
链路聚合模块,其:
通过从所述链路聚合控制存储器检索所述PLAG记录而确定所述PLAG标识符关联于所述第一CLAG标识符和所述第二CLAG标识符,
从所述第一CLAG记录的接口的所述至少一个标识中选择第一选择接口,
从所述第二CLAG记录的接口的所述至少一个标识中选择第二选择接口,
在所述第一选择接口和所述第二选择接口两者上都转发所述分组。
10.根据权利要求9的网络节点,进一步包括:
地址解析存储器,其存储:
由所述第一下游节点的地址标识并且包括所述PLAG标识符的第一地址解析记录,以及
由所述第二下游节点的地址标识并且包括所述PLAG标识符的第二地址解析记录;以及
在确定所述分组的所述目的地址关联于所述PLAG标识符时,所述地址解析模块检索由所述分组的目的地址标识的地址解析记录。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/545,680 US8369332B2 (en) | 2009-08-21 | 2009-08-21 | Server-side load balancing using parent-child link aggregation groups |
US12/545,680 | 2009-08-21 | ||
PCT/US2010/045881 WO2011022475A1 (en) | 2009-08-21 | 2010-08-18 | Server-side load balancing using parent-child link aggregation groups |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102474467A CN102474467A (zh) | 2012-05-23 |
CN102474467B true CN102474467B (zh) | 2015-02-25 |
Family
ID=42731253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080037013.6A Expired - Fee Related CN102474467B (zh) | 2009-08-21 | 2010-08-18 | 在通信网络中对分组进行选路的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8369332B2 (zh) |
EP (1) | EP2467977A1 (zh) |
JP (1) | JP2013502840A (zh) |
KR (1) | KR101337039B1 (zh) |
CN (1) | CN102474467B (zh) |
WO (1) | WO2011022475A1 (zh) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8665886B2 (en) * | 2009-03-26 | 2014-03-04 | Brocade Communications Systems, Inc. | Redundant host connection in a routed network |
US9124513B2 (en) | 2009-09-30 | 2015-09-01 | At&T Intellectual Property I, L.P. | Load balancing multicast network traffic using virtual channels |
US8493846B2 (en) * | 2009-09-30 | 2013-07-23 | At&T Intellectual Property I, L.P. | Robust multicast broadcasting |
US8780911B2 (en) * | 2009-10-08 | 2014-07-15 | Force10 Networks, Inc. | Link aggregation based on port and protocol combination |
US8369335B2 (en) | 2010-03-24 | 2013-02-05 | Brocade Communications Systems, Inc. | Method and system for extending routing domain to non-routing end stations |
US9001824B2 (en) | 2010-05-18 | 2015-04-07 | Brocade Communication Systems, Inc. | Fabric formation for virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US8625616B2 (en) | 2010-05-11 | 2014-01-07 | Brocade Communications Systems, Inc. | Converged network extension |
US9231890B2 (en) | 2010-06-08 | 2016-01-05 | Brocade Communications Systems, Inc. | Traffic management for virtual cluster switching |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US8989186B2 (en) | 2010-06-08 | 2015-03-24 | Brocade Communication Systems, Inc. | Virtual port grouping for virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9461840B2 (en) | 2010-06-02 | 2016-10-04 | Brocade Communications Systems, Inc. | Port profile management for virtual cluster switching |
US8966027B1 (en) * | 2010-05-24 | 2015-02-24 | Amazon Technologies, Inc. | Managing replication of computing nodes for provided computer networks |
US8634308B2 (en) | 2010-06-02 | 2014-01-21 | Brocade Communications Systems, Inc. | Path detection in trill networks |
US8885488B2 (en) | 2010-06-02 | 2014-11-11 | Brocade Communication Systems, Inc. | Reachability detection in trill networks |
US8446914B2 (en) * | 2010-06-08 | 2013-05-21 | Brocade Communications Systems, Inc. | Method and system for link aggregation across multiple switches |
US9628293B2 (en) | 2010-06-08 | 2017-04-18 | Brocade Communications Systems, Inc. | Network layer multicasting in trill networks |
US9806906B2 (en) | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US9608833B2 (en) | 2010-06-08 | 2017-03-28 | Brocade Communications Systems, Inc. | Supporting multiple multicast trees in trill networks |
US9246703B2 (en) | 2010-06-08 | 2016-01-26 | Brocade Communications Systems, Inc. | Remote port mirroring |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
US8615587B2 (en) * | 2011-01-11 | 2013-12-24 | International Business Machines Corporation | Power management in link aggregation for data transmission |
US9270572B2 (en) | 2011-05-02 | 2016-02-23 | Brocade Communications Systems Inc. | Layer-3 support in TRILL networks |
US8948056B2 (en) | 2011-06-28 | 2015-02-03 | Brocade Communication Systems, Inc. | Spanning-tree based loop detection for an ethernet fabric switch |
US9407533B2 (en) | 2011-06-28 | 2016-08-02 | Brocade Communications Systems, Inc. | Multicast in a trill network |
US8879549B2 (en) | 2011-06-28 | 2014-11-04 | Brocade Communications Systems, Inc. | Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch |
US9401861B2 (en) | 2011-06-28 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable MAC address distribution in an Ethernet fabric switch |
US9007958B2 (en) | 2011-06-29 | 2015-04-14 | Brocade Communication Systems, Inc. | External loop detection for an ethernet fabric switch |
US8885641B2 (en) | 2011-06-30 | 2014-11-11 | Brocade Communication Systems, Inc. | Efficient trill forwarding |
US8787388B1 (en) * | 2011-08-29 | 2014-07-22 | Big Switch Networks, Inc. | System and methods for forwarding packets through a network |
US9736085B2 (en) | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
US9699117B2 (en) | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
IN2014DN08942A (zh) | 2012-05-15 | 2015-05-22 | Ericsson Telefon Ab L M | |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
CN104272668B (zh) | 2012-05-23 | 2018-05-22 | 博科通讯系统有限公司 | 层3覆盖网关 |
US9602430B2 (en) | 2012-08-21 | 2017-03-21 | Brocade Communications Systems, Inc. | Global VLANs for fabric switches |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9350680B2 (en) | 2013-01-11 | 2016-05-24 | Brocade Communications Systems, Inc. | Protection switching over a virtual link aggregation |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US9565113B2 (en) | 2013-01-15 | 2017-02-07 | Brocade Communications Systems, Inc. | Adaptive link aggregation and virtual link aggregation |
US9014011B2 (en) * | 2013-02-04 | 2015-04-21 | Dell Products L.P. | Systems and methods for layer-2 traffic polarization during failures in a virtual link trunking domain |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
WO2014145750A1 (en) | 2013-03-15 | 2014-09-18 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
CN104079486A (zh) | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 一种网关及其传送数据的方法 |
US9565028B2 (en) | 2013-06-10 | 2017-02-07 | Brocade Communications Systems, Inc. | Ingress switch multicast distribution in a fabric switch |
US9699001B2 (en) | 2013-06-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Scalable and segregated network virtualization |
US20150063330A1 (en) * | 2013-08-30 | 2015-03-05 | Qualcomm Incorporated | Aggregation of data packets for multiple stations |
US9806949B2 (en) | 2013-09-06 | 2017-10-31 | Brocade Communications Systems, Inc. | Transparent interconnection of Ethernet fabric switches |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US9866470B2 (en) | 2014-01-24 | 2018-01-09 | Red Hat, Inc. | Multiple active link aggregators |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US9288139B2 (en) | 2014-04-02 | 2016-03-15 | Qualcomm Incorporated | Methods for selection of link aggregation capable access points |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9544219B2 (en) | 2014-07-31 | 2017-01-10 | Brocade Communications Systems, Inc. | Global VLAN services |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US9524173B2 (en) | 2014-10-09 | 2016-12-20 | Brocade Communications Systems, Inc. | Fast reboot for a switch |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
CN105721234B (zh) * | 2014-12-05 | 2019-04-05 | 杭州迪普科技股份有限公司 | 端口聚合方法及装置 |
US9628407B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US9626255B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Online restoration of a switch snapshot |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US9930149B2 (en) * | 2015-03-24 | 2018-03-27 | Cisco Technology, Inc. | Multicast traffic distribution in a multi-pod network environment |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
US11115389B2 (en) | 2019-05-17 | 2021-09-07 | Juniper Networks, Inc. | Media access control security (MACsec) enabled links of a link aggregation group (LAG) |
US11063882B2 (en) * | 2019-08-07 | 2021-07-13 | International Business Machines Corporation | Resource allocation for data integration |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553029B1 (en) * | 1999-07-09 | 2003-04-22 | Pmc-Sierra, Inc. | Link aggregation in ethernet frame switches |
CN101399737A (zh) * | 2008-10-21 | 2009-04-01 | 中兴通讯股份有限公司 | 用于以太环网的链路聚合组的保护方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3063721B2 (ja) * | 1997-04-30 | 2000-07-12 | 日本電気株式会社 | トポロジー情報交換装置及びプログラムを記録した機械読み取り可能な記録媒体 |
JPWO2004102902A1 (ja) * | 2003-05-14 | 2006-07-20 | 富士通株式会社 | ノード冗長制御方法およびノード冗長制御装置 |
JP4394988B2 (ja) | 2004-03-19 | 2010-01-06 | 富士通株式会社 | パケット読出し制御方法及び装置 |
JP2005347943A (ja) * | 2004-06-01 | 2005-12-15 | Hitachi Ltd | ネットワーク中継装置及びその制御方法 |
US7660296B2 (en) * | 2005-12-30 | 2010-02-09 | Akamai Technologies, Inc. | Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows |
US7593400B2 (en) * | 2006-05-19 | 2009-09-22 | Corrigent Systems Ltd. | MAC address learning in a distributed bridge |
US7697525B2 (en) * | 2006-12-21 | 2010-04-13 | Corrigent Systems Ltd. | Forwarding multicast traffic over link aggregation ports |
US7940661B2 (en) * | 2007-06-01 | 2011-05-10 | Cisco Technology, Inc. | Dynamic link aggregation |
US8068416B2 (en) * | 2007-09-20 | 2011-11-29 | At&T Intellectual Property I, L.P. | System and method of communicating a media stream |
US8270290B2 (en) * | 2008-12-19 | 2012-09-18 | Rockstar Bidco, LP | Resilient attachment to provider link state bridging (PLSB) networks |
-
2009
- 2009-08-21 US US12/545,680 patent/US8369332B2/en active Active
-
2010
- 2010-08-18 WO PCT/US2010/045881 patent/WO2011022475A1/en active Application Filing
- 2010-08-18 CN CN201080037013.6A patent/CN102474467B/zh not_active Expired - Fee Related
- 2010-08-18 JP JP2012525665A patent/JP2013502840A/ja active Pending
- 2010-08-18 EP EP10747372A patent/EP2467977A1/en not_active Withdrawn
- 2010-08-18 KR KR1020127004404A patent/KR101337039B1/ko active IP Right Grant
-
2012
- 2012-12-18 US US13/718,379 patent/US9705799B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553029B1 (en) * | 1999-07-09 | 2003-04-22 | Pmc-Sierra, Inc. | Link aggregation in ethernet frame switches |
CN101399737A (zh) * | 2008-10-21 | 2009-04-01 | 中兴通讯股份有限公司 | 用于以太环网的链路聚合组的保护方法及装置 |
Non-Patent Citations (1)
Title |
---|
《network high availability for Ethernet services using IP/MPLS networks》;Matthew Bocci等;《IEEE communications magazine》;20080305;第46卷(第3期);第90-96页、附图1-6 * |
Also Published As
Publication number | Publication date |
---|---|
KR20120043007A (ko) | 2012-05-03 |
EP2467977A1 (en) | 2012-06-27 |
KR101337039B1 (ko) | 2013-12-26 |
WO2011022475A1 (en) | 2011-02-24 |
US20110044339A1 (en) | 2011-02-24 |
CN102474467A (zh) | 2012-05-23 |
JP2013502840A (ja) | 2013-01-24 |
US20130107885A1 (en) | 2013-05-02 |
US8369332B2 (en) | 2013-02-05 |
US9705799B2 (en) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102474467B (zh) | 在通信网络中对分组进行选路的方法和设备 | |
US7684352B2 (en) | Distributed storage of routing information in a link state protocol controlled network | |
US8295203B2 (en) | Methods and systems to store state used to forward multicast traffic | |
US7263099B1 (en) | Multicast packet replication | |
Jokela et al. | LIPSIN: Line speed publish/subscribe inter-networking | |
WO2011150830A1 (zh) | 获取内容的方法、节点及内容网络 | |
EP3817286B1 (en) | Method and apparatus for generating network topology | |
Yu et al. | Space shuffle: A scalable, flexible, and high-performance data center network | |
KR20090098692A (ko) | P2p 모드에서 저장된 콘텐츠를 액세스하기 위한 피어 식별자들을 얻기 위한 요구들을 관리하기 위한 방법, 연관된 관리 디바이스, 및 네트워크 장비 | |
EP2475134B1 (en) | Applying a table-lookup approach to load balancing in forwarding data in a network | |
Nguyen et al. | Adaptive caching for beneficial content distribution in information-centric networking | |
US6771651B1 (en) | Providing access to a high-capacity packet network | |
CN101394339A (zh) | 一种在对等网络中实现路由的方法、系统及装置 | |
Jin et al. | Content routing and lookup schemes using global bloom filter for content-delivery-as-a-service | |
Qian et al. | A scalable and resilient layer-2 network with ethernet compatibility | |
CN113329048B (zh) | 基于交换机的云负载均衡方法、装置及存储介质 | |
CN102647424B (zh) | 一种数据传输方法及其装置 | |
Rojas et al. | Torii: multipath distributed Ethernet fabric protocol for data centres with zero‐loss path repair | |
KR100975018B1 (ko) | 인터넷 그룹 관리 프로토콜 프락시 장치 | |
Pitkänen | Data availability in challenging networking environments in presence of failures |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190531 Address after: American New York Patentee after: Origin Asset Group Co.,Ltd. Address before: Paris France Patentee before: ALCATEL LUCENT |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |