本文为您介绍如何使用企业版转发路由器创建和管理组播网络。
背景信息
创建组播网络前,建议您先了解企业版转发路由器组播功能原理、组网方式、计费说明、使用限制等信息。更多信息,请参见组播概述。
操作步骤
静态方式
步骤一:准备环境
在待建立组播网络的地域创建企业版转发路由器,并开启企业版转发路由器的组播功能。具体操作,请参见创建转发路由器实例。
重要仅华东1(杭州)、华东2(上海)、华北2(北京)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)、中国香港、日本(东京)、新加坡、德国(法兰克福)、澳大利亚(悉尼)关停中、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)地域的企业版转发路由器支持组播功能。
仅新建企业版转发路由器实例时支持开启组播功能。在支持组播功能的地域,如果您已经创建了企业版转发路由器但无法使用组播功能,请删除企业版转发路由器重新创建。如何删除企业版转发路由器实例,请参见删除转发路由器实例。
使待建立组播网络的VPC通过企业版转发路由器实现网络互通。具体操作,请参见使用云企业网实现同地域云上云下网络互通(企业版)或使用云企业网实现跨地域跨账号VPC互通(企业版)。
步骤二:创建组播域
您需要创建组播域并为组播域关联交换机,以此来划分一个组播网络范围。仅关联组播域的交换机下的资源才能发送和接收组播流量。
- 登录云企业网管理控制台。
- 在云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
在 页签,单击转发路由器实例ID。
在转发路由器实例详情页面,单击组播页签,然后单击创建组播域。
在创建组播域对话框,根据以下信息进行配置,然后单击确定。
配置项
说明
转发路由器
系统默认展示当前地域的转发路由器实例ID。
组播域名称
输入组播域的名称。
组播域功能选项
是否为组播域开启IGMP功能,开启该功能后主机可以通过IGMP协议动态加入或离开组播组。系统默认开启该功能。
在使用静态方式建立组播网络的场景中,可以关闭该功能。
在使用IGMP方式建立组播网络的场景中,需要开启该功能。IGMP功能开启后不支持关闭。
专有网络
选择组播域关联的VPC。
交换机
选择组播域关联的交换机。
描述
输入组播域的描述信息。
标签
为组播域设置标签。
标签键:不允许为空字符串。最多支持64个字符,不能以
aliyun
和acs:
开头,不能包含http://
或者https://
。标签值:可以为空字符串。最多支持128个字符,不能以
aliyun
和acs:
开头,不能包含http://
或者https://
。
支持为组播域添加多个标签。关于标签的更多信息,请参见标签。
如果您需要关联多个VPC下的交换机,请参见更多操作中的绑定交换机操作。
步骤三:创建组播源
创建组播域后,您需要在组播域下创建组播源,并为组播源指定其所属的组播组。组播源创建完成后,会向组播组发送组播流量,该组播组下的组播成员可以接收到该组播源发送的组播流量。
- 登录云企业网管理控制台。
- 在云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
在 页签,单击转发路由器实例ID。
在转发路由器实例详情页面,单击组播页签,然后在组播页签的左侧区域,单击组播域ID。
在组播域详情区域,单击组播组页签,然后单击创建组播源。
在创建组播源页面,根据以下信息进行配置,然后单击确定。
配置项
说明
基本信息
转发路由器
系统默认展示当前地域的转发路由器实例ID。
组播域
系统默认展示已选中的组播域ID。
组播组信息
选择组播组
选择组播源所属的组播组。取值:
创建新的组播组:如果当前组播域下未被创建过组播组,请选择本配置项,并输入新组播组IP地址。系统将为您自动创建组播组。
说明组播组创建后,不支持修改组播组的IP地址。
使用已有组播组:如果当前组播域下已创建过组播组,您可以选择本配置项在指定组播组下创建组播源。
新组播组IP地址
输入新组播组的IP地址。取值范围:224.0.1.0~239.255.255.254。
重要224.0.0.0~224.0.0.255为系统保留地址,不支持作为组播组IP地址。
每个组播组通过组播IP地址进行标识。
仅当您选择创建新的组播组时,需配置该项。
选择组播组
从已创建的组播组中选择一个组播组。
选择后,新创建的组播源将归属于该组播组下。
仅当您选择使用已有组播组时,需配置该项。
组播源信息
资源类型
选择组播源的资源类型。默认值:弹性网卡。
当前系统仅支持ECS实例关联的ENI作为组播源。系统将以该ENI的主私网IP地址向组播组发送组播流量。
每次最多支持指定5个弹性网卡为组播源。
交换机
选择组播源所在交换机。
弹性网卡
选择弹性网卡(即组播源)。
如果您在下拉列表的右侧选中同时添加为组播成员,则在创建完成后,该弹性网卡也会被指定为该组播组下的组播成员。
步骤四:创建组播成员
如果创建组播源时您未指定组播成员,您可以通过以下步骤指定组播成员。资源只有成为组播成员才能接收到组播流量。组播成员仅接收其所属组播组的组播流量。
- 登录云企业网管理控制台。
- 在云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
在 页签,单击转发路由器实例ID。
在转发路由器实例详情页面,单击组播页签,然后在组播页签的左侧区域,单击组播域ID。
在组播域详情区域,单击组播组页签,然后单击创建组播成员。
在创建组播成员页面,根据以下信息进行配置,然后单击确定。
配置项
说明
基本信息
转发路由器
系统默认展示当前地域的转发路由器实例ID。
组播域
系统默认展示已选中的组播域ID。
组播组信息
选择组播组
选择组播成员所属的组播组。取值:
创建新的组播组:如果当前组播域下不存在组播组,请选择本配置项,并输入新组播组IP地址。系统将为您自动创建组播组。
说明组播组创建后,不支持修改组播组的IP地址。
使用已有组播组:如果当前组播域下已创建过组播组,您可以选择本配置项为指定组播组创建组播成员。
新组播组IP地址
输入新组播组的IP地址。取值范围:224.0.1.0~239.255.255.254。
重要224.0.0.0~224.0.0.255为系统保留地址,不支持作为组播组IP地址。
每个组播组通过组播IP地址进行标识。
仅当您选择创建新的组播组时,需配置该项。
选择组播组
从已创建的组播组中选择一个组播组。
仅当您选择使用已有组播组时,需配置该项。
组播成员信息
资源类型
选择组播成员的资源类型。取值:
弹性网卡(默认值):选择交换机下的ENI。
当前系统仅支持ECS实例关联的ENI作为组播成员。系统将以该ENI的主私网IP地址接收组播流量。
单击添加弹性网卡可以添加多个ENI。
跨地域组播域:选择跨地域转发路由器实例下的组播域。
如果您选择了跨地域转发路由器实例下的一个组播域,则表示您将跨地域组播域下相同组播组下的组播成员作为您当前组播组下的组播成员。
举例说明例如,华东1(杭州)地域下的组播域1下拥有一个组播组A;华东2(上海)地域下的组播域2下也拥有一个组播组A(此组播组与组播域1下的组播组A的组播IP地址相同),且该组播组下已拥有组播成员。当前您需要为组播域1下的组播组A创建组播成员,执行创建操作时您选择的组播成员的资源类型为跨地域组播域,且您选择了华东2(上海)地域下的组播域2。创建完成后,系统则默认组播域2下的组播组A的组播成员也是组播域1下的组播组A下的组播成员,可以接收组播域1下的组播组A的组播流量。
重要在您选择跨地域组播域前,请确保:
待传输组播流量的两个地域已创建跨地域连接并已实现网络互通。
待传输组播流量的两个地域下拥有相同组播IP地址的组播组,且对端组播组下已拥有组播成员。
系统仅支持跨地域添加组播成员,不支持跨地域添加组播源。
对于添加跨地域组播成员的场景,如果您已经在本端组播域下添加了跨地域组播成员,则不允许再在跨地域组播域下添加同一组播组的本端组播成员。即相同组播组下,仅支持在一侧组播域下添加跨地域组播成员。
交换机
选择组播成员所在交换机。
仅当您选择弹性网卡时,需配置该项。
弹性网卡
选择弹性网卡(即组播成员)。
仅当您选择弹性网卡时,需配置该项。
如果您在下拉列表的右侧选中同时添加为组播源,则在创建完成后,该弹性网卡也会被指定为该组播组下的组播源。
每次最多支持指定5个组播成员。如果在某次操作中您选择的是跨账号VPC实例下的资源,则本次仅支持指定一个跨账号VPC实例下的一个或多个弹性网卡为组播成员,不支持同时指定多个跨账号VPC实例下的弹性网卡为组播成员。
转发路由器
选择对端的转发路由器实例。
仅当您选择跨地域组播域时,需配置该项。
对端组播域
选择对端转发路由器实例下的组播域。
仅当您选择跨地域组播域时,需配置该项。
IGMP方式
IGMP方式公测中,仅针对白名单用户开放。
步骤一:准备环境
在待建立组播网络的地域创建企业版转发路由器,并开启企业版转发路由器的组播功能。具体操作,请参见创建转发路由器实例。
重要仅华东1(杭州)、华东2(上海)、华北2(北京)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)、中国香港、日本(东京)、新加坡、德国(法兰克福)、澳大利亚(悉尼)关停中、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)地域的企业版转发路由器支持组播功能。
仅新建企业版转发路由器实例时支持开启组播功能。在支持组播功能的地域,如果您已经创建了企业版转发路由器但无法使用组播功能,请删除企业版转发路由器重新创建。如何删除企业版转发路由器实例,请参见删除转发路由器实例。
使待建立组播网络的VPC通过企业版转发路由器实现网络互通。具体操作,请参见使用云企业网实现同地域云上云下网络互通(企业版)或使用云企业网实现跨地域跨账号VPC互通(企业版)。
步骤二:创建组播域
您需要创建组播域并为组播域关联交换机,以此来划分一个组播网络范围。仅关联组播域的交换机下的资源才能发送和接收组播流量。
- 登录云企业网管理控制台。
- 在云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
在 页签,单击转发路由器实例ID。
在转发路由器实例详情页面,单击组播页签,然后单击创建组播域。
在创建组播域对话框,根据以下信息进行配置,然后单击确定。
配置项
说明
转发路由器
系统默认展示当前地域的转发路由器实例ID。
组播域名称
输入组播域的名称。
组播域功能选项
是否为组播域开启IGMP功能,开启该功能后主机可以通过IGMP协议动态加入或离开组播组。系统默认开启该功能。
在使用静态方式建立组播网络的场景中,可以关闭该功能。
在使用IGMP方式建立组播网络的场景中,需要开启该功能。IGMP功能开启后不支持关闭。
专有网络
选择组播域关联的VPC。
交换机
选择组播域关联的交换机。
描述
输入组播域的描述信息。
标签
为组播域设置标签。
标签键:不允许为空字符串。最多支持64个字符,不能以
aliyun
和acs:
开头,不能包含http://
或者https://
。标签值:可以为空字符串。最多支持128个字符,不能以
aliyun
和acs:
开头,不能包含http://
或者https://
。
支持为组播域添加多个标签。关于标签的更多信息,请参见标签。
如果您需要关联多个VPC下的交换机,请参见更多操作中的绑定交换机操作。
步骤三:指定组播源和组播成员
创建组播域后,您可以开始在VPC下部署组播应用,并为需要加入组播网络的ECS实例添加配置,使其加入组播组,成功加入组播组的ECS实例会同时成为组播源和组播成员。
要加入组播网络的主机需支持IGMPv2协议。阿里云ECS实例(Alibaba Cloud Linux 3.2104 LTS 64位镜像)默认支持IGMPv2协议。
组播组的IP地址取值范围:224.0.1.0~239.255.255.254。224.0.0.0~224.0.0.255为系统保留地址,不支持作为组播组IP地址。
如果ECS实例上存在多个弹性网卡ENI,多个弹性网卡ENI支持加入不同的组播组。
以下内容以同一个VPC下的ECS1和ECS2(ECS安装Alibaba Cloud Linux 3.2104 LTS 64位镜像)为例,介绍如何将ECS实例加入组播组(例如239.1.1.1)。
登录ECS1实例。具体操作,请参见ECS远程连接方式概述。
在ECS1实例下执行以下命令加入指定组播组(239.1.1.1),接收该组播组的流量。
socat STDIO udp4-recv:8000,ip-add-membership=239.1.1.1:eth0 #“8000” 为接收组播流量的端口 #“239.1.1.1” 为组播流量所属的组播组IP地址 #“eth0” 指定加入组播组的接口 #执行上述命令时,如果系统提示您不支持socat命令,您可以通过以下命令安装socat。 #sudo yum install socat
登录ECS2实例,根据上述命令将ECS2加入到该组播组(239.1.1.1)中。完成配置后,您可以在组播域详情页面查看到转发路由器已自动创建了组播源和组播成员。
完成上述步骤后,转发路由器下同一组播域同一组播组的资源已经可以实现组播网络互通(示例中ECS1与ECS2已经可以实现组播网络互通),但不同转发路由器下同一组播组的资源还无法实现组播网络互通。如果需要实现跨地域VPC下的组播网络互通,还需要执行步骤四:静态指定跨地域组播成员。
说明每个转发路由器下,组播域之间不支持组播网络互通。跨地域转发路由器之间,仅属于相同组播组的资源才支持组播网络互通。
步骤四:静态指定跨地域组播成员
如果您仅需要在同地域VPC之间建立组播网络,无需执行本步骤。
如果您需要在跨地域VPC之间建立组播网络,VPC下的ECS实例配置完成后,您还需要在组播域下静态指定跨地域组播成员,跨地域VPC之间才能实现组播网络互通。具体操作,请参见静态方式-步骤四:创建组播成员。
例如德国(法兰克福)地域的VPC1需要和英国(伦敦)地域的VPC2实现组播网络互通,在您完成VPC1和VPC2的ECS实例配置后,VPC1内同一组播组的资源可以实现组播网络互通、VPC2内同一组播组的资源可以实现组播网络互通,但是VPC1与VPC2之间相同组播组的资源无法实现组播网络互通,您需要在VPC1所属的组播域下指定跨地域组播域(指VPC2所属的组播域)或者在VPC2所属的组播域下指定跨地域组播域(VPC1所属的组播域),指定后,VPC1和VPC2下相同组播组的资源才可以实现组播网络互通。
步骤五:测试组播网络连通性
组播源和组播成员创建完毕后,您可以开始测试组播网络连通性。本部分依旧以步骤三中的ECS1和ECS2为例进行说明。
请确保ECS1和ECS2已通过步骤三加入了同一个组播组,并保持ECS1和ECS2已经登录的窗口不要关闭。
在ECS实例中通过
socat STDIO udp4-recv:8000,ip-add-membership=239.1.1.1:eth0
命令加入组播组后,请勿将该进程挂起在后台运行(例如按下了Ctrl+Z键)或杀死该进程(例如按下了Ctrl+C键)。如果该进程被挂起在后台运行,将会导致该ECS实例成功加入了组播组,但是无法直观看到组播组发送的流量;如果该进程已被杀死,需要重新执行命令加入组播组。如果socat进程已被挂起在后台运行,您可以通过以下命令将socat进程带到前台继续运行。
# 执行以下命令查看所有后台任务 jobs #执行以下命令恢复特定任务,“1”表示任务号。 fg %1
重新打开一个窗口登录ECS1实例。在ECS1实例下执行以下命令向组播组发送流量。
while :; do echo "hello multicast from host `hostname` at `date`" | socat STDIO udp4-sendto:239.1.1.1:8000,ip-multicast-if=172.16.10.165,ip-multicast-ttl=32; sleep 1; done #“239.1.1.1” 为组播组IP地址 #“8000” 为组播流量的目的端口 #“172.16.10.165” 为ECS1上发送组播流量的接口的IP地址(即组播源的IP地址)
执行命令后,可以看到ECS1和ECS2上已经收到了相关组播流量,组播网络已经实现互通。
ECS1
ECS2
更多操作
操作 | 操作说明以及前提条件 | 步骤 |
绑定交换机 | 创建组播域后,您可以为组播域绑定交换机扩大组播网络范围。 |
如果您需要关联多个VPC下的交换机,请重复以上步骤,添加每个VPC下的交换机。 |
解绑交换机 | 如果某个交换机下的资源不再需要加入组播网络,您可以将该交换机与组播域解绑。 在解绑交换机前,请确保满足以下条件:
|
|
删除组播成员 | 如果您不需要某个组播成员再接收组播流量,您可以将该组播成员从组播组中删除。 通过IGMP方式创建的组播成员不支持手动删除,您需要在组播成员中进行配置(例如杀死加入组播组的进程),使该组播成员从组播组中离开。 重要 IGMP方式公测中,仅针对白名单用户开放。 |
|
删除组播源 | 如果您不需要某个组播源再发送组播流量,您可以将该组播源从组播组中删除。 通过IGMP方式创建的组播源不支持手动删除,您需要在组播源中进行配置(例如杀死加入组播组的进程),使该组播源从组播组中离开。 重要 IGMP方式公测中,仅针对白名单用户开放。 |
|
删除组播域 | 如果您不再需要某个组播网络,您可以删除组播网络对应的组播域。 在删除组播域前,请确保满足以下条件:
|
|
为组播域开启IGMP功能 | 如果在创建组播域时并未开启组播域的IGMP功能,支持单独为组播域开启IGMP功能。IGMP功能开启后不支持关闭。 重要 IGMP方式公测中,仅针对白名单用户开放。 |
|
相关文档
组播域
ModifyTransitRouterMulticastDomain:修改组播域的名称和描述信息。
ListTransitRouterMulticastDomains:查询组播域的信息。
AssociateTransitRouterMulticastDomain:将VPC下的交换机关联至组播域。
DisassociateTransitRouterMulticastDomain:解除交换机与组播域的关联关系。
ListTransitRouterMulticastDomainAssociations:查询组播域的关联信息。
ListTransitRouterMulticastDomainVSwitches:查询VPC下已关联组播域的交换机的信息。
组播源和组播成员
ListGrantVSwitchEnis:查询VPC下可以成为组播源或者组播成员的弹性网卡的信息。
ListTransitRouterMulticastGroups:查询组播域下组播成员和组播源的信息。