System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种公有云中虚拟实例实现云内云间组播功能的方法技术_技高网

一种公有云中虚拟实例实现云内云间组播功能的方法技术

技术编号:41328760 阅读:4 留言:0更新日期:2024-05-13 15:06
本发明专利技术公开了一种公有云中虚拟实例实现云内云间组播功能的方法,本发明专利技术主要解决公有云用户在VPC内或VPC间的虚拟实例支持组播,同时也解决用户线下IDC与云上虚拟实例之间进行组播通信的问题。支持在组播成员添加到组播组时,同时支持云上虚拟实例静态添加/离开组播组和通过IGMP协议动态添加/离开到组播组的功能,从而达到云上客户在有组播需求的业务中使用组播技术服务,为客户提供时延低,访问快,不丢包的组播服务的效果,并适用于多种领域以及直播业务服务,在数据中心计算节点上联交换机路由器无需改变的情况下,支持在虚拟网络中实现组播。

【技术实现步骤摘要】

本专利技术涉及it与软件开发,特别是一种公有云中虚拟实例实现云内云间组播功能的方法


技术介绍

1、随着网络的发展,客户的很多业务在网络上互相交互的数据类型越来越多,很多客户都有组播支持的需求,如网络会议,iptv业务,金融交易业务,证券行情业务等,同时,随着云计算的发展,很多客户之前在传统网络通过路由器支持组播技术的业务,越来越多的迁移到公有云云平台上。这对于公有云而言,支持组播技术需求来承载那些上云业务越来越迫切。

2、公有云上实现组播技术现有方案主要通过物理路由设备支持组播协议功能来满足客户组播的需求,如组播成员需要加入组播组,其上联支持组播技术的路由器通过igmp/mld协议了解虚拟实例的加组/离组、或者接收指定组播源的组播需要,路由器一跳一跳地向源方向发送组播协议报文。传播链路中的pim路由器通过组播报文建立组播源到组播成员的spt,组播源发出的组播报文就能通过spt路径转发到相关的组播成员了;

3、上述方案中主要是通过物理网络设备来实现组播功能,但其在虚拟网络和物理网络交互互通时,或者在公有云中的纯虚拟网络中支持组播功能比较受限。

4、或通过在云上vpc中部署支持组播路由的第三方应用来实现虚拟路由支持组播协议,实现组播转发功能。通过隧道打通方式将线下数据中心与云上vpc打通,接入部署第三方支持组播路由的应用,实现云下与云上组播通信的交互;

5、上述方案虽然实现了虚拟网络中组播通信以及虚拟网络与线下idc的组播通信,但其在虚拟路由中引入支持组播路由的第三方应用,因此需要支持组播功能的vpc中,每个vpc的虚拟路由中都依赖第三方应用,并且虚拟路由要求开启组播并支持pim协议,如果线下idc与云上虚拟实例进行组播通信,虚拟路由需要与数据中心支持组播的路由器通过隧道建立邻居,并验证pim邻居是否正常建立。在虚拟路由器所在的服务器上配置复杂,容易出错,并且对技术人员要求高。

6、基于此,本专利技术提出一种公有云中虚拟实例实现云内云间组播功能的方法来解决上述问题。


技术实现思路

1、本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本专利技术的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。

2、鉴于上述和/或现有的云内云间组播设计中存在的问题,提出了本专利技术。

3、因此,本专利技术其中的一个目的是提供一种公有云中虚拟实例实现云内云间组播功能的方法,其通过支持组播成员静态指定加入/离开组播组和组播成员动态加入/离开组播组两种方式满足客户的不同需求,公有云上虚拟实例支持组播功能不需要该虚拟实例所在宿主机计算节点上联物理交换机或路由设备支持组播协议,部署在计算节点上的云平台控制器组件通过截取客户虚拟实例发出的igmp协议报文并解析,发送给云平台server服务组件,将该虚拟实例作为组播成员加入/离开到相应的组播组,并携带相应的组播源地址信息,通过该方式实现组播成员动态加组和离组;而组播成员静态加组或离组则通过用户调用云平台提供的api接口实现,对于线下idc与云上虚拟实例实现组播通信,则只需要在公有云region的出口专线交换机上支持组播协议,将idc中主机发出的组播流量引入到云中,然后通过专线网关转发到组播网关,再将组播报文分发到云上的虚拟实例,且region出口的专线交换机配置信息是云平台自动下发数据进行配置的,此过程无需在虚拟路由上支持组播,进行相关的复杂配置,也无需引入第三方应用来进行组播的支持。

4、为达到上述效果,本专利技术提供如下技术方案:一种公有云中虚拟实例实现云内云间组播功能的方法,方法包括以下步骤:

5、s1:与组播相关组件网络架构拓扑,计算节点与组播网关集群互联,组播网关负责转发组播报文,组播网关集群与vgw网关集群互联,vgw将专线等发送的组播报文根据组播路由信息转发到组播网关;

6、s2:设计组播域、组播组和组播成员的对象模型,其中,在用户租户中,组播资源分为:组播域,组播组和组播成员,组播域为组播数据的传播范围;

7、s3:组播成员加入到组播域中的组播中;

8、s4:在计算节点上,平台控制器组件在租户网络截获组播成员发送出的igmp报文并解析,然后转换为组播成员加入/离开哪个组播组、订阅哪些感兴趣和不感兴趣的组播源、加入到哪个组播域的过程;

9、s5:计算节点上ovs上设计的流表pipeline来实现igmp报文的截获,平台控制器解析和处理报文,转换成一些动作并上报给平台server;

10、s6:通过截获igmp协议数据报文,并解析转换上送到控制器后,控制器对报文进行处理;

11、s7:在云平台server端根据接收的信息将组播成员添加到组播组,或者从组播组移除该组播成员;

12、s8:控制器除了处理截获的igmp报文,还会周期性的根据本地控制器cache保存的组播成员和组播组的关系周期性的给本计算节点的相关虚拟实例发送igmp member query报文;

13、s9:组播网关转发表的设计;

14、s10:将组播数据报文发送出去。

15、作为本专利技术的一种优选方案,其中:所述s1中如果组播源和组播成员都在云上,不管组播成员和组播成员在同一vpc还是不同vpc,组播源发送的组播数据报文均会被转发组播网关,然后组播网关根据云平台下发的组播组和组播成员的关系信息生成本地转发表,然后组播网关接收组播数据报文后,根据生成的本地转发表将组播数据报文转发到不同的组播成员中,通过组播网关集群的转发,将组播源发送出的组播数据报文转发到同vpc或者不同vpc的组播成员中,通过vgw网关将云外的组播流量转发到云内虚拟实例中。

16、作为本专利技术的一种优选方案,其中:所述s2中组播域分为静态组播域和动态组播域,分别表示该组播域下组播成员加入组播组的方式,所述静态组播域中,组播成员加入组播组通过云平台接口调用完成,所述动态组播域中,组播成员加入组播组时通过igmp协议完成。

17、作为本专利技术的一种优选方案,其中:所述租户、组播域、vpc、组播组及组播成员的模型限制关系为:一个租户可以创建多个组播域,每个组播域通过设置一个或多个vpc来指定组播范围,不同组播域内组播组地址可以重复,但一个vpc只能加入到一个组播域中,在一个组播域内,其可以创建多个组地址不同的组播组,一个组播组可以加入多个组播成员,组播成员添加到组播组时,在指定组播地址的同时,可以指定组播源地址订阅感兴趣的组播源以及其不感兴趣的组播源。

18、5.如权利要求4所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述s3具体过程为:

19、s301:租户首先创建组播域,再创建组播域的时指定一个或多个vpc,定义组播的范围。vpc可以在创建组播域时指定,也可以创建完组播域后,本文档来自技高网...

【技术保护点】

1.一种公有云中虚拟实例实现云内云间组播功能的方法,其特征在于,所述方法包括以下步骤:

2.如权利要求1所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述S1中如果组播源和组播成员都在云上,不管组播成员和组播成员在同一VPC还是不同VPC,组播源发送的组播数据报文均会被转发组播网关,然后组播网关根据云平台下发的组播组和组播成员的关系信息生成本地转发表,然后组播网关接收组播数据报文后,根据生成的本地转发表将组播数据报文转发到不同的组播成员中,通过组播网关集群的转发,将组播源发送出的组播数据报文转发到同VPC或者不同VPC的组播成员中,通过VGW网关将云外的组播流量转发到云内虚拟实例中。

3.如权利要求2所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述S2中组播域分为静态组播域和动态组播域,分别表示该组播域下组播成员加入组播组的方式,所述静态组播域中,组播成员加入组播组通过云平台接口调用完成,所述动态组播域中,组播成员加入组播组时通过IGMP协议完成。

4.如权利要求3所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述租户、组播域、VPC、组播组及组播成员的模型限制关系为:一个租户可以创建多个组播域,每个组播域通过设置一个或多个VPC来指定组播范围,不同组播域内组播组地址可以重复,但一个VPC只能加入到一个组播域中,在一个组播域内,其可以创建多个组地址不同的组播组,一个组播组可以加入多个组播成员,组播成员添加到组播组时,在指定组播地址的同时,可以指定组播源地址订阅感兴趣的组播源以及其不感兴趣的组播源。

5.如权利要求4所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述S3具体过程为:

6.如权利要求5所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述S5中的流表程序具体为:

7.如权利要求6所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述控制器通过解析虚拟实例的IGMP Membership Report消息来获取虚拟实例的加组/离组信息,或者发送IGMP Membership Query来查询虚拟实例所在组播组的信息,包括其接收指定组播源的组播报文信息,并将组播成员和组播组的关系信息保存到本地控制器的Cache中,然后将该信息转换为向云平台发送加组/离组的消息,然后将消息转换为请求上报给云平台Server的组播成员对象。

8.如权利要求7所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述消息结构具体表示为:

9.如权利要求8所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述上报给云平台Server的请求参数中的组播成员对象参数具体表示为:

10.如权利要求9所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述中在组播网关设计的组播转发表记录的属性包括:Vni、GroupIp、Mask、SourceIp、RemoteVni、HostIp、VmIp、OverlayDmac、ExCount和ExcludeSip,各属性具体含义为:Vni为组播源所在VPC的Vni,GroupIp和Mask为组播报文的组播组地址,SourceIp为组播成员订阅的组播源地址,RemoteVni,HostIp,VmIp,OverlayDmac分别为加入组播组地址的组播成员所在VPC的vni,宿主机Ip,组播成员Ip,以及组播成员的mac地址,ExcludeSip为组播成员不订阅的组播源的地址列表,ExCount为组播成员不订阅组播源地址列表的个数,所述S10具体为:计算节点上控制器和VGW网关都会从云平台Server服务中获取VPC的组播路由,对组播报文进行转发,对于云下IDC与云上组播成员进行组播通信,云平台Server在收到组播成员加/离组信息后,还会自动对本Region的边界组播交换机或路由器下发相关配置信息,通过PIM-SM协议与云下IDC的组播路由器通信交互,将组播流量引入到云内。

...

【技术特征摘要】

1.一种公有云中虚拟实例实现云内云间组播功能的方法,其特征在于,所述方法包括以下步骤:

2.如权利要求1所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述s1中如果组播源和组播成员都在云上,不管组播成员和组播成员在同一vpc还是不同vpc,组播源发送的组播数据报文均会被转发组播网关,然后组播网关根据云平台下发的组播组和组播成员的关系信息生成本地转发表,然后组播网关接收组播数据报文后,根据生成的本地转发表将组播数据报文转发到不同的组播成员中,通过组播网关集群的转发,将组播源发送出的组播数据报文转发到同vpc或者不同vpc的组播成员中,通过vgw网关将云外的组播流量转发到云内虚拟实例中。

3.如权利要求2所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述s2中组播域分为静态组播域和动态组播域,分别表示该组播域下组播成员加入组播组的方式,所述静态组播域中,组播成员加入组播组通过云平台接口调用完成,所述动态组播域中,组播成员加入组播组时通过igmp协议完成。

4.如权利要求3所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述租户、组播域、vpc、组播组及组播成员的模型限制关系为:一个租户可以创建多个组播域,每个组播域通过设置一个或多个vpc来指定组播范围,不同组播域内组播组地址可以重复,但一个vpc只能加入到一个组播域中,在一个组播域内,其可以创建多个组地址不同的组播组,一个组播组可以加入多个组播成员,组播成员添加到组播组时,在指定组播地址的同时,可以指定组播源地址订阅感兴趣的组播源以及其不感兴趣的组播源。

5.如权利要求4所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述s3具体过程为:

6.如权利要求5所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述s5中的流表程序具体为:

7.如权利要求6所述的公有云中虚拟实例实现云内云间组播功能的方法,其特征在于:所述控制...

【专利技术属性】
技术研发人员:郭云铃芦正帅廖上榜蓝中文葛淼龙
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1