CN115426323A - 网络系统、组播流量传输方法及设备 - Google Patents

网络系统、组播流量传输方法及设备 Download PDF

Info

Publication number
CN115426323A
CN115426323A CN202211015063.5A CN202211015063A CN115426323A CN 115426323 A CN115426323 A CN 115426323A CN 202211015063 A CN202211015063 A CN 202211015063A CN 115426323 A CN115426323 A CN 115426323A
Authority
CN
China
Prior art keywords
multicast
virtual machine
message
identifier
machine
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.)
Granted
Application number
CN202211015063.5A
Other languages
English (en)
Other versions
CN115426323B (zh
Inventor
李亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202211015063.5A priority Critical patent/CN115426323B/zh
Publication of CN115426323A publication Critical patent/CN115426323A/zh
Application granted granted Critical
Publication of CN115426323B publication Critical patent/CN115426323B/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
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

本申请实施例提供一种网络系统、组播流量传输方法及设备。在本申请实施例中,物理机统一将组播应用报文发送给网关设备,不需要有虚拟云网络内全局的物理机和虚拟机的信息,减少了对云网络管控面的压力;同时网关设备基于组播转发表确定需要接收组播应用报文的目的物理机;目标物理机中的虚拟交换机基于组播成员侦听表,确定需要接收组播应用报文的目的虚拟机,实现了组播应用报文只发送给对应的目的虚拟机,有助于减少不必要的物理网络资源的开销,进而有助于提高虚拟云网络中组播流量的传输性能。

Description

网络系统、组播流量传输方法及设备
技术领域
本申请涉及云计算技术领域,尤其涉及一种网络系统、组播流量传输方法及设备。
背景技术
在物理网络中,物理机的组播通信是一种常见的通信方式。组播通信在音视频和数据传输方面都有广泛的应用。组播通信在节省网络带宽,减少发送成本等方面,有着很大的优势。
在虚拟云网络中,组播源虚拟机和组播目的虚拟机可能在不同的物理网络上,跨越物理网络的二层和三层网络架构,并且由于云网络的高复杂性和大规模性,需要把虚拟云网络的组播报文,高效地从组播源虚拟机传输到组播目的虚拟机,以避免对物理网络造成拥塞。因此,如何提高虚拟云网络中组播流量的传输性能为虚拟云网络中亟待解决的技术问题。
发明内容
本申请的多个方面提供一种网络系统、组播流量传输方法及设备,用以提高虚拟云网络中组播流量的传输性能。
本申请实施例提供一种网络系统,包括:多台物理机和网关设备;每台物理机部署有虚拟机和虚拟交换机;所述多台物理机和网关设备之间通过虚拟云网络通信连接;
所述虚拟机中作为组播源的源虚拟机,用于:发送组播应用报文;所述源虚拟机所在物理机上的第一虚拟交换机,用于将所述组播应用报文发送给所述网关设备;
所述网关设备,用于利用所述组播应用报文携带的组播源的组播组标识及订阅所述组播组标识对应的组播组的用户标识,查询组播转发表,以确定接收所述组播应用报文的目的物理机;并将所述组播应用报文发送给所述目的物理机;
所述目的物理机中的第二虚拟交换机,用于根据所述组播源对应的组播组标识及订阅组播组标识对应的组播组的用户标识,查询组播成员侦听表,以确定订阅所述组播组的目的虚拟机;将所述组播应用报文发送给目的虚拟机。
本申请实施例还提供一种组播流量传输方法,适用于网关设备,包括:
获取作为组播源的源虚拟机发送的组播应用报文;
根据所述组播应用报文携带的组播源的组播组标识及订阅所述组播组标识对应组播组的用户标识,查询组播转发表,以确定接收所述组播应用报文的目的物理机;
将所述组播应用报文发送给所述目的物理机,以供所述目的物理机将所述组播应用报文提供给订阅所述组播组的目的虚拟机。
本申请实施例还提供一种组播流量传输方法,适用于目的物理机,包括:
获取网关设备转发的源虚拟机提供的组播应用报文;所述源虚拟机为作为组播源的虚拟机;
根据所述组播应用报文携带的组播源对应的组播组标识及订阅所述组播组标识对应组播组的用户标识,查询组播成员侦听表,以确定订阅所述组播组的目的虚拟机;
将所述组播应用报文提供给目的虚拟机。
本申请实施例还提供一种电子设备,包括:存储器、处理器和通信组件;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述各组播流量传输方法中的步骤。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述各组播流量传输方法中的步骤。
在本申请实施例中,为了提高虚拟云网络中组播流量的传输性能,物理机统一将组播应用报文发送给网关设备,不需要有虚拟云网络内全局的物理机和虚拟机的信息,减少了对云网络管控面的压力;同时网关设备基于组播转发表确定需要接收组播应用报文的目的物理机;目标物理机中的虚拟交换机基于组播成员侦听表,确定需要接收组播应用报文的目的虚拟机,实现了组播应用报文只发送给对应的目的虚拟机,有助于减少不必要的物理网络资源的开销,进而有助于提高虚拟云网络中组播流量的传输性能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1和图2为传统方案的网络系统的结构示意图;
图3为本申请实施例提供的网络系统的结构示意图及网络系统对组播协议报文的处理过程示意图;
图4和图5a为本申请实施例提供的网络系统进行组播流量传输的过程示意图;
图5b为本申请实施例提供的网络系统在直播场景下网络系统进行组播流量传输的过程示意图;
图6为本申请实施例提供的网关设备对组播转发表的动态维护过程示意图;
图7和图8为本申请实施例提供的组播流量传输方法的流程示意图;
图9为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一些传统网络虚拟化网络传输方案中,在传输虚拟网络内组播报文时,经常采用源端复制和两级报文复制等两种方式。图1和图2为传统方案的网络系统的结构示意图。如图1和图2所示,传统方案的网络系统包括:多台物理机(NC)10。多台是指2台或2台以上。每台物理机10部署于至少一台虚拟机(Virtual Machine,VM)。多台物理机10通过虚拟云网络通信连接。虚拟云网络可为虚拟私有云(VPC)网络等。物理机10即为该物理机10上部署的虚拟机的宿主机。
基于图1和图2所示的网络系统,如图1所示,上述源端复制是指:组播报文由发送源虚拟机所在宿主机(如图1中NC1)复制组播报文,并把复制出的组播报文封装为单播的vxlan报文,发送给虚拟云网络(如VPC)内的所有宿主机。
如图2所示,两级报文复制是指:发送源虚拟机所在宿主机(如图2中NC1)将组播报文封装为单播vxlan报文,并按照本二层网络中宿主机的数量,复制单播vxlan报文,并将复制后的单播vxlan报文发送给本二层网络中的其它宿主机(如图2中NC2)。对于其它三层网络中的宿主机,源虚拟机所在宿主机(NC1)将单播vxlan报文发送给其他三层网络中的某一台物理机(如图2中NC3),各三层网络中的收到组播报文的宿主机(如图2中NC3),分别在本二层网络中复制单播vxlan报文,并把复制的单播vxlan报文发送给本二层网络内的所有宿主机(如图2中NC4)。之后,物理机NC4把单播vxlan报文提供给,物理机NC4所部署的目的虚拟机(如图2中的VM7)。
上述两种组播传输方式,依赖源虚拟机所在宿主机拥有本虚拟云网络内的所有宿主机的信息。这种实现方式,在虚拟云网络中虚拟机规模变大的时候,会给虚拟云网络的管控带来很大的压力。因为虚拟云网络需要维护该网络内所有宿主机上的VM变动情况,并和源虚拟机所在宿主机同步所有宿主机信息,使得管控信息同步压力变大,物理网络上负责管控的流量也会变大,所以这种方式在虚拟机数量较大时,会影响组播流量的网络传输性能。
针对上述虚拟云网络中组播流量传输性能较低的技术问题,在本申请一些实施例中,为了提高虚拟云网络中组播流量的传输性能,物理机统一将组播应用报文发送给网关设备,不需要有虚拟云网络内全局的物理机和虚拟机的信息,减少了对云网络管控面的压力;同时网关设备基于组播转发表确定需要接收组播应用报文的目的物理机;目标物理机中的虚拟交换机基于组播成员侦听表,确定需要接收组播应用报文的目的虚拟机,实现了组播应用报文只发送给对应的目的虚拟机,有助于减少不必要的物理网络资源的开销,进而有助于提高虚拟云网络中组播流量的传输性能。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图3为本申请实施例提供的网络系统的结构示意图。如图3所示,该网络系统包括:多台物理机10和网关设备20。在本申请实施例中,多台是指2台或2台以上。每台物理机10部署有虚拟交换机101和虚拟机102。其中,每台物理机10部署的虚拟机102为1台或多台。
多台物理机10与网关设备20之间通过虚拟云网络通信连接。虚拟云网络可为VPC网络等。网关设备20是多个网络间提供数据转换服务的计算机系统或设备。在本实施例中,网关设备20可为组播网关。
在本实施例中,为了提高虚拟云网络中组播流量的传输性能,对物理机10和网关设备20对组播报文的处理过程进行了改进,下面结合图3示出的网络系统进行示例性说明。
如图3所示,对于任一虚拟机102在请求加入组播组时,可发送组播成员报告(report)报文。组播成员报告报文可为网际组管理协议(Internet Group ManagementProtocol,IGMP)报告(report)报文。该组播成员报告报文携带有发送该报文的虚拟机的标识、虚拟机102请求加入的组播组的标识及虚拟机102所属用户标识。
其中,虚拟机的标识是指可唯一标识一台虚拟机的信息,可为虚拟机102的网际协议(Internet Protocol,IP)地址等。虚拟机102请求加入的组播组的标识是指唯一标识一个组播组的信息,可为组播组的IP地址。相应地,虚拟机102所属用户标识是指唯一标识一个用户或租户的信息。在虚拟云网络中,虚拟机102所属用户标识可以虚拟网段标识(VXLANNetwork Identifier,VNI)进行表示。一个VNI代表了一个租户,属于不同VNI的虚拟机之间不能直接进行二层通信。多个终端用户可属于同一个VNI,也表示一个租户。
虚拟机102请求加入的组播组可由该虚拟机102所属的用户决定。虚拟机102所属的用户可通过上层应用指定虚拟机102请求加入的组播组。虚拟机102可响应于组播组请求,确定需要请求加入组播组;并按照IGMP协议,将该虚拟机的标识、虚拟机102请求加入的组播组的标识及虚拟机102所属用户标识封装为组播成员报告报文,并向外发送组播成员报告报文。
每台虚拟机102请求加入组播组的处理过程相同或相似。下面以请求加入组播组的虚拟机102为图3中VM1为例进行示例性说明。
如图3所示,在VM1请求加入组播组时,向外发送携带有VM1的标识、VM1请求加入的组播组的标识(如组播组的IP地址等)及VM1所属用户标识(如VNI等)的组播成员报告报文。
VM1所在物理机NC1上的虚拟交换机101,可根据该组播成员报告报文携带的VM1的标识、VM1请求加入的组播组的标识及VM1所属用户标识,建立组播成员侦听表,如IGMP侦听表(IGMP Snooping table)。具体地,VM1所在物理机NC1上的虚拟交换机,可将VM1的标识、VM1请求加入的组播组的标识及VM1所属用户标识,写入设定格式的组播成员侦听表。其中,组播成员侦听表的格式可如下表1所示:
表1组播成员侦听表
VNI 组播组IP地址 组播成员的IP地址
VM1的VNI VM1请求加入的组播组的IP地址 VM1的IP地址
其中,表1中VM所属用户标识仅以VM的VNI进行示例,VM请求加入的组播组的标识仅以组播组的IP地址进行示例,组播成员的标识仅以VM的IP地址进行示例,但不构成限定。
基于组播成员侦听表,在实际组播应用报文传输过程中,虚拟交换机101可确定订阅组播应用报文携带的组播组的组播成员,即确定接收组播应用报文的目的虚拟机。关于基于组播成员侦听表对实际应用中的组播应用报文的处理过程,将在下文中进行详细描述,在此暂不赘述。
VM1所在物理机NC1上的虚拟交换机101在建立组播成员侦听表之后,可将组播成员报告报文发送给网关设备20。在本申请实施例中,不限定虚拟交换机101将组播成员报告报文发送给网关设备20的具体实现形式。
在一些实施例中,由于虚拟交换机101与网关设备20之间为一对一传输,因此,VM1所在物理机NC1上的虚拟交换机101可将组播成员报告报文封装为单播报文;并将封装有组播成员报告报文的单播报文发送给网关设备20,实现了组播报文在物理网络的单播传输,不依赖物理网络的物理资源和设备。
可选地,VM1所在物理机NC1上的虚拟交换机101,可根据虚拟云网络遵循的网络协议,将组播成员报告报文封装为单播报文。例如,虚拟云网络为基于vxlan技术的VPC网络,则VM1所在物理机NC1上的虚拟交换机101,可按照vxlan网络协议,将组播成员报告报文封装为vxlan单播报文。进一步,虚拟交换机101可将封装有组播成员报告报文的vxlan单播报文发送给网关设备20。该方式基于vxlan的隧道技术实现了组播报文在物理网络的单播传输,不依赖物理网络的物理资源和设备。
相应地,网关设备20可获取组播成员报告报文携带的虚拟机VM1所属用户标识、虚拟机VM1所在物理机NC1的标识及虚拟机VM1请求加入的组播组标识。针对上述VM1所在物理机NC1上的虚拟交换机101将封装有组播成员报告报文的单播报文发送给网关设备20的实施例,网关设备20可接收单播报文,并从单播报文中解析出组播成员报告报文,之后,对组播成员报告报文进行解析,以得到虚拟机VM1所属用户标识、虚拟机VM1所在物理机NC1的标识及虚拟机VM1请求加入的组播组标识。
进一步,网关设备20可根据虚拟机VM1所属用户标识、虚拟机VM1所在物理机NC1的标识及虚拟机VM1请求加入的组播组标识,建立组播转发表。具体地,网关设备20,可将组播成员报告报文携带的虚拟机VM1所属用户标识、虚拟机VM1所在物理机NC1的标识及虚拟机VM1请求加入的组播组标识,写入设定格式的组播转发表。其中,组播转发表的格式可如下表2所示:
表2组播转发表
Figure BDA0003812199810000051
其中,表2中仅以虚拟机VM1所属用户标识为VM1的VNI、虚拟机VM1所在物理机NC1的标识为VM1所在物理机NC1的IP地址,及虚拟机VM1请求加入的组播组标识为VM1请求加入的组播组的IP地址示出,但不构成限定。
网关设备20在建立组播转发表之后,可具备组播报文的转发和处理能力。下面对物理机10和网关设备20基于上述创建完成的组播成员侦听表和组播转发表,对实际应用中的组播应用报文的传输过程进行示例性说明。
其中,组播应用报文是指实际使用过程中携带有应用数据的组播报文。例如,在直播领域,组播应用报文是指携带有直播数据的组播报文。又例如,在线购物领域,组播应用报文是指携带有商品数据的组播报文等等。
在本申请实施例中,如图4和图5a所示,作为组播源的源虚拟机可发送组播应用报文,接收组播应用报文的虚拟机为订阅该组播源的目的虚拟机。例如,在直播领域,作为组播源的虚拟机可为主播的虚拟机,目的虚拟机可为观看主播直播的观众的虚拟机。又例如,在线购物领域,作为组播源的虚拟机,可为在线购物服务平台的虚拟机,目的虚拟机可为订阅在线购物平台提供的服务的用户的虚拟机等等。图4和图5a中仅以作为组播源的源虚拟机为编号为虚拟机VM3为例进行图示,但不构成限定。
如图4和图5a所示,作为组播源的源虚拟机VM3可发送组播应用报文。该组播应用报文可遵循IGMP协议。该组播应用报文可携带组播源对应的组播组标识(如组播组的IP地址等)及订阅该组播组的用户标识(如订阅该组播组的虚拟机对应的VNI等)。对于源虚拟机VM3来说,预先配置有组播源对应的组播组标识及订阅该组播组的用户标识。例如,在直播领域,作为组播源的主播的虚拟机预先配置有直播对应的组播组标识,及订阅直播的观众标识。
源虚拟机VM3所在物理机NC2上的虚拟交换机101可获取该组播应用报文,并将组播应用报文发送给网关设备20。
在一些实施例中,如图5a所示,源虚拟机VM3所在物理机NC2上的虚拟交换机101可将组播应用报文封装为单播报文。可选地,虚拟交换机101可按照虚拟云网络遵循的网络协议,将组播应用报文封装为遵循虚拟云网络遵循的网络协议的单播报文。例如,虚拟云网络遵循的网络协议为vxlan协议,源虚拟机VM3所在物理机NC2上的虚拟交换机101,可按照vxlan协议将组播应用报文封装为vxlan单播报文等。
进一步,源虚拟机VM3所在物理机NC2上的虚拟交换机101,可将封装有组播应用报文的单播报文发送给网关设备20,实现将组播应用报文发送给网关设备20。
相应地,网关设备20可获取组播应用报文携带的组播源的组播组标识及订阅该组播源的用户标识。针对上述源虚拟机VM3所在物理机NC2上的虚拟交换机101,将封装有组播应用报文的单播报文发送给网关设备20的实施例,网关设备20可从单播报文中,解析出组播应用报文;并从组播应用报文中,解析出组播应用报文携带的组播源的组播组标识及订阅该组播组标识对应的组播组的用户标识。
进一步,网关设备20可利用利用组播应用报文携带的组播源的组播组标识及订阅组播组标识对应的组播组的用户标识,查询组播转发表,以确定接收该组播应用报文的目的物理机。其中,目的物理机的数量可为1个或多个。多个是指2个或2个以上。目的物理机的数量,具体由实际订阅组播源标识对应的组播组的虚拟机所在的物理机的数量决定。例如图4中目的物理机为1个;图5a中目的物理机为2个。
进一步,如图4和图5a所示,网关设备20可将组播应用报文发送给目的物理机。对于目的物理机的数量为多台的情况,网关设备20可根据目的物理机的数量,复制相应数量的组播应用报文,以得到多个组播应用报文;并将多个组播应用报文分别发送给多台目的物理机。组播应用报文的数量与目的物理机的数量相同。例如,如图5a所示,目的物理机为NC3和NC4两台物理机,网关设备20可根据复制2个组播应用报文,并将2个组播应用报文分别发送给目的物理机NC3和NC4。
在一些实施例中,为了提高组播应用报文的网络传输性能,网关设备20还可将组播应用报文封装为单播报文;并将携带有组播应用报文的单播报文发送给目的物理机,以将组播应用报文发送给目的物理机,实现组播应用报文在物理网络中的单播传输,降低对物理网络的组播资源和设备的依赖。
对于目的物理机为多台的实施例,网关设备20可将复制得到的多个组播应用报文,封装为多个单播报文;并将携带有组播应用报文的多个单播报文发送给多台目的物理机。单播报文的数量与目的物理机的数量相同。其中,关于网关设备20将组播应用报文封装为单播报文的具体实现形式,可参见上述源虚拟机VM3所在物理机NC2上的虚拟交换机101,将封装有组播应用报文的单播报文的相关内容,在此不再赘述。
相应地,如图4和图5a所示,目的物理机(如图4中的NC3和图5a中的NC3和NC4)中的虚拟交换机101可获取组播应用报文,并获取组播应用报文携带到组播源对应的组播组标识(如组播源的IP地址)及订阅该组播源的用户标识(如VNI等)。
可选地,如图5a所示,对于目的物理机NC3和NC4,接收到的是封装有组播应用报文的单播报文的实施例,目的物理机上的虚拟交换机101(如图5a中的物理机NC3和NC4),可从单播报文中,解析出组播应用报文;并从组播应用报文中解析出组播应用报文携带的组播源对应的组播组标识(如组播源的IP地址)及订阅该组播源的用户标识(如VNI等)。
在获取组播应用报文携带的组播源对应的组播组标识(如组播源的IP地址)及订阅该组播组标识对应的组播组的用户标识(如VNI等)之后,如图4和图5a所示,目的物理机中的虚拟交换机,可根据组播应用报文携带的组播源对应的组播组标识(如组播源的IP地址)及订阅该组播组标识对应的组播组的用户标识(如VNI等),查询组播成员侦听表,以确定订阅该组播组的目的虚拟机。例如,基于上述表1示出的组播成员侦听表,可利用组播应用报文携带的组播源的IP地址及订阅该组播源的用户的VNI,查询组播成员侦听表,以得到订阅该组播组标识对应的组播组的组播成员(即目的虚拟机)的IP地址。其中,图4中目的虚拟机为VM5和VM6。图5a中目的物理机NC3中的目的虚拟机为VM5和VM6;目的物理机NC4中的目标物理机为VM7。
进一步,如图4和图5a所示,目的物理机中的虚拟交换机可将组播应用报文发送给目的虚拟机,实现组播应用报文在网络系统中的传输。
每台目的物理机中接收组播应用报文的目的虚拟机的数量,可为1个或多个。多个是指2个或2个以上。每台目的物理机中接收组播应用报文的目的虚拟机的数量,具体由实际订阅组播源标识对应组播组的虚拟机决定。
对于目的物理机中接收组播应用报文的目的虚拟机的数量为多个的实施例,则目的物理机中的虚拟交换机可根据该目的物理机上目的虚拟机的数量,复制相应数量的组播应用报文,以得到多个组播应用报文。该处组播应用报文的数量与该目的物理机中目的虚拟机的数量相同。进一步,目的物理机中的虚拟交换机可将复制出的多个组播应用报文转发给多个目的虚拟机。
该实施方式相较于一些公有云网络系统进行组播传输的方案,采用目的物理机中的虚拟交换机实现组播应用报文的本地复制,分散了网关设备20的组播应用报文的复制和分发负载,节省了物理网络带宽,有助于提高组播流量的传输性能。其中,公有云网络系统进行组播传输时,采用单独的组播网关复制组播报文,分别发送给该组播组内的所有组播成员,即该组播组内所有虚拟机。这就要求组播网关复制组播报文的数量为组播组内所有组播成员数量,无疑增加了组播网关负载,给组播网关的性能带来了一定压力,影响组播流量的传输性能。另一方面,由于组播网关维护的组播成员是静态配置的,也会由于静态配置更新不及时,导致组播网关复制组播报文冗余量较大,增加组播网关负载,影响组播流量的传输性能。
而本申请实施例中,网关设备20仅需复制与目的物理机的数量相等的组播应用报文,而无需复制组播组内组播成员数量相等的组播应用报文,降低了网关设备20复制组播应用报文的数量,有助于降低网关设备20的负载,有助于提高组播流量的传输性能。另一方面,网关设备20维护的组播转发表是:响应于虚拟机请求加入组播组的组播成员报告报文,动态更新的,因此,网关设备20确定出的目的物理机是动态更新的,可降低网关设备20复制组播应用报文的冗余量,有助于提高组播流量的传输性能。
在目的物理机中目的虚拟机为多个的情况下,的物理机中的虚拟交换机可将复制出的多个组播应用报文转发给多个目的虚拟机。
如图5a所示,目的物理机NC3中目的虚拟机为VM5和VM6两个虚拟机,则目的物理机NC4中的虚拟交换机101可复制出2个组播应用报文,并将这2个组播应用报文分别发送给目的虚拟机VM5和VM6,实现组播应用报文的传输。目的虚拟机VM5和VM6接收组播应用报文,并对组播应用报文进行响应。例如,在直播领域,目的虚拟机VM5和VM6接收携带有直播数据的组播应用报文,可获取直播数据并播放直播数据等。
在本申请实施例提供的网络系统中,物理机统一将组播应用报文发送给网关设备,不需要有虚拟云网络内全局的物理机和虚拟机的信息,减少了对云网络管控面的压力;同时网关设备基于组播转发表确定需要接收组播应用报文的目的物理机;目标物理机中的虚拟交换机基于组播成员侦听表,确定需要接收组播应用报文的目的虚拟机,实现了组播应用报文只发送给对应的目的虚拟机,有助于减少不必要的物理网络资源的开销,进而有助于提高虚拟云网络中组播流量的传输性能。
为了便于理解上述网络系统进行组播流量传输的具体过程,下面以直播场景为例进行示例性说明。
如图5b所示,在直播场景中,作为组播源的源虚拟机VM3为主播的虚拟机,目的虚拟机可为观看主播直播的观众的虚拟机。在图5b中,直播设备可通过主播的虚拟机VM3向目的虚拟机VM5、VM6和VM7传输组播应用报文。该组播应用报文携带有直播数据。其中,关于源虚拟机VM3发送组播应用报文,网关设备20对组播应用报文的转发过程,以及目的物理机NC3和NC4对组播应用报文的处理过程,可参见上述实施例的相关内容,在此不再赘述。对于目的虚拟机VM5、VM6和VM7接收携带有直播数据的组播应用报文,可获取直播数据并将直播数据提供给对应的展示设备(如图5b中的手机等),由展示设备播放直播数据等。
在实际应用中,虚拟机订阅组播组是动态变化的,物理机上的虚拟机也是动态变化的。例如,虚拟机VM1从物理机NC1迁移至物理机NC2,或者,虚拟机取消对某组播组的订阅等。这些动态变化为虚拟云网络的原生能力。虚拟机的动态变化和虚拟机订阅组播组的动态变化,会导致网关设备20维护的组播转发表失效。例如,虚拟机VM1从物理机NC1迁移至物理机NC2上,导致VM1所在物理机发生变化。又例如,虚拟机VM1取消对组播组的订阅,导致组播组标识发生变化。
上述网关设备20维护的组播转发表失效,若网关设备20不及时更新组播转发表,则会导致后续组播应用报文转发失败。基于此,在本申请实施例中,增加网关设备20对组播转发表的维护能力。下面对网关设备20对组播转发表的维护过程进行示例性说明。
如图6所示,网关设备20可向组播转发表记录的物理机发送组播成员查询(Query)报文,如IGMP查询(Query)报文等。该组播成员查询报文携带有组播转发表记录的用户标识(如VNI等)和组播组标识(如组播组IP地址)。其中,图6中以组播转发表记录的物理机为物理机NC1进行图示,但不构成限定。可选地,网关设备20可按照设定的查询周期,周期性地向组播转发表记录的物理机发送组播成员查询报文。每个查询周期发送的组播成员查询报文携带有该查询周期的组播转发表记录的用户标识(如VNI等)和组播组标识(如组播组IP地址)。
可选地,网关设备20可将组播成员查询报文封装为单播报文,并将封装有组播成员查询报文的单播报文发送给组播转发表记录的物理机NC1。
进一步,接收到组播成员查询报文的物理机NC1中的虚拟交换机101,可利用组播成员查询报文携带的用户标识和组播组标识,查询物理机NC1存储的组播成员侦听表;若在组播成员侦听表中查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,物理机NC1中的虚拟交换机101向网关设备返回针对组播成员查询报文的组播成员报告报文。对于网关设备20可基于该组播成员报告报文,继续维护组播转发表记录的物理机NC1的标识。即若网关设备20接收到针对组播成员查询报文的组播成员报告报文,则继续保留维护组播转发表记录的物理机NC1的标识。
相应地,若物理机NC1中的虚拟交换机101,在组播成员侦听表中未查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,则物理机NC1中的虚拟交换机101将组播成员查询报文提供给物理机NC1上的虚拟机(如图6中的VM1和VM2)。
若物理机NC1中存在订阅有组播成员查询报文携带的组播组标识对应的组播组的虚拟机,则订阅有组播成员查询报文携带的组播组标识对应的组播组的虚拟机,回复针对组播成员查询报文的组播成员报告报文。例如,图6中物理机NC1上的虚拟机VM1订阅有组播成员查询报文携带的组播组标识对应的组播组,则虚拟机VM1回复针对组播成员查询报文的组播成员报告报文。
物理机NC1中的虚拟交换机101可将虚拟机VM1回复的针对组播成员查询报文的组播成员报告报文,封装为单播报文;并将封装有针对组播成员查询报文的组播成员报告报文提供给网关设备20。网关设备20可基于虚拟机VM1回复的组播成员报告报文,继续维护组播转发表记录的物理机NC1的标识。
相应地,若网关设备20在设定时长内未接收到针对组播成员查询报文的组播成员报告报文,则从组播转发表中删除组播转发表记录的物理机NC1的标识,实现对云网络环境中组播转发表的动态维护,为虚拟机提供了更为原生的组播通信支持。
除了上述网络系统之外,本申请实施例还提供组播流量传输方法,下面分别从网关设备和物理机的角度对本申请实施例提供的组播流量传输方法进行示例性说明。
图7为本申请实施例提供的组播流量传输方法的流程示意图。该组播流量传输方法可适应于网关设备。如图7所示,该组播流量传输方法主要包括:
701、获取作为组播源的源虚拟机发送的组播应用报文。
702、根据组播应用报文携带的组播源的组播组标识及订阅组播组标识对应组播组的用户标识,查询组播转发表,以确定接收组播应用报文的目的物理机。
703、将组播应用报文发送给目的物理机,以供目的物理机将组播应用报文提供给订阅组播组的目的虚拟机。
图8为本申请实施例提供的另一组播流量传输方法的流程示意图。该组播流量传输方法可适应于接收上述组播应用报文的目的物理机。如图8所示,该组播流量传输方法主要包括:
801、获取网关设备转发的源虚拟机提供的组播应用报文;源虚拟机为作为组播源的虚拟机。
802、根据组播应用报文携带的组播源对应的组播组标识及订阅该组播组标识对应组播组的用户标识,查询组播成员侦听表,以确定订阅该组播组的目的虚拟机。
803、将组播应用报文提供给目的虚拟机。
对于目的虚拟机在请求加入组播组时,可发送组播成员报告(report)报文。组播成员报告报文可为IGMP报告(report)报文。该组播成员报告报文携带有目的虚拟机的标识、目的虚拟机请求加入的组播组的标识及目的虚拟机所属用户标识。关于目的虚拟机的标识、目的虚拟机请求加入的组播组的标识及目的虚拟机所属用户标识的描述,可参见上述网络系统实施例的相关内容,在此不再赘述。
相应地,可获取目的虚拟机在请求加入组播组时发送的组播成员报告报文;并根据该组播成员报告报文携带的目的虚拟机的标识、目的虚拟机请求加入的组播组的标识及目的虚拟机所属用户标识,建立组播成员侦听表。
基于组播成员侦听表,在实际组播应用报文传输过程中,目的虚拟机所在的目的物理机可确定订阅组播应用报文携带的组播组的组播成员,即确定接收组播应用报文的目的虚拟机。关于基于组播成员侦听表对实际应用中的组播应用报文的处理过程,将在下文中进行详细描述,在此暂不赘述。
进一步,在建立组播成员侦听表之后,可将组播成员报告报文发送给网关设备。在本申请实施例中,不限定将组播成员报告报文发送给网关设备的具体实现形式。
在一些实施例中,由于目的物理机与网关设备之间为一对一传输,因此,可将组播成员报告报文封装为单播报文;并将封装有组播成员报告报文的单播报文发送给网关设备,实现了组播报文在物理网络的单播传输,不依赖物理网络的物理资源和设备。关于将组播成员报告报文封装为单播报文的具体实施方式,可参见上述系统实施例的相关内容,在此不再赘述。
相应地,网关设备可获取组播成员报告报文携带的目的虚拟机所属用户标识、目的虚拟机所在目的物理机的标识及目的虚拟机请求加入的组播组标识。针对上述目的物理机将封装有组播成员报告报文的单播报文发送给网关设备的实施例,网关设备可接收单播报文,并从单播报文中解析出组播成员报告报文,之后,对组播成员报告报文进行解析,以得到目的虚拟机所属用户标识、目的虚拟机所在目的物理机的标识及目的虚拟机请求加入的组播组标识。
进一步,网关设备可根据目的虚拟机所属用户标识、目的虚拟机所在目的物理机的标识及目的虚拟机请求加入的组播组标识,建立组播转发表。
网关设备在建立组播转发表之后,可具备组播报文的转发和处理能力。下面对物理机和网关设备基于上述创建完成的组播成员侦听表和组播转发表,对实际应用中的组播应用报文的传输过程进行示例性说明。
在本申请实施例中,作为组播源的源虚拟机可发送组播应用报文,接收组播应用报文的虚拟机为订阅该组播源的目的虚拟机。源虚拟机所在物理机可获取该组播应用报文,并将组播应用报文发送给网关设备。
在一些实施例中,源虚拟机所在物理机1可将组播应用报文封装为单播报文。可选地,可按照虚拟云网络遵循的网络协议,将组播应用报文封装为遵循虚拟云网络遵循的网络协议的单播报文。进一步,源虚拟机所在物理机可将封装有组播应用报文的单播报文发送给网关设备,实现将组播应用报文发送给网关设备。
相应地,对于网关设备,在步骤701中,可获取作用组播源的源虚拟机发送的组播应用报文。可选地,针对上述源虚拟机所在物理机将封装有组播应用报文的单播报文发送给网关设备的实施例,网关设备接收封装有组播应用报文的单播报文,并可从单播报文中,解析出组播应用报文;并从组播应用报文中,解析出组播应用报文携带的组播源的组播组标识及订阅该组播组标识对应的组播组的用户标识。
进一步,在步骤702中,可根据获取组播应用报文携带的组播源的组播组标识及订阅该组播源的用户标识,查询组播转发表,以确定接收该组播应用报文的目的物理机。其中,目的物理机的数量可为1个或多个。多个是指2个或2个以上。目的物理机的数量,具体由实际订阅组播源标识对应的组播组的虚拟机所在的物理机的数量决定。
进一步,在步骤703中,网关设备可将组播应用报文发送给目的物理机。对于目的物理机的数量为多台的情况,网关设备可根据目的物理机的数量,复制相应数量的组播应用报文,以得到多个组播应用报文;并将多个组播应用报文分别发送给多台目的物理机。组播应用报文的数量与目的物理机的数量相同。
在一些实施例中,为了提高组播应用报文的网络传输性能,网关设备还可将组播应用报文封装为单播报文;并将携带有组播应用报文的单播报文发送给目的物理机,以将组播应用报文发送给目的物理机,实现组播应用报文在物理网络中的单播传输,降低对物理网络的组播资源和设备的依赖。
对于目的物理机为多台的实施例,网关设备可将复制得到的多个组播应用报文,封装为多个单播报文;并将携带有组播应用报文的多个单播报文发送给多台目的物理机。单播报文的数量与目的物理机的数量相同。其中,关于网关设备将组播应用报文封装为单播报文的具体实现形式,可参见上述源虚拟机所在物理机,将封装有组播应用报文的单播报文的相关内容,在此不再赘述。
相应地,对于目的物理机,在步骤801中,可获取网关设备转发的源虚拟机提供的组播应用报文,并获取组播应用报文携带到组播源对应的组播组标识(如组播源的IP地址)及订阅该组播源的用户标识(如VNI等)。
可选地,对于目的物理机接收到的是封装有组播应用报文的单播报文的实施例,目的物理机可从单播报文中,解析出组播应用报文;并从组播应用报文中解析出组播应用报文携带的组播源对应的组播组标识(如组播源的IP地址)及订阅该组播源的用户标识(如VNI等)。
在获取组播应用报文携带的组播源对应的组播组标识(如组播源的IP地址)及订阅该组播组标识对应的组播组的用户标识(如VNI等)之后,在步骤802中,可根据组播应用报文携带的组播源对应的组播组标识(如组播源的IP地址)及订阅该组播组标识对应的组播组的用户标识(如VNI等),查询组播成员侦听表,以确定订阅该组播组的目的虚拟机。
进一步,在步骤803中,可将组播应用报文发送给目的虚拟机,实现组播应用报文在网络系统中的传输。
每台目的物理机中接收组播应用报文的目的虚拟机的数量,可为1个或多个。多个是指2个或2个以上。每台目的物理机中接收组播应用报文的目的虚拟机的数量,具体由实际订阅组播源标识对应组播组的虚拟机决定。
对于目的物理机中接收组播应用报文的目的虚拟机的数量为多个的实施例,则目的物理机中的虚拟交换机可根据该目的物理机上目的虚拟机的数量,复制相应数量的组播应用报文,以得到多个组播应用报文。该处组播应用报文的数量与该目的物理机中目的虚拟机的数量相同。进一步,目的物理机中的虚拟交换机可将复制出的多个组播应用报文转发给多个目的虚拟机。该实施方式采用目的物理机中的虚拟交换机实现组播应用报文的本地复制,分散了网关设备的组播应用报文的复制和分发负载,节省了物理网络带宽,有助于提高组播流量的传输性能。
在本申请实施例提供的网络系统中,物理机统一将组播应用报文发送给网关设备,不需要有虚拟云网络内全局的物理机和虚拟机的信息,减少了对云网络管控面的压力;同时网关设备基于组播转发表确定需要接收组播应用报文的目的物理机;目标物理机中的虚拟交换机基于组播成员侦听表,确定需要接收组播应用报文的目的虚拟机,实现了组播应用报文只发送给对应的目的虚拟机,有助于减少不必要的物理网络资源的开销,进而有助于提高虚拟云网络中组播流量的传输性能。
在实际应用中,虚拟机订阅组播组是动态变化的,物理机上的虚拟机也是动态变化的。例如,虚拟机VM1从物理机NC1迁移至物理机NC2,或者,虚拟机取消对某组播组的订阅等。这些动态变化为虚拟云网络的原生能力。虚拟机的动态变化和虚拟机订阅组播组的动态变化,会导致网关设备20维护的组播转发表失效。例如,虚拟机VM1从物理机NC1迁移至物理机NC2上,导致VM1所在物理机发生变化。又例如,虚拟机VM1取消对组播组的订阅,导致组播组标识发生变化。
上述网关设备维护的组播转发表失效,若网关设备不及时更新组播转发表,则会导致后续组播应用报文转发失败。基于此,在本申请实施例中,增加网关设备对组播转发表的维护能力。下面对网关设备对组播转发表的维护过程进行示例性说明。
具体底薪,网关设备可向组播转发表记录的物理机发送组播成员查询(Query)报文,如IGMP查询(Query)报文等。该组播成员查询报文携带有组播转发表记录的用户标识(如VNI等)和组播组标识(如组播组IP地址)。可选地,网关设备可按照设定的查询周期,周期性地向组播转发表记录的物理机发送组播成员查询报文。每个查询周期发送的组播成员查询报文携带有该查询周期的组播转发表记录的用户标识(如VNI等)和组播组标识(如组播组IP地址)。
可选地,网关设备可将组播成员查询报文封装为单播报文,并将封装有组播成员查询报文的单播报文发送给组播转发表记录的物理机。在本实施例中,组播转发表记录的物理机为执行图8所示组播流量传输方法的目的物理机。
进一步,接收到组播成员查询报文的目的物理机,可利用组播成员查询报文携带的用户标识和组播组标识,查询目的物理机存储的组播成员侦听表;若在组播成员侦听表中查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,目的物理机向网关设备返回针对组播成员查询报文的组播成员报告报文。对于网关设备可基于该组播成员报告报文,继续维护组播转发表记录的目的物理机的标识。即若网关设备接收到针对组播成员查询报文的组播成员报告报文,则继续保留维护组播转发表记录的目的物理机的标识。
相应地,若目的物理机在组播成员侦听表中未查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,则目的物理机可将组播成员查询报文提供给目的物理机上的虚拟机。
若目的物理机中存在订阅有组播成员查询报文携带的组播组标识对应的组播组的虚拟机,则订阅有组播成员查询报文携带的组播组标识对应的组播组的虚拟机,回复针对组播成员查询报文的组播成员报告报文。
可选地,目的物理机可将虚拟机回复的针对组播成员查询报文的组播成员报告报文,封装为单播报文;并将封装有针对组播成员查询报文的组播成员报告报文提供给网关设备。网关设备可基于虚拟机回复的组播成员报告报文,继续维护组播转发表记录的目的物理机的标识。
即若网关设备在设定时长内接收到目的物理机针对组播成员查询报文的组播成员报告报文,继续维护组播转发表记录的目的物理机的标识。相应地,若网关设备在设定时长内未接收到针对组播成员查询报文的组播成员报告报文,则从组播转发表中删除组播转发表记录的目的物理机的标识,实现对云网络环境中组播转发表的动态维护,为虚拟机提供了更为原生的组播通信支持。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤701和702的执行主体可以为设备A;又比如,步骤701的执行主体可以为设备A,步骤702的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如701、702等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述各组播流量传输方法中的步骤。
图9为本申请实施例提供的电子设备的结构示意图。如图9所示,该电子设备包括:存储器90a、处理器90b及通信组件90c。存储器90a,用于存储计算机程序。
在一些实施例中,电子设备可实现为网关设备。相应地,处理器90b耦合至存储器90a和通信组件90c,用于执行计算机程序以用于:获取作为组播源的源虚拟机发送的组播应用报文;根据组播应用报文携带的组播源的组播组标识及订阅组播组标识对应组播组的用户标识,查询组播转发表,以确定接收组播应用报文的目的物理机;通过通信组件90c将组播应用报文发送给目的物理机,以供目的物理机将组播应用报文提供给订阅组播组的目的虚拟机。
在一些实施例中,处理器90b在获取作为组播源的源虚拟机发送的组播应用报文时,具体用于:通过通信组件90c接收源虚拟机所在物理机发送的封装有组播应用报文的单播报文;从封装有组播应用报文的单播报文中,解析出组播应用报文。
可选地,目的物理机为多台。相应地,处理器90b在将组播应用报文发送给目的物理机时,具体用于:根据多台目的虚拟机的数量,复制多个封装有组播应用报文的单播报文;通过通信组件90c将多个封装有组播应用报文的单播报文分别发送给多台目的物理机。
可选地,处理器90b还用于:通过通信组件90c获取请求加入组播组的虚拟机发送的第一组播成员报告报文;并根据第一组播成员报告报文携带的虚拟机所属用户标识、虚拟机所在物理机的标识及虚拟机请求加入的组播组标识,建立组播转发表。
可选地,处理器90b在获取请求加入组播组的虚拟机发送的第一组播成员报告报文时,具体用于:通过通信组件90c接收请求加入组播组的虚拟机所在物理机发送的携带有第一组播成员报告报文的单播报文;从携带有第一组播成员报告报文的单播报文中,解析出携带有第一组播成员报告报文的单播报文。
在一些实施例中,处理器90b还用于:通过通信组件90c向组播转发表记录的物理机发送组播成员查询报文;若在设定时长内接收到针对组播成员查询报文的组播成员报告报文,继续维护组播转发表记录的物理机的标识;若在设定时长内未接收到针对组播成员查询报文的组播成员报告报文,从组播转发表中删除组播转发表记录的物理机的标识。
在本申请另一些实施例中,电子设备可实现为物理机。相应地,处理器90b耦合至存储器90a和处理器90b,用于执行计算机程序以用于:通过通信组件90c获取网关设备转发的源虚拟机提供的组播应用报文;源虚拟机为作为组播源的虚拟机;根据组播应用报文携带的组播源对应的组播组标识及订阅组播组标识对应组播组的用户标识,查询组播成员侦听表,以确定订阅组播组的目的虚拟机;以及,将组播应用报文提供给目的虚拟机。
可选地,处理器90b在获取网关设备转发的源虚拟机提供的组播应用报文时,具体用于:通过通信组件90c接收网关设备转发的携带有组播应用报文的单播报文;从携带有组播应用报文的单播报文中,解析出组播应用报文。
在一些实施例中,目的虚拟机为多个。相应地,处理器90b在将组播应用报文提供给目的虚拟机时,具体用于:根据多个目的虚拟机的数量,复制多个组播应用报文;将多个组播应用报文分别提供给多个目的虚拟机。
在另一些实施例中,处理器90b还用于:通过通信组件90c获取目的虚拟机在请求加入组播组时发送的第一组播成员报告报文;根据第一组播成员报告报文携带的目的虚拟机请求加入的组播组标识、目的虚拟机的标识及目的虚拟机所属用户标识,建立组播成员侦听表;以及,通过通信组件90c将第一组播成员报告报文提供给网关设备,以供网关设备基于述第一组播成员报告报文,建立组播转发表。
可选地,处理器90b在将第一组播成员报告报文提供给网关设备时,具体用于:将第一组播成员报告报文封装为单播报文;并通过通信组件90c将封装有第一组播成员报告报文的单播报文发送给网关设备。
可选地,处理器90b还用于:通过通信组件90c获取网关设备提供的组播成员查询报文;利用组播成员查询报文携带的用户标识和组播组标识,查询组播转发表记录的物理机存储的组播成员侦听表;若查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,通过通信组件90c向网关设备返回针对组播成员查询报文的第二组播成员报告报文,以供网关设备基于第二组播成员报告报文继续维护组播转发表记录的目的物理机的标识。相应地,若未查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,将组播成员查询报文提供给目的物理机上的虚拟机;在目的物理机上的虚拟机订阅有组播成员查询报文携带的组播组标识对应的组播组的情况下,向网关设备回复针对组播成员查询报文的第三组播成员报告报文,以供网关设备基于第二组播成员报告报文继续维护组播转发表记录的目的物理机的标识。
在一些可选实施方式中,如图9所示,该电子设备还可以包括:电源组件90d等可选组件。图9中仅示意性给出部分组件,并不意味着电子设备必须包含图9所示全部组件,也不意味着电子设备只能包括图9所示组件。
在本实施例中,物理机统一将组播应用报文发送给网关设备,不需要有虚拟云网络内全局的物理机和虚拟机的信息,减少了对云网络管控面的压力;同时网关设备基于组播转发表确定需要接收组播应用报文的目的物理机;目标物理机中的虚拟交换机基于组播成员侦听表,确定需要接收组播应用报文的目的虚拟机,实现了组播应用报文只发送给对应的目的虚拟机,有助于减少不必要的物理网络资源的开销,进而有助于提高虚拟云网络中组播流量的传输性能。
在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip,SOC)等等,但不限于此。
在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机的存储介质为可读存储介质,也可称为可读介质。可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上内容仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种网络系统,其特征在于,包括:多台物理机和网关设备;每台物理机部署有虚拟机和虚拟交换机;所述多台物理机和网关设备之间通过虚拟云网络通信连接;
所述虚拟机中作为组播源的源虚拟机,用于:发送组播应用报文;所述源虚拟机所在物理机上的第一虚拟交换机,用于将所述组播应用报文发送给所述网关设备;
所述网关设备,用于利用所述组播应用报文携带的组播源的组播组标识及订阅所述组播组标识对应的组播组的用户标识,查询组播转发表,以确定接收所述组播应用报文的目的物理机;并将所述组播应用报文发送给所述目的物理机;
所述目的物理机中的第二虚拟交换机,用于根据所述组播源对应的组播组标识及订阅组播组标识对应的组播组的用户标识,查询组播成员侦听表,以确定订阅所述组播组的目的虚拟机;将所述组播应用报文发送给目的虚拟机。
2.根据权利要求1所述的系统,其特征在于,所述虚拟机用于:在请求加入组播组时,发送第一组播成员报告报文;
所述虚拟机所在物理机上的第三虚拟交换机,用于根据所述第一组播成员报告报文携带的所述虚拟机请求加入的组播组标识、所述虚拟机的标识及所述虚拟机所属用户标识,建立所述组播成员侦听表;并将所述第一组播成员报告报文发送给所述网关设备;
所述网关设备用于获取所述第一组播成员报告报文携带的所述虚拟机所属用户标识、所述虚拟机所在物理机的标识及所述虚拟机请求加入的组播组标识;并根据所述虚拟机所属用户标识、所述虚拟机所在物理机的标识及所述虚拟机请求加入的组播组标识,建立所述组播转发表。
3.根据权利要求1或2所述的系统,其特征在于,所述网关设备,还用于:
向所述组播转发表记录的物理机发送组播成员查询报文;
所述组播转发表记录的物理机上的第四虚拟交换机,用于利用所述组播成员查询报文携带的用户标识和组播组标识,查询所述组播转发表记录的物理机存储的组播成员侦听表;若查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,向所述网关设备返回针对所述组播成员查询报文的第二组播成员报告报文;
所述网关设备,基于所述第二组播成员报告报文,继续维护所述组播转发表记录的物理机的标识。
4.根据权利要求3所述的系统,其特征在于,所述第四虚拟交换机,还用于:
若未查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,将所述组播成员查询报文提供给所述第四虚拟交换机所在物理机上的虚拟机;
所述第四虚拟交换机所在物理机上的虚拟机,用于在所述第四虚拟交换机所在物理机上的虚拟机订阅有所述组播成员查询报文携带的组播组标识对应的组播组的情况下,回复针对所述组播成员查询报文的第三组播成员报告报文;
所述网关设备,基于针对所述第三组播成员报告报文,继续维护所述组播转发表记录的物理机的标识。
5.根据权利要求4所述的系统,其特征在于,所述网关设备,还用于:
若在设定时长内未接收到针对所述组播成员查询报文的组播成员报告报文,从所述组播转发表中删除所述组播转发表记录的物理机的标识。
6.一种组播流量传输方法,适用于网关设备,其特征在于,包括:
获取作为组播源的源虚拟机发送的组播应用报文;
根据所述组播应用报文携带的组播源的组播组标识及订阅所述组播组标识对应组播组的用户标识,查询组播转发表,以确定接收所述组播应用报文的目的物理机;
将所述组播应用报文发送给所述目的物理机,以供所述目的物理机将所述组播应用报文提供给订阅所述组播组的目的虚拟机。
7.根据权利要求6所述的方法,其特征在于,所述获取作为组播源的源虚拟机发送的组播应用报文,包括:
接收所述源虚拟机所在物理机发送的封装有所述组播应用报文的单播报文;
从所述封装有所述组播应用报文的单播报文中,解析出所述组播应用报文;
所述目的物理机为多台;所述将所述组播应用报文发送给所述目的物理机,包括:
根据多台目的虚拟机的数量,复制多个封装有所述组播应用报文的单播报文;
将所述多个封装有所述组播应用报文的单播报文分别发送给多台目的物理机。
8.根据权利要求6所述的方法,其特征在于,还包括:
获取请求加入组播组的虚拟机发送的第一组播成员报告报文;
根据所述第一组播成员报告报文携带的所述虚拟机所属用户标识、所述虚拟机所在物理机的标识及所述虚拟机请求加入的组播组标识,建立所述组播转发表。
9.根据权利要求6-8任一项所述的方法,其特征在于,还包括:
向所述组播转发表记录的物理机发送组播成员查询报文;
若在设定时长内接收到针对所述组播成员查询报文的组播成员报告报文,继续维护所述组播转发表记录的物理机的标识;
在设定时长内未接收到针对所述组播成员查询报文的组播成员报告报文,从所述组播转发表中删除所述组播转发表记录的物理机的标识。
10.一种组播流量传输方法,适用于目的物理机,其特征在于,包括:
获取网关设备转发的源虚拟机提供的组播应用报文;所述源虚拟机为作为组播源的虚拟机;
根据所述组播应用报文携带的组播源对应的组播组标识及订阅所述组播组标识对应组播组的用户标识,查询组播成员侦听表,以确定订阅所述组播组的目的虚拟机;
将所述组播应用报文提供给目的虚拟机。
11.根据权利要求10所述的方法,其特征在于,所述目的虚拟机为多个;所述将所述组播应用报文提供给目的虚拟机,包括:
根据多个目的虚拟机的数量,复制多个组播应用报文;将所述多个组播应用报文分别提供给多个目的虚拟机。
12.根据权利要求10或11所述的方法,其特征在于,还包括:
获取所述目的虚拟机在请求加入组播组时发送的第一组播成员报告报文;
根据所述第一组播成员报告报文携带的所述目的虚拟机请求加入的组播组标识、所述目的虚拟机的标识及所述目的虚拟机所属用户标识,建立所述组播成员侦听表;
将所述第一组播成员报告报文提供给所述网关设备,以供所述网关设备基于述第一组播成员报告报文,建立组播转发表。
13.根据权利要求10或11所述的方法,其特征在于,还包括:
获取所述网关设备提供的组播成员查询报文;
利用所述组播成员查询报文携带的用户标识和组播组标识,查询组播转发表记录的物理机存储的组播成员侦听表;
若在所述组播成员侦听表中,查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,向所述网关设备返回针对所述组播成员查询报文的第二组播成员报告报文,以供所述网关设备基于所述第二组播成员报告报文继续维护所述组播转发表记录的目的物理机的标识;
若未查询到组播成员查询报文携带的用户标识和组播组标识对应的目标虚拟机,将所述组播成员查询报文提供给所述目的物理机上的虚拟机;
在所述目的物理机上的虚拟机订阅有所述组播成员查询报文携带的组播组标识对应的组播组的情况下,向所述网关设备回复针对所述组播成员查询报文的第三组播成员报告报文,以供所述网关设备基于所述第二组播成员报告报文继续维护所述组播转发表记录的目的物理机的标识。
14.一种电子设备,其特征在于,包括:存储器、处理器和通信组件;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器及所述通信组件,用于执行所述计算机程序以用于执行权利要求6-13任一项所述方法中的步骤。
CN202211015063.5A 2022-08-23 2022-08-23 网络系统、组播流量传输方法及设备 Active CN115426323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211015063.5A CN115426323B (zh) 2022-08-23 2022-08-23 网络系统、组播流量传输方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211015063.5A CN115426323B (zh) 2022-08-23 2022-08-23 网络系统、组播流量传输方法及设备

Publications (2)

Publication Number Publication Date
CN115426323A true CN115426323A (zh) 2022-12-02
CN115426323B CN115426323B (zh) 2024-04-30

Family

ID=84198707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211015063.5A Active CN115426323B (zh) 2022-08-23 2022-08-23 网络系统、组播流量传输方法及设备

Country Status (1)

Country Link
CN (1) CN115426323B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105262667A (zh) * 2015-09-17 2016-01-20 杭州数梦工场科技有限公司 Overlay网络中控制组播传输的方法、装置
CN106031104A (zh) * 2015-01-21 2016-10-12 华为技术有限公司 数据报文的转达方法、装置及设备
CN106411750A (zh) * 2015-08-03 2017-02-15 华为技术有限公司 数据分发方法及系统
CN114640557A (zh) * 2022-03-18 2022-06-17 阿里云计算有限公司 网关以及云网络系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106031104A (zh) * 2015-01-21 2016-10-12 华为技术有限公司 数据报文的转达方法、装置及设备
CN106411750A (zh) * 2015-08-03 2017-02-15 华为技术有限公司 数据分发方法及系统
CN105262667A (zh) * 2015-09-17 2016-01-20 杭州数梦工场科技有限公司 Overlay网络中控制组播传输的方法、装置
CN114640557A (zh) * 2022-03-18 2022-06-17 阿里云计算有限公司 网关以及云网络系统

Also Published As

Publication number Publication date
CN115426323B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
US11888725B2 (en) Multi-cast support for a virtual network
EP2381647B1 (en) Session migration in content-centric networks
CN110012437B (zh) 一种组播报文的发送方法、装置及系统
US20100293585A1 (en) File content distribution method, device, and system
CN112799825A (zh) 一种任务处理方法和网络设备
US20150088995A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
US20220330355A1 (en) Service Processing Method, Apparatus, and System
US9871754B2 (en) Communicating messages between publishers and subscribers in a mesh routing network
CN113301079B (zh) 一种数据的获取方法、系统、计算设备及存储介质
CN113315706A (zh) 私有云流量控制方法、设备及系统
CN112449311B (zh) 通信方法、设备及系统
CN104125150A (zh) 一种协议报文处理方法、装置及系统
CN112968965A (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
US11290575B2 (en) Connecting computer processing systems and transmitting data
US11357020B2 (en) Connecting computer processing systems and transmitting data
CN115426323B (zh) 网络系统、组播流量传输方法及设备
CN107078965B (zh) 流媒体服务提供方法和设备
CN109309583B (zh) 基于分布式系统的信息获取方法、装置、电子设备和介质
Han et al. Online data caching in edge computing
Lee et al. Mobile edge computing based immersive virtual reality streaming scheme
CN111343215A (zh) 内容获取方法和系统
CN116684939B (zh) 消息处理方法、装置、计算机设备和计算机可读存储介质
US20230344667A1 (en) Single-producer-multiple consumers synchronization and multicast data transfer
US20240106792A1 (en) Data packet transmission method and apparatus, device, storage medium, and program product
CN111885157B (zh) 物联网网间设备通信方法、系统及边缘节点

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