CN116996585A - 组播通信方法、装置、系统、计算机设备和存储介质 - Google Patents
组播通信方法、装置、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116996585A CN116996585A CN202310363871.9A CN202310363871A CN116996585A CN 116996585 A CN116996585 A CN 116996585A CN 202310363871 A CN202310363871 A CN 202310363871A CN 116996585 A CN116996585 A CN 116996585A
- Authority
- CN
- China
- Prior art keywords
- multicast
- cloud
- intra
- domain
- gateway
- 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.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 87
- 238000004891 communication Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000004590 computer program Methods 0.000 claims abstract description 29
- 230000008859 change Effects 0.000 claims description 61
- 230000002457 bidirectional effect Effects 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 42
- 238000005129 volume perturbation calorimetry Methods 0.000 description 42
- 238000005516 engineering process Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种组播通信方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品,该方法包括:获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;提取组播流量请求携带的云内组播域标识和组播组标识;将云内组播域标识发送至专线接入设备,以使专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关;将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询目标成员路由信息,按照目标成员路由信息将组播流量发送至各域内组播成员。采用上述方法可以实现云内外组播流量的互通,能够满足云内与云外之间的组播流量转发需求。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种组播通信方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
组播技术是IP(Internet Protocol,网际互连协议)网络数据传输的方式之一。组播技术有效解决了单点发送多点接收的问题,实现了IP网络中单点到多点的高效数据传输。
传统技术中,针对云内组播通信,通过构建专属的云上网络空间,为租户在云上的资源提供网络服务,进而实现租户之间组播流量的转发。目前尚无相关技术实现针对云内组播成员与云外组播源之间的组播通信方法。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现云内组播成员与云外组播源之间的组播通信的组播通信方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种组播通信方法。所述方法包括:
获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
提取所述组播流量请求携带的云内组播域标识和组播组标识;所述组播组标识用于表示所述目标组播成员所在的组播组;
将所述云内组播域标识发送至专线接入设备,以使所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至网关;
将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
第二方面,本申请还提供了一种组播通信装置。所述装置包括:
获取模块,用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
标识提取模块,用于提取所述组播流量请求携带的云内组播域标识和组播组标识;所述组播组标识用于表示所述目标组播成员所在的组播组;
第一发送模块,用于将所述云内组播域标识发送至专线接入设备,以使所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至网关;
第二发送模块,用于将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
第三方面,本申请还提供了一种组播通信系统。所述系统包括控制器、网关和专线接入设备;
所述控制器用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取所述组播流量请求携带的云内组播域标识和组播组标识,将所述云内组播域标识发送至专线接入设备,并将所述组播组中各组播成员间的成员路由信息发送至所述网关;所述组播组标识用于表示所述目标组播成员所在的组播组;
所述专线接入设备用于在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至所述网关;
所述网关用于按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
第四方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
提取所述组播流量请求携带的云内组播域标识和组播组标识;所述组播组标识用于表示所述目标组播成员所在的组播组;
将所述云内组播域标识发送至专线接入设备,以使所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至网关;
将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
第五方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
提取所述组播流量请求携带的云内组播域标识和组播组标识;所述组播组标识用于表示所述目标组播成员所在的组播组;
将所述云内组播域标识发送至专线接入设备,以使所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至网关;
将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
第六方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
提取所述组播流量请求携带的云内组播域标识和组播组标识;所述组播组标识用于表示所述目标组播成员所在的组播组;
将所述云内组播域标识发送至专线接入设备,以使所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至网关;
将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
上述组播通信方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品,获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取组播流量请求携带的云内组播域标识和组播组标识,可以响应云内组播成员对云外组播源的点播请求;将云内组播域标识发送至专线接入设备,以使专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关,使得专线接入设备将云外组播流量引流至云边界,为后续向云内的转发提供基础;将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员,能够实现云外组播流量在云内组播域中的转发,进而能够实现云内外组播流量的互通,能够满足云内外的组播流量转发需求。
附图说明
图1为一些实施例中组播通信方法的应用环境图;
图2为一些实施例中组播通信方法的流程示意图;
图3为另一些实施例中组播通信方法的应用环境示意图;
图4为又一些实施例中组播通信方法的应用环境示意图;
图5为一个实施例中目标专线通道的确定过程示意图;
图6为另一些实施例中组播通信方法的流程示意图;
图7为一些实施例中组播通信系统的组成示意图;
图8为另一些实施例中组播通信系统的组成示意图;
图9为一个实施例中CVM加组离组事件触发专线系统组播配置变更的过程示意图;
图10为一个实施例中的组播通信过程示意图;
图11为一些实施例中组播通信装置的结构框图;
图12为一些实施例中计算机设备的内部结构图;
图13为另一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,对本申请涉及的名词和术语进行解释说明:
VPC:Virtual Private Cloud,私有网络是基于云平台构建的专属云上网络空间,为租户在云上的资源提供网络服务,不同私有网络间完全逻辑隔离。租户可以自定义网络环境、路由表、安全策略等;同时,私有网络支持多种方式连接Internet、连接其他VPC、连接租户的本地IDC。
CVM:Cloud Virtual Machine,云服务器,在云平台中提供的可扩展的计算服务实例。
IDC:Internet Data Center,互联网数据中心,指一种拥有完善的设备(包括高速互联网接入带宽、高性能局域网络、安全可靠的机房环境等)、专业化的管理、完善的应用的服务平台。
混合云:Hybrid Cloud,混合云是结合了多种类型云资源的一种云计算形态,它将私有云、公有云甚至本地IDC的基础设施协同工作,从而提高用户跨云的资源利用率。
DC:Direct Connect,专线接入,提供了一种快速构建混合云的方案。用户通过物理专线打通用户IDC和云平台上的VPC的连接,实现灵活可靠的混合云部署。
组播:Multicast,组播是IP网络数据传输的方式之一。组播技术有效解决了单点发送多点接收的问题,从而提高数据传输效率,降低网络出现拥塞的可能性。
DCGW:Direct Connect Gateway,专线网关,用户IDC与云上VPC互通的流量关口。通过专线网关,用户IDC流量可以连接VPC内资源。
DCPL:Direct Connect Private Line,专线接入设备,通常为商用交换机。
MCGW:Multicast Gateway,组播网关,VPC内不同宿主机上的CVM之间组播流量互通的流量关口。
BFD:Bidirectional Forwarding Detection,双向转发检测,用于检测两个转发点之间故障的网络协议。
RPF:Reverse Path Filtering,反向路径过滤,对数据包进行源地址校验。
ASM:Any-Source Multicast,任意源组播,组播服务模型中,对于每个组播组而言,任意的设备都可以成为组播源。
SSM:Source-Specific Multicast,特定源组播,组播服务模型中,对于每个组播组而言,只有指定的设备才可以做为组播源。
进一步地,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
私有云(Private Cloud)是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源。创建私有云,除了硬件资源外,一般还有云设备(IaaS,Infrastructure as a Service,基础设施即服务)软件。私有云计算同样包含云硬件、云平台、云服务三个层次。不同的是,云硬件是用户自己的个人电脑或服务器,而非云计算厂商的数据中心。云计算厂商构建数据中心的目的是为千百万用户提供公共云服务,因此需要拥有几十上百万台服务器。私有云计算,对个人来说只服务于亲朋好友,对企业来说只服务于本企业员工以及本企业的客户和供应商,因此个人或企业自己的个人电脑或服务器已经足够用来提供云服务。
公有云(Public Cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
混合云(Hybrid Cloud)融合了公有云(Public Cloud)和私有云(PrivateCloud),是近年来云计算的主要模式和发展方向。私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。
本申请实施例提供的组播通信方法,可以应用于如图1所示的应用环境中。该应用场景可以包括多个组播成员101、云端102、网关103、专线接入设备104、云外组播源105和控制端106。控制端106与组播成员101、网关103、以及专线接入设备104之间可以通过通信网络进行通信。该通信网络可以是有线网络或无线网络。各组播成员101属于同一组播域,能够基于云端102实现组播流量转发。其中,云端102为基于云平台构建的专属云上网络空间,该云端102可以是私有云也可以是公有云。云外是与云内对应的其他网络设施资源等,如租户IDC、传统网络等。云外组播源105是云外能够提供共享资源服务的组播源。控制端106在实现组播通信的过程中:获取云内组播域中目标组播成员发送的、指向云外组播源105的组播流量请求;提取组播流量请求携带的云内组播域标识和组播组标识;该组播组标识用于表示目标组播成员所在的组播组;将云内组播域标识发送至专线接入设备104,以使专线接入设备104在获取到云外组播源105的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关103;将组播组中各组播成员间的成员路由信息发送至网关103,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
其中,各组播成员101以及云外组播源105,均可以通过服务器实现,该服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一种可能的实现中,上述组播通信方法,可以应用于证券领域。其中,云端为证券行业云,该行业云内部为各大券商分配虚拟专用网络VPC,每一券商相当于一个组播成员。云端通过网关和专线接入设备,与证券交易所的物理网络打通,使得云内部的虚拟专用网络可以通过云专线接收证券交易所(即云外组播源)发布的行情信息和交易信息。该行情信息和交易信息通过组播推送给行业云上的多个券商。具体地,控制端获取云内组播域中的目标券商发送的、指向证券交易所的组播流量请求,提取该组播流量请求携带的云内组播域标识和组播组标识,并将该云内组播域标识发送至专线接入设备、将组播组中各组播成员间的成员路由信息发送至网关。由专线接入设备获取证券交易所的组播流量,将该组播流量封装该云内组播域标识后发送至网关,再由网关按照该云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,并将该组播流量按照该目标成员路由信息发送至各域内组播成员。域内组播成员是指与目标券商属于同一组播域和同一组播组的券商。
在一种可能的实现中,上述组播通信方法还可以应用于教育领域。其中,云端为教育行业云,该行业云内部为各学校分配虚拟专用网络VPC,每一学校相当于一个组播成员。云端通过网关和专线接入设备,与教育管理机构的物理网络打通,使得云内部的虚拟专用网络可以通过云专线接收教育管理机构(即云外组播源)发布的信息。该信息通过组播推送给行业云上的多个学校。具体地,控制端获取云内组播域中的目标学校发送的、指向教育管理机构的组播流量请求,提取该组播流量请求携带的云内组播域标识和组播组标识,并将该云内组播域标识发送至专线接入设备、将组播组中各组播成员间的成员路由信息发送至网关。由专线接入设备获取教育管理机构的组播流量,将该组播流量封装该云内组播域标识发送至网关,再由网关按照该云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,并将该组播流量按照该目标成员路由信息发送至各域内组播成员。域内组播成员是指与目标学校属于同一组播域和同一组播组的学校。
下面对本申请中的组播通信方法进行介绍。
在一些实施例中,如图2所示,提供了一种组播通信方法,本实施例以该方法应用于图1中控制端106的情况为例进行说明,本实施例中,该方法包括以下步骤:
步骤S202,获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求。
其中,组播域是指组播数据在组播过程中能够覆盖的范围。本申请中,一个组播域对应一个云系统。该云系统可以是公有云也可以是私有云。目标组播成员是组播网络在云内组播域中的各域内组播成员中的一个。实际应用中,可以在同一个专有网络VPC内搭建组播网络,也即组播组的各组播成员均为该VPC的域内组播成员;也可以在不同VPC之间搭建组播网络,也即,对于某一VPC而言,组播组的各组播成员中一部分为该VPC的域内组播成员。云外是与云内对应的其他网络设施资源等,如租户IDC、传统网络等。云外组播源是指云外能够向外提供资源的组播源。
具体地,控制端获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求。控制端获取组播流量请求的具体方式,可以是主动获取,也可以是被动接收。示例性的,以目标组播成员为部署在宿主机中的云服务器(CVM)的情况为例,则CVM可以向宿主机上的组播代理模块发送IGMP(Internet Group Management Protocol,Internet组管理协议)报文格式的组播流量请求,再由宿主机将该组播流量请求上报给控制端。
步骤S204,提取组播流量请求携带的云内组播域标识和组播组标识。
其中,组播组标识用于表示目标组播成员所在的组播组。云内组播域标识用于标识目标组播组成员所在的云内组播域。该云内组播域标识和组播组标识的具体构成,可以包括字母、数字和符号等中的至少一项。具体地,组播流量请求中携带有云内组播域标识和组播组标识,控制端可以从该组播流量请求中提取云内组播域标识和组播组标识。示例性地,控制端可以根据云内组播域标识和组播组标识各自的数据结构,或者云内组播域标识和组播组标识在组播流量请求中的位置,提取组播流量请求携带的云内组播域标识和组播组标识。
步骤S206,将云内组播域标识发送至专线接入设备,以使专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关。
其中,专线接入设备是指用于将云外流量引流到云边界的专用设备,该专线接入设备具体可以是交换机、路由器、或者基于高性能网卡的服务器形态的转发设备等。具体地,控制端将云内组播域标识发送至专线接入设备,以使专线接入设备从云外组播源引流,并在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识,并将封装后的组播流量发送至网关。
进一步地,控制端可以针对专线接入设备进行组播配置,组播配置的具体内容包括配置的云内组播组和云内组播域。也就是说,完成组播配置的专线接入设备能够为配置的云内组播组和云内组播域传输组播流量。在一个具体的实现中,控制端还将目标组播成员所属组播组的组播组标识发给至专线接入设备,专线接入设备将该组播组标识与配置的云内组播组的组播组标识进行匹配,在目标组播成员所属组播组为配置组播组的情况下,将组播流量封装云内组播域标识后发送至网关。
步骤S208,将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
其中,组播组中各组播成员间的成员路由信息,用于标识各组播成员之间的信息传输路径。该成员路由信息可以通过路由树表征。在一个具体的实现中,组播成员为部署在宿主机中的云服务器。同一个宿主机上的多个组播成员对应的路由可以生成主机路由树。不同的宿主机可以生成不同的主机路由树。多个宿主机上运行的虚拟机可以加入到同一个组播组中,因此,加入到同一个组播组中的多个宿主机对应的多个主机路由树可以形成组播组路由树。目标成员路由信息,是指组播组的各组播成员中属于云内组播域的域内组播成员间的成员路由信息。
具体地,控制端将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
进一步地,网关在接收到组播组的成员路由信息后,可以存储该成员路由信息,如此,在组播组未发生成员变更的情况下,网关可以基于本地存储的成员路由信息实现组播流量的发送。对于控制端而言,由于云内组播域中,随时可能出现新成员加入组播组,组播成员也可以随时退出组播组,基于此,控制端可以实时获取组播成员的变更信息,从而能够根据成员变更情况更新组播组中各组播成员间的成员路由信息,并将更新后的成员路由信息发送给网关,以确保网关中存储的是最新的成员路由信息。
上述组播通信方法,获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取组播流量请求携带的云内组播域标识和组播组标识,可以响应云内组播成员对云外组播源的点播请求;将云内组播域标识发送至专线接入设备,以使专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关,使得专线接入设备将云外组播流量引流至云边界,为后续向云内的转发提供基础;将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员,能够实现云外组播流量在云内组播域中的转发,进而能够实现云内外组播流量的互通,能够满足云内外的组播流量转发需求。
在一个实施例中,网关包括组播网关和专线网关。专线接入设备在获取到云外组播源的组播流量的情况下,将该组播流量和云内组播域标识发送至专线网关。在该实施例的情况下,步骤S208包括:将指向组播网关的组播路由信息发送至专线网关,以使专线网关按照该组播路由信息,将云内组播域标识和组播流量发送至组播网关;将组播组中各组播成员间的成员路由信息发送至组播网关,以使组播网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
其中,专线网关是云内组播域与云外组播源之间组播流量互通的流量关口,组播网关是云内组播域中各组播成员之间组播流量互通的流量关口。也就是说,对网关功能进行解耦,由专线网关负责将云外组播流量引流到云内的组播网关,再由组播网关将该云外组播流量发送至各域内组播成员。
具体地,专线接入设备、专线网关、以及组播网关依次连接。专线接入设备在获取到云外组播源的组播流量的情况下,将该组播流量和云内组播域标识发送至专线网关。控制端将指向组播网关的组播路由信息发送至专线网关,将组播组中各组播成员间的成员路由信息发送至组播网关。使得专线网关按照该组播路由信息,将云内组播域标识和组播流量发送至组播网关,使得组播网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
如图3所示,以组播成员为部署在宿主机中的云服务器为例。如图3所示,专线网关(DCGW)连接云内组播域,专线接入设备(DCPL)对接云外组播域(即IDC组播域),通过专线网关和专线接入设备之间的专线通道,建立起了连接云内和云外组播流量的转发通道,实现了云内CVM点播云外组播源(source)。进一步地,组播网关(图未示)在云内组播域(即VPC组播域)中,负责将从专线网关获取的组播流量发送给组播成员,也即云服务器所在的宿主机(HOST),最后由各宿主机将该组播流量转发给部署在本机上的组播成员CVM。
本实施例中,将网关进行功能解耦,由专线网关将云外组播流量引流到云内的组播网关,再由组播网关将该云外组播流量发送至各域内组播成员,有利于提高组播通信过程的可靠性。
在一个实施例中,组播通信方法还包括:获取组播组和云外组播源之间的多个候选专线通道;从各候选专线通道中,确定用于响应组播流量请求的目标专线通道。在该实施例的情形下,将云内组播域标识发送至专线接入设备,包括:将云内组播域标识发送至目标专线通道上的目标专线接入设备。
实际应用中,基于业务健壮性考虑,通常会建立多条连接到云外组播源的专线通道,每条专线通道连接不同的专线接入设备(DCPL),专线接入设备与公有云一侧不同的接入设备(IDC路由器)连接。如图4所示,配置有两条专线通道,分别为专线通道1和专线通道2。
具体地,控制端在获取指向云外组播源的组播流量请求之后,还获取组播组和云外组播源之间的多个候选专线通道,并从各候选专线通道中,确定用于响应组播流量请求的目标专线通道,进而将云内组播域标识发送至目标专线通道上的目标专线接入设备。控制端确定目标专线通道的具体方式,例如可以是随机选择,也可以是基于负载均衡原则确定。示例性的,控制端可以获取各候选专线通道各自的负载,并将负载最小的候选专线通道确定为目标专线通道。
本实施例中,组播组和云外组播源之间配置有多个候选专线通道,在组播通信过程中,控制端从各候选专线通道中,确定用于响应组播流量请求的目标专线通道,有利于进一步提高通信可靠性。
在一个具体的实施例中,从各候选专线通道中确定用于响应所述组播流量请求的目标专线通道,包括:获取各候选专线通道各自的优先级;基于各优先级,从各候选专线通道中确定优先级最高的选定专线通道;对选定专线通道进行组播组最长掩码匹配和组播源最长掩码匹配,得到目标专线通道。
其中,优先级可以通过优先级信息表征。该优先级信息例如可以是数字、字母等形式。具体地,控制端获取各候选专线通道各自的优先级,基于各优先级,从各候选专线通道中确定优先级最高的选定专线通道。然后,对选定专线通道分别进行组播组最长掩码匹配和组播源最长掩码匹配,得到目标专线通道。进行匹配的具体算法例如可以是精确匹配或最长掩码匹配算法。其中,最长掩码匹配是指在IP协议中,被路由器用于在路由表中进行选择的一个算法。最长掩码匹配原则是指IP网络中当路由表中有多条条目可以匹配目的IP时,一般就采用掩码最长(最精确)的一条作为匹配项并确定下一跳,如此,可以兼顾准确性和效率。
在一个具体的实现中,如图5所示,针对云内组播域与互联网数据中心之间的每一专线通道,控制端先判断该专线通道是否对应特定源组播(SSM)的组播组,具体到本申请,该组播组的组播源是指组播流量请求指向的云外组播源。然后,控制端判断该组播源是否在通道IDC路由表中,判断该组播组是否在通道组播路由表中,若组播源在通道IDC路由表中,且组播组在通道组播路由表中,说明该专线通道为候选专线通道。则控制端将该专线通道加入候选通道列表,并从候选通道列表中选取优先级最高的选定专线通道。接着,控制端对该选定专线通道分别进行组播组最长掩码匹配和组播源最长掩码匹配,其中,组播组最长掩码匹配用于匹配IDC(即互联网数据中心),组播源最长掩码匹配用于匹配组播源,如此,就确定了从专线接入设备到云外组播源的通信路径,得到了目标专线通道。最后,控制端在该目标专线通道所在专线接入设备上配置IGMP静态组播。需要说明的是,若优先级最高的选定专线通道的数量为多个,则最终可以选择这多个选定专线通道中的任意一个作为目标专线通道,例如图5中将通道字母顺序最小的通道作为目标专线通道。进一步地,控制端也可以采用动态IGMP SNOOPING的形式在专线接入设备上进行组播配置,在此不作限定。
上述实施例中,通过最长掩码匹配确定目标专线通道,准确性高,有利于提高云内组播域与云外组播源之间通信的可靠性。
在一个实施例中,每一候选专线通道中的专线接入设备与网关之间建立有双向转发连接。在该实施例的情形下,组播通信方法还包括:针对每一候选专线通道,获取候选专线通道的通道运行状态;在通道运行状态为通道异常的情况下,下调该候选专线通道的优先级。
其中,通道运行状态由网关基于双向转发连接检测得到。具体地,在配置有多条候选专线通道的情况下,针对每条候选专线通道,专线接入设备与网关之间建立有双向转发连接,这样,网关就可以基于双向转发连接检测该候选专线通道的通道运行状态,并将通道运行状态上报控制端。使得控制端可以获取候选专线通道的通道运行状态,并在通道运行状态为通道异常的情况下,下调该候选专线通道的优先级,以避免在通道出现故障的情况下使用该候选专线通道。
在一个具体的实现中,以网关包括组播网关(MCGW)和专线网关(DCGW)的情况为例。如图4所示,当云内组播域与互联网数据中心有多条专线通道且都配置了组播源时,会选择一条专线通道承载组播流量,若该通道出现故障,基于双向转发连接可以确保组播流量能够迁移到其他通道上。具体地,针对每条专线通道,专线网关和互联网数据中心一侧的专线接入设备(DCPL)之间建立BFD(双向转发)连接,检测通道运行状态。当通道异常时,DCGW将该专线通道BFD状态切换为DOWN,并将BFD状态切换事件上报给控制端。控制端收到BFD状态切换事件,下调专线通道的优先级,重新执行一遍图5所示的专线通道选择流程,选择新的专线通道承载组播流量,控制端给DCGW和DCPL下发与新确定的专线通道对应的更新后的组播配置,以此来完成组播流量的切换。
上述实施例中,基于双向转发连接检测候选专线通道的通道运行状态,并在通道运行状态为通道异常的情况下,下调该候选专线通道的优先级,进而可以确保使用运行状态正常的目标专线通道,有利于进一步确保通信可靠性。
在一个实施例中,组播通信方法还包括:向网关发送通道组播路由信息,以使网关在接收到组播流量的情况下,将该组播流量的源地址与通道组播路由信息对应的设备地址进行比对,确定比对结果;在比对结果为不一致的情况下,修正源地址对应的专线接入设备的组播配置。
其中,源地址是指向网关发送组播流量的专线接入设备的地址;通道组播路由信息携带有目标专线接入设备的设备地址。实际应用中,当云内组播域与云外组播域有多条专线通道时,筛选出了其中一条专线通道承载组播流量,若有非预期专线通道收到组播流量时,需要有机制能过滤掉异常流量,并触发专线接入设备的组播配置的修正。
具体地,控制端向网关发送通道组播路由信息,该通道组播路由信息携带有目标专线接入设备(即预期专线通道的专线接入设备)的设备地址。云外向云内转发组播流量时,组播报文的外层源携带有组播流量的源地址,即实际向网关发送组播流量的专线接入设备的地址。网关将源地址与设备地址进行比对,确定比对结果。若比对结果为不一致,说明转发云外组播流量的专线接入设备为非预期专线通道的专线接入设备,此时,需要通知控制端删除该专线接入设备中非预期的组播配置,例如删除配置的组播组,修正组播流量。
在一个具体的实现中,控制端给网关下发通道组播路由信息,该通道组播路由信息可以包括组播路由条目mcroute,mcroute包含{vpcid,source,group,vtepIP},vpcid表示VPC标识,source表示组播源,group表示组播组,vtepIP表示预期专线通道DCPL的VTEPIP。云外向云内转发组播流量时,网关使用source和group查找mcroute,如果组播报文中外层源(vtepIP)和mcroute中vtepIP不一致,或者mcroute不存在,则网关生成RPF(反向路径过滤)条目,并向控制端上报RPF事件。RPF条目包含{vpcid,source,group,vtepIP},RPF启动定时器300s后删除,其中300s为超时时间timeout,为可配置参数。控制端收到RPF事件后,根据vtepIP查找对应的DCPL,给对应的DCPL下发删除group组播的配置,修正组播流量。进一步地,为避免内存空间的长期占用,还需对RPF条目进行删除处理。具体地,网关可以检查是否存在和RPF条目一致的mcroute,如果存在,则删除RPF;还可以检查RPF条目,最后120s是否有报文触发,如果没有,则删除RPF,其中120s为间隔时间interval,为可配置参数;网关还可以在以上条件均未匹配的情况下删除RPF,并且通知控制端,通知内容为{vpcid,source,group,vtepIP}。
上述实施例中,网关会记录组播组对应的专线通道,当收到非预期专线通道上的组播流量时,触发组播RPF事件,以使控制端修复组播配置,删除非预期组播配置,有利于提高组播通信过程的可靠性。
在一个实施例中,组播通信方法还包括:获取组播组的成员变更信息;基于成员变更信息,更新组播组中各组播成员间的成员路由信息。
其中,成员变更包括成员加组和成员离组,对应的,成员变更信息包括成员加组信息和成员离组信息。该成员变更信息携带有组播域标识(即VPC标识)和组播组地址等信息。具体地,组播成员在加入组播组或离开组播组时,会发送对应的报告报文,该报告报文中记录有成员变更信息。控制端获取该成员变更信息,并根据该成员变更信息,基于组播路由协议计算组播路由,更新组播组中各组播成员间的成员路由信息。
在一个具体的实现中,成员路由信息可以表示成路由树。控制端可以计算组播成员对应的路由,并根据各组播成员各自对应的路由生成路由树。示例性的,控制端可以获取各组播成员返回的报告报文,根据报告报文计算组播成员对应的路由,根据多个组播成员对应的路由生成路由树,然后,获取数据平面使用的路由树的拓扑结构,根据路由树拓扑结构将多个组播成员对应的路由树写入数据平面使用的路由树数据结构中。
本实施例中,控制端获取组播组的成员变更信息,基于成员变更信息更新组播组中各组播成员间的成员路由信息,可以确保成员路由信息的实时更新,进而确保组播通信过程的顺利进行。
在一个实施例中,各组播成员均以虚拟机方式部署在各自对应的云内宿主机中;成员变更信息携带有云内宿主机标识。在该实施例的情形下,基于成员变更信息,更新组播组中各组播成员间的成员路由信息,包括:基于成员变更信息,添加指向云内宿主机标识所表示的云内宿主机的路由条目;根据添加的路由条目,更新组播组中各组播成员间的成员路由信息。
如前文所述的,同一个宿主机上的多个组播成员对应的路由可以生成主机路由树。不同的宿主机可以生成不同的主机路由树。多个宿主机上运行的虚拟机可以加入到同一个组播组中,因此,加入到同一个组播组中的多个宿主机对应的多个主机路由树可以形成组播组路由树。基于此,控制端可以基于成员变更信息,添加指向云内宿主机标识所标识的云内宿主机的路由条目,并根据添加的路由条目,基于组播路由协议更新组播组中各组播成员间的成员路由信息。
本实施例中,根据云内宿主机的路由条目更新组播组中各组播成员间的成员路由信息,算法简单,有利于提高效率。
在一个实施例中,如图6所示,组播通信方法包括以下步骤:
步骤S601,获取云内组播组的成员变更信息;
其中,云内组播组的各组播成员均以虚拟机方式,部署在各组播组成员各自对应的云内宿主机中;成员变更信息携带有云内宿主机标识;
步骤S602,基于成员变更信息,添加指向云内宿主机标识所表示的云内宿主机的路由条目;
步骤S603,根据添加的路由条目,更新云内组播组中各组播成员间的成员路由信息;
步骤S604,获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
步骤S605,提取组播流量请求携带的云内组播域标识和组播组标识;
其中,组播组标识用于表示目标组播成员所在的云内组播组;
步骤S606,获取云内组播组和云外组播源之间的多个候选专线通道;
步骤S607,获取各候选专线通道各自的优先级;
步骤S608,基于各优先级,从各候选专线通道中确定优先级最高的选定专线通道;
步骤S609,对选定专线通道进行组播组最长掩码匹配和组播源最长掩码匹配,得到目标专线通道;
步骤S610,将云内组播域标识发送至目标专线通道上的目标专线接入设备,以使目标专线接入设备在获取到云外组播源的组播流量的情况下,将该组播流量和云内组播域标识发送至网关;
步骤S611,向网关发送通道组播路由信息,以使网关在接收到组播流量的情况下,将组播流量的源地址与通道组播路由信息对应的设备地址进行比对,确定比对结果;
其中,源地址是指向网关发送组播流量的专线接入设备的地址;通道组播路由信息携带有目标专线接入设备的设备地址;
步骤S612,在比对结果为不一致的情况下,修正源地址对应的专线接入设备的组播配置;
其中,组播配置包括云内组播组与云内组播域的对应关系;
步骤S613,将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
上述组播通信方法,获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取组播流量请求携带的云内组播域标识和组播组标识,可以响应云内组播成员对云外组播源的点播请求;将云内组播域标识发送至专线接入设备,以使专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量和云内组播域标识发送至网关,使得专线接入设备将云外组播流量引流至云边界,为后续向云内的转发提供基础;将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员,能够实现云外组播流量在云内组播域中的转发,进而能够实现云内外组播流量的互通,能够满足云内外的组播流量转发需求。
在一些实施例中,如图7所示,本申请还提供了一种组播通信系统,包括控制器710、网关720和专线接入设备730。控制器710用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取组播流量请求携带的云内组播域标识和组播组标识,将云内组播域标识发送至专线接入设备730,并将组播组中各组播成员间的成员路由信息发送至网关720;专线接入设备730用于在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关720;网关720用于按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
其中,组播组标识用于表示目标组播成员所在的组播组。控制器710是指包含各类处理芯片及其外围电路,具备逻辑运算功能的硬件模块。该处理芯片,可以是单片机、DSP(Digital Signal Process,数字信号处理)芯片或FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)芯片等。网关720又称网间连接器,是一个网络连接到另一个网络的关口。专线接入设备730是指用于将云外流量引流到云边界的专用设备,该专线接入设备730具体可以是交换机、路由器、或者基于高性能网卡的服务器形态的转发设备等。
进一步地,组播域是指组播数据在组播过程中能够覆盖的范围。本申请中,一个组播域对应一个云系统。该云系统可以是公有云也可以是私有云。目标组播成员是组播网络在云内组播域中的各域内组播成员中的一个。组播组中各组播成员间的成员路由信息,用于标识各组播成员之间的信息传输路径。该成员路由信息可以通过路由树表征。目标成员路由信息,是指组播组的各组播成员中属于云内组播域的域内组播成员间的成员路由信息。云外是与云内对应的其他网络设施资源等,如租户IDC、传统网络等。云外组播源是指云外能够向外提供资源的组播源。
具体地,在云内与云外的组播通信过程中,云内组播域可以向云外组播源点播组播流量,具体可以由云内组播域中目标组播成员发送指向云外组播源的组播流量请求,由控制器710获取该组播流量请求,并提取组播流量请求携带的云内组播域标识和组播组标识,将云内组播域标识发送至专线接入设备730,并将组播组中各组播成员间的成员路由信息发送至网关720。然后,由专线接入设备730从云外组播源引流,将云外组播流量引流到云边界。该专线接入设备730在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关720。最后,再由网关720按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
进一步地,控制器710可以针对专线接入设备730进行组播配置,组播配置的具体内容包括配置的云内组播组和云内组播域。也就是说,完成组播配置的专线接入设备730能够为配置的云内组播组和云内组播域传输组播流量。在一个具体的实现中,控制器710还将目标组播成员所属组播组的组播组标识发给至专线接入设备730,专线接入设备730将该组播组标识与配置的云内组播组的组播组标识进行匹配,在目标组播成员所属组播组为配置组播组的情况下,将组播流量封装云内组播域标识后发送至网关720。
上述组播通信系统,配置控制器获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取组播流量请求携带的云内组播域标识和组播组标识,可以响应云内组播成员对云外组播源的点播请求;将云内组播域标识发送至专线接入设备,以使专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至网关,使得专线接入设备将云外组播流量引流至云边界,为后续向云内的转发提供基础;将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员,能够实现云外组播流量在云内组播域中的转发,进而能够实现云内外组播流量的互通,能够满足云内组播域与云外组播源之间的组播流量转发需求。
在一个实施例中,如图8所示,组播通信系统还包括云内宿主机740;各组播成员均以虚拟机方式部署在各自对应的云内宿主机中。云内宿主机740用于向控制器710上报虚拟机的成员变更信息;控制器710还用于基于成员变更信息,更新组播组中各组播成员间的成员路由信息。
其中,成员变更包括成员加组和成员离组,对应的,成员变更信息包括成员加组信息和成员离组信息。该成员变更信息携带有组播域标识(即VPC标识)、组播组地址、宿主机等信息。如前文所述的,实际应用中,可以将组播成员以虚拟机方式部署在各自对应的云内宿主机中,也即,组播成员可以是部署在云内宿主机740中的虚拟机,且一个云内宿主机740中部署的虚拟机的数量可以是一个,也可以是多个。
具体地,组播成员在加入组播组或离开组播组时,会发送对应的报告报文(例如IGMP Report协议报文),该报告报文中记录有成员变更信息。云内宿主机740可以通过该宿主机中的组播代理模块获取该报告报文,并提取该报文中的成员变更信息,将该成员变更信息上报控制器710,以便控制器710可以根据该成员变更信息,基于组播路由协议计算组播路由,更新组播组中各组播成员间的成员路由信息。示例性的,控制器710可以基于成员变更信息,添加指向云内宿主机标识所标识的云内宿主机640的路由条目,并根据添加的路由条目,基于组播路由协议更新组播组中各组播成员间的成员路由信息。
上述实施例中,组播成员以虚拟机方式部署,由组播成员的云内宿主机向控制器上报成员变更信息,由控制器基于成员变更信息,更新组播组中各组播成员间的成员路由信息,可以确保成员路由信息的实时更新,进而确保组播通信过程的顺利进行。
在一个实施例中,目标成员路由信息包括宿主机路由信息。在该实施例的情形下,网关720具体按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的宿主机路由信息,并将组播流量复制后,按照宿主机路由信息分别发送至各域内组播成员各自的云内宿主机740;云内宿主机740用于将组播流量发送至部署于该云内宿主机的域内组播成员。
其中,宿主机路由信息是指指向宿主机的路由信息,也即,按照宿主机路由信息可以将组播流量发送给宿主机。具体地,网关720按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的宿主机路由信息。然后,网关720根据宿主机路由信息可以确定需要发送组播流量的宿主机的数量,并将组播流量复制后,按照宿主机路由信息分别发送至各域内组播成员各自的云内宿主机740。云内宿主机740再将接收到的组播流量发送至部署于该云内宿主机的域内组播成员。示例性地,网关720可以将组播流量封装,发送至云内宿主机740。云内宿主机740接收到封装后的组播流量,可以对封装后的组播流量进行解析,得到解析后的组播流量,再通过Bridge(网桥)将解析后的组播流量传递给该宿主机上运行的组播组内的虚拟机,即域内组播成员。
上述实施例中,由云内宿主机740对组播流量进行分发,可以确保组播流量能够被准确投递给需要该组播流量的域内组播成员,确保了组播数据投递的准确性,从而实现了云内与云外之间安全有效的数据组播。
在一个实施例中,请继续参考图8,控制器710包括组播控制器711和专线控制器712。组播控制器711,具体用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取该组播流量请求携带的云内组播域标识和组播组标识,并将云内组播域标识发送至专线控制器712;专线控制器712用于将云内组播域标识发送至专线接入设备730。
其中,组播控制器711是负责云内组播域一侧的控制器,用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取该组播流量请求携带的云内组播域标识和组播组标识,并将云内组播域标识发送至专线控制器712。专线控制器712是负责专线接入设备一侧的控制器,用于将云内组播域标识发送至专线接入设备730。进一步地,组播控制器711还用于将组播组中各组播成员间的成员路由信息发送至网关720。
本实施例中,将控制器的控制功能进行解耦,配置组播控制器711负责云内组播域一侧的控制,配置专线控制710负责专线接入设备一侧的控制,有利于进一步提高组播通信过程的可靠性。
在一个实施例中,网关720还用于存储成员路由信息。组播控制器711,具体用于获取组播组的成员变更信息,基于成员变更信息更新组播组中各组播成员间的成员路由信息,并将更新后的成员路由信息发送至网关720。专线接入设备730还用于存储组播配置;组播控制器711,还用于将成员变更信息聚合成域变更信息,基于域变更信息更新组播配置,并将更新后的组播配置发送至专线接入设备730。
其中,组播配置包括配置的云内组播组与云内组播域。具体地,网关720在接收到组播组的成员路由信息后,可以存储该成员路由信息,如此,在组播组未发生成员变更的情况下,网关720可以基于本地存储的成员路由信息实现组播流量的发送。对于控制器而言,由于云内组播域中,随时可能出现新成员加入组播组,组播成员也可以随时退出组播组,基于此,控制器可以实时获取组播成员的变更信息,从而能够根据成员变更情况更新组播组中各组播成员间的成员路由信息,并将更新后的成员路由信息发送给网关,以确保网关中存储的是最新的成员路由信息。具体到本实施例,可以由组播控制器711获取组播组的成员变更信息,基于成员变更信息更新组播组中各组播成员间的成员路由信息,并将更新后的成员路由信息发送至网关720。
进一步地,专线接入设备730还用于存储组播配置,如此,专线接入设备730可以基于本地存储的组播配置,确定云内组播域标识对应的云内组播域是否为已配置组播域,确定组播流量对应的云内组播组是否为已配置组播组,并在云内组播域和云内组播组均已配置的情况下,将该组播流量封装云内组播域标识后发送至网关720。也就是说,如图9所示,CVM的加组离组事件并不会触发专线设备一侧的组播配置变更,只有在CVM的加组离组事件对应VCP加组离组事件的情况下,才会触发专线设备一侧的组播配置变更。例如,某一个VCP内第一个CVM的加组事件,往往代表着该VCP的加组;又如,某一个VCP内的最后一个CVM的离组事件,往往代表着该VCP的离组。
本实施例中,网关720还用于存储成员路由信息,专线接入设备730还用于存储组播配置,如此,可以仅在成员变更的情况下发送路由信息,有利于提高效率。
在一个实施例中,请继续参考图8,网关720包括组播网关721和专线网关722。控制器710将指向组播网关721的组播路由信息发送至专线网关722,将组播组中各组播成员间的成员路由信息发送至组播网关721;专线接入设备730在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识后发送至专线网关722;专线网关722按照组播路由信息,将云内组播域标识和组播流量发送至组播网关721;组播网关721按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
其中,专线网关722是云内组播域与云外组播源之间组播流量互通的流量关口,组播网关721是云内组播域中各组播成员之间组播流量互通的流量关口。也就是说,对网关功能进行解耦,由专线网关722负责将云外组播流量引流到云内的组播网关,再由组播网关721将该云外组播流量发送至各域内组播成员。
具体地,如图8所示,专线接入设备730、专线网关722、以及组播网关721依次连接。专线接入设备730在获取到云外组播源的组播流量的情况下,将该组播流量封装云内组播域标识后发送至专线网关722。控制器710将指向组播网关721的组播路由信息发送至专线网关722,将组播组中各组播成员间的成员路由信息发送至组播网关721。使得专线网关722按照该组播路由信息,将云内组播域标识和组播流量发送至组播网关721,使得组播网关721按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
本实施例中,将网关进行功能解耦,由专线网关将云外组播流量引流到云内的组播网关,再由组播网关将该云外组播流量发送至各域内组播成员,有利于提高组播通信过程的可靠性。
在一个实施例中,如图8所示,组播通信系统包括依次连接的云内宿主机740、组播网关721、专线网关722和专线接入设备730,专线接入设备730还用于连接云外组播源。组播通信系统还包括组播控制器711和专线控制器712,组播控制器711连接云内宿主机740、组播网关721和专线控制器712;专线控制器712连接专线网关722和专线接入设备730。各个组成部分的功能如下:
云内宿主机740:运行IGMP SNOOPING,及时将CVM的加组离组信息发送给组播控制器711;接受组播网关721发送过来的封装后的组播流量,将封装的组播流量解封装后发送给对应组播组的成员CVM。
组播控制器711:根据宿主机740上报的组成员变动信息,计算组播成员的路由,给组播网关721下发组播成员路由的变动;将CVM的加组、离组信息聚合成VPC的加组离组行为,给专线控制器712发送VPC的组播信息。
组播网关721:用于转发跨宿主机740的组播流量,以及专线网关722侧转发过来的组播流量,根据组播流量中的VPC信息和组播组,查找组播成员宿主机,将组播流量复制多份,分别发送给各宿主机740。
专线控制器712:用于管理专线系统的配置,接收组播控制器711的VPC加组、离组信息,分别给专线网关722和专线接入设备730下发配置。
专线网关722:连接组播网关721和专线接入设备730,是云内云外流量互通的关口。在组播转发过程中,接收转发自专线接入设备730的封装后的云外IDC组播流量,根据报文封装信息获取所属VPC,查询该VPC的组播路由,该路由下一跳是组播网关721,将组播流量再次封装后发送给组播网关721。
专线接入设备730:连接专线网关720和IDC侧云设备,配置基础组播配置,将流量从IDC引到云边界。接收专线控制器712下发的组播组配置,根据组播组配置,将IDC侧组播流量封装后经专线通道转发给专线网关722。
上述组播通信系统,能够实现云内CVM与云外组播源之间的组播通信,满足云内CVM点播云外组播源的通信需求,实现了云内外组播流量的互通,填补了该领域的技术空白。
下面结合图10,对本申请的组播通信过程进行详细说明。具体地,如图10所示,云内组播域与云外组播源之间的组播通信过程包括以下步骤:
步骤1、CVM发送IGMP Report协议报文申请加入组播组,组播协议报文在宿主机上被组播代理模块获取;
步骤2、组播代理模块提取出所获取的组播报文的VPC信息、组播地址、宿主机信息等,上送给组播控制器;
步骤3、组播控制器更新该VPC在该组播组的成员路由信息,添加指向该宿主机的路由条目,并将组播路由信息下发给MCGW;
步骤4、组播控制器将该VPC有成员加入该组的消息,发送给专线控制器;
步骤5、专线控制器更新该VPC在该组播组的组播路由,将组播路由指向组播网关,并将该组播路由下发给DCGW;
步骤6、专线控制器在DCPL下发该VPC静态加入该组播组的配置。
以上即是完成了成员加组、离组情况下的组播配置。完成组播配置后,组播成员可以通过宿主机向组播控制发送指向IDC组播域的组播流量请求,下面对组播流量发送过程进行说明。
步骤7、DCPL上配置Underlay组播配置,将IDC组播源的组播流量引流到DCPL;
步骤8、基于步骤6下发的配置,DCPL将IDC侧组播流量封装后转发给DCGW,封装信息主要包含VPC信息;
步骤9、DCGW收到DCPL发来的封装组播流量,将流量解封装,查询该VPC在该组播组上的路由信息,将组播流量重新封装后转发给MCGW;
步骤10、MCGW收到DCGW发来的封装组播流量,将流量解封装,查询该VPC该组播组路由表,将组播流量发送给组播成员,也即CVM所在宿主机;
步骤11、宿主机收到MCGW发来的封装组播流量,将流量解封装,查询该VPC该组播组在本宿主机上的成员CVM,将组播流量转发给对应CVM。
实际应用中,基于业务健壮性考虑,如图4所示,通常会建立多条连接到用户IDC的专线通道,每条专线通道连接不同的DCPL,DCPL与IDC侧不同的接入设备连接。当VPC与IDC有多条专线通道时,这些专线通道间是互相独立的,DCGW上没有运行PIM协议,无法通过PIM获取组播源信息,更无法计算组播路由树。因此DCGW使用IGMP模型来点播时,需要人工指定组播源与通道的对应关系。多条通道都配置了组播源时,若云上VPC侧点播了该组播源,需要选择出一条通道来承载组播流量,具体方法流程如图5所示。
具体地,如图5所示,针对云内组播域与互联网数据中心之间的每一专线通道,控制端先判断该专线通道是否对应特定源组播(SSM)的组播组,具体到本申请,该组播组的组播源是指组播流量请求指向的云外组播源。然后,控制端判断该组播源是否在通道IDC路由表中,判断该组播组是否在通道组播路由表中,若组播源在通道IDC路由表中,且组播组在通道组播路由表中,说明该专线通道为候选专线通道。则控制端将该专线通道加入候选通道列表,并从候选通道列表中选取优先级最高的选定专线通道。接着,控制端对该选定专线通道分别进行组播组最长掩码匹配和组播源最长掩码匹配,其中,组播组最长掩码匹配用于匹配IDC(即互联网数据中心),组播源最长掩码匹配用于匹配组播源,如此,就确定了从专线接入设备到云外组播源的通信路径,得到了目标专线通道。最后,控制端在该目标专线通道所在专线接入设备上配置IGMP静态组播。需要说明的是,若优先级最高的选定专线通道的数量为多个,则最终可以选择这多个选定专线通道中的任意一个作为目标专线通道,例如图5中将通道字母顺序最小的通道作为目标专线通道。进一步地,控制端也可以采用动态IGMP SNOOPING的形式在专线接入设备上进行组播配置,在此不作限定。
当VPC与IDC有多条专线通道且都配置了组播源时,会选择一条专线通道承载组播流量,若该通道出现故障,需要有机制能够确保组播流量迁移到其他通道上。本申请针对每条专线通道,DCGW和IDC侧接入设备之间建立BFD(双向转发)连接,检测通道运行状态。当DCGW检测到通道异常时,将专线通道BFD状态切换为DOWN,并向专线控制器上报BFD状态切换事件。专线控制器收到BFD状态切换事件,调整该专线通道的优先级,重新执行一遍上述组播通道选择流程,相当于可以选择另外一条专线通道承载组播流量。在确定新的专线通道后,专线控制器给DCGW和DCPL下发更新后的组播配置,以此来完成组播流量的切换。
当VPC与IDC有多条专线通道且都配置了组播源时,筛选出了其中一条专线通道承载组播流量,若有非预期专线通道收到组播流量时,需要有机制能过滤掉异常流量,并触发DCPL组播配置的修正。本申请中,DCGW会记录组播组对应的专线通道,当转发模块收到非预期专线通道上的组播流量时,会通知专线控制器组播反向路径转发异常事件,专线控制器给DCPL下发修正静态组播组的配置。RPF(反向路径过滤)的具体过程为:专线控制器给DCGW下发通道组播路由时候,下发对应的组播路由条目mcroute,mcroute包含{vpcid,source,group,vtepIP},vpcid表示VPC标识,source表示组播源,group表示组播组,vtepIP表示预期专线通道DCPL的VTEP IP;云外向云内转发组播流量时,使用source和group查找mcroute,如果组播报文中外层源(vtepIP)和mcroute中vtepIP不一致,或者mcroute不存在,生成RPF条目,该RPF条目包含{vpcid,source,group,vtepIP},RPF启动定时器300s后删除,其中300s为超时时间timeout,为可配置参数;专线控制器收到RPF条目后,根据vtepIP查找对应的DCPL,给对应的DCPL下发删除group组播的配置,修正组播流量。
进一步地,为避免内存空间的长期占用,还需对RPF条目进行删除处理。具体地,DCGW可以检查是否存在和RPF条目一致的mcroute,如果存在,则删除RPF;还可以检查RPF条目,最后120s是否有报文触发,如果没有,则删除RPF,其中120s为间隔时间interval,为可配置参数;DCGW还可以在以上条件均未匹配的情况下删除RPF,并且通知专线控制器,通知内容为{vpcid,source,group,vtepIP}。
上述组播通信方法,提供了一种将云内组播和云外组播打通的网络方案,实现了云内外组播流量的互通,填补了该领域的技术空白,满足了特定场景的转发需求。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的组播通信方法的组播通信装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个组播通信装置实施例中的具体限定可以参见上文中对于组播通信方法的限定,在此不再赘述。
在一些实施例中,如图11所示,提供了一种组播通信装置1100,包括获取模块1102、标识提取模块1104、第一发送模块1106和第二发送模块1108。其中,
获取模块1102,用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
标识提取模块1104,用于提取组播流量请求携带的云内组播域标识和组播组标识;组播组标识用于表示目标组播成员所在的组播组;
第一发送模块1106,用于将云内组播域标识发送至专线接入设备,以使专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量封装云内组播域标识发送至网关;
第二发送模块1108,用于将组播组中各组播成员间的成员路由信息发送至网关,以使网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
在一个实施例中,网关包括组播网关和专线网关;专线接入设备在获取到云外组播源的组播流量的情况下,将组播流量和云内组播域标识发送至专线网关。在该实施例的情形下,第二发送模块1108具体用于:将指向组播网关的组播路由信息发送至专线网关,以使专线网关按照组播路由信息,将云内组播域标识和组播流量发送至组播网关;将组播组中各组播成员间的成员路由信息发送至组播网关,以使组播网关按照云内组播域标识,从成员路由信息中查询组播成员中属于云内组播域的域内组播成员间的目标成员路由信息,将组播流量按照目标成员路由信息发送至各域内组播成员。
在一个实施例中,组播通信装置1100还包括目标专线通道确定模块,用于:获取组播组和云外组播源之间的多个候选专线通道;从各候选专线通道中,确定用于响应组播流量请求的目标专线通道。在该实施例的情形下,第一发送模块1106具体用于将云内组播域标识发送至目标专线通道上的目标专线接入设备。
在一个实施例中,目标专线通道确定模块具体用于:获取各候选专线通道各自的优先级;基于各优先级,从各候选专线通道中确定优先级最高的选定专线通道;对选定专线通道进行组播组最长掩码匹配和组播源最长掩码匹配,得到目标专线通道。
在一个实施例中,每一候选专线通道中的专线接入设备与网关之间建立有双向转发连接。在该实施例的情形下,组播通信装置1100还包括通道优先级调整模块,用于:针对每一候选专线通道,获取候选专线通道的通道运行状态;通道运行状态由网关基于双向转发连接检测得到;在通道运行状态为通道异常的情况下,下调候选专线通道的优先级。
在一个实施例中,组播通信装置1100还包括反向路径过滤模块,用于:向网关发送通道组播路由信息,以使网关在接收到组播流量的情况下,将组播流量的源地址与通道组播路由信息对应的设备地址进行比对,确定比对结果;源地址是指向网关发送组播流量的专线接入设备的地址;通道组播路由信息携带有目标专线接入设备的设备地址;在比对结果为不一致的情况下,修正源地址对应的专线接入设备的组播配置。
在一个实施例中,组播通信装置1100还包括成员路由信息更新模块,用于:获取组播组的成员变更信息;基于成员变更信息,更新组播组中各组播成员间的成员路由信息。
在一个实施例中,各组播成员均以虚拟机方式部署在各自对应的云内宿主机中;成员变更信息携带有云内宿主机标识。在该实施例的情形下,成员路由信息更新模块具体用于:基于成员变更信息,添加指向云内宿主机标识所表示的云内宿主机的路由条目;根据添加的路由条目,更新组播组中各组播成员间的成员路由信息。
上述组播通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,在本实施例中,以该计算机设备是服务器为例进行说明,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述方法中涉及到的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种组播通信方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种组播通信方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12和图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述组播通信方法中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述组播通信方法中的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述组播通信方法中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (18)
1.一种组播通信方法,其特征在于,包括:
获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
提取所述组播流量请求携带的云内组播域标识和组播组标识;所述组播组标识用于表示所述目标组播成员所在的组播组;
将所述云内组播域标识发送至专线接入设备,以使所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至网关;
将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
2.根据权利要求1所述的方法,其特征在于,所述网关包括组播网关和专线网关;所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量和所述云内组播域标识发送至所述专线网关;
所述将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员,包括:
将指向所述组播网关的组播路由信息发送至所述专线网关,以使所述专线网关按照所述组播路由信息,将所述云内组播域标识和所述组播流量发送至所述组播网关;
将所述组播组中各组播成员间的成员路由信息发送至所述组播网关,以使所述组播网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述组播组和所述云外组播源之间的多个候选专线通道;
从各所述候选专线通道中,确定用于响应所述组播流量请求的目标专线通道;
所述将所述云内组播域标识发送至专线接入设备,包括:
将所述云内组播域标识发送至所述目标专线通道上的目标专线接入设备。
4.根据权利要求3所述的方法,其特征在于,所述从各所述候选专线通道中确定用于响应所述组播流量请求的目标专线通道,包括:
获取各所述候选专线通道各自的优先级;
基于各所述优先级,从各所述候选专线通道中确定优先级最高的选定专线通道;
对所述选定专线通道进行组播组最长掩码匹配和组播源最长掩码匹配,得到目标专线通道。
5.根据权利要求3所述的方法,其特征在于,每一所述候选专线通道中的专线接入设备与所述网关之间建立有双向转发连接;
所述方法还包括:
针对每一所述候选专线通道,获取所述候选专线通道的通道运行状态;所述通道运行状态由所述网关基于所述双向转发连接检测得到;
在所述通道运行状态为通道异常的情况下,下调所述候选专线通道的优先级。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
向所述网关发送通道组播路由信息,以使所述网关在接收到所述组播流量的情况下,将所述组播流量的源地址与所述通道组播路由信息对应的设备地址进行比对,确定比对结果;所述源地址是指向所述网关发送所述组播流量的专线接入设备的地址;所述通道组播路由信息携带有所述目标专线接入设备的设备地址;
在所述比对结果为不一致的情况下,修正所述源地址对应的专线接入设备的组播配置。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述方法还包括:
获取所述组播组的成员变更信息;
基于所述成员变更信息,更新所述组播组中各组播成员间的成员路由信息。
8.根据权利要求7所述的方法,其特征在于,各所述组播成员均以虚拟机方式部署在各自对应的云内宿主机中;所述成员变更信息携带有云内宿主机标识;
所述基于所述成员变更信息,更新所述组播组中各组播成员间的成员路由信息,包括:
基于所述成员变更信息,添加指向所述云内宿主机标识所表示的云内宿主机的路由条目;
根据添加的所述路由条目,更新所述组播组中各组播成员间的成员路由信息。
9.一种组播通信系统,其特征在于,包括控制器、网关和专线接入设备;
所述控制器用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取所述组播流量请求携带的云内组播域标识和组播组标识,将所述云内组播域标识发送至专线接入设备,并将所述组播组中各组播成员间的成员路由信息发送至所述网关;所述组播组标识用于表示所述目标组播成员所在的组播组;
所述专线接入设备用于在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至所述网关;
所述网关用于按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括云内宿主机;各所述组播成员均以虚拟机方式部署在各自对应的云内宿主机中;
所述云内宿主机用于向所述控制器上报虚拟机的成员变更信息;
所述控制器还用于基于所述成员变更信息,更新所述组播组中各组播成员间的成员路由信息。
11.根据权利要求10所述的系统,其特征在于,所述目标成员路由信息包括宿主机路由信息;
所述网关具体按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的宿主机路由信息,并将所述组播流量复制后,按照所述宿主机路由信息分别发送至各所述域内组播成员各自的云内宿主机;
所述云内宿主机用于将所述组播流量发送至部署于所述云内宿主机的域内组播成员。
12.根据权利要求9所述的系统,其特征在于,所述控制器包括组播控制器和专线控制器;
所述组播控制器,具体用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求,提取所述组播流量请求携带的云内组播域标识和组播组标识,并将所述云内组播域标识发送至所述专线控制器;
所述专线控制器用于将所述云内组播域标识发送至所述专线接入设备。
13.根据权利要求12所述的系统,其特征在于:
所述网关还用于存储所述成员路由信息;所述组播控制器,具体用于获取组播组的成员变更信息,基于所述成员变更信息更新所述组播组中各组播成员间的成员路由信息,并将更新后的成员路由信息发送至所述网关;
所述专线接入设备还用于存储组播配置;所述组播配置包括配置的云内组播组和云内组播域;所述组播控制器,还用于将所述成员变更信息聚合成域变更信息,基于所述域变更信息更新组播配置,并将更新后的组播配置发送至所述专线接入设备。
14.根据权利要求9至13中任意一项所述的系统,其特征在于,所述网关包括组播网关和专线网关;
所述控制器将指向所述组播网关的组播路由信息发送至所述专线网关,将所述组播组中各组播成员间的成员路由信息发送至所述组播网关;
所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至所述专线网关;
所述专线网关按照所述组播路由信息,将所述云内组播域标识和所述组播流量发送至所述组播网关;
所述组播网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
15.一种组播通信装置,其特征在于,包括:
获取模块,用于获取云内组播域中目标组播成员发送的、指向云外组播源的组播流量请求;
标识提取模块,用于提取所述组播流量请求携带的云内组播域标识和组播组标识;所述组播组标识用于表示所述目标组播成员所在的组播组;
第一发送模块,用于将所述云内组播域标识发送至专线接入设备,以使所述专线接入设备在获取到所述云外组播源的组播流量的情况下,将所述组播流量封装所述云内组播域标识后发送至网关;
第二发送模块,用于将所述组播组中各组播成员间的成员路由信息发送至所述网关,以使所述网关按照所述云内组播域标识,从所述成员路由信息中查询所述组播成员中属于所述云内组播域的域内组播成员间的目标成员路由信息,将所述组播流量按照所述目标成员路由信息发送至各所述域内组播成员。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310363871.9A CN116996585A (zh) | 2023-04-06 | 2023-04-06 | 组播通信方法、装置、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310363871.9A CN116996585A (zh) | 2023-04-06 | 2023-04-06 | 组播通信方法、装置、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116996585A true CN116996585A (zh) | 2023-11-03 |
Family
ID=88527205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310363871.9A Pending CN116996585A (zh) | 2023-04-06 | 2023-04-06 | 组播通信方法、装置、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116996585A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117596284A (zh) * | 2024-01-18 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 数据传输的方法、装置、计算机设备和存储介质 |
-
2023
- 2023-04-06 CN CN202310363871.9A patent/CN116996585A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117596284A (zh) * | 2024-01-18 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 数据传输的方法、装置、计算机设备和存储介质 |
CN117596284B (zh) * | 2024-01-18 | 2024-03-29 | 腾讯科技(深圳)有限公司 | 数据传输的方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11362986B2 (en) | Resolution of domain name requests in heterogeneous network environments | |
US10701011B2 (en) | Re-routing incoming email for a multi-tenant database system | |
US8959185B2 (en) | Multitenant server for virtual networks within datacenter | |
RU2595540C9 (ru) | Базовые контроллеры для преобразования универсальных потоков | |
CN105049361B (zh) | 针对虚拟网络分组流的物理路径确定 | |
US9838333B2 (en) | Software-defined information centric network (ICN) | |
US7912055B1 (en) | Method and apparatus for configuration and analysis of network multicast routing protocols | |
JP7398466B2 (ja) | SCEF(Service Capability Exposure Function)またはNEF(Network Exposure Function)におけるPLMN(Public Land Mobile Network)ロケーションマッピングを動的にプロビジョニングおよび使用するための方法、システム、およびコンピュータ可読媒体 | |
US20190141124A1 (en) | Cloud-end data multicast method and system, and computer device | |
CN105721306A (zh) | 一种配置信息的传输方法和装置 | |
CN107547242B (zh) | Vm配置信息的获取方法及装置 | |
US10379890B1 (en) | Synchronized cache of an operational state of distributed software system | |
CN112367684B (zh) | 流量控制方法、装置、存储介质及计算机设备 | |
WO2015108106A1 (ja) | パケット転送装置、制御装置、通信システム、通信方法及びプログラム | |
CN111371664B (zh) | 一种虚拟专用网络接入方法及设备 | |
CN112134776B (zh) | 生成组播转发表项的方法和接入网关 | |
CN116996585A (zh) | 组播通信方法、装置、系统、计算机设备和存储介质 | |
CN115622938A (zh) | 算力服务处理方法、装置及系统 | |
US20210306262A1 (en) | Isolating time synchronization traffic using virtualization | |
CN116916297A (zh) | 数据包处理方法及相关产品 | |
CN115865844B (zh) | 基于sdn与ndn的虚实结合动态流量调度方法及装置 | |
US20140050116A1 (en) | Techniques for Generic Pruning in a Trill Network | |
US9853891B2 (en) | System and method for facilitating communication | |
US11196666B2 (en) | Receiver directed anonymization of identifier flows in identity enabled networks | |
CN106330708A (zh) | 一种本地dns服务的系统和方法 |
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 |