在此页面上
支持组播
本节介绍 Contrail 控制器如何支持广播和组播。
子网广播
生成虚拟网络时,可以将多个子网附加到虚拟网络。每个子网都有一个子网广播路由,该路由安装在分配给该虚拟网络的单播路由表中。子网广播路由的收件人列表包括属于该子网的所有虚拟机。源自该子网中任何虚拟机的数据包将复制到收件人列表的所有成员,发起方除外。由于下一跃点是收件人列表,因此称为复合下一跃点。
如果子网下没有生成虚拟机,则子网路由条目将丢弃收到的数据包。如果子网中的所有虚拟机都已关闭,则路由入口点将被丢弃。如果删除 IPAM,则会删除与该 IPAM 对应的子网路由。如果虚拟网络已关闭,则会删除与虚拟网络关联的所有子网路由。
子网广播示例
进行以下配置:
虚拟网络名称 – VN1
单播路由实例 –
vn1.uc.inet
分配的子网 (IPAM) –
1.1.1.0/24; 2.2.0.0/16; 3.3.0.0/16
生成的虚拟机 –
vm1 (1.1.1.253); vm2 (1.1.1.252); vm3 (1.1.1.251); vm4 (3.3.1.253)
对路由实例 vn1.uc.inet.0
添加以下子网路由:
1.1.1.255
->转发到 NH1(复合下一跳)2.2.255.255
->滴3.3.255.255
->转发到 NH2对下一跃点表执行以下条目:
NH1 –
1.1.1.253; 1.1.1.252; 1.1.1.251
NH2 –
3.3.1.253
如果流量源自 from 1.1.1.255
vm1 (1.1.1.253)
,则会转发到 vm2 (1.1.1.252)
和 vm3 (1.1.1.251)
。发起方将不会接收流量,即使它在下一跃点中列为接收方 vm1 (1.1.1.253)
也是如此。
全广播/有限广播和链路本地组播
地址组用于全广播(有限广播)和组 255.255.255.255
播流量。路由安装在组播路由实例中。源地址记录为 ANY,因此路由为 ANY/255.255.255.255 (*,G)
。它对于路由实例都是唯一的,并与其相应的虚拟网络相关联。生成虚拟网络时,它通常包含多个子网,其中添加了虚拟机。所有虚拟机(无论其子网如何)都是 的 ANY/255.255.255.255
收件人列表的一部分。复制将发送给除发起方之外的每个收件人。
链路本地组播也使用全广播方法进行复制。关闭此虚拟网络中的所有虚拟机或删除虚拟网络本身时,将删除路由。
全广播示例
进行以下配置:
虚拟网络名称 –
vn1
单播路由实例 –
vn1.uc.inet
分配的子网 (IPAM) –
1.1.1.0/24; 2.2.0.0/16; 3.3.0.0/16
生成的虚拟机 –
vm1 (1.1.1.253); vm2 (1.1.1.252); vm3 (1.1.1.251); vm4 (3.3.1.253)
将向路由实例 vn1.uc.inet.0
添加以下子网路由:
255.255.255.255/*
-> NH1
对下一跃点表执行以下条目:
NH1 –
1.1.1.253; 1.1.1.252; 1.1.1.251; 3.3.1.253
如果流量源自 from 1.1.1.255
vm1 (1.1.1.253)
,则流量将转发到 vm2 (1.1.1.252), vm3 (1.1.1.251)
、和 vm4 (3.3.1.253)
。发起方将不会接收流量,即使它在下一跃点中列为接收方 vm1 (1.1.1.253)
也是如此。
主机广播
主机广播路由存在于主机路由实例中,以便主机操作系统可以发送子网广播/所有广播(有限广播)。这种类型的广播通过 vhost 接口发送到交换矩阵。此外,从交换矩阵接收的任何子网广播/全部广播都将移交给主机操作系统。