CN112242907B - 多播组成员资格管理 - Google Patents

多播组成员资格管理 Download PDF

Info

Publication number
CN112242907B
CN112242907B CN201910935419.9A CN201910935419A CN112242907B CN 112242907 B CN112242907 B CN 112242907B CN 201910935419 A CN201910935419 A CN 201910935419A CN 112242907 B CN112242907 B CN 112242907B
Authority
CN
China
Prior art keywords
multicast group
network device
request message
message
service daemon
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
CN201910935419.9A
Other languages
English (en)
Other versions
CN112242907A (zh
Inventor
S·尼勒姆
A·K·劳
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 CN112242907A publication Critical patent/CN112242907A/zh
Application granted granted Critical
Publication of CN112242907B publication Critical patent/CN112242907B/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
    • 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
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请的各实施例涉及多播组成员资格管理。一种网络设备可以从与网络设备的用户空间相关联的应用截取加入多播组或离开多播组的请求消息。请求消息可以被寻址到网络设备的内核。网络设备可以将请求消息引导到与网络设备的用户空间相关联的服务守护进程。网络设备可以使用服务守护进程确定与用户空间相关联的另一应用是否是多播组的成员。网络设备可以使用服务守护进程并且基于与用户空间相关联的另一应用是否是多播组的成员,基于请求消息来选择性地生成通告消息,并且在通告消息被生成时传输通告消息。

Description

多播组成员资格管理
技术领域
本申请的各实施例涉及多播组成员资格管理。
背景技术
在计算机联网中,多播是一种群组通信,其中数据传输同时被寻址到一组目的地计算机。多播可以是一对多或多对多分发。
发明内容
根据一些实现,一种方法可以包括由网络设备从与网络设备的用户空间相关联的应用检测加入多播组或离开多播组的请求消息,其中该请求消息被寻址到网络设备的内核;由网络设备将请求消息重新寻址到网络设备的服务守护进程,其中服务守护进程与网络设备的用户空间相关联;由网络设备基于对请求消息重新寻址来将请求消息引导到服务守护进程;由网络设备使用服务守护进程基于请求消息来选择性地生成通告消息,其中如果与用户空间相关联的其他应用都不是多播组的成员,则通告消息将被生成,并且其中如果与用户空间相关联的至少一个其他应用是多播组的成员,则通告消息将不被生成;以及在通告消息被生成时,由网络设备传输通告消息。
根据一些实现,一种网络设备可以包括一个或多个存储器和一个或多个处理器,一个或多个处理器用以:从与网络设备的用户空间相关联的应用截取加入多播组或离开多播组的请求消息,其中请求消息被寻址到网络设备的内核;将请求消息引导到与网络设备的用户空间相关联的服务守护进程;使用服务守护进程确定与用户空间相关联的另一应用是否是多播组的成员;使用服务守护进程并且基于与用户空间相关联的另一应用是否是多播组的成员,基于请求消息来选择性地生成通告消息;以及在通告消息被生成时,传输通告消息。
根据一些实现,一种非暂态计算机可读介质可以存储一个或多个指令,这些指令在由一个或多个处理器执行时可以使得一个或多个处理器:截取加入多播组或离开多播组的请求消息,其中请求消息源自网络设备的用户空间的应用;确定与用户空间相关联的另一应用是否是多播组的成员;基于与用户空间相关联的另一应用是否是多播组的成员,基于请求消息来选择性地生成通告消息;以及在通告消息被生成时,传输通告消息。
附图说明
图1是本文中描述的示例实现的图;
图2是可以实现本文中描述的系统和/或方法的示例环境的图;
图3A和图3B是图2的一个或多个设备的示例组件的图;以及
图4至图6是用于多播组成员资格管理的示例过程的流程图。
具体实施方式
以下对示例实现的详细描述参考附图。不同附图中的相同的附图标记可以标识相同或相似的元素。
在网络设备中,套接字可以用于在内核与用户空间进程(诸如在网络设备上运行的应用)之间传输信息。例如,网络设备的应用可以使用套接字向内核提供请求。作为示例,应用可以向内核提供加入或离开多播组的请求。内核可以根据由内核保持的网络状态来处理请求并且提供所请求的多播支持。然而,在一些情况下,网络状态可能是分布式的,使得多个网络设备(例如,网络的节点)保持网络状态的至少一部分。在这种情况下,当网络状态被分发到多个网络设备时,网络设备的应用可以生成加入或离开多播组的请求,并且该请求可能由于内核没有存储与网络状态相关的信息而失败。结果,可能会阻止应用在网络设备上操作,从而降低网络设备的可用性,对包括网络设备的网络的利用产生负面影响,等等。此外,定制用于在网络设备上部署的每个应用可能需要过多的计算资源用于应用修改、应用测试等。
根据本文中描述的一些实现,网络设备可以使用用户空间进程来提供多播组成员资格管理。在一些实现中,网络设备可以监测并且检测加入或离开被引导到网络设备的内核的多播组的请求,可以截取该请求,并且可以修改该请求以使得能够使用网络设备的用户空间服务守护进程来成功地满足该请求。以这种方式,网络设备使得能够利用需要多播支持的应用,从而改善网络设备的功能,改进包括网络设备的网络的功能,减少与处理失败的请求相关的处理利用率,等等。此外,网络设备使得能够实现需要多播支持的应用而无需应用定制,从而降低了与生成多个版本的定制应用,存储多个版本的定制应用等相关联的处理利用率、存储器利用率等。
图1是本文中描述的示例实现100的图。如图1中所示,示例实现100可以包括一组网络设备和多播组主机。如图1中进一步所示,网络设备可以包括与网络设备的用户空间相关联的应用(例如,第三方应用)、截取库和服务守护进程。网络设备可以是消费(即,不路由)从另一多播主机(例如,多播组主机)传输的多播业务的多播主机。网络设备可以使用该应用来消费多播业务。因此,应用可以是用于视频会议、游戏、流视频、远程学习等的多播应用。
如图1中并且由附图标记105所示,网络设备的应用可以发送加入多播组或离开多播组的请求(例如,多播请求)。例如,可以在网络设备的用户空间中操作的应用可以打开套接字并且生成套接字系统调用(例如,“setsockopt()”)。套接字系统调用可以涉及加入多播组(例如,使用“IP_ADD_MEMBERSHIP”选项或“IPV6_ADD_MEMBERSHIP”选项的“setsockopt()”),或者可以涉及离开多播组(例如,使用“IP_DROP_MEMBERSHIP”或“IPV6_DROP_MEMBERSHIP”选项的“setsockopt()”)。在一些实现中,应用可以为请求设置特定目的地地址。例如,应用可以将请求的目的地套接字地址中的套接字标识符设置为内核中的套接字地址,以尝试加入或离开多播组。
在一些实现中,请求是加入多播组,并且请求(例如,套接字系统调用)可以标识要加入的特定多播组以及应用将要在其上接收特定多播组的多播业务的网络设备的特定接口。附加地或备选地,请求可以是离开多播组,并且请求(例如,套接字系统调用)可以标识要离开的特定多播组以及应用将要停止在其上接收特定多播组的多播业务的网络设备的特定接口。
如由附图标记110所示,网络设备可以截取应用的请求。例如,网络设备可以检测请求,截取请求,以及改变(例如,重新寻址)请求。在这种情况下,网络设备可以实现截取库,该截取库可以包括用于检测请求,截取请求以及改变请求的一个或多个功能。网络设备可以在应用的运行时加载(例如,预加载)截取库。例如,在应用的运行时,网络设备可以在加载应用的默认库之前加载截取库。以这种方式,在截取库中提供的请求的修订定义将替换在默认库中提供的请求的默认定义,以便根据截取库的修订定义来处理请求。
在一些实现中,网络设备可以使用截取库来检测请求并且重新寻址请求。例如,网络设备可以使用截取库来改变请求的套接字标识符。作为示例,网络设备可以使用截取库来将请求重新寻址到与服务守护进程相关联的目的地套接字地址。以这种方式,网络设备使得网络设备的内核不处理请求,并且将请求引导到服务守护进程,从而避免了请求失败。
如由附图标记115所示,网络设备可以将请求引导到服务守护进程。例如,基于网络设备使用截取库来截取和重新寻址请求,网络设备可以将请求引导到服务守护进程。在一些实现中,当将请求引导到服务守护进程时,网络设备可以标识与请求相关联的信息(例如,请求的特定多播组和特定接口),并且将该信息提供给服务守护进程。
使用截取库,网络设备可以经由具有服务守护进程的控制信道(例如,Unix域套接字)将请求引导到服务守护进程。在一些实现中,服务守护进程可以在另一设备(例如,另一网络设备、服务器设备等)上实现,并且通过使用截取库,网络设备可以经由通信协议(例如,传输控制协议(TCP))将请求引导到另一设备。
如由附图标记120所示,网络设备可以处理加入或离开多播组的请求。例如,通过使用服务守护进程,网络设备可以接收请求并且处理请求以标识请求的特定多播组、请求的特定接口、以及请求是加入特定接口上的特定多播组还是离开特定多播组上的特定接口。
通过使用服务守护进程,网络设备可以保持(例如,在数据结构中)多播状态信息(例如,服务守护进程可以实现多播状态机)。在这种情况下,服务守护进程可以存储与网络设备的用户空间相关联的应用的多播组的成员资格的状态。例如,服务守护进程可以跟踪与作为特定接口上的特定多播组的成员(即,已经加入)的与用户空间相关联的应用的数量相关的计数。
因此,基于标识请求是加入特定接口上的特定多播组,服务守护进程可以递增与特定接口上的特定多播组相关联的计数。类似地,基于标识请求是离开特定接口上的特定多播组,服务守护进程可以减少与特定接口上的特定多播组相关联的计数。以这种方式,网络设备(例如,使用服务守护进程)存储特定接口上的特定多播组的状态。
在一些实现中,通过使用截取库,网络设备可以针对与特定接口上的特定多播组相关的业务来监测由应用打开的套接字(例如,IPv4或IPv6套接字)。此外,通过使用截取库,网络设备可以确定由应用打开的套接字是否被关闭而没有离开特定接口上的特定多播组的相应请求。例如,当应用崩溃时,套接字可以关闭而没有相应的离开请求。通过使用截取库,网络设备可以向服务守护进程提供与关闭的套接字相关的信息(例如,与关闭的套接字相关联的特定多播组和特定接口),并且服务守护进程可以基于接收到该信息来递减与特定接口上的特定多播组相关联的计数器。
如由附图标记125所示,通过使用服务守护进程,网络设备可以选择性地生成通告(例如,多播通告)。例如,服务守护进程可以基于请求(例如,基于请求是加入还是离开多播组)生成通告。在一些情况下,当与用户空间相关联的其他应用都不是在请求中标识的特定接口上的特定多播组的成员时,服务守护进程可以生成通告。类似地,当与用户空间相关联的至少一个另一应用是在请求中标识的特定接口上的特定多播组的成员时,服务守护进程可以不生成通告。
因此,服务守护进程可以根据由服务守护进程存储的与特定接口上的特定多播组的成员资格相关的状态信息来确定作为特定接口上的特定多播组的成员的与用户空间相关联的应用的数量,如上所述。例如,服务守护进程可以(例如,从数据结构)获取与作为特定接口上的特定多播组的成员的与用户空间相关联的应用的数量相关的计数,如上所述。
在这种情况下,服务守护进程可以基于计数来确定是否要生成通告。例如,如果请求是加入接口上的多播组,并且接口上的多播组的计数是1(即,基于加入请求而将计数增加到1),则服务守护进程可以确定要生成加入通告。以这种方式,服务守护进程为请求加入接口上的多播组的与用户空间相关联的第一应用生成加入通告。相反,如果请求是加入接口上的多播组,并且接口上的多播组的计数大于1(即,基于加入请求而将计数增加到2或更大),则服务守护进程可以确定不生成加入通告。以这种方式,当已经发送了与接口上的多播组相关的加入通告时,服务守护进程不生成加入通告,从而节省了否则将用于处理重复通告的处理资源和网络资源。
作为另一示例,如果请求是离开接口上的多播组,并且接口上的多播组的计数是0(即,基于离开请求而将计数减少到0),则服务守护进程可以确定要生成离开通告。以这种方式,服务守护进程为请求离开接口上的多播组的与用户空间相关联的最后的应用生成离开通告。相反,如果请求是离开接口上的多播组,并且接口上的多播组的计数大于0(即,基于离开请求而将计数减少到1或更大),则服务守护进程可以确定不生成离开通告。以这种方式,只要与用户空间相关联的至少一个应用对接口上的多播组感兴趣,服务守护进程就不生成离开通告,从而节省了否则将在每次应用请求加入和离开接口上的多播组时用于处理加入和离开通告的处理资源和网络资源。
基于确定要生成通告(例如,加入通告或离开通告),通过使用服务守护进程,网络设备可以根据多播协议生成通告。例如,通过使用服务守护进程,网络设备可以根据因特网组管理协议(IGMP)(例如,用于IPv4网络)或多播侦听器发现(MLD)(例如,用于IPv6网络)来生成通告。通告可以标识与在请求中标识的多播组相关联的地址。
另外,通告可以标识与将通告路由到与多播组相关联的多播主机相关联的地址。因此,服务守护进程可以存储(例如,在数据结构中)与包括网络设备的网络相关的网络状态信息。例如,通过使用服务守护进程,网络设备可以从一个或多个其他网络设备请求网络状态信息,并且可以从一个或多个其他网络设备接收标识网络状态的部分的响应消息。以这种方式,当网络状态信息未存储在内核中时,服务守护进程可以存储网络状态信息,以便使得能够转发否则将在分布式架构中不可能的多播通告。
除了生成通告之外,服务守护进程还可以使得根据通告来配置网络设备的网络堆栈。例如,如果通告是加入特定接口上的特定多播组,则服务守护进程可以使得将网络设备的网络堆栈(例如,用于路由的线卡和/或内核堆栈)配置为接受来自特定接口上的特定多播组的多播业务。作为另一示例,如果通告是离开特定接口上的特定多播组,则服务守护进程可以使得网络设备的网络堆栈接受来自特定接口上的特定多播组的多播业务的先前配置(例如,用于路由的线卡和/或内核堆栈)被撤销。
通过使用服务守护进程,网络设备可以将通告提供给网络设备的内核。例如,服务守护进程可以基于套接字向内核提供通告。
如由附图标记130所示,网络设备可以传输通告(例如,多播通告)。例如,通过使用内核(例如,用于路由的内核堆栈),网络设备可以在请求中标识的特定接口上传输通告。设备可以将通告传输到包括网络设备的网络中的一个或多个其他网络设备。以这种方式,通告允许一个或多个其他网络设备标识与在请求中标识的多播组相关的多播业务将要被路由到网络设备的特定接口。因此,生成请求的应用可以开始接收在请求中标识的多播组的多播业务。
如由附图标记135所示,网络设备可以从另一网络设备接收查询(例如,多播查询)。网络设备可以在网络设备的特定接口上接收查询。查询可以请求与网络设备对哪些多播组感兴趣相关的信息、与网络设备是否对特定多播组感兴趣相关的信息等。在这种情况下,网络设备可以向服务守护进程提供查询(例如,经由具有内核的套接字),并且服务守护进程可以确定对查询的响应。在一些实现中,服务守护进程可以基于由服务守护进程存储的特定接口上的多播组的成员资格的状态来确定对查询的响应。例如,服务守护进程可以根据查询的性质来检索与特定接口上的一个或多个多播组相关联的计数,并且基于检索到的计数来生成对查询的响应。在一些实现中,对查询的响应可以是通告。网络设备可以按照与上面结合传输通告而描述的方式类似的方式来传输对请求的响应。
以这种方式,当网络状态信息没有存储在网络设备的内核中时,网络设备使得网络设备的用户空间应用能够加入或离开多播组,从而改善了网络设备、包括网络设备的网络等的功能。此外,基于使得使用多播业务的应用能够在网络设备上操作而无需关于实际存储网络状态信息的位置(例如,用户空间或在分布式架构中)的定制,网络设备减少了用于定制应用的处理资源的利用、用于存储应用的多个定制版本的存储器资源的利用等。
如上所述,图1仅作为示例而被提供。其他示例可以与关于图1描述的示例不同。
图2是可以实现本文中描述的系统和/或方法的示例环境200的图。如图2中所示,环境200可以包括一个或多个网络设备210-1到210-P(P>1)(下文中统称为“网络设备210”,并且单独地称为“网络设备210”)、服务器设备220和网络230。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合互连。
网络设备210包括能够在端点设备之间处理和/或传输业务的一个或多个设备(例如,一个或多个业务传输设备)。例如,网络设备210可以包括防火墙、路由器、网关、交换设备、集线器、网桥、反向代理、服务器(例如,代理服务器)、机架顶部(ToR)交换机、负载平衡器、交换机接口板、控制器、交换元件、分组处理组件或类似设备。在一些实现中,网络设备210可以包括用户空间和内核。在一些实现中,网络设备210可以将网络状态信息和/或多播状态信息存储在用户空间中。在一些实现中,网络设备210可以不将网络状态信息和/或多播状态信息存储在内核(例如,Linux内核)中。在一些实现中,网络设备210可以形成分布式架构,使得第一网络设备210存储网络状态信息的第一部分并且第二网络设备210存储网络状态信息的第二部分。在一些实现中,网络设备210可以是接收一个或多个多播组的多播业务的多播主机。在一些实现中,网络设备210可以是在诸如机箱等壳体内实现的物理设备。在一些实现中,网络设备210可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。
服务器设备220包括能够存储、处理和/或路由与路由网络业务相关联的信息的一个或多个设备。例如,服务器设备220可以包括服务器,该服务器包括可以与业务路由相结合使用的计算资源。在一些实现中,服务器设备220可以包括允许服务器设备220从环境200中的其他设备接收信息和/或向环境200中的其他设备传输信息的通信接口。在一些实现中,服务器设备220可以是作为一个或多个多播组的多播业务的源的多播主机。
网络230包括一个或多个有线和/或无线网络。例如,网络230可以包括蜂窝网络(例如,长期演进(LTE)网络、码分多址(CDMA)网络、3G网络、4G网络、5G网络,另一种类型的下一代网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、通信网络、电信网络、专用网络、ad hoc网络、内联网、因特网、基于光纤的网络、云计算网络等、和/或这些或其他类型的网络的组合。
在一些实现中,网络设备210和/或服务器设备220可以是由云计算环境或数据中心的一个或多个计算设备实现的虚拟设备。
图2中所示的设备的数目和布置作为示例而被提供。实际上,可以存在与图2中所示的相比更多的设备、更少的设备、不同的设备和/或网络、或者被不同地布置的设备。此外,图2中所示的两个或更多个设备可以在单个设备中实现,或者,图2中所示的单个设备可以实现为多个分布式设备。附加地或备选地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3A和图3B是图2的一个或多个设备的示例组件的图。图3A是设备300的示例组件的图。设备300可以对应于网络设备210和/或服务器设备220。在一些实现中。网络设备210和/或服务器设备220可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3A中所示,设备300可以包括总线305、处理器310、存储器315、存储组件320、输入组件325、输出组件330和通信接口335。
总线305包括允许设备300的组件之间通信的组件。处理器310用硬件、固件或硬件和软件的组合而被实现。处理器310采用以下形式:中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他类型的处理组件。在一些实现中,处理器310包括能够被编程为执行功能的一个或多个处理器。存储器315包括随机存取存储器(RAM)、只读存储器(ROM)、和/或存储用于由处理器310使用的信息和/或指令的其他类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器)。
存储组件320存储与设备300的操作和使用相关的信息和/或软件。例如,存储组件320可以包括硬盘(例如,磁盘、光盘、磁光盘、和/或固态盘)、光碟(CD)、数字通用光盘(DVD)、软盘、盒式磁带、磁带和/或其他类型的非暂态计算机可读介质、以及相应的驱动程序。
输入组件325包括允许设备300接收信息的组件,诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。附加地或备选地,输入组件325可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪和/或致动器)。输出组件330包括从设备300提供输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口335包括使得设备300能够与其他设备通信的类似收发器的组件(例如,收发器和/或单独的接收器和发射器),诸如经由有线连接、无线连接或有线和无线连接组合。通信接口335可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口335可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文中描述的一个或多个过程。设备300可以基于处理器310执行由非暂态计算机可读介质(诸如存储器315和/或存储组件320)存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或跨多个物理存储设备的存储器空间。
软件指令可以经由通信接口335从另一计算机可读介质或从另一设备读取到存储器315和/或存储组件320中。当被执行时,存储在存储器315和/或存储组件320中的软件指令可以使得处理器310执行本文中描述的一个或多个过程。附加地或备选地,可以使用硬连线电路代替软件指令或与软件指令相结合来执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。
图3A中所示的组件的数目和布置作为示例而被提供。实际上,设备300可以包括与图3A中所示的相比更多的组件、更少的组件、不同的组件、或者被不同地布置的组件。附加地或备选地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图3B是设备350的示例组件的图。设备350可以对应于网络设备210。在一些实现中,网络设备210可以包括一个或多个设备350和/或设备350的一个或多个组件。如图3B中所示,设备350可以包括一个或多个输入组件355-1到355-B(B>1)(下文中统称为输入组件355,并且单独地称为输入组件355)、切换组件360、一个或多个输出组件365-1到365-C(C>1)(下文中统称为输出组件365,并且单独地称为输出组件365)、以及控制器370。
输入组件355可以是物理链路的附接点,并且可以是诸如分组等传入业务的入口点。输入组件355可以处理传入业务,诸如通过执行数据链路层封装或解封装。在一些实现中,输入组件355可以发送和/或接收分组。在一些实现中,输入组件355可以包括输入线卡,输入线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备350可以包括一个或多个输入组件355。
切换组件360可以将输入组件355与输出组件365互连。在一些实现中,切换组件360可以经由一个或多个交叉开关,经由总线和/或通过共享存储器而被实现。在最终调度分组以递送到输出组件365之前,共享存储器可以充当临时缓冲器以存储来自输入组件355的分组。在一些实现中,切换组件360可以使得输入组件355、输出组件365和/或控制器370能够通信。
输出组件365可以存储分组并且可以调度分组以在输出物理链路上传输。输出组件365可以支持数据链路层封装或解封装、和/或各种更高级协议。在一些实现中,输出组件365可以发送分组和/或接收分组。在一些实现中,输出组件365可以包括输出线卡,输出线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备350可以包括一个或多个输出组件365。在一些实现中,输入组件355和输出组件365可以由相同的一组组件实现(例如,并且输入/输出组件可以是输入组件355和输出组件365的组合)。
控制器370包括例如如下形式的处理器:CPU、GPU、APU、微处理器、微控制器、DSP、FPGA、ASIC和/或其他类型的处理器。处理器以硬件、固件或硬件和软件的组合而被实现。在一些实现中,控制器370可以包括可以被编程为执行功能的一个或多个处理器。
在一些实现中,控制器370可以包括RAM、ROM、和/或存储用于由控制器370使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪存、磁存储器、光学存储器等)。
在一些实现中,控制器370可以与连接到设备300的其他设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器370可以基于网络拓扑信息创建路由表,基于路由表创建转发表,并且将转发表转发到输入组件355和/或输出组件365。输入组件355和/或输出组件365可以使用转发表来执行传入和/或传出分组的路由查找。
控制器370可以执行本文中描述的一个或多个过程。控制器370可以响应于执行由非暂态计算机可读介质存储的软件指令而执行这些过程。计算机可读介质在本文中定义为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或跨多个物理存储设备的存储器空间。
软件指令可以经由通信接口从另一计算机可读介质或从另一设备读取到与控制器370相关联的存储器和/或存储组件。当被执行时,存储在与控制器370相关联的存储器和/或存储组件中的软件指令可以使得控制器370执行本文中描述的一个或多个过程。附加地或备选地,可以使用硬连线电路代替软件指令或与软件指令相结合来执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。
图3B中所示的组件的数目和布置作为示例而被提供。实际上,设备350可以包括与图3B中所示的相比更多的组件、更少的组件、不同的组件、或者被不同地布置的组件。附加地或备选地,设备350的一组组件(例如,一个或多个组件)可以执行被描述为由设备350的另一组组件执行的一个或多个功能。
图4是用于多播组成员资格管理的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图4的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或一组设备执行,诸如服务器设备(例如,服务器设备220)等。
如图4中所示,过程400可以包括从与网络设备的用户空间相关联的应用检测加入多播组或离开多播组的请求消息,其中请求消息被寻址到网络设备的内核(框410)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以从与网络设备的用户空间相关联的应用检测加入多播组或离开多播组的请求消息,如上所述。在一些实现中,请求消息被寻址到网络设备的内核。
如图4中进一步所示,过程400可以包括将请求消息重新寻址到网络设备的服务守护进程,其中服务守护进程与网络设备的用户空间相关联(框420)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以将请求消息重新寻址到网络设备的服务守护进程,如上所述。在一些实现中,服务守护进程与网络设备的用户空间相关联。
如图4中进一步所示,过程400可以包括基于对请求消息重新寻址来将请求消息引导到服务守护进程(框430)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以基于对请求消息重新寻址来将请求消息引导到服务守护进程,如上所述。
如图4中进一步所示,过程400可以包括使用服务守护进程基于请求消息来选择性地生成通告消息,其中如果与用户空间相关联的其他应用都不是多播组的成员,则通告消息将被生成,并且其中如果与用户空间相关联的至少一个其他应用是多播组的成员,则通告消息将不被生成(框440)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以使用服务守护进程基于请求消息来选择性地生成通告消息,如上所述。在一些实现中,如果与用户空间相关联的其他应用都不是多播组的成员,则通告消息将被生成。在一些实现中,如果与用户空间相关联的至少一个其他应用是多播组的成员,则通告消息将不被生成。
如图4中进一步所示,过程400可以包括在通告消息被生成时,传输通告消息(框450)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、输出组件330、通信接口335、输出组件365、控制器370等)可以在通告消息被生成时,传输通告消息,如上所述。
过程400可以包括其他实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程而描述的任何单个实现或任何实现的组合。
在第一实现中,重新寻址请求消息包括将请求消息的目的地套接字地址设置为服务守护进程的套接字的套接字标识符,并且将请求消息引导到服务守护进程包括使用服务守护进程的套接字的套接字标识符将请求消息引导到服务守护进程。
在第二实现中,单独地或与第一实现相结合,通告消息涉及加入多播组,并且过程400还包括基于生成通告消息来将网络设备的网络栈配置为接受与多播组关联的多播业务。在第三实现中,单独地或与第一实现和第二实现中的一个或多个相结合,通告消息涉及离开多播组,并且过程400还包括基于生成通告消息来将网络设备的网络堆栈配置为不接受与多播组关联的多播业务。
在第四实现中,单独地或与第一实现到第三实现中的一个或多个相结合,服务守护进程存储与网络设备的用户空间相关联的一个或多个应用的多播组的成员资格的状态。在第五实现中,单独地或与第一实现到第四实现中的一个或多个相结合,请求消息是套接字系统调用。在第六实现中,单独地或与第一实现到第五实现中的一个或多个相结合,请求消息标识多播组以及接收多播组的多播业务的网络设备的接口。
尽管图4示出了过程400的示例框,但是在一些实现中,过程400可以包括与图4中所示的相比更多的框、更少的框、不同的框、或者被不同地布置的框。附加地或备选地,过程400的两个或更多个框可以并行执行。
图5是用于多播组成员资格管理的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图5的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或一组设备执行,诸如服务器设备(例如,服务器设备220)等。
如图5中所示,过程500可以包括从与网络设备的用户空间相关联的应用截取加入多播组或离开多播组的请求消息,其中请求消息被寻址到网络设备的内核(框510)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以从与网络设备的用户空间相关联的应用截取加入多播组或离开多播组的请求消息,如上所述。在一些实现中,请求消息被寻址到网络设备的内核。
如图5中进一步所示,过程500可以包括将请求消息引导到与网络设备的用户空间相关联的服务守护进程(框520)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以将请求消息引导到与网络设备的用户空间相关联的服务守护进程,如上所述。
如图5中进一步所示,过程500可以包括使用服务守护进程确定与用户空间相关联的另一应用是否是多播组的成员(框530)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以使用服务守护进程确定与用户空间相关联的另一应用是否是多播组的成员,如上所述。
如图5中进一步所示,过程500可以包括使用服务守护进程并且基于与用户空间相关联的另一应用是否是多播组的成员来基于请求消息来选择性地生成通告消息(框540)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以使用服务守护进程并且基于与用户空间相关联的另一应用是否是多播组的成员来基于请求消息来选择性地生成通告消息,如上所述。
如图5中进一步所示,过程500可以包括在通告消息被生成时,传输通告消息(框550)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、输出组件330、通信接口335、输出组件365、控制器370等)可以在通告消息被生成时,传输通告消息,如上所述。
过程500可以包括其他实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程而描述的任何单个实现或任何实现的组合。
在第一实现中,确定与用户空间相关联的另一应用是否是多播组的成员包括根据由服务守护进程存储的与多播组的成员关系相关的状态信息来确定作为多播组的成员的与用户空间相关联的应用的数量。在第二实现中,单独地或与第一实现相结合,过程500还包括:如果请求消息是加入多播组,则递增与作为多播组的成员的应用的数量相关的计数,或者如果请求消息是离开多播组,则递减与作为多播组的成员的应用的数量相关的计数。
在第三实现中,单独地或与第一实现和第二实现中的一个或多个相结合,过程500还包括标识由应用打开的用于接收多播组的业务的套接字的断开,以及基于标识套接字的断开,递减与作为多播组的成员的应用的数量相关的计数。
在第四实现中,单独地或与第一实现到第三实现中的一个或多个相结合,服务守护进程存储与作为特定接口上的多播组的成员的应用的数量相关的计数。在第五实现中,单独地或与第一实现到第四实现中的一个或多个相结合,服务守护进程存储与包括网络设备的网络的网络状态相关的状态信息。在第六实现中,单独地或与第一实现到第五实现中的一个或多个相结合,请求消息标识多播组以及用于接收多播组的多播业务的网络设备的接口。
尽管图5示出了过程500的示例框,但是在一些实现中,过程500可以包括与图5中所示的相比更多的框、更少的框、不同的框、或者被不同地布置的框。附加地或备选地,过程500的两个或更多个框可以并行执行。
图6是用于多播组成员资格管理的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图6的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或一组设备执行,诸如服务器设备(例如,服务器设备220)等。
如图6中所示,过程600可以包括截取加入多播组或离开多播组的请求消息,其中请求消息源自网络设备的用户空间的应用(框610)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以截取加入多播组或离开多播组的请求消息,如上所述。在一些实现中,请求消息源自网络设备的用户空间的应用。
如图6中进一步所示,过程600可以包括确定与用户空间相关联的另一应用是否是多播组的成员(框620)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以确定与用户空间相关联的另一应用是否是多播组的成员,如上所述。
如图6中进一步所示,过程600可以包括基于与用户空间相关联的另一应用是否是多播组的成员,基于请求消息来选择性地生成通告消息(框630)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、控制器370等)可以基于与用户空间相关联的另一应用是否是多播的成员,基于请求消息来选择性地生成通告消息,如上所述。
如图6中进一步所示,过程600可以包括在通告消息被生成时,传输通告消息(框640)。例如,网络设备(例如,使用处理器310、存储器315、存储组件320、输出组件330、通信接口335、输出组件365、控制器370等)可以在通告消息被生成时,传输通告消息,如上所述。
过程600可以包括其他实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程而描述的任何单个实现或任何实现的组合。
在第一实现中,请求消息是根据用于检测请求消息,截取请求消息,以及改变请求消息的功能的截取库而被截取。在第二实现中,单独地或与第一实现相结合,请求消息标识多播组以及用于接收多播组的多播业务的网络设备的接口。
在第三实现中,单独地或与第一实现和第二实现中的一个或多个相结合,确定与用户空间相关联的另一应用是否是多播组的成员包括基于与作为特定接口上的多播组的成员的应用的数量相关的计数来确定与用户空间相关联的另一应用是否是特定接口上的多播组的成员。
在第四实现中,单独地或与第一实现到第三实现中的一个或多个相结合,当与用户空间相关联的其他应用都不是多播组的成员时,生成通告消息。在第五实现中,单独地或与第一实现到第四实现中的一个或多个相结合,通告消息被传输到包括网络设备的网络中的一个或多个其他网络设备。
尽管图6示出了过程600的示例框,但是在一些实现中,过程600可以包括与图6中所示的相比更多的框、更少的框、不同的框、或者被不同地布置的框。附加地或备选地,过程600的两个或更多个框可以并行执行。
前述公开内容提供说明和描述,但并非旨在穷举或将实现限于所公开的精确形式。修改和变化鉴于以上公开内容而是可能的,或者可以从实现的实践中获取。
如本文中使用的,术语“组件”旨在广义地解释为硬件、固件和/或硬件和软件的组合。
如本文中使用的,术语“业务”或“内容”可以包括一组分组。分组可以是指用于传送信息的通信结构,诸如协议数据单元(PDU)、网络分组、数据报、段、消息、块、小区、帧、子帧、时隙、符号、上述中的任一个的一部分、和/或能够经由网络来传输的其他类型的格式化或未格式化的数据单元。
很清楚的是,本文中描述的系统和/或方法可以按照不同形式的硬件、固件或硬件和软件的组合而被实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限制实现。因此,本文中描述了系统和/或方法的操作和行为,而没有参考特定的软件代码——应当理解,可以设计软件和硬件以基于本文中的描述来实现这些系统和/或方法。
尽管在权利要求中陈述和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制各种实现的公开。实际上,这些特征中的很多特征可以按照未在权利要求中具体陈述和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可以直接仅依赖于一个权利要求,但是各种实现的公开包括每个从属权利要求与权利要求集合中的每个其他权利要求的组合。
除非明确地如此描述,否则本文中使用的元素、动作或指令不应当被解释为是关键或必要的。此外,如本文中使用的,冠词“一个(a)”和“一个(an)”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,冠词“该(the)”旨在包括与冠词“该(the)”相关地引用的一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可以与“一个或多个”可互换地使用。在仅有一个项目的情况下,使用术语“一个(one)”或类似的语言。此外,如本文中使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等意图是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分基于”。此外,如本文中使用的,除非另有明确说明(例如,如果与“任一”或“……中的仅一个”组合使用),否则术语“或”在一系列中使用时旨在是包括性的,并且可以与“和/或”可互换地使用。

Claims (20)

1.一种用于多播组成员资格管理的方法,包括:
由网络设备从与所述网络设备的用户空间相关联的应用检测加入多播组或离开所述多播组的请求消息,
其中所述请求消息被寻址到所述网络设备的内核;
由所述网络设备将所述请求消息重新寻址到所述网络设备的服务守护进程,
其中所述服务守护进程与所述网络设备的所述用户空间相关联;
由所述网络设备基于对所述请求消息重新寻址来将所述请求消息引导到所述服务守护进程;
由所述网络设备根据由所述服务守护进程存储的、与所述多播组的成员资格相关的信息来确定作为所述多播组的成员的、与所述用户空间相关联的应用的数量;
由所述网络设备基于应用的所确定的所述数量使用所述服务守护进程基于所述请求消息来选择性地生成通告消息,
其中如果与所述用户空间相关联的其他应用都不是所述多播组的成员,则所述通告消息将被生成,
其中如果与所述用户空间相关联的至少一个其他应用是所述多播组的成员,则所述通告消息将不被生成;以及
在所述通告消息被生成时,由所述网络设备传输所述通告消息。
2.根据权利要求1所述的方法,其中重新寻址所述请求消息包括:
将所述请求消息的目的地套接字地址设置为所述服务守护进程的套接字的套接字标识符;以及
将所述请求消息引导到所述服务守护进程包括:
使用所述服务守护进程的所述套接字的所述套接字标识符将所述请求消息引导到所述服务守护进程。
3.根据权利要求1所述的方法,其中所述通告消息涉及加入所述多播组,并且
其中所述方法还包括:
基于生成所述通告消息来将所述网络设备的网络堆栈配置为接受与所述多播组相关联的多播业务。
4.根据权利要求1所述的方法,其中所述通告消息涉及离开所述多播组,并且
其中所述方法还包括:
基于生成所述通告消息来将所述网络设备的网络堆栈配置为不接受与所述多播组相关联的多播业务。
5.根据权利要求1所述的方法,其中所述服务守护进程存储针对与所述网络设备的所述用户空间相关联的一个或多个应用的所述多播组的成员资格的状态。
6.根据权利要求1所述的方法,其中所述请求消息是套接字系统调用。
7.根据权利要求1所述的方法,其中所述请求消息标识所述多播组以及用以接收所述多播组的多播业务的所述网络设备的接口。
8.根据权利要求1所述的方法,其中所述通告消息标识与将所述通告路由至与所述多播组相关联的多播主机相关联的地址。
9.根据权利要求1所述的方法,还包括:
根据功能的截取库来截取所述请求消息,所述功能包括以下至少一项:检测所述请求消息、截取所述请求消息和对所述请求消息重新寻址。
10.一种用于多播组成员资格管理的网络设备,包括:
一个或多个存储器;以及
一个或多个处理器,用以:
从与所述网络设备的用户空间相关联的应用截取加入多播组或离开所述多播组的请求消息,
其中所述请求消息被寻址到所述网络设备的内核;
将所述请求消息引导到与所述网络设备的所述用户空间相关联的服务守护进程;
根据由所述服务守护进程存储的、与所述多播组的成员资格相关的信息来确定作为所述多播组的成员的、与所述用户空间相关联的应用的数量;
基于应用的所确定的所述数量使用所述服务守护进程确定与所述用户空间相关联的另一应用是否是所述多播组的成员;
使用所述服务守护进程并且基于与所述用户空间相关联的所述另一应用是否是所述多播组的所述成员,基于所述请求消息来选择性地生成通告消息,
其中如果所述另一应用不是所述多播组的所述成员,则所述通告消息将被生成,
其中如果所述另一应用是所述多播组的所述成员,则所述通告消息将不被生成;以及
在所述通告消息被生成时,传输所述通告消息。
11.根据权利要求10所述的网络设备,其中所述一个或多个处理器还用以:
如果所述请求消息是加入所述多播组,则递增与作为所述多播组的成员的应用的数量相关的计数,或者如果所述请求消息是离开所述多播组,则递减与作为所述多播组的成员的应用的所述数量相关的所述计数。
12.根据权利要求10所述的网络设备,其中所述一个或多个处理器还用以:
标识由所述应用打开的、被用于接收所述多播组的业务的套接字的断开;以及
基于标识所述套接字的所述断开,递减与作为所述多播组的成员的应用的数量相关的计数。
13.根据权利要求10所述的网络设备,其中所述服务守护进程存储与作为特定接口上的所述多播组的成员的应用的数量相关的计数。
14.根据权利要求10所述的网络设备,其中所述服务守护进程存储与包括所述网络设备的网络的网络状态相关的状态信息。
15.根据权利要求10所述的网络设备,其中所述请求消息标识所述多播组以及用以接收所述多播组的多播业务的所述网络设备的接口。
16.一种存储指令的非暂态计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令在由一个或多个处理器执行时,使得所述一个或多个处理器:
截取加入多播组或离开所述多播组的请求消息,
其中所述请求消息源自网络设备的用户空间的应用;
根据由服务守护进程存储的、与所述多播组的成员资格相关的信息来确定作为所述多播组的成员的、与所述用户空间相关联的应用的数量;
基于应用的所确定的所述数量确定与所述用户空间相关联的另一应用是否是所述多播组的成员;
基于与所述用户空间相关联的所述另一应用是否是所述多播组的所述成员,基于所述请求消息来选择性地生成通告消息,
其中如果所述另一应用不是所述多播组的所述成员,则所述通告消息将被生成,
其中如果所述另一应用是所述多播组的所述成员,则所述通告消息将不被生成;以及
在所述通告消息被生成时,传输所述通告消息。
17.根据权利要求16所述的非暂态计算机可读介质,其中所述请求消息根据用以检测所述请求消息、截取所述请求消息和改变所述请求消息的功能的截取库而被截取。
18.根据权利要求16所述的非暂态计算机可读介质,其中所述请求消息标识所述多播组以及用以接收所述多播组的多播业务的所述网络设备的接口。
19.根据权利要求16所述的非暂态计算机可读介质,其中当与所述用户空间相关联的其他应用都不是所述多播组的成员时,所述通告消息被生成。
20.根据权利要求16所述的非暂态计算机可读介质,其中所述通告消息被传输到包括所述网络设备的网络中的一个或多个其他网络设备。
CN201910935419.9A 2019-07-17 2019-09-29 多播组成员资格管理 Active CN112242907B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/514,822 2019-07-17
US16/514,822 US11032093B2 (en) 2019-07-17 2019-07-17 Multicast group membership management

Publications (2)

Publication Number Publication Date
CN112242907A CN112242907A (zh) 2021-01-19
CN112242907B true CN112242907B (zh) 2022-06-03

Family

ID=68069484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910935419.9A Active CN112242907B (zh) 2019-07-17 2019-09-29 多播组成员资格管理

Country Status (3)

Country Link
US (1) US11032093B2 (zh)
EP (1) EP3767879B1 (zh)
CN (1) CN112242907B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811509B2 (en) * 2021-01-29 2023-11-07 Juniper Networks, Inc. Upstream multicast hop (UMH) extensions for anycast deployments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453345A (zh) * 2007-12-07 2009-06-10 上海贝尔阿尔卡特股份有限公司 一种基于服务提供商的组播接入控制方法及其接入设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020150094A1 (en) 2000-10-27 2002-10-17 Matthew Cheng Hierarchical level-based internet protocol multicasting
US7792984B2 (en) 2003-01-23 2010-09-07 International Business Machines Corporation Systems and methods for the distribution of bulk data using multicast routing that mitigates network traffic on subnets
CN1881913A (zh) * 2005-06-15 2006-12-20 上海贝尔阿尔卡特股份有限公司 一种网络接入设备中用户接口组播管理方法及其装置
US8116312B2 (en) * 2006-02-08 2012-02-14 Solarflare Communications, Inc. Method and apparatus for multicast packet reception
US8427943B2 (en) * 2008-01-28 2013-04-23 Cisco Technology, Inc. Bandwidth-aware multicast load balancing on a multi-interface host
CN103200209B (zh) * 2012-01-06 2018-05-25 华为技术有限公司 成员资源的访问方法、群组服务器和成员设备
US9537902B2 (en) * 2013-02-13 2017-01-03 Qualcomm Incorporated Enabling devices without native broadcast capability to access and/or receive broadcast data in an efficient manner
KR20140125224A (ko) 2013-04-18 2014-10-28 한국전자통신연구원 정보 중심 네트워킹 기반의 콘텐츠 네트워크에서의 정보 수집 방법 및 노드 장치
US9521458B2 (en) * 2015-02-13 2016-12-13 Telefonaktiebolaget L M Ericsson (Publ) IPTV targeted messages
WO2019108548A1 (en) 2017-11-28 2019-06-06 Itron, Inc. Multi-network operation for multicast groups
US11165625B2 (en) * 2018-06-28 2021-11-02 Juniper Networks, Inc. Network state management
US10904136B2 (en) * 2018-08-06 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Multicast distribution tree versioning for minimizing multicast group traffic disruption

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453345A (zh) * 2007-12-07 2009-06-10 上海贝尔阿尔卡特股份有限公司 一种基于服务提供商的组播接入控制方法及其接入设备

Also Published As

Publication number Publication date
US20210021438A1 (en) 2021-01-21
CN112242907A (zh) 2021-01-19
EP3767879A1 (en) 2021-01-20
US11032093B2 (en) 2021-06-08
EP3767879B1 (en) 2023-05-03

Similar Documents

Publication Publication Date Title
CN102771094B (zh) 分布式路由架构
CN102763380B (zh) 用于路由分组的系统和方法
US20150189009A1 (en) Distributed multi-level stateless load balancing
US20220045896A1 (en) Network state management
US10181999B2 (en) Optimizing information related to a route and/or a next hop for multicast traffic
US11902256B2 (en) Media access control security (MACsec) enabled links of a link aggregation group (LAG)
US10382391B2 (en) Systems and methods for managing network address information
CN101809950A (zh) 为移动通信网络的控制平面实施负载均衡的方法和设备
US11381501B2 (en) Coordinating pseudowire connection characteristics and multi-homed provider edge device capabtilities
CN112242907B (zh) 多播组成员资格管理
US10476774B2 (en) Selective transmission of bidirectional forwarding detection (BFD) messages for verifying multicast connectivity
US10917378B1 (en) Facilitating communication between network devices of a virtual router redundancy protocol (VRRP) group
US11379279B2 (en) Netlink asynchronous notifications for native and third party application in distributed network systems
US11252074B2 (en) Detection of multihoming misconfiguration
US10887122B1 (en) Dynamically providing traffic via various packet forwarding techniques
US20240031285A1 (en) Advertising non-vpn routes with a route distinguisher and a route target
US11777847B1 (en) Point-to-multipoint transport chain
CN113452543B (zh) 多宿主错误配置的检测
US20240015096A1 (en) Bit index explicit replication (bier) advertising with a route distinguisher
US20240015095A1 (en) Designating a primary multicast flow and a backup multicast flow for multicast traffic
US20210160140A1 (en) Bundling of wired and wireless interfaces in a redundant interface of a high-availability cluster

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