CN103326948B - 一种交换处理系统和方法 - Google Patents
一种交换处理系统和方法 Download PDFInfo
- Publication number
- CN103326948B CN103326948B CN201310086528.0A CN201310086528A CN103326948B CN 103326948 B CN103326948 B CN 103326948B CN 201310086528 A CN201310086528 A CN 201310086528A CN 103326948 B CN103326948 B CN 103326948B
- Authority
- CN
- China
- Prior art keywords
- multicast
- destination
- entry
- switching processor
- port
- 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
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/16—Multipoint routing
-
- 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]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- 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
- H04L45/745—Address table lookup; Address filtering
Abstract
本发明涉及至多播路由器端口的未登记多播包转发。在一个实施例中,一种系统包括:交换处理器;构造用于在管理虚拟局域网上的交换的交换处理器上安装多播控制(MC)表的逻辑;构造用于确定多播泛洪是否在交换处理器中被禁用的逻辑;构造用于在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目的逻辑;构造用于检测是否有一个或多个多播路由器连接到与交换处理器耦接的一个或多个端口的逻辑;构造用于接收至少一个多播包的逻辑;和构造用于在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包的逻辑。根据更多的实施例,提供其它系统、方法和计算机程序产品。
Description
技术领域
本发明涉及数据中心基础设施,更具体地讲,本发明涉及能够实现未登记多播控制(MC)包交换的以太网交换机。
背景技术
在包交换网络交换机中,通常对目的地介质访问控制(MAC)地址或目的地互联网协议(IP)地址执行查找以发现用于转发包的实际目的地端口。多数系统使用某种交换处理器,诸如专用集成电路(ASIC)。在操作中,常规交换处理器把未登记IP多播数据包转发到多播路由器端口。通常经互联网组多播协议(IGMP)询问、协议独立多播(PIM)hello消息获取多播路由器端口,或者当多播泛洪(flooding)在交换机中被禁用时在虚拟局域网(VLAN)上预先配置多播路由器端口。
不幸的是,常规MC交换协议(诸如,互联网协议多播通信(IPMC)交换协议)具有两个主要缺点。第一,未登记多播数据业务被连续地俘获到中央处理单元(CPU),直至得知多播路由器端口或者在硬件中编程了多播路由器端口。这使CPU忙于处理包,不利地消耗网络和系统资源。
常规IPMC交换协议的第二个缺点在于:必须为在特定VLAN上接收数据业务的每个多播组添加单独的条目。
发明内容
在一个实施例中,一种系统包括:交换处理器;构造用于在管理虚拟局域网上的交换的交换处理器上安装多播控制(MC)表的逻辑;构造用于确定多播泛洪是否在交换处理器中被禁用的逻辑;构造用于在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目的逻辑;构造用于检测是否一个或多个多播路由器连接到与交换处理器耦接的一个或多个端口的逻辑;构造用于接收至少一个多播包的逻辑;和构造用于在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包的逻辑。
在另一实施例中,一种方法包括:在交换处理器上安装(MC表,其中交换处理器管理至少一个虚拟局域网上的交换;确定多播泛洪在交换处理器中被启用或禁用;在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目;检测是否有任何多播路由器连接到与交换处理器耦接的一个或多个端口;接收至少一个多播包;以及在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包。
在另一实施例中,一种用于控制交换处理器上的多播交换的计算机程序产品包括计算机可读程序代码,该计算机可读程序代码包括:构造用于在管理至少一个虚拟局域网上的交换的交换处理器上安装MC表的计算机可读程序代码;构造用于确定多播泛洪在交换处理器中被启用或禁用的计算机可读程序代码;构造用于在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目的计算机可读程序代码;构造用于检测连接到与交换处理器耦接的一个或多个端口的任何多播路由器的计算机可读程序代码;构造用于在至少一个多播路由器连接到交换处理器上的所述一个或多个端口中的任何端口时在MC表中安装多播路由器泛洪条目的计算机可读程序代码;构造用于接收至少一个多播包的计算机可读程序代码;构造用于在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包的计算机可读程序代码;构造用于在至少一个多播路由器连接到交换处理器上的所述一个或多个端口中的任何端口时基于多播路由器泛洪条目确定至少一个目的地的计算机可读程序代码;和构造用于把所述至少一个多播包发送到所述至少一个目的地的计算机可读程序代码。
通过下面的详细描述,本发明的其它方面和实施例将会变得清楚,当结合附图时下面的详细描述通过例子示出本发明的原理。
附图说明
图1示出根据一个实施例的网络架构。
图2示出根据一个实施例的可与图1的服务器和/或客户机关联的代表性硬件环境。
图3是根据一个实施例的交换装置的简化图。
图4是根据另一实施例的包的简化图。
图5示出根据一个实施例的用于网络环境中的多播包交换的一种结构。
图6示出根据一个实施例的用于网络环境中的多播包交换的另一结构。
图7是根据另一实施例的方法的流程图。
具体实施方式
为了例示本发明的一般原理的目的而进行下面的描述,而非意图限制本文要求保护的发明构思。另外,本文描述的特定特征能够按照各种可能的组合和排列中的每一种而与其它描述的特征结合使用。
除非另外在本文明确地定义,否则所有术语将会被给予它们的最广泛的可能的解释,包括从说明书暗示的含义以及由本领域技术人员理解和/或如字典、论文中所定义的含义。
还必须注意的是,如在说明书和所附权利要求中所使用,单数形式“a”、“an”和“the”包括多个所指物,除非另外说明。
通常,提供一种用于仅使用单个多播泛洪条目并且在无需把数据业务俘获到中央处理器的情况下把未登记多播控制(MC)包转发到多播路由器端口的系统和协议将是有益的。各种实施例提供这种特征。
当前描述的多播包转发系统和方法的优点能够如下描述。在连接到多个虚拟局域网(VLAN)的交换机上处理多播包的常规结构要求在接收时动态地创建用于每个包和每个VLAN的单独条目,并且还要求每当多播泛洪被禁用时在交换处理器中保留这些包。如以上所讨论的,这两种要求都是不希望的并且不必要地消耗网络资源。
作为鲜明对比,在各种方案中,本文描述的一些本发明的系统和方法仅要求在检测到与耦接到交换机和/或交换处理器的一个或多个端口连接的特定VLAN上的多播路由器时创建单个条目。换句话说,一些当前描述的系统和/或方法仅要求:具有与耦接到交换处理器的一个或多个端口连接的关联多播路由器的每个唯一(unique)的VLAN在MC表中具有唯一的条目,与常规多播转发方法和系统相比,极大地减少了所需条目的数量。此外,在多播泛洪被禁用的同时,包不需要被保留在交换处理器中,并且包优选地根据丢弃条目被丢弃,如下所述。
尽管大量的当前描述提及互联网协议多播通信(IPMC)表,但这样做仅仅是帮助读者并且给描述赋予上下文。应该理解,本文描述的任何实施例可用于除互联网协议(IP)之外的协议,并且更一般地,如此描述的IPMC表可以是MC表。
在一个一般实施例中,一种系统包括:交换处理器;构造用于在管理VLAN上的交换的交换处理器上安装MC表的逻辑;构造用于确定多播泛洪是否在交换处理器中被禁用的逻辑;构造用于在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目的逻辑;构造用于检测是否一个或多个多播路由器连接到与交换处理器耦接的一个或多个端口的逻辑;构造用于接收至少一个多播包的逻辑;和构造用于在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包的逻辑。
在另一个一般实施例中,一种方法包括:在交换处理器上安装多播控制表,其中交换处理器管理至少一个VLAN上的交换;确定多播泛洪在交换处理器中被启用或禁用;在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目;检测是否有任何多播路由器连接到与交换处理器耦接的一个或多个端口;接收至少一个多播包;和在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包。
在另一一般实施例中,一种用于控制交换处理器上的多播交换的计算机程序产品包括计算机可读程序代码,该计算机可读程序代码包括:构造用于在管理至少一个VLAN上的交换的交换处理器上安装MC表的计算机可读程序代码;构造用于确定多播泛洪在交换处理器中被启用或禁用的计算机可读程序代码;构造用于在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目的计算机可读程序代码;构造用于检测连接到与交换处理器耦接的一个或多个端口的任何多播路由器的计算机可读程序代码;构造用于在至少一个多播路由器连接到交换处理器上的所述一个或多个端口中的任何端口时在MC表中安装多播路由器泛洪条目的计算机可读程序代码;构造用于接收至少一个多播包的计算机可读程序代码;构造用于在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包的计算机可读程序代码;构造用于在至少一个多播路由器连接到交换处理器上的所述一个或多个端口中的任何端口时基于多播路由器泛洪条目确定至少一个目的地的计算机可读程序代码;和构造用于把所述至少一个多播包发送到所述至少一个目的地的计算机可读程序代码。
本领域技术人员将会理解,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采用通常全部可在本文称为“逻辑”、“电路”、“模块”或“系统”的完全硬件实施例、完全软件实施例(包括固件、常驻软件、微码等)或组合软件和硬件方面的实施例的形式。另外,本发明的各方面可以采用实现于具有计算机可读程序代码的一个或多个计算机可读介质的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或非暂态计算机可读存储介质。非暂态计算机可读存储介质可以是例如但不限于电子、磁、光学、电磁、红外或半导体系统、设备或装置或者前述各项的任何合适的组合。非暂态计算机可读存储介质的更具体的例子(非穷举列表)包括下述各项:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式压缩盘只读存储器(CD-ROM)、蓝光盘只读存储器(BD-ROM)、光学存储装置、磁存储装置或前述各项的任何合适的组合。在本文的上下文中,非暂态计算机可读存储介质可以是能够包含或存储由指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的程序或应用的任何有形介质。
计算机可读信号介质可包括例如基带中或作为载波的一部分的嵌入了计算机可读程序代码的传播数据信号。这种传播信号可采用多种形式中的任何形式,包括但不限于电磁信号、光学信号或者它们的任何合适的组合。计算机可读信号介质可以是并非非暂态计算机可读存储介质并且能够传送、传播或传输由指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的程序的任何计算机可读介质,诸如具有一条或多条线的电气连接、光纤等。
可以使用任何合适的介质(包括但不限于无线、有线、光纤光缆、RF等或前述各项的任何合适的组合)传输计算机可读介质上包含的程序代码。
可以按照一种或多种编程语言的任何组合编写用于执行本发明的各方面的操作的计算机程序代码,所述编程语言包括:面向对象的编程语言,诸如Java、Smalltalk、C++等;和常规的过程编程语言,诸如“C”编程语言或类似编程语言。程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一情形中,远程计算机或服务器可以通过任何类型的网络(包括局域网(LAN)、存储域网(SAN)和/或广域网(WAN))连接到用户的计算机,或者可以例如使用互联网服务提供商(ISP)通过互联网连接到外部计算机。
参考根据本发明各种实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图在本文描述了本发明的各方面。将会理解,流程图和/或方框图中的每个方框以及流程图和/或方框图中的方框的组合可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机或者其它可编程数据处理设备的处理器,以产生一机器,从而指令(所述指令经计算机或者其它可编程数据处理设备的处理器执行)产生用于实现流程图和/或方框图的一个或多个方框中规定的功能/动作的装置。
这些计算机程序指令也可存储在计算机可读介质中,该计算机可读介质可指示计算机、其它可编程数据处理设备或其它装置按照特定的方式发挥作用,从而存储在计算机可读介质中的指令产生一种制造产品,所述制造产品包括实现流程图和/或方框图的一个或多个方框中规定的功能/动作的指令。
计算机程序指令也可被加载到计算机、其它可编程数据处理设备或其它装置上,以使得在所述计算机、其它可编程设备或其它装置上执行一系列的操作步骤以产生计算机实现的过程,从而在该计算机或其它可编程设备上执行的指令提供用于实现流程图和/或方框图的一个或多个方框中规定的功能/动作的过程。
图1示出根据一个实施例的网络架构100。如图1中所示,提供多个远程网络102,包括第一远程网络104和第二远程网络106。网关101可耦接在远程网络102和邻近网络108之间。在本网络架构100的环境下,每个网络104、106可采用任何形式,包括但不限于LAN、WAN(诸如,互联网、公共交换电话网络(PSTN)、内部电话网络等)。
在使用时,网关101用作从远程网络102到邻近网络108的入口点。这样,网关101可用作:路由器,能够引导到达网关101的给定数据包;和交换机,为给定包提供进入和离开网关101的实际路径。
还包括至少一个数据服务器114,数据服务器114耦接到邻近网络108,并且可经网关101从远程网络102进行访问。应该注意的是,数据服务器114可包括任何类型的计算装置/群件。多个用户装置116耦接到每个数据服务器114。这种用户装置116可包括桌上型计算机、膝上型计算机、手持式计算机、打印机和/或任何其它类型的包含逻辑的装置。应该注意的是,在一些实施例中,用户装置111也可直接耦接到任何网络。
外设120或一系列外设120(例如,传真机、打印机、扫描仪、硬盘驱动器、联网和/或本地存储单元或系统等)可耦接到网络104、106、108中的一个或多个。应该注意的是,数据库和/或另外的部件可与耦接到网络104、106、108的任何类型的网络元件一起使用或者被集成到所述网络元件中。在本说明的上下文中,网络元件可以指网络的任何部件。
根据一些方案,本文描述的方法和系统可利用虚拟系统和/或模拟一个或多个其它系统的系统(诸如,模拟IBMz/OS环境的UNIX系统、虚拟地容宿(host)MICROSOFTWINDOWS环境的UNIX系统、模拟IBMz/OS环境的MICROSOFTWINDOWS系统等),来实现,和/或实现于所述虚拟系统和/或所述模拟一个或多个其它系统的系统上。在一些实施例中,通过使用VMWARE软件可增强这种虚拟和/或模拟。
在另外的方案中,一个或多个网络104、106、108可代表通常称为“云”的系统集群。在云计算中,共享资源(诸如,处理能力、外设、软件、数据、服务器等)根据按需关系被提供给云中的任何系统,由此允许跨许多计算系统的服务访问和分配。云计算通常包括在云中工作的系统之间的互联网连接,但如本领域所知,也可使用连接各系统的其它技术。
图2示出根据一个实施例的与图1的用户装置116和/或服务器114关联的代表性硬件环境。图2示出具有经由一个或多个总线212互连的中央处理单元(CPU)210(诸如,微处理器)和许多其它单元的工作站的典型硬件结构,根据几个实施例,所述一个或多个总线212可具有不同的类型,诸如局部总线、并行总线、串行总线等。
图2中显示的工作站包括:随机存取存储器(RAM)214;只读存储器(ROM)216;I/O适配器218,用于把外围装置(诸如,盘存储单元220)连接到所述一个或多个总线212;用户接口适配器222,用于把键盘224、鼠标226、扬声器228、麦克风232和/或其它用户接口装置(诸如,触摸屏、数字照相机(未示出)等)连接到所述一个或多个总线212;通信适配器234,用于把工作站连接到通信网络235(例如,数据处理网络);和显示适配器236,用于把所述一个或多个总线212连接到显示装置238。
工作站可具有驻留于它上面的操作系统,诸如MICROSOFTWINDOWS操作系统(OS)、MACOS、UNIXOS等。将会理解,优选实施例也可实现于除提及的这些操作系统之外的平台和操作系统上。可使用JAVA、XML、C和/或C++语言或其它编程语言以及面向对象的编程方法编写优选实施例。可使用已越来越多地用于开发复杂应用的面向对象的编程(OOP)。
现在将参照附图描述当前描述的系统和方法的几个示例性实施例和应用。
现在参照图3,显示根据一个实施例的交换装置300。如图中所示,交换系统300包括:服务器302,诸如动态主机配置协议(DHCP)服务器,适于分配和管理以电气方式连接到交换系统300的装置304的装置地址。服务器302以电气方式耦接到用于执行逻辑的交换处理器306。本领域已知的任何类型的处理器可用于服务器302和/或交换处理器306,诸如中央处理单元(CPU)、现场可编程门阵列(FPGA)、集成电路(IC)、专用集成电路(ASIC)等。装置地址(在这里也可称为目的地地址)可包括介质访问控制(MAC)地址、IP地址和/或本领域已知的任何其它类型的装置地址。
在一个实施例中,特别地如图4中所示,每个包400包括头部402和净荷404。现在参照图3-4,交换处理器306包括或可访问构造用于在交换处理器306上安装IPMC表的逻辑。在一些方案中,IPMC表可被安装到例如交换处理器的ASIC。在优选方案中,IPMC表被作为单个条目安装在交换处理器306的ASIC中。
此外,在另外的实施例中,交换处理器306包括或可访问构造用于确定多播泛洪是否在交换处理器306中被禁用的逻辑。
此外,在一种方案中,交换处理器306还包括或可访问构造用于在确定多播泛洪在交换处理器306中被禁用时在IPMC表中安装丢弃条目的逻辑。在一个实施例中,丢弃条目可采用许多形式,并包括组地址和掩码。在许多实施例中,构造丢弃条目组地址,以使示例性网络环境中的一个或多个多播包属于与丢弃条目组地址对应的组。在一个特定实施例中,丢弃条目组地址是224.0.0.0并且丢弃条目掩码是4位掩码。然而,可使用任何地址和/或掩码长度。
另外,交换处理器306包括或可访问构造用于检测连接到与交换处理器耦接的一个或多个端口的一个或多个多播路由器的逻辑。在阅读本说明时,本领域普通技术人员将会理解,在各种方案中,任何检测方法可用于确定连接到与交换处理器306耦接的一个或多个端口(例如,端口504、506、604和/或606,分别如图5和6中所示并且在下面更详细描述)的任何多播路由器(例如,分别为图3、5和6的目的地308、510、610和/或620)。
在另外的实施例中,交换处理器306包括或可访问构造用于接收至少一个多播包(例如,包400,如图4中所示)的逻辑。在一个特定实施例中,所述至少一个多播包可由包交换装置的包交换ASIC接收。当然,在阅读本说明时,本领域普通技术人员将会理解,所述至少一个多播包也可在任何位置并且以适合当前描述的联网环境的任何方式被接收。
在另外的实施例中,交换处理器306包括或可访问构造用于在检测到没有多播路由器连接到与交换处理器耦接的任何端口时丢弃每个多播包的逻辑。在一种方案中,构造用于丢弃所述至少一个多播包的逻辑包括用于在所述至少一个多播包属于与丢弃条目组地址对应的组时把所述至少一个多播包发送到丢弃条目组地址的逻辑。
在另外的实施例中,交换处理器306包括或可访问构造用于在检测到至少一个多播路由器连接到交换处理器上的一个或多个端口时在IPMC表中安装多播路由器泛洪条目的逻辑。尽管多播路由器泛洪条目可采用许多形式,但根据一个实施例,多播路由器泛洪条目包括多播路由器组地址、掩码和VLAN标识(VLANID)。在阅读本说明时,本领域普通技术人员将会理解,像丢弃条目一样,在一些方案中,多播路由器泛洪条目可被安装到交换处理器306的专用集成电路,但是当然也可被安装到任何位置以及以任何合适的方式安装。
在一个特定实施例中,多播路由器组地址包括从大约224.0.0.0到大约239.255.255.255的所有地址,并且多播路由器泛洪条目掩码是4位掩码。
在一些实施例中,交换处理器306包括或可访问构造用于基于多播路由器泛洪条目确定至少一个目的地的逻辑。在优选方案中,构造用于基于多播路由器泛洪条目确定至少一个目的地的逻辑包括构造用于基于多播路由器泛洪条目中的VLANID确定所述至少一个目的地的逻辑。
在一些方案中,VLANID包括至少一个目的地地址和至少一个目的地端口。此外,构造用于基于多播路由器泛洪条目确定至少一个目的地的逻辑和/或构造用于基于VLANID确定至少一个目的地的逻辑包括构造用于基于所述至少一个目的地地址和所述至少一个目的地端口确定所述至少一个目的地的逻辑。另外,根据优选实施例,构造用于基于多播路由器泛洪条目确定至少一个目的地的逻辑可包括构造用于在IPMC表中执行最长前缀匹配的逻辑。
替代地和/或另外地,在各种实施例中,交换处理器306包括或可访问构造用于至少部分地基于至少一个互联网组多播协议(IGMP)报告确定所述至少一个目的地的逻辑。
根据各种实施例,在阅读本说明时,本领域普通技术人员将会理解,目的地地址可包括装置地址、MAC地址、IP地址或能够识别网络环境的部件的任何其它地址。
在另外的实施例中,交换处理器306包括或可访问构造用于把所述至少一个多播包(例如,根据一个实施例,包400,如图4中所示)发送到所述至少一个目的地(例如,分别为图3、5和6的目的地308、510、610和/或620)的逻辑。在阅读本说明时,本领域普通技术人员将会理解,所述至少一个多播包可按照在阅读本说明时本领域普通技术人员将会理解的任何合适的方式被发送,所述方式诸如为协议独立多播(PIM)稀疏模式(PIM-SM)、PIM密集模式(PIM-DM)、双向PIM、PIM源特定多播(PIM-SSM)等。另外,在各种方案中,发送方法可根据供包行进的特定联网环境的能力和结构而变化。
通常,在常规交换装置中,在接收到多播包时,包被保留在处理器(例如,CPU)中,并且在处理器中动态地创建或安装对应的条目。当多播泛洪被启用时,包被自动充溢到所有连接的接收者。然而,当多播泛洪被禁用时,在接收到每个包时动态地创建并安装这些条目并且这些条目必须与包一起被保留在处理器中。这种保留会消耗大量网络资源,并且在多播泛洪被禁用时为接收到的每个多播包动态地创建条目进一步消耗网络资源并为处理器引入不必要的麻烦的活动。
在一些实施例中,可指定超过一个目的地端口308,诸如在一个例子中的链路聚合组中的一组目的地端口308中的一个。在这些实施例中,其它逻辑(以下描述)可用于基于任何数量的因素或准则(诸如,用途、处理速度、业务模式等),来确定把所述至少一个包400发送到哪个目的地端口308。
链路聚合(LAG)
在以太网网络中,链路聚合(LAG)可被部署作为较高带宽应用和链路/端口冗余的解决方案。如IEEE802.1AX标准中所定义,LAG提供与介质访问控制(MAC)客户机(网络栈中的较高层协议)的逻辑接口,并在帧分配算法的帮助下负责启用了LAG的系统内的跨物理端口的帧分配。
尽管链路聚合提高了网络的吞吐量/弹性性能,但终端主机网络栈中的较高层协议可对包传送施加特定约束。对于TCP/IP网络,例如,一个要求可能是按序包传送。
融合以太网网络可包括基于以太网和存储两者的通信。例如,存储通信可包括以太网光纤通道(FCoE)和/或融合增强型以太网RDMA(RoCEE)。本文公开的各种实施例能够实现融合网络的LAG。在一种方案中,可提供服务器CNA(融合网络适配器)。
在各种方案中,本发明的多播包交换系统和方法还可在网络环境中采用链路聚合,如具体地参照FCoE和RoCEE所讨论。在阅读本说明时,本领域普通技术人员将会理解,根据几个实施例,可采用任何类型的链路聚合。
LAG上的FCoE
对于存储联网,服务器侧存储协议栈可使用或者可不使用以太网LAG分配策略。在存储协议不使用以太网LAG分配策略的情况下,在终端主机处的较高层存储联网协议可监视物理链路状态,并从存储联网栈自身提供失败转移和/或负载分配。在LAG链路的另一端(即,接入交换机),为了FCoE业务的目的,所有个体物理端口可被视为独立的层2接口,而非LAG的一部分。根据一个优选实施例,这表明了两种约束:
1)根据一个实施例,如果终端主机从启用了LAG的系统上的物理端口向外发送存储请求,则响应应该优选地被返回到该启用了LAG的系统上的同一端口。
2)在另一实施例中,用于FCoE虚拟LAN(VLAN)发现和FCF(光纤通道转发器)发现的某些广播(BCAST)或多播(MCAST)包优选地由启用了LAG的系统内的所有端口接收。
有益地,在满足以上约束的实施例中,对于接入交换机的面对服务器的端口上的FCoE业务,不需要如802.1AX中所定义的LAG的功能。
LAG上的RoCEE
在一个实施例中,也可对RoCEE业务施加第12页第1段中的关于FCoE业务的如上所述的类似约束。根据这种实施例,存在这样的要求:为了卸载的目的,双向TCP流应该钉牢到(pinto)一物理端口。
具有LAG的融合网络
在另一实施例中,为了从以软件、硬件或软件及硬件实现的交换机的角度支持以上要求,一个实施例提供基于特定VLAN定义LAG参数的能力。可在单独的VLAN上提供FCoE/RoCEE业务,并且接入交换机上的面对服务器的端口可被视为用于FCoE/RoCEEVLAN的各个端口,但相同的端口可被视为用于TCP/IPVLAN的LAG的一部分。有益地,这种方案能够实现融合网络的LAG。
对于各种实施例,具有例如执行软件或固件的电路、ASIC、处理器等的交换装置和端口优选地提供下面的能力:1)获知特定VLAN的各物理端口上的MAC的能力;和2)在特定VLAN上的LAG的所有端口上复制BCAST/MCAST的能力。
在另一实施例中,系统架构可包括下面的特征。对于每个个体物理端口,可存在与其关联的MAC层,另外,可存在在该MAC层上运行的MAC线(line)协议。在使用层2协议的系统的一个这种实施例中,从MAC线请求服务请求。
此外,根据各种实施例,当创建LAG时,层可被置于端口和MAC客户机之间。例如,在一个实施例中,LAG可提供MAC线,然后,当接收到对服务的层2请求(例如,发送一个帧的请求)时,LAG模块可处理该帧,并且可在LAG模块中采用分配算法,该分配算法构造为判定把包发送到哪里,而不管该包是在第一端口上还是在第二端口上接收的。
然而,如上所述,希望允许存储协议访问各个端口,而非由LAG模块处理。
现在,参照经由LAG模块采用链路聚合的一个假设的融合网络环境,在服务器中,可存在融合网络适配器(CNA),并且在一个实施例中,CNA可具有几个端口,包括第一端口(P1)和第二端口2(P2)。在一些方案中,这些端口中的每个端口可包括至少两种功能。在一些方案中,一种功能可以是光纤信道通信,并且另一种功能可以是以太网通信。
上述链路聚合的一个优点在于:以太网驱动器能够捆绑两个端口以创建单个接口。因此,根据上述假设的融合网络环境,如果P1和P2均是10Gb端口,则操作系统可把LAG接口看作20Gb接口。此外,如果经P1发出TCPI请求并且答复返回到P2,则LAG结构可接受该答复。
然而,在一些方案中,对于符合其它类型的标准的通信,诸如光纤信道、RDMA等(例如,FCoE或RoCEE),可能不可使用LAG。在另一假设的例子中,当文件系统想要访问存储器时,系统可向第一端口P1发送请求。
可使用表示包来自一特定VLAN的任何已知方法,诸如把表示该VLAN的信息添加到头部。在另一方案中,包中的标签或交换机将会识别的某事物可表示该VLAN。
在特别地在图5中反映的一种方案中,VLAN环境500可包括具有多个端口(例如,第一端口504和第二端口506)的交换机502,如图5中所示。在各种方案中,交换机502包括交换处理器,诸如交换处理器306。此外,源508可经第一VLAN连接512连接到第一端口504,并且目的地510可经第二VLAN连接514连接到第二端口506。在一些实施例中,目的地510可包括路由器,并在优选实施例中特别地包括多播路由器。
在图6中例示的另一方案中,VLAN网络环境600可包括具有多个端口(例如,第一端口604、第二端口606)的交换机602。另外,源608也可经第一VLAN连接612连接到第一端口604;第一目的地610可经第二VLAN连接614连接到交换机602的第二端口606;并且第二目的地620可经第三VLAN连接616连接到交换机602的第二端口606。因此,在各种方案中,端口504、506、604和606能够支持多个连接或者仅支持单个连接。
在符合图6中例示的实施例的另一方案中,第一目的地610和第二目的地620可位于不同的VLAN上,从而交换机602能够管理跨多个VLAN的包交换。在阅读本说明时,本领域普通技术人员将会理解,尽管图6描述可位于不同VLAN上的两个目的地610、620,但本文描述的本发明的系统可包括仅受在给定网络环境中支持的VLAN和路由器的数量限制的任何数量的目的地。
当前描述的多播包转发系统和方法的优点能够如下描述。在连接到多个VLAN的交换机(例如,交换机602)上处理多播包的常规结构要求在接收时动态地创建用于每个包和每个VLAN的不同条目,并且还要求每当多播泛洪被禁用时在交换处理器306中保留这些包。如以上所讨论,这两种要求都是不希望有的并且不必要地消耗网络资源。
作为鲜明对比,在各种方案中,本文描述的一些本发明的系统和方法仅要求在检测到连接到耦接到交换机502、602和/或交换处理器306的一个或多个端口的特定VLAN上的多播路由器时创建单个条目。换句话说,一些当前描述的系统和/或方法仅要求:具有连接到与交换处理器306耦接的一个或多个端口的关联多播路由器的每个唯一的VLAN在IPMC表中具有唯一的条目,与常规多播转发方法和系统相比,极大地减少了所需条目的数量。此外,在多播泛洪被禁用时,包不需要被保留在交换处理器306中,并且如上所述,包优选地根据丢弃条目被丢弃。
现在参照图7,显示根据一个实施例的方法700的流程图。在各种实施例中,可在图1-6等中描述的任何环境中根据本发明执行方法700。当然,在阅读本说明时,本领域普通技术人员将会理解,与在图7中具体地描述的操作相比更多或更少的操作可被包括在方法700中。
方法700的每个步骤可由操作环境的任何合适的部件执行。在阅读本说明时,本领域普通技术人员将会理解,例如,在一个实施例中,方法700可部分地或完全地由交换装置和/或交换装置的DHCP服务器执行。
在一个实施例中,方法700包括操作702,其中IPMC表被安装在交换处理器上。特别地,在一些方案中,交换处理器可管理VLAN上的交换。此外,在另外的方案中,IPMC表可被作为单个条目安装在交换处理器(例如,交换处理器306)的ASIC中。
在另一实施例中,方法700包括操作704,其中确定多播泛洪在交换处理器中被启用或禁用。
在另一实施例中,方法700包括操作706,其中在确定多播泛洪在交换处理器中被禁用时在IPMC表中创建丢弃条目。如以上类似所述,在一个实施例中,丢弃条目可包括组地址和掩码。在一个特定实施例中,组地址可以是224.0.0.0并且掩码可以是4位掩码。
在另一实施例中,方法700包括操作708,其中检测连接到与交换处理器耦接的一个或多个端口的一个或多个多播路由器。
在一个实施例中,方法700包括操作710,其中接收至少一个多播包。
在另一实施例中,方法700包括操作712,其中在检测到没有多播路由器连接到与交换处理器耦接的任何端口时丢弃所述至少一个多播包。
在另外的方案中,方法700可包括另外的和/或替代的操作,诸如在一种方案中,在确定至少一个多播路由器连接到交换处理器上的一个或多个端口时在IPMC表中安装多播路由器泛洪条目;基于多播路由器泛洪条目确定至少一个目的地;以及把所述至少一个多播包发送到所述至少一个目的地。
在另一方案中,基于多播路由器泛洪条目确定至少一个目的地包括:在一个实施例中,基于VLANID确定所述至少一个目的地。在另一实施例中,基于多播路由器泛洪条目确定至少一个目的地包括:基于如VLANID中所定义的至少一个目的地地址和至少一个目的地端口,确定所述至少一个目的地。在另一实施例中,基于多播路由器泛洪条目确定至少一个目的地可包括:在IPMC表中执行最长前缀匹配。替代地和/或另外地,在另一实施例中,可至少部分地基于至少一个IGMP报告来确定所述至少一个目的地。
在另外的实施例中,本发明的系统和方法可实现为一种计算机程序产品。在一种特定方案中,发明构思可实现为一种用于控制交换处理器上的多播交换的计算机程序产品,该计算机程序产品包括计算机可读程序代码,诸如:构造用于在管理至少一个VLAN上的交换的交换处理器上安装MC表的计算机可读程序代码;构造用于确定多播泛洪在交换处理器中被启用或禁用的计算机可读程序代码;构造用于在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目的计算机可读程序代码;构造用于检测是否有一个或多个多播路由器连接到与交换处理器耦接的一个或多个端口的计算机可读程序代码;构造用于在至少一个多播路由器连接到交换处理器上的所述一个或多个端口中的一个或多个端口时在MC表中安装多播路由器泛洪条目的计算机可读程序代码;构造用于接收至少一个多播包的计算机可读程序代码;构造用于在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包的计算机可读程序代码;构造用于在至少一个多播路由器连接到交换处理器上的所述一个或多个端口中的一个或多个端口时基于多播路由器泛洪条目确定至少一个目的地的计算机可读程序代码;和构造用于把所述至少一个多播包发送到所述至少一个目的地的计算机可读程序代码。
使用本文描述的方法和系统的一些优点包括:执行交换决定,而不需要多播数据业务被连续地俘获到处理器(这节省了时间和处理能力),并且不需要用于在给定VLAN上接收数据业务的每个多播组的单独的条目,这还简化了交换逻辑,减少了处理时间和资源使用,因此降低了系统的总体成本。在优选实施例中,可使用硬件中的单个条目管理多播数据业务。此外,在一些方案中,该单个条目可有益地实现为交换处理器的ASIC中的单个条目。
在许多实施例中,当前描述的用于管理多播包的方法和系统可实现于网络交换机(诸如,IBMTOR交换机G8124和/或G8124-E)中。
尽管以上描述了各种实施例,但应该理解,仅作为例子而非限制而提供这些实施例。因此,本发明的实施例的广度和范围不应由任何上述示例性实施例限制,而是仅应该根据下面的权利要求及其等同物而被限定。
Claims (19)
1.一种交换处理系统,包括:
交换处理器;
构造用于在管理虚拟局域网(VLAN)上的交换的交换处理器上安装多播控制(MC)表的模块;
构造用于确定多播泛洪是否在交换处理器中被禁用的模块;
构造用于在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目的模块;
构造用于检测是否有一个或多个多播路由器连接到与交换处理器耦接的一个或多个端口的模块;
构造用于接收至少一个多播包的模块;和
构造用于在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包的模块。
2.如权利要求1所述的系统,其中所述丢弃条目包括第一组地址和第一掩码,
其中构造用于丢弃所述至少一个多播包的模块包括:构造用于在所述至少一个多播包属于与第一组地址对应的组时把所述至少一个多播包发送到第一组地址的模块。
3.如权利要求1所述的系统,还包括:
构造用于在检测到至少一个多播路由器连接到与交换处理器耦接的所述一个或多个端口中的一个或多个端口时在MC表中安装多播路由器泛洪条目的模块;
构造用于基于多播路由器泛洪条目确定至少一个目的地的模块;和
构造用于把所述至少一个多播包发送到所述至少一个目的地的模块。
4.如权利要求3所述的系统,其中所述多播路由器泛洪条目包括:
第二组地址;
第二掩码;和
VLAN标识(VLANID),
其中构造用于基于多播路由器泛洪条目确定至少一个目的地的模块包括:构造用于基于VLANID确定所述至少一个目的地的模块。
5.如权利要求4所述的系统,其中所述VLANID包括至少一个目的地地址和至少一个目的地端口,
其中构造用于基于多播路由器泛洪条目确定至少一个目的地的模块包括:构造用于基于所述至少一个目的地地址和所述至少一个目的地端口确定所述至少一个目的地的模块。
6.如权利要求5所述的系统,其中从由下述各项组成的组中选择所述至少一个目的地地址:装置地址、介质访问控制(MAC)地址和互联网协议(IP)地址。
7.如权利要求6所述的系统,还包括:构造用于至少部分地基于至少一个互联网组多播协议(IGMP)报告来确定所述至少一个目的地的模块。
8.如权利要求3所述的系统,其中构造用于基于多播路由器泛洪条目确定至少一个目的地的模块包括:构造用于在MC表中执行最长前缀匹配的模块。
9.如权利要求3所述的系统,其中所述MC表被作为单个条目安装在交换处理器的专用集成电路(ASIC)中。
10.如权利要求7所述的系统,其中所述丢弃条目包括第一组地址和第一掩码,
其中构造用于丢弃所述至少一个多播包的模块包括:构造用于把所述至少一个多播包发送到第一组地址的模块,
其中构造用于基于多播路由器泛洪条目确定至少一个目的地的模块包括:构造用于在多播路由器泛洪条目中执行最长前缀匹配的模块,
其中所述MC表被作为单个条目安装在交换处理器的专用集成电路(ASIC)中,
其中第一掩码是4位掩码,
其中第二掩码是4位掩码,
其中第一组地址是224.0.0.0,
其中第二组地址包括从224.0.0.0到239.255.255.255的所有地址。
11.一种交换处理方法,包括:
在交换处理器上安装多播控制(MC)表,其中交换处理器管理至少一个虚拟局域网(VLAN)上的交换;
确定多播泛洪在交换处理器中被启用或禁用;
在确定多播泛洪在交换处理器中被禁用时在MC表中安装丢弃条目;
检测连接到与交换处理器耦接的一个或多个端口的任何多播路由器;
接收至少一个多播包;和
在没有多播路由器连接到与交换处理器耦接的所述一个或多个端口中的任何端口时基于丢弃条目丢弃所述至少一个多播包。
12.如权利要求11所述的方法,其中所述丢弃条目包括组地址和掩码,
其中丢弃所述至少一个多播包包括:在所述至少一个多播包属于与该组地址对应的组时把所述至少一个多播包发送到该组地址。
13.如权利要求11所述的方法,还包括:
在确定至少一个多播路由器连接到与交换处理器耦接的所述一个或多个端口中的至少一个端口时在MC表中安装多播路由器泛洪条目;
基于多播路由器泛洪条目确定至少一个目的地;以及
把所述至少一个多播包发送到所述至少一个目的地。
14.如权利要求13所述的方法,其中所述多播路由器泛洪条目包括:
组地址;
掩码;和
VLAN标识(VLANID),
其中基于多播路由器泛洪条目确定至少一个目的地包括:基于VLANID确定所述至少一个目的地。
15.如权利要求14所述的方法,其中所述VLANID包括至少一个目的地地址和至少一个目的地端口,
其中基于多播路由器泛洪条目确定至少一个目的地包括:基于所述至少一个目的地地址和所述至少一个目的地端口确定所述至少一个目的地。
16.如权利要求15所述的方法,其中从由下述各项组成的组中选择所述目的地地址:装置地址、介质访问控制(MAC)地址和互联网协议(IP)地址。
17.如权利要求13所述的方法,其中基于多播路由器泛洪条目确定至少一个目的地包括:在MC表中执行最长前缀匹配。
18.如权利要求13所述的方法,其中至少部分地基于至少一个互联网组多播协议(IGMP)报告来确定所述至少一个目的地。
19.如权利要求16所述的方法,其中所述MC表被作为单个条目安装在交换处理器的专用集成电路(ASIC)中,
其中所述丢弃条目包括第一组地址和第一掩码,
其中丢弃所述至少一个多播包包括把所述至少一个多播包发送到第一组地址,
其中基于多播路由器泛洪条目确定至少一个目的地包括在多播路由器泛洪条目中执行最长前缀匹配,
其中至少部分地基于至少一个互联网组多播协议(IGMP)报告来确定所述至少一个目的地,
其中第一掩码是4位掩码,
其中第二掩码是4位掩码,
其中第一组地址是224.0.0.0,
其中第二组地址包括从224.0.0.0到239.255.255.255的所有地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/424,187 US8873552B2 (en) | 2012-03-19 | 2012-03-19 | Unregistered multicast (MC) packet forwarding to multicast router ports |
US13/424,187 | 2012-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103326948A CN103326948A (zh) | 2013-09-25 |
CN103326948B true CN103326948B (zh) | 2016-08-03 |
Family
ID=49157580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310086528.0A Active CN103326948B (zh) | 2012-03-19 | 2013-03-19 | 一种交换处理系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US8873552B2 (zh) |
CN (1) | CN103326948B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873552B2 (en) | 2012-03-19 | 2014-10-28 | International Business Machines Corporation | Unregistered multicast (MC) packet forwarding to multicast router ports |
US9647849B2 (en) * | 2013-03-05 | 2017-05-09 | Cisco Technology, Inc. | “Slow-start” problem in data center networks and a potential solution |
US9712650B2 (en) | 2013-10-21 | 2017-07-18 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | PIM fast failover using PIM graft message |
WO2015071914A2 (en) * | 2013-11-14 | 2015-05-21 | Hewlett-Packard Development Company, L.P. | Multicast data management |
US10644998B2 (en) * | 2013-12-15 | 2020-05-05 | Cavium, Llc | Virtualized network interface for lockdown and overlay of data in transmitted packets |
JP6729845B2 (ja) * | 2014-03-28 | 2020-07-29 | 富士通株式会社 | ネットワークシステム、パケット伝送装置、パケット伝送方法、及び情報処理プログラム |
EP3238396A4 (en) * | 2014-12-27 | 2018-08-15 | Intel Corporation | Technologies for scalable local addressing in high-performance network fabrics |
US11729088B2 (en) * | 2020-12-30 | 2023-08-15 | Arteris, Inc. | Broadcast switch system in a network-on-chip (NoC) |
CN116614459B (zh) * | 2023-07-18 | 2023-10-13 | 中移(苏州)软件技术有限公司 | 一种基于以太网rdma协议的链路聚合组管理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101142764A (zh) * | 2005-03-14 | 2008-03-12 | 三菱电机株式会社 | 第2层移动性网络 |
CN101222511A (zh) * | 2008-01-25 | 2008-07-16 | 北京交通大学 | 一种向量数据通信网上实现多播路由的方法 |
US20100153297A1 (en) * | 2008-12-12 | 2010-06-17 | Sap Ag | Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems |
US20110080909A1 (en) * | 2009-10-01 | 2011-04-07 | Electronics And Telecommunications Research Institute | Method and apparatus for controlling receiving ip multicast services based on network |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023563A (en) | 1996-08-20 | 2000-02-08 | Shani; Ron | Networking switch having the network presence of a bridge |
EP1162795A3 (en) | 2000-06-09 | 2007-12-26 | Broadcom Corporation | Gigabit switch supporting improved layer 3 switching |
US7953086B2 (en) * | 2003-06-27 | 2011-05-31 | Broadcom Corporation | Compression of datagram distribution information |
JP4464766B2 (ja) * | 2004-03-03 | 2010-05-19 | 株式会社日立製作所 | マルチキャスト配信制御装置 |
KR100776787B1 (ko) | 2005-09-05 | 2007-11-19 | 한국전자통신연구원 | 이더넷 수동 광 가입자망의 브리지 장치 및 그 포워딩 방법 |
JP4231061B2 (ja) | 2006-05-10 | 2009-02-25 | 株式会社日立コミュニケーションテクノロジー | 加入者接続装置およびネットワークシステム |
JP2008060631A (ja) | 2006-08-29 | 2008-03-13 | Alaxala Networks Corp | 通信装置及びマルチキャストユーザ認証方法 |
KR100859712B1 (ko) | 2006-12-08 | 2008-09-23 | 한국전자통신연구원 | 위조된 멀티캐스트 패킷을 막는 장치 및 그 방법 |
US8611270B1 (en) * | 2007-01-19 | 2013-12-17 | Cisco Technology, Inc. | Dynamic wireless VLAN IP multicast distribution |
US7796594B2 (en) | 2007-02-14 | 2010-09-14 | Marvell Semiconductor, Inc. | Logical bridging system and method |
GB2462060B (en) * | 2008-07-12 | 2012-05-16 | Broadcom Corp | Fast emulation of MAC table flushing for elan unicasts |
JP2010109574A (ja) | 2008-10-29 | 2010-05-13 | Mitsubishi Electric Corp | ゲートウェイ装置、サーバ装置、中継装置、およびマルチキャスト通信システム |
WO2010064182A2 (en) * | 2008-12-03 | 2010-06-10 | Corrigent Systems Ltd | Unicast streaming of multicast content |
US8208418B1 (en) * | 2009-01-16 | 2012-06-26 | Extreme Networks, Inc. | Methods, systems, and computer readable media for conserving multicast port list resources in an internet protocol (IP) packet forwarding device |
WO2011053973A1 (en) * | 2009-11-02 | 2011-05-05 | Marvell World Trade Ltd. Et Al. | Switching apparatus and method based on virtual interfaces |
US8428062B2 (en) * | 2010-02-16 | 2013-04-23 | Juniper Networks, Inc. | Network provider bridge MMRP registration snooping |
US8767735B2 (en) * | 2010-08-04 | 2014-07-01 | Alcatel Lucent | System and method for multi-chassis link aggregation |
US8675658B2 (en) * | 2011-11-28 | 2014-03-18 | Avaya Inc. | Using multiple IGMP queriers in a layer 2 network |
US8891535B2 (en) * | 2012-01-18 | 2014-11-18 | International Business Machines Corporation | Managing a global forwarding table in a distributed switch |
US8861400B2 (en) * | 2012-01-18 | 2014-10-14 | International Business Machines Corporation | Requesting multicast membership information in a distributed switch in response to a miss event |
US8873552B2 (en) | 2012-03-19 | 2014-10-28 | International Business Machines Corporation | Unregistered multicast (MC) packet forwarding to multicast router ports |
US9112796B2 (en) * | 2013-03-14 | 2015-08-18 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | System guided surrogating control in broadcast and multicast |
-
2012
- 2012-03-19 US US13/424,187 patent/US8873552B2/en not_active Expired - Fee Related
-
2013
- 2013-03-19 CN CN201310086528.0A patent/CN103326948B/zh active Active
-
2014
- 2014-09-26 US US14/498,951 patent/US9197540B2/en active Active
-
2015
- 2015-09-25 US US14/866,751 patent/US9602393B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101142764A (zh) * | 2005-03-14 | 2008-03-12 | 三菱电机株式会社 | 第2层移动性网络 |
CN101222511A (zh) * | 2008-01-25 | 2008-07-16 | 北京交通大学 | 一种向量数据通信网上实现多播路由的方法 |
US20100153297A1 (en) * | 2008-12-12 | 2010-06-17 | Sap Ag | Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems |
US20110080909A1 (en) * | 2009-10-01 | 2011-04-07 | Electronics And Telecommunications Research Institute | Method and apparatus for controlling receiving ip multicast services based on network |
Also Published As
Publication number | Publication date |
---|---|
US9197540B2 (en) | 2015-11-24 |
US9602393B2 (en) | 2017-03-21 |
US20150016454A1 (en) | 2015-01-15 |
CN103326948A (zh) | 2013-09-25 |
US20130242989A1 (en) | 2013-09-19 |
US8873552B2 (en) | 2014-10-28 |
US20160094434A1 (en) | 2016-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103326948B (zh) | 一种交换处理系统和方法 | |
US11240053B2 (en) | Overlay signaling for bit indexed explicit replication | |
US20220021550A1 (en) | Bit indexed explicit replication using multiprotocol label switching | |
US9699105B2 (en) | Self-routing multicast in a software defined network fabric | |
US7646739B2 (en) | Multicast routing over unidirectional links | |
US8565230B2 (en) | Shared virtual tunnels supporting Mac learning in communication networks | |
US8675522B2 (en) | Conveying the VLAN/L2 VSN/bridging-domain of the incoming interface (IIF) when transporting multicast traffic over a shortest path bridged (SPB) network | |
US9426546B2 (en) | Maintaining a fabric name across a distributed switch | |
US9819574B2 (en) | Concerted multi-destination forwarding in a joint TRILL fabric and VXLAN/IP fabric data center | |
CN103477588A (zh) | 刀片服务器中刀片间网络业务的分类和管理方法和系统 | |
CN105812259A (zh) | 一种报文转发方法和设备 | |
US20140226525A1 (en) | Safe Multicast Distribution with Predictable Topology Changes | |
CN101383772B (zh) | 一种自动发现并建立mac路由信息表的方法及装置 | |
US20170180311A1 (en) | Systems and methods for managing network address information | |
CN106936704B (zh) | 使用逐跳虚拟局域网分类进行多路径交换 | |
US8675658B2 (en) | Using multiple IGMP queriers in a layer 2 network | |
WO2012078523A1 (en) | Systems and methods for pseudo-link creation | |
CN103825794A (zh) | 多链路透明互联数据帧发送方法及装置 | |
US20160261419A1 (en) | Multicast forwarding method and apparatus in transparent interconnection of lots of link network and routing bridge | |
CN105530189A (zh) | Trill网络中转发报文的方法和路由桥 | |
US9537750B2 (en) | Multicast router topology discovery | |
US9712650B2 (en) | PIM fast failover using PIM graft message |
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: 20211202 Address after: USA New York Patentee after: Qindarui Co. Address before: USA New York Patentee before: International Business Machines Corp. |
|
TR01 | Transfer of patent right |