CN110995602B - 用于负载平衡多播流量的系统和方法 - Google Patents

用于负载平衡多播流量的系统和方法 Download PDF

Info

Publication number
CN110995602B
CN110995602B CN201911301713.0A CN201911301713A CN110995602B CN 110995602 B CN110995602 B CN 110995602B CN 201911301713 A CN201911301713 A CN 201911301713A CN 110995602 B CN110995602 B CN 110995602B
Authority
CN
China
Prior art keywords
switch
multicast
tree
path
logical
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.)
Active
Application number
CN201911301713.0A
Other languages
English (en)
Other versions
CN110995602A (zh
Inventor
吴强
洪熙春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN110995602A publication Critical patent/CN110995602A/zh
Application granted granted Critical
Publication of CN110995602B publication Critical patent/CN110995602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L15/00Apparatus or local circuits for transmitting or receiving dot-and-dash codes, e.g. Morse code
    • H04L15/04Apparatus or circuits at the transmitting end
    • H04L15/16Apparatus or circuits at the transmitting end with keyboard co-operating with code discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Abstract

本公开提供了用于负载平衡多播流量的系统和方法。具体地,一种计算机实现的用于负载平衡多播流量的方法可包括:(1)识别包括至少第一交换机的多个交换机,该第一交换机通过第一路径和第二路径被连接至第二交换机;(2)计算用于在多个交换机之间分发多播流量的多个多播分发树,该多个多播分发树包括(i)第一树,该第一树包括第一路径并且其根与第二树的根不同,和(ii)第二树,该第二树包括第二路径;(3)接收在第一交换机处进入到多个交换机的多个多播分组;以及(4)使用多个多播分发树中的至少两个多播分发树将多个多播分组从第一交换机传输至第二交换机。还公开了各种其他方法、系统和计算机可读介质。

Description

用于负载平衡多播流量的系统和方法
本申请为发明名称为“用于负载平衡多播流量的系统和方法”的原中国发明专利申请的分案申请。原申请的申请号为201510130560.3,原申请的申请日为2015年03月24日,原申请的优先权日为2014年03月31日。
技术领域
本公开总体上涉及负载平衡,更具体地,涉及用于负载平衡多播流量的系统和方法。
背景技术
用于在层2(layer-2)网络内分发多播流量的传统技术总体上依赖于生成树协议,以阻止多播分组在层2网络中循环以及泛洪层2网络。不幸地,尽管成功地消除了循环,生成树协议可以将多播流量限制于数据链路的单一集合,这可能引起冗余的数据链路不被使用。
一些用于分发多播流量的技术已经试图使用数据链路的一个以上的集合来在层2网络中分发多播流量。例如,至少一种技术可以将数据链路的集合分配至层2网络中的每个交换机,该数据链路的集合可以包括在层2网络中从交换机至另一交换机的最短路径;以及可以被用于将在交换机处进入层2网络的多播流量分发至层2网络内的其他交换机。因为向每个交换机分配了其自身的数据链路的集合,可以使用数据链路的不同集合将在两个不同交换机处进入层2网络的多播流量进行分发。不幸地,因为仅仅单一路径可以被用于在任意两个交换机之间分发流量,数据链路利用可能是低效的。因此,本公开标识并满足了针对用于负载平衡多播流量的改进的系统和方法的需要。
发明内容
如下文将更详细地描述的,本公开总体上涉及用于跨越数据链路的负载平衡多播流量的系统和方法,该数据链路将交换机网络(诸如组成虚拟机箱结构的交换机网络)互连。在一个示例中,计算机实现的用于负载平衡多播流量的方法可以包括:(1)识别包括至少第一交换机的多个交换机,该第一交换机通过第一路径和第二路径被连接至第二交换机;(2)计算用于在多个交换机之间分发多播流量的多个多播分发树,该多个多播分发树包括(i)第一树,该第一树包括第一路径并且其根与第二树的根不同,和(ii)第二树,该第二树包括第二路径;(3)接收在第一交换机处进入到多个交换机的多个多播分组;以及(4)使用多个多播分发树中的至少两个多播分发树以将多个多播分组从第一交换机传输至第二交换机。
类似地,合并上述方法的系统可以包括:(1)识别模块,该识别模块识别包括至少第一交换机的多个交换机,该第一交换机通过第一路径和第二路径被连接至第二交换机;(2)计算模块,该计算模块计算用于在多个交换机之间分发多播流量的多个多播分发树,该多个多播分发树包括(i)第一树,该第一树包括第一路径并且其根与第二树的根不同,和(ii)第二树,该第二树包括第二路径;(3)接收模块,该接收模块接收在第一交换机处进入到多个交换机的多个多播分组;(4)传输模块,该传输模块使用多个多播分发树中的至少两个多播分发树将多个多播分组从第一交换机传输至第二交换机;以及(5)至少一个物理处理器,该至少一个物理处理器执行识别模块、计算模块、接收模块和传输模块。
对应的非瞬态计算机可读介质可以包括一个或者多个计算机可读指令,当该一个或者多个计算机可读指令由网络设备的至少一个处理器执行时,可以使得网络设备(1)识别包括至少第一交换机的多个交换机,该第一交换机通过第一路径和第二路径被连接至第二交换机;(2)计算用于在多个交换机之间分发多播流量的多个多播分发树,该多个多播分发树包括(i)第一树,该第一树包括第一路径并且其根与第二树的根不同,和(ii)第二树,该第二树包括第二路径,(3)接收在第一交换机处进入到多个交换机的多个多播分组,以及(4)使用多个多播分发树中的至少两个多播分发树将多个多播分组从第一交换机传输至第二交换机。
可以根据在此所述的基本原理,将来自上述实施例中的任意实施例的特征彼此组合地使用。通过结合附图以及权利要求阅读以下详细的描述,将更加充分地理解这些以及其他实施例、特征和优点。
附图说明
附图图示了若干示例性实施例并且是说明书的一部分。这些附图与下文的描述一起说明并解释了的本公开的各种原理。
图1是用于负载平衡多播流量的示例性系统的框图。
图2是用于负载平衡多播流量的示例性系统的框图。
图3是用于负载平衡多播流量的示例性方法的流程图。
图4是用于负载平衡多播流量的示例性多播分发树的框图。
图5是用于负载平衡多播流量的示例性系统的框图。
图6是用于负载平衡多播流量的示例性多播分发树的框图。
图7是用于负载平衡多播流量的示例性系统的框图。
图8是能够实现在此所述和/或所示的一个或多个实施例、和/或结合在此所述和/或所示的一个或多个实施例来使用的示例性计算系统的框图。
所有附图中,相同的参考标记和描述指示相似的但不一定完全相同的元素。尽管在此所述的示例性实施例允许各种修改和可替代形式,特定实施例已经在附图中通过示例的形式被示出,并且将在此被详细地描述。然而,在此所述的示例性实施例并不旨在被限制于所公开的特定形式。相反,本公开涵盖了落入所附权利要求范围内的所有改变、等价形式以及可替代方案。
具体实施方式
本公开总体上指向用于使用多播分发树跨越数据链路来负载平衡多播流量的系统和方法,该数据链路将交换机网络(诸如组成虚拟机箱结构的交换机网络)互连。本公开的实施例可以计算植根于网络中的特定交换机的两个或更多的多播分发树,并且可以跨越这些多播分发树中的两个或更多的多播分发树而平衡在网络中的任意一个交换机处进入网络的多播流量。
如将在下文更详细地阐述的,通过跨越多个多播分发树来负载平衡多播流量,本公开的实施例实质上可以改进数据链路的利用率。例如,通过生成可以包括去往网络中的所有交换机的路径的多播分发树,本公开的实施例可以将从网络外部进入到交换机上的多播分组沿任意多播分发树转发至在网络中的任意目的交换机。此外,通过将多播分组流(例如,特定虚拟局域网(VLAN)的多播分组流)指派给多个多播分发树,本公开的实施例可以使用不同的多播分发树和不同的数据链路,来分发在网络中的任意一个交换机上进入的多播分组,和/或可以使用相同的多播分发树和相同的数据链路,来分发在网络中的不同交换机上进入的多播分组。如以下更详细地讨论的,本公开的实施例还可以提供各种其他优点和特征。
以下将参考图1和图2提供用于负载平衡多播流量的示例性系统的详细的描述。更具体地,对应于图1和图2的讨论提供用于跨越数据链路而分发多播流量的负载平衡架构的部件的总体概述,该数据链路将交换机网络互连。还将结合图3至图7提供对应的计算机实现的方法的详细的描述。另外,将结合图8提供能够实现在此所述的实施例中的一个或多个实施例的示例性计算系统的详细的描述。
图1是用于负载平衡多播流量的示例性系统100的框图。如图1所示,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。例如,以及如以下将更详细地阐述的,示例性系统100可以包括识别模块104,该识别模块104识别包括至少第一交换机的多个交换机,该第一交换机通过第一和第二路径被连接至第二交换机。示例性系统100还可以包括计算模块106,该计算模块106计算用于在多个交换机之间分发多播流量的多个多播分发树,该多个多播分发树包括至少(i)第一树,该第一树包括第一路径并且其根与第二树的根不同,以及(ii)第二树,该第二树包括第二路径。
另外,以及如以下将更详细地阐述的,示例性系统100可包括接收模块108,该接收模块108接收在第一交换机处进入到多个交换机的多个多播分组。示例性系统100还可以包括计算模块106,该计算模块106使用多个多播分发树中的至少两个多播分发树以将多个多播分组从第一交换机传输至第二交换机。尽管作为分离的元素示出,在图1中的模块102中的一个或多个模块可以表示单个模块或应用的部分。
在特定实施例中,图1中模块102中的一个或多个模块可以表示一个或多个软件应用或程序,当该一个或多个软件应用或程序由计算设备执行时,可以使得计算设备执行一个或多个任务。例如,以及如以下将更详细地描述的,模块102中的一个或多个模块可以表示被存储并且被配置为在一个或多个计算设备上运行的软件模块,该一个或多个计算设备诸如图2中所示的设备(例如,交换机202-212)和/或图8中的计算系统800。图1中的模块102中的一个或多个模块也可以表示配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。在至少一个示例中,图1中的模块102中的一个或多个模块可以表示跨越数据链路来负载平衡多播流量的系统的全部或部分,该数据链路将组成虚拟机箱结构(例如,表现为单个逻辑交换机的交换机的汇集)的交换机网络互连。
如图1所示,示例性系统100还可以包括一个或多个数据库,诸如数据库120。在一个示例中,数据库120可以包括:用于存储关于交换机的配置信息的交换机122,用于存储关于连接交换机的路径的信息的路径124,用于存储关于构成路径的数据链路的信息的数据链路126,以及用于存储关于用于跨越数据链路和/或将交换机互连的路径来负载平衡多播流量的分发树的信息的分发树128。在至少一个示例中,数据库120可以表示链路状态数据库的全部或部分。
数据库120可以表示单个数据库或计算设备或者多个数据库或计算设备的部分。例如,数据库120可以表示图2中的交换机202-212和/或图8中的计算系统800的一部分。可替代地,图1中的数据库120可以表示能够被计算设备(诸如图2中的交换机202-212和/或图8中的计算系统800)访问的一个或多个物理上分离的设备。在至少一个示例中,数据库120可以表示控制平面数据,该控制平面数据可以包括与控制在交换机网络内的多播分组的移动相关的任何类型或形式的数据或代码。
可以以多种方式实现图1中的示例性系统100。例如,示例性系统100的全部或部分可表示图2中的示例性网络200的部分。如图2中所示,网络200可以包括经由数据链路220-234互连的交换机202-212。在一些示例中,可以使用模块102中的一个或多个模块对交换机202-212中的一个或多个交换机进行编程,和/或交换机202-212中的一个或多个交换机可以存储数据库120中的数据的全部或部分。
在一个实施例中,当图1中的模块102中的一个或多个模块由交换机202-212的至少一个处理器执行时,可以使得交换机202-212中的一个或多个交换机跨越数据链路220-234来负载平衡多播流量。例如,如以下更详细地描述的,模块102中的一个或多个模块可以使得交换机202-212中的一个或多个交换机来:(1)识别交换机202-212中的每个交换机以及将交换机202-212互连的路径,(2)计算用于在将交换机202-212互连的路径之间分发多播流量的多个多播分发树,(3)接收来自设备214(1)并且在交换机206处进入交换机202-212的多播分组,以及(4)使用多播分发树中的至少两个多播分发树将多播分组传输至交换机202、204和/或208-212中的一个或多个交换机。
交换机202-212通常表示任何中间的计算设备,其连接网段或网络设备和/或促进在计算环境内的两个或更多的其他计算设备之间的通信。例如,如图2所示,图2中的交换机202-212可以促进设备214(1)-(N)、216(1)-(N)、218(1)-(N)和220(1)-(N)之间的通信。交换机202-212的示例包括但不限于,分组交换机、网桥、多层交换机、网络集线器、信号复示器、路由器和/或任意其他适当的交换设备。在一些示例中,交换机202-212可表示层2网络的全部或部分。在至少一个实施例中,交换机202-212可表示虚拟机箱结构。
如图2中所示,交换机202-212可经由数据链路220-234互连。数据链路220-234通常表示能够促进通信或数据传输的任何介质或架构。数据链路220-234中的每个数据链路可以表示网络200中的两个交换机的数据端口之间的物理连接(例如,经由电线或电缆)。
计算设备214(1)-(N)、216(1)-(N)、218(1)-(N)和220(1)-(N)通常表示任意类型或形式的能够读取计算机可执行指令的计算设备。计算设备214(1)-(N)、216(1)-(N)、218(1)-(N)和220(1)-(N)的示例包括但不限于,膝上计算机、平板计算机、台式计算机、服务器、手机、个人数字助理(PDA)、多媒体播放器、嵌入式系统、网络设备、应用服务器、网页服务器、存储服务器、去重服务器、数据库服务器、图8中示例性计算系统800、一个或多个相同设备的组合,或者任意其他适当的计算设备。
图3是用于负载平衡多播流量的示例性计算机实现的方法300的流程图。在图3中所示的步骤可以由任意适当的计算机可执行代码和/或计算机系统执行。在一些实施例中,在图3中所示的步骤可由图1中的系统100、图2中的网络200、和/或图8中的计算系统800的部件中的一个或多个部件执行。
如图3所示,在步骤310处,在此所述的系统中的一个或多个系统可以识别包括至少第一交换机的多个交换机,该第一交换机通过第一路径和第二路径被连接至第二交换机。例如,在步骤310处,识别模块104作为图2中的交换机202-212中的一个或多个交换机的一部分可以识别交换机206,该交换机206通过经由数据链路220和234通过交换机202的路径和经由数据链路228和226通过交换机204的路径被连接至交换机212。
如在此使用的,术语“交换机”通常指能够在计算网络的设备之间路由或转发信息的任意设备、系统或应用,该信息可以是分组的形式。网络中的两个交换机可以经由一个或多个数据链路和/或路径相连。如在此使用的,短语“数据链路”可指在网络中的两个设备之间的任何物理的或逻辑的连接。例如,短语“数据链路”可指在两个交换机之间的物理连接,这两个交换机的物理端口经由物理的电线或电缆连接。数据链路的示例包括图2中的数据链路220-234。如在此使用的,术语“路径”可指网络中的两个设备之间的任意路线。在至少一个示例中,术语“路径”可以指最短路径或最低成本路径。通常,路径可由一个或多个数据链路构成。使用图2作为示例,交换机206可以通过经由数据链路220和234通过交换机202的路径和经由数据链路228和226通过交换机204的路径被连接至交换机212。
在一些情况下,可将多个交换机组合以形成虚拟机箱结构(例如,虚拟交换机结构),该虚拟机箱结构可以表现为单个逻辑交换机。如在此使用的,短语“虚拟机箱结构”通常指互连的交换机的汇集,该互连的交换机的汇集可作为单个的逻辑设备工作和/或被管理。通常,虚拟机箱结构内的交换机可以将来自虚拟机箱结构的入口的输入数据互连至虚拟机箱结构的出口。在一些示例中,虚拟机箱结构可以通过提供虚拟机箱结构内的节点(例如,交换机)之间的任意对任意的连接来促进高水平的可扩展性。此外,虚拟机箱结构可以通过提供冗余交换机和/或冗余数据链路来促进高可用性。在一些示例中,构成虚拟机箱结构的交换机的拓扑可以不被限制。
回到图3,在此所述的系统可以各种方式执行步骤310。通常,识别模块104作为网络内交换机中的一个或多个交换机的一部分,可以使用适当的链路状态路由协议(诸如,开放式最短路径优先(OSPF)或中间系统到中间系统(IS-IS))以交换并积累描述网络的拓扑信息。使用图2作为示例,识别模块104作为交换机202-212中的每个交换机的一部分,可以使用适当的链路状态路由协议以交换并积累拓扑信息,该拓扑信息识别交换机202-212中的每个交换机并且描述这些交换机是如何通过数据链路220-234来连接的。
在步骤320处,在此所述的系统中的一个或多个系统可以计算用于在作为步骤310的一部分所识别的多个交换机之间分发多播流量的多个多播分发树,该多个多播分发树包括:(i)第一树,该第一树包括第一路径并且其根与第二树的根不同,和(ii)第二树,该第二树包括第二路径。例如,在步骤320处,计算模块106作为图2中的交换机206的一部分可以计算用于在交换机202-212之间分发多播流量的多个多播分发树。使用图4和图6作为示例,计算模块106可构造图4中的其根为交换机202的分发树400和其根为交换机204的分发树600。如图4和图6所示,分发树400可以包括经由数据链路220和234、通过交换机202将交换机206连接至交换机212的路径,并且分发树600可以包括经由数据链路228和226、通过交换机204将交换机206连接至交换机212的路径。
在此所述的系统可以各种方式执行步骤320。通常,计算模块106可以通过如下来计算用于在交换机的网络之间负载平衡多播流量的多播分发树:(1)选择交换机中的两个或更多的交换机作为多播分发树的根,以及(2)发展植根于每个所选交换机上的多播分发树,。
计算模块106可以以各种方式选择网络中的哪个交换机应当作为根。在一个示例中,计算模块106可以简单地选择网络内的每个交换机作为多播分发树的根。使用图2作为示例,计算模块106可选择交换机202-212中的每个交换机作为多播分发树的根。
另外地或可替代地,计算模块106可基于网络的物理拓扑结构(例如,物理结构和/或网络内交换机的物理互连)来选择网络中的哪个交换机应当作为根。例如,在其中一些交换机充当集线器的双层网络中,计算模块106可以选择充当集线器的交换机作为根。使用图2作为示例,计算模块106可选择交换机202和204作为根。
在至少一个实施例中,计算模块106可以基于来自交换机网络的管理员的输入来选择根。例如,计算模块106可以允许管理员来选择网络中的哪个交换机应当作为根。另外地或可替代地,计算模块106可以使得管理员能够指示用于选择根的标准。
在选择交换机作为多播分发树的根时,计算模块106可使用任意适当的多播路由算法或启发式算法来计算多播分发树。在至少一个示例中,计算模块106可以使用最短路径算法(诸如Dijkstra算法)来计算植根于每个所选交换机上的多播分发树。在一些示例中,计算模块可计算多播分发树,使得路径带宽和/或跳跃的数目被考虑。通常,计算模块106可计算分发树,使得每个分发树包括从分发树的根至多个交换机中的每个交换机的路径。
图4至图7图示计算模块106可以计算的、用于在图2中的交换机202-222之间分发多播流量的示例性多播分发树。图4中的分发树400是植根于交换机202上的示例性多播分发树的图示,并且图6中的分发树600是植根于交换机204上的示例性多播分发树的图示。在这些示例中,分发树400可表示图5中的路径500的集合,通过路径500的集合多播流量可在交换机202-212(例如,经由数据链路220和234通过交换机202将交换机206连接至交换机212的路径)之间传输,并且分发树600可表示图7中的路径700的集合,通过路径700的集合多播流量也可以在交换机202-212(例如,经由数据链路228和226通过交换机204将交换机206连接至交换机212的路径)之间传输。如所示,分发树400和分发树600中的每个分发树可以包括到交换机202-212中的每个交换机的路径。因此,在交换机202-212中的任意一个交换机上进入的多播分组可以沿分发树400或分发树600之一被转发至交换机202-212中的任意其他交换机。
在一些示例中,计算模块106可以在网络内的每个交换机处存储每个计算的多播分发树。例如,计算模块106可在交换机202-212中的每个交换机处存储分发树400和分发树600中的每个分发树。在一些示例中,计算模块106可在交换机处将多播分发树存储为交换机的接口的列表,该交换机的接口将交换机连接至由多播分发树表示的路径。计算模块106还可以向接口的列表指派标识符,使得当交换机接收应当穿过多播分发树被转发的多播分组时,交换机可以查找多播分发树。
计算模块106可以计算多播分发树作为网络中的任意交换机的一部分。在一个示例中,计算模块106可以计算多播分发树作为如下交换机的一部分,该交换机是多播分发树的根。另外地或可替代地,计算模块106可以计算多播分发树作为如下交换机的一部分,该交换机不是多播分发树的根。
如图3所示,在步骤330处,在此所述的系统中的一个或多个系统可以接收在第一交换机处进入到多个交换机的多个多播分组。例如,在步骤330处,接收模块108作为图2中的交换机206的一部分可以从设备214(1)中接收进入交换机202-212的多播分组。
如在此所使用的,短语“多播分组”可以指任意层2的帧和/或层3的分组,它们可以使用洪泛算法、生成树算法、反向路径转发算法、反向路径广播算法、截断的反向路径广播算法、反向路径多播算法、基于核心树的算法或者任何其他多播转发算法。多播分组的示例可以包括但不限于,具有未知目的地址的广播分组和/或单播分组。在一些示例中,短语“多播分组”可以指虚拟局域网(VLAN)的多播分组。另外地或可替代地,短语“多播分组”可以指互连网协议多播组的多播分组。
如图3所示,在步骤340处,在此所述的系统中的一个或多个系统可以使用在步骤320处计算的多个多播分发树中的至少两个多播分发树,以将多个多播分组从第一交换机传输至第二交换机。例如,在步骤340处,传输模块110作为图2中的交换机202-212中的一个或多个交换机的一部分,可以使用多播分发树400和600以将多播分组从交换机206传输至交换机212。在步骤340完成时,图3中的示例性方法300可以终止。
在此所述的系统可以以各种方式执行步骤340。通常传输模块110可以使用多播分发树中的两个或更多的多播分发树和适当的多播算法或协议(洪泛算法、生成树算法、反向路径转发算法、反向路径广播算法、截断的反向路径广播算法、反向路径多播算法、核心树算法或者任何其他多播转发算法)来传输多播分组。如果多播分组为IP多播分组,则传输模块110可以使用多播分发树中的两个或更多的多播分发树和适当的IP多播协议(如,协议无关多播(PIM)、互联网组管理协议(IGMP)或在多播通信中使用的任意其他协议),将IP多播分组从第一交换机传输至第二交换机。
在一些实施例中,传输模块110可以使用作为步骤320的一部分所计算的至少两个多播分发树,以将在网络中的任意一个交换机处进入的多播分组传输至网络中的其他交换机。使用图4和图6作为示例,传输模块110可以使用多播分发树400和600,以将在交换机206处进入的多播分组传输至交换机208-212,以将在交换机208处进入的多播分组传输至交换机206、210和212,以将在交换机210处进入的多播分组传输至交换机206、208和212,和/或以将在交换机212处进入的多播分组传输至交换机206-210。在一些实施例中,传输模块110可以使用作为步骤320的一部分所计算的每个多播分发树,以将在网络中的任意一个交换机处进入的多播分组传输至网络中的其他交换机。
在一些实施例中,传输模块110可以将多播组(例如,VLAN或互联网协议多播组)的多播流量指派给一个或多个多播分发树,并且可以使用指派的多播分发树传输多播组的多播分组。另外地或可替代地,传输模块110可以使用不同的多播分发树来传输两个不同多播组的多播流量。例如,传输模块110可以使用一个多播分发树来传输多播组中的一个多播组的多播分组,并且使用不同的多播分发树传输其他多播组的多播分组。使用图4和图6作为示例,传输模块110可以使用分发树400而不是分发树600来传输第一多播组的多播分组,以及可以使用分发树600而不是分发树400来传输第二多播组的多播分组。
如上所述,通过跨越多个多播分发树来负载平衡多播流量,本公开的实施例实质上可以提高数据链路的利用率。例如,通过生成包含去往网络中所有交换机的路径的多播分发树,本公开的实施例可以将从网络外部进入到交换机上的多播分组沿多播分发树中的任意多播分发树来转发至网络中的任意目的交换机。此外,通过将多播分组流(例如,特定虚拟局域网(VLAN)的多播分组流)指派给多个多播分发树,本公开的实施例可以使用不同的多播分发树和不同的数据链路,来分发在网络中的任意一个交换机上进入的多播分组,和/或可以使用相同的多播分发树和相同的数据链路,来分发在网络中的任意一个交换机上进入的多播分组。
图8是能够实现在此所述和/或所示的一个或多个实施例、和/或结合在此所述和/或所示的一个或多个实施例来使用的示例性计算系统800的框图。在一些实施例中,计算系统800的全部或一部分可以单独地或与其他元素结合来执行结合图3描述的步骤中的一个或多个步骤,和/或计算系统800的全部或一部分可以是用于单独地或与其他元素结合来执行结合图3描述的步骤中的一个或多个步骤的装置。计算系统800的全部或一部分还可以执行在此所述或所示的任何其他步骤、方法或过程,和/或计算系统800的全部或一部分也可以是用于执行和/或实现在此所述或所示的任何其他步骤、方法或过程的装置。
计算系统800广泛地表示任意类型或形式的电负载,包括能够执行计算机可读指令的单处理器或多处理器计算设备或系统。计算系统800的示例包括但不限于,工作站、膝上计算机、客户端侧终端、服务器、分布式计算系统、移动设备、网络交换机、网络路由器(例如,骨干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路由器等)、网络设备(例如,网络安全设备、网络控制设备、网络定时设备、SSL VPN(安全套接字协议层虚拟专用网络)设备等)、网络控制器、网关(例如,服务网关、移动分组网关、多路存取网关、安全网关等)和/或任意其他类型或形式的计算系统或设备。
计算系统800可以是被编程、被配置和/或以其他方式被设计为遵守一种或多种网络协议。根据特定实施例,计算系统800可以被设计为使用开放式系统互联(OSI)参考模型的一层或多层的协议工作,诸如物理链路层协议、数据链路层协议、网络层协议、传输层协议、会话层协议、表示层协议和/或应用层协议。例如,计算系统800可以包括根据通用串行总线(USB)协议、电器和电子工程师学会(IEEE)1394协议、以太网协议、T1协议、同步光纤网络(SONET)协议、同步数字层级(SDH)协议、综合服务数字网(ISDN)协议、异步传输模式(ATM)协议、点对点协议(PPP)、以太网上的点对点协议(PPPoE)、ATM上的点对点协议(PPPoA)、蓝牙协议、IEEE 802.XX协议、帧中继协议、令牌环协议、发生树协议、和/或任意其他适当的协议配置的网络设备。
计算系统800可以包括各种网络和/或计算部件。例如,计算系统800可以包括至少一个处理器814和系统存储器816。处理器814通常表示任意类型或形式的、能够处理数据或者解释并执行指令的处理单元。处理器814可以表示专用集成电路(ASIC)、片上系统(例如,网络处理器)、硬件加速器,通用处理器、和/或任意其他适当的处理元素。
处理器814可以根据上述网络协议中的一种或多种网络协议来处理数据。例如,处理器814可以执行或实现协议栈的一部分,可以处理分组,可以执行存储器操作(例如,将分组排队用于后续处理),可以执行终端用户应用和/或可以执行任意其他处理任务。
系统存储器816通常表示任意类型或形式的能够存储数据和/或其他计算机可读指令的易失性或非易失性的存储设备或介质。系统存储器816的示例包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、闪存或任意其他适当的存储设备。尽管不是必须的,但在特定实施例中,计算系统800可以包括易失性存储单元(诸如举例而言,系统存储器816)和非易失性存储设备(诸如举例而言,如以下详细描述的主存储设备832)两者。系统存储器816可以被实现为网络设备中的共享存储器和/或分布式存储器。此外,系统存储器816可以存储分组和/或在网络操作中使用的其他信息。在一个示例中,图1中的模块102中的一个或多个模块可以被加载至系统存储器816中。
在特定实施例中,示例性计算系统800也可以包括除处理器814和系统存储器816之外的一个或多个部件或元素。例如,如图8所示,计算系统800可以包括存储器控制器818、输出/输出(I/O)控制器820和通信接口822,其中的每一个可以经由通信基础设施812互连。通信基础设施812通常表示任意类型或形式的能够促进计算设备的一个或多个部件之间的通信的基础设施。通信基础设施812的示例包括但不限于,通信总线(诸如串行ATA(SATA)、工业标准结构(ISA)、外部部件互连标准(PCI),PCI快速(PCIe)和/或任意其他适合的总线)和网络。
存储器控制器818通常表示任意类型或形式的能够处理存储器或数据或者控制计算系统800的一个或多个部件之间的通信的设备。例如,在特定实施例中,存储器控制器818可以经由通信基础设施812控制处理器814、系统存储器816和I/O控制器820之间的通信。在一些实施例中,存储器控制器818可包括直接存储器存取(DMA)单元,该直接存储器存取(DMA)单元可以传递来自链路适配器的数据(例如,分组)或者将数据(例如,分组)传递至链路适配器。
I/O控制器820通常表示任意类型或形式的能够协调和/或控制计算设备的输入和输出功能的设备或模块。例如,在特定实施例中,I/O控制器820可以控制或促进在计算系统800的一个或多个元素(诸如处理器814、系统存储器816、通信接口822和存储器接口830)之间的数据的传递。
通信接口822广泛地表示任意类型或形式的、能够促进在示例性计算系统800和一个或多个附加的设备之间的通信的通信设备或适配器。例如,在特定实施例中,通信接口822可以促进计算系统800和包含附加的计算系统的专用或公用网络之间的通信。通信接口822的示例包括但不限于,链路适配器、有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)和任意其他适当的接口。在至少一个实施例中,通信接口822也可以经由到网络(诸如互联网)的直接链路来提供到远程服务器的直接连接。通信接口822还可以通过,例如局域网(诸如以太网)、个人局域网、广域网、专用网络(例如,虚拟专用网络)、电话或有线电视网络、蜂窝电话连接、卫星数据连接或任意其他适当的连接来间接地提供这样的连接。
在特定实施例中,通信接口822也可以表示主机适配器,该主机适配器被配置为经由外部总线或通信信道促进计算系统800和一个或多个附加的网络或存储设备之间的通信。主机适配器的示例包括但不限于,小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE 1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)以及外部SATA(eSATA)主机适配器、光纤信道接口适配器、以太网适配器等。通信接口822也可以使得计算系统800能够参与分布式计算或远程计算。例如,通信接口822可以从远程设备接收或向远程设备发送指令用于执行。
如图8所示,示例性的计算系统800还可以包括主存储设备832和/或备份存储设备834,该备份存储设备834经由存储接口830被耦合至通信基础设施812。存储设备832和834通常表示任意类型或形式的能够存储数据和/或其他计算机可读指令的存储设备或介质。例如,存储设备832和834可以表示磁盘驱动(例如,所谓的硬盘驱动)、固态驱动、软盘驱动、磁带驱动、光盘驱动、闪盘驱动等。存储接口830通常表示任意类型和形式的用于在存储设备832和834与其他计算系统800的部件之间传递数据的接口或设备。在一个示例中,可以将图1中的数据库120存储在主存储设备832中。
在特定实施例中,可以将存储设备832和834配置为从可擦除存储单元读取和/或向可擦除存储单元写入,该可擦除存储单元被配置为存储计算机软件、数据或其他计算机可读信息。适当的可擦除存储单元的示例包括但不限于,软盘、磁带、光盘、闪存设备等。存储设备832和834还可以包括用于允许将计算机软件、数据或其他计算机可读指令加载到计算系统800中的其他相似的结构或设备。例如,存储设备832和834可被配置为读取和写入软件、数据或其他计算机可读信息。存储设备832和834可以是计算系统800的一部分,或者可以是通过其他接口设备访问的独立的设备。
许多其他设备或子系统可以被连接至计算系统800。相反,不需要使用在图8中所示的所有部件和设备来实践在此所述和/或所示的实施例。以上引用的设备和子系统也可以以与图8所示的那些方式不同的方式进行互连。计算系统800也可以采用任意数目的软件、固件和/或硬件配置。例如,在此公开的示例性实施例中的一个或多个实施例可以被编码为计算机可读存储介质上的计算机程序(也称为计算机软件、软件应用、计算机可读指令或计算机控制逻辑)。短语“计算机可读存储介质”通常指任意形式的能够存储或承载计算机可读指令的设备、载体或介质。计算机可读存储介质的示例包括但不限于,诸如载波的传输型介质,和诸如磁存储介质(例如,硬盘驱动器和软盘)、光存储介质(例如,光盘(CD)和数字化视频光盘(DVD))、电存储介质(例如,固态驱动器和闪存介质)的非瞬态型介质,以及其他分布式系统。
尽管前述公开使用特定框图、流程图以及示例阐述了各种实施例,然而可以使用广泛的硬件、软件或固件(或其任意组合)配置来单独地和/或共同地实现每个框图部件、流程图步骤、操作和/或在此所述和/或所示的部件。此外,由于可以实现许多其他架构来实现相同的功能,包含在其他部件中的部件的任何公开应当被认为实际上是示例性的。
在一些实施例中,图1中的系统100的全部或一部分可以表示云计算或基于网络的环境的部分。云计算和基于网络的环境可以经由互联网来提供各种服务和应用。这些云计算和基于网络的服务(例如,作为服务的软件、作为服务的平台、作为服务的基础设施等)可以是通过网页浏览器或其他远程接口可访问的。在此所述的各种功能还可以提供网络交换能力、网关接入能力、网络安全功能、针对网络的内容高速缓存和传输服务、网络控制服务和/或其他网络功能。
在此所述或所示的过程参数和步骤的序列仅通过示例的形式给出,并且可以根据需要改变。例如,尽管在此所示或所述的步骤可能以特定的顺序示出或讨论,但并不一定需要按所述或所讨论的顺序执行这些步骤。在此所述或所示的各种示例性方法也可以省略在此所述或所示的一个或多个步骤,或包括除公开的这些步骤之外的附加的步骤。
已经提供了前述描述以使得本领域技术人员最好地利用在此公开的示例性实施例的各个方面。该示例性描述并不旨在是穷尽的或被限制于公开的任何准确形式。在不偏离本公开的主旨和范围的情况下,许多修改和改变是可能的。在此所述的实施例应当在所有方面被理解为是说明性的而非限制性的。应当参考所附的权利要求书以及其等同方案来确定本公开的范围。
除非特别指出,如在说明书及权利要求书中使用的术语“被连接至”和“被耦合至”(以及他们的衍生体)将被理解为允许直接的和间接的(即,通过其他元素或部件)连接。另外,在说明书及权利要求书中使用的术语“一个”或“一种”应被理解为“至少其中之一”。最后,为方便使用,在说明书及权利要求书中使用的术语“包括”和“具有”(以及他们的衍生体)是与词语“包含”可互换的,并且具有与词语“包含”相同的含义。

Claims (15)

1.一种通信方法,包括:
识别单一逻辑交换机,所述单一逻辑交换机包括多个物理交换机,其中:
所述多个物理交换机包括至少第一交换机和第二交换机;
在所述第一交换机处的所述逻辑交换机的入口通过第一路径被连接至在所述第二交换机处的所述逻辑交换机的出口,所述第一路径从所述第一交换机向所述第二交换机延伸;以及
在所述第一交换机处的所述逻辑交换机的所述入口还通过第二路径被连接至所述第二交换机处的所述逻辑交换机的所述出口,所述第二路径从所述第一交换机向所述第二交换机延伸;
通过以下来计算用于从所述逻辑交换机的入口向所述逻辑交换机的出口分发多播流量的多个多播分发树:
从所述多个物理交换机中选择第一根交换机;
从所述多个物理交换机中选择第二根交换机;
生成第一双向树,所述第一双向树植根于所述第一根交换机上并且包括所述第一路径;以及
生成第二双向树,所述第二双向树植根于所述第二根交换机上并且包括所述第二路径,其中所述第一根交换机不同于所述第二交换机;
在所述第一交换机处的所述逻辑交换机的所述入口处,接收多个多播分组;
在沿着所述第一路径的每个物理交换机处,使用所述第一双向树来向所述第二交换机处的所述逻辑交换机的所述出口传输所述多个多播分组的第一部分;以及
在沿着所述第二路径的每个物理交换机处,使用所述第二双向树来向所述第二交换机处的所述逻辑交换机的所述出口传输所述多个多播分组的第二部分。
2.根据权利要求1所述的方法,其中:
所述逻辑交换机包括虚拟机箱结构;以及
使用所述第一双向树和所述第二双向树包括:跨越所述第一路径和所述第二路径来将所述多个多播分组进行负载平衡。
3.根据权利要求1所述的方法,其中计算所述多个多播分发树包括:针对所述多个物理交换机中的每个物理交换机,计算植根于所述物理交换机上的双向树。
4.根据权利要求1所述的方法,其中所述第一根交换机和所述第二根交换机是至少部分地基于所述多个物理交换机的物理拓扑来选择的。
5.根据权利要求1所述的方法,其中所述第一根交换机是至少部分地基于所述第一根交换机是集线器来选择的。
6.根据权利要求1所述的方法,其中:
所述第一双向树是由所述第一根交换机生成的;以及
所述第二双向树是由所述第二根交换机生成的。
7.根据权利要求1所述的方法,其中所述第一双向树是由所述多个物理交换机中的不是所述第一根交换机的物理交换机生成的。
8.根据权利要求1所述的方法,其中所述多个多播分发树中的每个多播分发树包括从所述多播分发树的所述根到所述多个物理交换机中的每个物理交换机的路径。
9.根据权利要求1所述的方法,其中所述多个多播分组中的每个多播分组是单一多播组。
10.根据权利要求9所述的方法,其中所述多播分组包括虚拟局域网。
11.根据权利要求9所述的方法,其中所述多播组包括互联网协议多播组。
12.根据权利要求1所述的方法,其中:
所述多个多播分组包括:
第一多播组的多个多播分组;以及
第二多播组的多个多播分组;以及
使用所述第一双向树和所述第二双向树,包括:
使用所述第一双向树而不是所述第二双向树,来从所述第一交换机处的所述逻辑交换机的所述入口向所述第二交换机处的所述逻辑交换机的所述出口,传输所述第一多播组的所述多个多播分组;以及
使用所述第二双向树而不是所述第一双向树,来从所述第一交换机处的所述逻辑交换机的所述入口向所述第二交换机处的所述逻辑交换机的所述出口,传输所述第二多播组的所述多个多播分组。
13.根据权利要求12所述的方法,进一步包括:
在所述多个物理交换机中的第三物理交换机处的所述逻辑交换机的附加入口处,接收所述第一多播组的附加的多个多播分组和所述第二多播组的附加的多个多播分组;
使用所述第一双向树而不是所述第二双向树,来从所述第三物理交换机处的所述逻辑交换机的所述附加入口向所述第二交换机处的所述逻辑交换机的所述出口,传输所述第一多播组的所述附加的多个多播分组;以及
使用所述第二双向树而不是所述第一双向树,来从所述第三物理交换机处的所述逻辑交换机的所述附加入口向所述第二交换机处的所述逻辑交换机的所述出口,传输所述第二多播组的所述附加的多个多播分组。
14.一种计算系统,包括:
存储器,所述存储器存储:
识别模块,所述识别模块识别单一逻辑交换机,所述单一逻辑交换机包括多个物理交换机,其中:
所述多个物理交换机包括至少第一交换机和第二交换机;
在所述第一交换机处的所述逻辑交换机的入口通过第一路径被连接至在所述第二交换机处的所述逻辑交换机的出口,所述第一路径从所述第一交换机向所述第二交换机延伸;以及
在所述第一交换机处的所述逻辑交换机的所述入口还通过第二路径被连接至所述第二交换机处的所述逻辑交换机的所述出口,所述第二路径从所述第一交换机向所述第二交换机延伸;
计算模块,所述计算模块通过以下来计算用于从所述逻辑交换机的入口向所述逻辑交换机的出口分发多播流量的多个多播分发树:
从所述多个物理交换机中选择第一根交换机;
从所述多个物理交换机中选择第二根交换机;
生成第一双向树,所述第一双向树植根于所述第一根交换机上并且包括所述第一路径;以及
生成第二双向树,所述第二双向树植根于所述第二根交换机上并且包括所述第二路径,其中所述第一根交换机不同于所述第二交换机;
接收模块,所述接收模块在所述第一交换机处的所述逻辑交换机的所述入口处,接收多个多播分组;
传输模块,所述传输模块:
在沿着所述第一路径的每个物理交换机处,使用所述第一双向树来向所述第二交换机处的所述逻辑交换机的所述出口传输所述多个多播分组的第一部分;以及
在沿着所述第二路径的每个物理交换机处,使用所述第二双向树来向所述第二交换机处的所述逻辑交换机的所述出口传输所述多个多播分组的第二部分;以及
耦合至所述存储器的至少一个物理处理器,所述至少一个物理处理器执行所述识别模块、所述计算模块、所述接收模块以及所述传输模块。
15.根据权利要求14所述的系统,其中:
所述逻辑交换机包括虚拟机箱结构;以及
所述传输模块使用所述第一双向树和所述第二双向树,来跨越所述第一路径和所述第二路径来将所述多个多播分组进行负载平衡。
CN201911301713.0A 2014-03-31 2015-03-24 用于负载平衡多播流量的系统和方法 Active CN110995602B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/231,225 2014-03-31
US14/231,225 US9407555B2 (en) 2014-03-31 2014-03-31 Systems and methods for load balancing multicast traffic
CN201510130560.3A CN104954276B (zh) 2014-03-31 2015-03-24 用于负载平衡多播流量的系统和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201510130560.3A Division CN104954276B (zh) 2014-03-31 2015-03-24 用于负载平衡多播流量的系统和方法

Publications (2)

Publication Number Publication Date
CN110995602A CN110995602A (zh) 2020-04-10
CN110995602B true CN110995602B (zh) 2022-01-14

Family

ID=52987876

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911301713.0A Active CN110995602B (zh) 2014-03-31 2015-03-24 用于负载平衡多播流量的系统和方法
CN201510130560.3A Active CN104954276B (zh) 2014-03-31 2015-03-24 用于负载平衡多播流量的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510130560.3A Active CN104954276B (zh) 2014-03-31 2015-03-24 用于负载平衡多播流量的系统和方法

Country Status (3)

Country Link
US (2) US9407555B2 (zh)
EP (2) EP3276896B1 (zh)
CN (2) CN110995602B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150312151A1 (en) * 2014-04-29 2015-10-29 Dell Products L.P. Enhanced load distribution of non-unicast traffic to multi-homed nodes in a port extender environment
US10182007B2 (en) * 2017-03-30 2019-01-15 Juniper Networks, Inc. Apparatus, system, and method for facilitating controller-based multicast signaling
US10541866B2 (en) * 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
CN108650176B (zh) * 2018-04-13 2020-10-30 烽火通信科技股份有限公司 一种两级复制实现二层组播保护的方法及系统
US11494212B2 (en) * 2018-09-27 2022-11-08 Intel Corporation Technologies for adaptive platform resource assignment
CN110324247B (zh) * 2019-06-29 2021-11-09 北京东土军悦科技有限公司 三层组播网络中的组播转发方法、设备及存储介质
US20240098026A1 (en) * 2022-09-16 2024-03-21 Juniper Networks, Inc. Load balancing of assisted replication network devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013948A (zh) * 2006-01-30 2007-08-08 瞻博网络公司 构建等耗多径多播分发结构
CN101170432A (zh) * 2006-10-27 2008-04-30 中兴通讯股份有限公司 一种实现组播业务保护倒换和负载均衡的方法
CN101262412A (zh) * 2007-03-09 2008-09-10 上海贝尔阿尔卡特股份有限公司 一种具有最小时延的组播恢复的方法及其接入设备
CN102783096A (zh) * 2009-12-31 2012-11-14 阿尔卡特朗讯公司 用于mpls多播的高效保护方案
CN103685260A (zh) * 2013-12-09 2014-03-26 中国科学院计算机网络信息中心 覆盖多播的区文件传送方法及系统

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697333B1 (en) 1998-03-04 2004-02-24 Alcatel Canada Inc. Bandwidth load consideration in network route selection
US7430164B2 (en) * 1998-05-04 2008-09-30 Hewlett-Packard Development Company, L.P. Path recovery on failure in load balancing switch protocols
US7016351B1 (en) * 2000-02-29 2006-03-21 Cisco Technology, Inc. Small group multicast in a computer network
US6947434B2 (en) * 2000-11-16 2005-09-20 Telefonaktiebolaget Lm Ericsson (Publ) Subgroup multicasting in a communications network
US7088684B2 (en) * 2001-07-16 2006-08-08 International Business Machines Corporation Methods and arrangements for dynamically modifying subsource address multicast data distribution trees
US6947392B2 (en) * 2001-07-16 2005-09-20 International Business Machines Corporation Methods and arrangements for building a subsource address multicast distribution tree using traced routes
WO2004043019A1 (ja) * 2002-11-05 2004-05-21 Fujitsu Limited ネットワーク中継方法及び装置
FR2858897A1 (fr) * 2003-08-12 2005-02-18 France Telecom Procede de diffusion d'information multicast etendue, systeme et produit logiciel correspondant
US7317722B2 (en) * 2003-08-20 2008-01-08 3Com Corporation System and method for distributed multicast routing
US7447223B2 (en) * 2004-01-28 2008-11-04 Hewlett-Packard Development Company, L.P. Switching mesh with broadcast path redundancy
US7644182B2 (en) * 2004-03-11 2010-01-05 Hewlett-Packard Development Company, L.P. Reconfiguring a multicast tree
US7787360B2 (en) * 2004-07-23 2010-08-31 Cisco Technology, Inc. System and method for preserving multicast data forwarding during control failures in a router
US7958208B2 (en) * 2004-09-22 2011-06-07 At&T Intellectual Property I, L.P. System and method for designing a customized switched metro Ethernet data network
US7570649B2 (en) * 2005-02-28 2009-08-04 Alcatel Lucent Forwarding state sharing between multiple traffic paths in a communication network
US8306026B2 (en) * 2005-12-15 2012-11-06 Toshiba America Research, Inc. Last hop topology sensitive multicasting key management
US8018964B2 (en) * 2005-12-16 2011-09-13 Cisco Technology, Inc. Multicast operations using prioritized state information
US7835378B2 (en) * 2006-02-02 2010-11-16 Cisco Technology, Inc. Root node redundancy for multipoint-to-multipoint transport trees
CN101242342B (zh) * 2007-02-05 2012-09-19 华为技术有限公司 组播方法及组播路由方法
KR101344015B1 (ko) * 2007-02-09 2013-12-23 삼성전자주식회사 PIM―SSM을 이용하는 네트워크에서 Join 메시지부하 조절 시스템 및 방법
US7630370B2 (en) * 2007-02-28 2009-12-08 Sharp Laboratories Of America, Inc. Overlay join latency reduction using preferred peer list
US20080212584A1 (en) * 2007-03-02 2008-09-04 At&T Knowledge Ventures, L.P. Method and system for presentation of multicast trees
US8724533B2 (en) * 2007-03-07 2014-05-13 Cisco Technology, Inc. Multicast support by mobile routers in a mobile ad hoc network
CN101299671B (zh) * 2007-04-30 2013-03-13 上海贝尔阿尔卡特股份有限公司 用于组播数据包发送与接收的方法和装置
US8295203B2 (en) * 2007-08-24 2012-10-23 At&T Intellectual Property I, L.P. Methods and systems to store state used to forward multicast traffic
BRPI0722244A2 (pt) * 2007-12-10 2018-12-26 Telefonaktibolaget Lm Ericsson Publ método para transmtir uma corrente de dados, sistema de agente de serviço, e, dispositivos de transmissão e de recepção.
US8259594B2 (en) * 2008-03-17 2012-09-04 Comcast Cable Holding, Llc Method for detecting video tiling
WO2010063298A1 (en) * 2008-12-02 2010-06-10 Telecom Italia S.P.A. Method and system for multicast path switching, corresponding network and computer program product
US8208481B2 (en) * 2008-12-19 2012-06-26 Cisco Technology, Inc. Determination of packet loss locations
US20110085557A1 (en) * 2009-10-08 2011-04-14 Brocade Communications Systems, Inc. Partitioning of Switches and Fabrics into Logical Switches and Fabrics
US8958310B2 (en) * 2010-01-28 2015-02-17 Hewlett-Packard Development Company, L.P. Investigating quality of service disruptions in multicast forwarding trees
US8499060B2 (en) * 2010-03-19 2013-07-30 Juniper Networks, Inc. Upgrading system software in a chassis without traffic loss
US8625466B2 (en) * 2010-05-11 2014-01-07 Calix, Inc. Multi-card network device appearing as single entity in spanning tree network
US8787400B1 (en) 2012-04-25 2014-07-22 Juniper Networks, Inc. Weighted equal-cost multipath
US9071541B2 (en) 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US8848509B2 (en) 2012-04-27 2014-09-30 Telefonaktiebolaget L M Ericsson (Publ) Three stage folded Clos optimization for 802.1aq
US8717944B2 (en) 2012-08-23 2014-05-06 Cisco Technology, Inc. TRILL optimal forwarding and traffic engineered multipathing in cloud switching
US9083645B2 (en) 2012-09-07 2015-07-14 Dell Products L.P. Systems and methods providing reverse path forwarding compliance for a multihoming virtual routing bridge

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013948A (zh) * 2006-01-30 2007-08-08 瞻博网络公司 构建等耗多径多播分发结构
CN101170432A (zh) * 2006-10-27 2008-04-30 中兴通讯股份有限公司 一种实现组播业务保护倒换和负载均衡的方法
CN101262412A (zh) * 2007-03-09 2008-09-10 上海贝尔阿尔卡特股份有限公司 一种具有最小时延的组播恢复的方法及其接入设备
CN102783096A (zh) * 2009-12-31 2012-11-14 阿尔卡特朗讯公司 用于mpls多播的高效保护方案
CN103685260A (zh) * 2013-12-09 2014-03-26 中国科学院计算机网络信息中心 覆盖多播的区文件传送方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Qiu Zang ; Chao Fang.A dynamic multicast routing algorithm with load-balance and minimum bandwidth cost under delay constraint.《 2011 International Conference on Electrical and Control Engineering》.2011, *
基于负载均衡算法的按需多播路由协议;赵楠楠,王成等;《计算机工程》;20131130;全文 *

Also Published As

Publication number Publication date
US20160315863A1 (en) 2016-10-27
US20150281090A1 (en) 2015-10-01
CN104954276A (zh) 2015-09-30
CN104954276B (zh) 2020-01-31
EP3276896A1 (en) 2018-01-31
EP3276896B1 (en) 2019-05-15
EP2928130A1 (en) 2015-10-07
US9497124B1 (en) 2016-11-15
US9407555B2 (en) 2016-08-02
CN110995602A (zh) 2020-04-10
EP2928130B1 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
CN110995602B (zh) 用于负载平衡多播流量的系统和方法
CN108243103B (zh) 用于在克洛斯网络中分配路由协议信息的装置、系统和方法
US9654401B2 (en) Systems and methods for multipath load balancing
US9083645B2 (en) Systems and methods providing reverse path forwarding compliance for a multihoming virtual routing bridge
CN109936516B (zh) 用于跨多个网络传输选项促进透明服务映射的系统和方法
CN107231307B (zh) 用于防止数据中心架构内子网间流量转接的方法、系统和装置
EP3232607B1 (en) Method and apparatus for establishing multicast group in fat-tree network
CN107241272B (zh) 用于在路由会聚期间改进转发能力的方法、系统和装置
US9736068B2 (en) Switching layer 2 (L2) flows to a correct node in a link aggregation domain
CN108574634A (zh) 用于跨越共享标签的标签交换路径提供节点保护的装置、系统和方法
US20210399987A1 (en) Apparatus, system, and method for determining traffic load distributions in connection with routes of hierarchical fowarding information bases
CN106921575B (zh) 用于防止多播业务丢弃的装置、路由器和方法
CN109150721B (zh) 用于在mpls分组上施加标签栈条目的装置、系统和方法
US10027589B1 (en) Apparatus, system, and method for achieving redundancy and load-balancing across communication layers within networks
CN108696429B (zh) 促进基于控制器的多播信令的装置、系统和方法
CN108574633B (zh) 用于跨网络内的标签交换路径来共享标签的装置、系统和方法
US9450892B2 (en) Switch device, network system, and switch device control method
CN108512756B (zh) 促进iBGP对等体的标签标识的路由决策的装置、系统和方法
US11329921B1 (en) Apparatus, system, and method for mapping incremental changes across hierarchical and non-hierarchical forwarding information bases

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