您的位置:首页 > 其它

IP组播基础及工作原理——4

2018-01-24 12:40 357 查看
MSDP基础及工作原理
在不同PIM-SM域间的RP信息是隔离的,缺省情况下,组播源只向本域内的RP注册,用户主机只向本域内的RP发起加入,将一个大的PIM-SM网络划分为多个PIM-SM域后,如何实现PIM-SM域间组播,使本PIM-SM域内的用户主机能够接收到其他域内组播源发出的组播数据就成了现实的问题。这就是MSDP诞生的背景。它可使不同PIM-SM域的RP之间能够互相通信,发现并共享其他PIM-SM域内的组播源信息。但目前MSDP只支持在IPv4网络部署,且仅对PIM-SM(ASM模型)有意义,因为在SSM模型中无MSDP所需的RP配置。

一、MSDP对等体概述

MSDP要互连不同PIM-SM域RP的过程就是需要在不同域之间建立对等体(peer),主要用于不同ISP网络间。通常,ISP并不希望借助其他ISP的RP来向自己的用户提供服务。这一方面是出于安全性考虑,另一方面如果其他ISP的RP发生故障导致业务中断,用户投诉的却是自己的服务。借助MSDP,每个ISP可以实现依靠自己的RP来向Internet转发和接收组播数据。

使用MSDP实现跨域组播的首要任务是建立MSDP对等体。通过配置MSDP对等体使各个PIM-SM域的RP之间建立MSDP对等体关系,各MSDP对等体之间彼此首尾相连,形成一张“MSDP连通图”,连接各PIM-SM域RP。





MSDP对等体并不是只能配置在RP上,MSDP对等体可以创建在任意的PIM路由器上,在不同角色的PIM路由器上所创建的MSDP对等体的功能有所不同。在普通的非RP PIM路由器上也可创建MSDP对等体。如上图中RouterA和RouterB上,其作用仅限于将收到的SA消息转发出去。但为了保证网络中所有RP都能参与源信息共享,且尽量缩小“MSDP连通图”的规模,推荐的配置方案:在且仅在网络中所有RP上配置MSDP对等体。

二、MSDP对等体建立流程

MSDP对等体通过TCP传输层协议连接建立,使用的端口为TCP639。两台设备使能MSDP并互相指定对方为MSDP对等体后,两端先比较IP地址,IP地址较小的一端会启动连接重试定时器(ConnectRetry timer),并主动发起TCP连接。IP地址较大的一端负责确认是否有TCP连接在端口639建立。TCP连接建立后,MSDP对等体关系就建立了,对等体之间通过KeepAlive(保持活跃)消息维持连接关系。



如上图,在RouterA和RouterB之间MSDP对等体的建立流程为:

(1)起始状态下,两台路由器的MSDP会话状态都是Down。

(2)在两端使能MSDP并互相指定对方为MSDP对等体后,两端比较建立连接使用的IP地址:由于RouterA的IP地址较小,所以进入Connect(连接)状态,向RouterB发起连接,并启动ConnectRetry定时器。该定时器用于定义连接重试的周期。RouterB的IP地址较大,此时进入Listen(监听)状态,等待对端的TCP连接。

(3)TCP连接建立成功后,两端的MSDP会话均进入Up状态,代表着MSDP对等体建立成功。随后各自向对方发送KeepAlive消息,通知对方保持MSDP连接状态。

在MSDP对等体建立TCP连接过程中可以进行加密认证,以保证MSDP对等体建立的安全性。配置了认证功能后,MSDP对等体两端必须都使用相同的加密算法和密码,才能正常建立TCP连接。MSDP支持MD5和Keychain两种加密方式。

三、基于MSDP的Anycast RP

MSDP是用于PIM-SM域间的组播网络连接,但是MSDP在PIM-SM域内也有一种特殊的应用,那就是他的一种特殊RP——“任播RP”(Anycast RP)功能。它用来解决传统PIM-SM域中每个组播组只能映射到一个RP,当网络负载较大或流量过于集中时可能导致的压力过大、RP失效后收敛较慢、组播转发路径非最优等问题。

通过MSDP的Anycast RP功能,可以在同一PIM-SM域内配置多个具有相同IP地址的RP(相当于一个RP虚拟组,就像VRRP、HSRP中的虚拟组一样)。这些相同的IP地址都配置在loopback接口上,且这些RP之间在一个PIM-SM域内建立MSDP对等体关系,从而实现RP路径最优及负载分担。通过Anycast RP,可以实现以下三方面好处:

(1)RP路径最优:组播源向距离最近的RP进行注册,建立路径最优的SPT;接收者向距离最近的RP发起加入,建立路径最优的RPT。

(2)RP间的负载分担:每个RP上只需维护PIM-SM域内的部分源/组信息、转发部分的组播数据,从而实现了RP间的负载分担。

(3)RP间的冗余备份:当某RP失效后,原先在该RP上注册或加入的组播源或接收者会自动选择就近的RP进行注册或加入操作,从未实现了RP间的冗余备份。

如下图,在PIM-SM域内组播源Source1和Source2向组播组G发送组播数据,Receiver1和Receiver2是组播组G的成员。为了减轻单台RP的负荷,希望采用AnycastRP来实现多RP负载均衡。



(1)在PIM-SM域内选取多台路由器(如RouterA和RouterB)成为待选RP。

(2)在这些路由器上各准备一个Loopback接口,并配置相同的接口地址,如上图两路由器的Loopback1接口。

(3)采用以下方式之一配置RP

①使用静态RP:在全域的所有PIM-SM路由器上配置静态RP的IP地址,即上面在RouterA的Loopback1接口上配置的IP地址。

②使用C-RP:在RouterA和RouterB上使用Loopback1接口配置C-RP,然后在网络中配置C-BSR,选举产生BSR,用于集中管理组播域中的RP、组播源注册和组成员加入消息。注意:C-RP的地址不能与C-BSR的地址相同。

(4)在RouterA和RouterB两个路由器之间配置建立PIM-SM域内的MSDP对等体连接。要注意,此时不能使用两路由器上Loopback1接口上的RP IP地址,而要使用路由器实际连接的物理接口IP地址。

四、组播源信息在域间的传递

各个PIM-SM域的RP之间配置了MSDP对等体关系后,MSDP对等体之间通过交互SA(SourceActive)消息(SA消息中携带组播源DR在RP上注册时的(S,G)信息)在各MSDP对等体之间的消息传递,这样任意一个RP发出的SA消息能够被其他所有的RP收到。

如下图,PIM-SM网路被划分为4个PIM-SM域。PIM-SM1域内的组播源Source向组G发送数据。PIM-SM3域内的Receiver为组G成员,RP3和Receiver之间维护了一棵关于组G的RPT(RP-rooted Shared Tree,根RP共享树)。



通过在RP1、RP2和RP3之间建立MSDP对等体关系,可以使Receiver(接收者)接收到Source发出的组播数据,具体过程如下:

(1)Source向组G发送组播数据。DR1将组播数据封装在Register消息中发给RP1。RP1作为源端RP,创建SA消息,携带Source的IP地址、组G地址和RP1地址发送给对等体RP2。

(2)RP2接收到该SA消息后,执行RPF(Reverse PathForwarding,逆向路径转发)检查,通过后向RP3转发。

(3)RP3接收到该SA消息后,同样先执行RPF检查,由于RP3上存在(*,G)表项,表示本域内存在组G成员,RP3直接创建(S,G)表项。

(4)然后RP3向Source方向逐跳发送(S,G)加入消息,创建一条从Source到RP3的组播路径(源树)。组播数据沿源树到达RP3后,在沿RPT向接收者转发。

(5)接收者接收到组播数据后,自行决定是否发起SPT切换。

五、SA消息转发的控制

在MSDP协议中,SA(源激活)消息在MSDP对等体之间转发,除了RPF检查,还可以配置各种转发策略的过滤,从而只接收和转发来自正确路径并通过过滤的SA消息,以避免SA消息传递环路。另外,可以在MSDP对等体之间配置MSDP全连接组(Mesh Group),以避免SA消息在MSDP对等体之间的泛滥。

1、SA消息的RPF检查规则

为了防止SA消息在MSDP对等体之间被循环转发,MSDP对接收到的SA消息执行RPF检查,在消息传递的入方向上进行严格的控制。不符合RPF规则的SA消息,将被丢弃。

RPF检查的主要规则:MSDP设备收到SA消息后,根据MRIB(MulticastRPF Routing Information Base,组播RPF路由信息库)确定到源RP(即创建该SA消息的RP)最佳路径的下一跳是哪个对等体。这个对等体也称为“RPF对等体”。如果发现SA消息是从RPF对等体发出的,则接收该SA消息,并向其他对等体转发。

此外,还有如下的一些RPF检查规则,SA消息在转发时必须遵守:

(1)发出SA消息的对等体就是源RP,则接收该SA消息并向其他对等体转发。

(2)接收从静态RPF对等体到来的SA消息。一台路由器可以同时与多个路由器建立MSDP对等体关系。用户可以从这些远端对等体中选取一个或多个配置为静态RPF对等体。

(3)如果一台路由器只拥有一个远端MSDP对等体,则该远端对等体自动成为RPF对等体,路由器接收从该远端对等体发来的SA消息。

(4)发出SA消息的对等体与本地路由器属于同一Mesh Group,则接收该SA消息。来自Mesh Group的SA消息不再向属于该Mesh Group的成员转发,但向该Mesh Group之外的所有对等体转发。

(5)到达源RP的路由需要跨越多个AS时,接收从下一跳AS(以AS为单位)中的对等体发出的SA消息,如果该AS中存在多个远端MSDP对等体,则接收从IP地址最高的对等体发来的SA消息。

2、MSDP全连接组(MeshGroup)

当网络中存在多个MSDP对等体时,很容易导致SA消息在对等体之间泛滥。同时,MSDP对等体对每一个到来的SA报文进行RPF检查,给系统造成很大的负担。将多个MSDP对等体加入同一个全连接组(Mesh Group),就可以大幅度减少在这些MSDP对等体之间传递的SA消息。

Mesh Group车管员可以都属于同一个PIM-SM域,也可以分布在多个PIM-SM域中;可以都位于同一个AS,也可以位于多个AS中。但属于同一个MeshGroup的多有成员之间必须两两建立MSDP对等体连接,并承认对方为该Mesh Group的成员。



如上图中RouterA、RouterB、RouterC和RouterD,加入同一个MeshGroup,则必须在每台路由器上配置与其他三台路由器建立MSDP对等体关系。

当Mesh Group内部成员接收到SA消息后,首先检查该SA消息的来源。

(1)如果该SA消息来自MeshGroup外部的某个MSDP对等体,则对该SA消息进行RPF检查。如果检查通过,向Mesh Group内其他所有成员转发。

(2)如果该SA消息来自MeshGroup内部成员,则不进行RPF检查,直接接收。同时也不再向Mesh Group内其他成员转发。

3、SA消息过滤

缺省情况下,MSDP不过滤SA消息,从一个域中发出的SA消息可以被传递到全网的MSDP对等体。然而有些PIM-SM域的(S,G)表项只适用于本域内转发,如一些本地组播应用使用了全局的组播组地址,或组播源用的是私网地址10.x.x.x。

如果不加过滤,这些(S,G)表项就会经过SA消息传递到其他MSDP对等体。针对这种情况,可以配置SA消息的过滤规则(一般使用ACL定义过滤的规则),并在创建、转发或接收SA消息时使用这些规则,就可以实现SA消息过滤。

六、MSDP的应用

MSDP既可以应用于不同PIM-SM域之间,又可以应用于同一PIM-SM域内;既可以应用于不同AS的PIM-SM域之间,又可应用于同一个AS的PIM域之间。

1、MSDP在AS内PIM-SM域间组播应用

组播源和组成员处于同一AS内不同PIM-SM域间,可以在RP上配置MSDP对等体,实现域间组播。如下图,在两个PIM-SM域的RP之间配置MSDP对等体,可以共享对方域内的组播源信息。



2、MBGP在AS间PIM-SM域间组播的应用

MBGP也可应用于不同AS间的PIM-SM域间,此时在MSDP对等体之间建立MBGP对等体,可以保证SA消息顺利通过RPF检查。配置时将MBGP对等体和MSDP对等体建立在相同的接口上。



如上图,在各个PIM-SM中的RP并不直接相连,且与ASBR不在同一台路由器上。在它们之间建立MSDP对等体后,为了保证SA消息顺利通过RPF检查,在这些RP之间配置MBGP对等体。

(1)IBGP:在属于同一AS的RP之间建立IBGP对等体。例如:RP1和RP2、RP3和RP4。

(2)EBGP:在属于不同AS的RP之间建立EBGP对等体。例如:RP1和RP3、RP2和RP4。

3、使用静态RPF对等体实现AS间组播

在上面介绍SA消息的RPF检查规则中提到,如果收到的SA消息是从“RPF对等体”发来的,则接收该消息并向其他对等体转发。如果在MSDP对等体之间手工指定对方为静态RPF对等体,从静态RPF对等体收到的SA消息将不做RPF检查。

静态RPF配置不当容易引起SA消息环路,慎重使用。通常在跨AS的MSDP对等体之间建立静态RPF对等体。如下图,在RP1和RP2之间配置MSDP对等体;在RP1和RP2上分别配置对方为自己的静态RPF对等体。



4、Anycast RP

MSDP可以在PIM-SM域内通过AnycastRP功能得到应用,实现域内多个RP间的负载分担和容错。



如上图,Switch1和Switch2作为RP,两者之间建立MSDP对等体关系。借助MSDP对等体进行域内组播,接收者选择距离最近的RP发送加入消息以构建RPT树;组播源可以选择距离最近的RP进行注册,RP之间交互SA消息,共享源信息。RP加入以源端DR为根的SPT,引入组播数据;接收者接收到组播数据后自行决定是否发起SPT切换。

二层主播基础及工作原理
二层组播是指组播信息在数据链路层的按需分发。二层组播的基本原理是使二层设备可以识别组播组IP地址,建立组播组IP地址与端口对应关系的组播转发表,指导组播数据在数据链路层的转发。

一、二层主播概述

在很多情况下,组播报文要不可避免地经过一些二层交换设备,尤其是在局域网环境里,许多接入交换机都是二层的。如下图,在组播用户和三层组播设备Router之间,经过二层交换机Switch。



当Router将组播报文转发至Switch以后,Switch负责将组播报文转发给组播用户。由于组播报文的目的地址IP地址为组播组IP地址,在二层设备上是学习不到这一类MAC表项的,因此,组播数据报文就会在所有接口进行广播,和它在同一广播域内的组播成员和非组播成员都能收到组播数据报文。这样不但浪费了网络带宽,而且影响了网络信息安全。

通过以下这些二层组播技术,可以控制这种广播。

(1)IGMPSnooping/MLD Snooping:二层设备侦听组播用户和上游路由器之间的IGMP/MLD报文,建立二层组播转发表,控制组播数据报文转发。

(2)IGMPSnooping Proxy/MLD Snooping Proxy:IGMP Snooping/MLD Snooping协议报文代理,可减少协议报文转发,减低上游设备的性能压力,节省上游网络带宽。

(3)组播VLAN:上游设备只把组播数据传送给一个指定VLAN,然后由此VLAN在二层设备上把组播流复制到其他VLAN中,可大大减少上游网络带宽的浪费。

(4)二层组播CAC(CallAdmission Control,呼叫许可控制):控制组播组的数量和带宽,避免出现接入带宽需求超出汇聚网络带宽的情况,保证大多数用户的服务质量。

(5)基于VLAN的可控组播:控制用户加入某个组播组的权限。当用户请求加入某个组播组时,二层设备必须对这个请求进行验证,拒绝非法或越权的请求。

此外,通过二层组播SSM Mapping,还可使IGMPv1和IGMPv2版本的主机享受SSM的组播服务。

二、IGMP Snooping/MLD Snooping基本原理

IGMPSnooping/MLD Snooping是二层组播的基本功能,可以实现组播数据数据链路层的转发和控制。当主机和上游三层设备之间传递的IGMP/MLD协议报文通过二层设备时,IGMP Snooping/MLD Snooping分析报文携带的信息,根据这些信息建立和维护二层组播转发表,从而指导组播数据在数据链路层按需转发。

IGMP Snooping用于IPv4组播网络,MLDSnooping用于IPv6组播网络。除了使用的地址和协议报文名称不同,二者实现原理相同。



如上图,当组播数据从三层组播设备Router转发下来以后,处于接入边缘的二层设备Switch负责将组播信息转发给用户。

当二层设备没有运行IGMPSnooping时,组播数据在二层被广播(因为二层交换机无法识别组播IP地址),包括非组播成员都会收到该组播报文;而当二层设备运行了IGMP Snooping后,已知组播组的组播数据不会在二层广播,而是会被组播发送给指定的接收者,没有加入对应组播组的用户不会收到组播报文。因为使能IGMP Snooping功能后,二层设备会侦听主机和上游三层设备之间交互的IGMP报文,通过分析报文中携带的信息(报文类型、组播组地址、接收报文的接口等),建立和维护二层组播转发表,从而指导组播数据在数据链路层按需转发。

1、端口角色

在二层组播IGMP Snooping协议中涉及几种端口角色,下图所示:





二层交换机上的路由器端口和成员端口是二层组播转发表项中的一个重要信息,代表出接口。其中路由器端口相当于上游接口,成员端口相当于下游接口。通过协议报文学习到的端口,对应的为动态表项;而手工配置的端口,对应的为静态表项。

除了出接口外,每条二层组播转发表项还包括组播组地址和VLAN编号。组播组地址,可以为组播IP地址,也可以为组播IP地址映射后的组播MAC地址。按照IP地址转发的模式可以避免MAC地址转发模式中的地址重复问题。

VLAN编号指定了二层广播域范围。如果使用了组播VLAN功能,入VLAN编号为组播VLAN的编号,出VLAN编号为主机所在的用户VLAN编号。否则入VLAN编号和出VLAN编号均为主机所在VLAN的编号。

2、工作机制

在二层设备运行了IGMP Snooping后,收到不同的IGMP协议报文会进行不同的处理,并在此过程中建立起二层组播转发表项。



此外,当二层设备收到PIM Hello报文时,会向VLAN内除接收接口外的其他所有接口转发,并对接受接口做如下处理。

(1)如果路由器端口列表中已包含该动态路由器端口,则重置老化定时器。

(2)如果路由器端口列表尚未包含该接口,则将其添加进去,并启动老化定时器。

收到PIM Hello报文时,动态路由器端口的老化时间为Hello报文中Holdtime字段的值。

如果是静态配置路由器端口,二层设备收到IGMPReport和Leave报文也会向静态路由器端口转发。如果配置了静态成员端口,则转发表项中会添加该接口为出接口。

当二层设备上建立了二层组播转发表项以后,在接收到组播数据报文时会依据报文所属VLAN和报文的目的地址(即组播地址)查找转发表项是否存在对应的“出接口信息”。如果存在,则将报文发送到所有组播组成员端口;如果不存在,则丢弃该报文或将报文在VLAN内广播。

三、IGMP Snooping Proxy/MLD Snooping Proxy基本原理

为了减少上游三层设备收到的IGMPReport/MLD Report报文和IGMP Leave/MLD Done报文的数量,可以在二层设备上部署IGMP Snooping Proxy/MLD Snooping Proxy功能,使其能够代理下有主机来向上游设备发送成员关系报告报文。配置了IGMP Snooping Proxy/MLD Snooping Proxy功能的设备称为IGMP Snooping/MLDSnooping代理,在其上游设备看来,它就相当于一台主机;在其下游设备看来,它相当于一台查询器。

IGMP SnoopingProxy用于IPv4组播网络,MLD Snooping Proxy用于IPv6组播网络。工作原理如下:

1、在组播报文传递上的改变

如下图所示,当Switch上运行IGMPSnooping时,Switch对上游Router的Query报文和下游主机的Report/Leave报文都是原封不动地转发。当网络中存在大量用户主机时,冗余的IGMP报文给上游设备带来处理压力。



当Switch上配置IGMPSnooping Proxy时,Switch可以终结上游的IGMP Query报文,并且自己构造Query报文向下游主机发送;终结下游主机的IGMP Report/Leave报文,并自己构造统一的Report/Leave报文向上游发送。

部署IGMP Snooping Proxy后,三层设备会感知到下面只有一个用户,二层设备直接跟下游用户和三层设备进行对话,而不再是一个完全透明的转发角色。IGMP Snooping Proxy可有效减少IGMP协议在网络中的交互程度,节约带宽;有效屏蔽来自下游主机的大量协议报文,并接管了对主机的查询器功能,分担上游三层设备的性能负荷。

2、工作机制

运行IGMP Snooping Proxy的设备会参与二层组播转发表的建立和维护,依据转发表向有需要的用户主机发送组播数据。



四、二层组播SSM Mapping

SSM(指定源组播)与ASM(任意源组播)技术相比就是SSM可以指定组播源,具有更好的安全性。在三层IGMP和MLD组播协议中,只有IGMPv3或MLDv2版本协议支持SSM,如果用户主机只能运行IGMPv1/IGMPv2或MLDv1,则不能直接使用SSM模型。这时,为了使其能够使用SSM服务,则需要借助SSM Mapping功能。

同样,在二层组播中也可通过SSMMapping实现对SSM服务的支持,但是目前只实现了IPv4组播网络中的二层SSM Mapping,即基于IGMP Snooping的SSM Mapping。通过在IGMP Snooping协议的二层设备上静态配置SSM地址的映射规则,可将IGMPv1和IGMPv2 Report报文中的(*,G)信息转化为对应的(S,G)信息,以提供SSM组播服务。S表示组播源,G表示组播组,*表示任意组播源。缺省情况下,SSM组播组IP地址范围为232.0.0.0~232.255.255.255。

如下图,3个接收者(Receiver)运行不同的IGMP版本,且HostB和HostC无法升级到IGMPv3。如果要为该网段中的所有主机提供SSM服务,则必须在二层设备Switch上使用二层组播SSM Mapping功能。



这时,如果在Switch上配置了如下组播地址和组播源地址映射关系:

(1)232.1.1.0/34——>10.10.1.1

(2)232.1.2.0/24——>10.10.2.2

(3)232.1.3.0/24——>10.10.3.3

经过映射后,Switch在收到HostB和HostC的成员报告报文时,首先判断报文携带的组地址是否在SSM范围内,经过映射后则肯定在SSM范围内,此时就可以根据配置的映射规则生成如下所示的组播表项。

(1)232.1.1.1(来自HostC):(10.10.1.1,232.1.1.1)

(2)232.1.2.2(来自HostB):(10.10.2.2,232.1.2.2)

如果Report报文携带的组地址在SSM范围内,但是Switch上没有对应的SSMMapping规则,则无法提供SSM服务,丢弃该报文。如果Report报文携带的组地址不在SSM范围内,则只提供ASM服务。

五、组播VLAN

IGMPSnooping/MLD Snooping二层组播侦听功能很好地弥补了组播数据在二层广播网络只能进行广播的不足。但是这种功能仍是基于一个广播域,即基于VLAN来实现的。如果不同VLAN的用户有相同的组播数据需求时,上游路由器仍然需要发送多份相同报文到不同VLAN中。这时就得使用组播VLAN功能了。他实现了组播路由器只需发送一份数据就可在二层网络设备上进行跨VLAN组播复制,大大减轻了组播路由器和网络的负担。

1、组播VLAN基本原理

如下图所示,属于不同VLAN(VLAN2和VLAN3)的用户需要接收相同的组播流,上游路由器RouterA就会把组播数据在每个VLAN内都复制一份然后发送给下游交换机SwitchA。这样,既造成了路由器与二层设备之间带宽的浪费,也增加了路由器额外的负担。



通过在二层设备上配置组播VLAN功能就可以解决这个问题。如在图中的Switch上部署了组播VLAN功能后,上游路由器不必在每个用户VLAN(VLAN2和VLAN3)内都复制一份组播流,而组播路由器只需向组播VLAN(VLAN4)内复制一份数据发送给二层设备。这样就避免了组播流在上游设备的重复复制,不仅节省了网络带宽,而且减轻了上游路由器的负担。

在这里涉及两种VLAN:组播VLAN和用户VLAN。“组播VLAN”是网络侧接口(也就是连接组播路由器的接口)所属VLAN,用于实现组播流的汇聚;“用户VLAN”是用户侧接口(也就是连接组播接收者的接口)所属VLAN,用于接收组播VLAN复制、发送的组播数据副本。一个组播VLAN可以绑定多个用户VLAN,但一个用户VLAN只能加入一个组播VLAN

2、组播VLAN的扩展

通常情况下,组播VLAN的应用场景是通过组播VLAN将相同的组播数据复制分发到不同的用户VLAN中来节省网络带宽。但是,有时候也会存在单个用户VLAN需要接收多个组播VLAN的组播数据的场景。为此,组播VLAN进行了如下扩展:

(1)组播VLAN多对多

“组播VLAN多对多”是对传统的“组播VLAN一对多”(即多个用户VLAN可以加入一个组播VLAN,但是一个用户VLAN不能加入多个组播VLAN)的补充。如下图,用户VLAN(UVLAN)需要接收来自两个组播VLAN(MVLAN1、MVLAN2)的组播数据。通过组播VLAN多对多功能实现一个用户同时接收两个组播VLAN数据的过程如下:



①在用户VLAN上使能静态组播流触发功能。

②在组播VLAN上分别配置Source1、Source2的静态组播流。

③用户VLAN分别加入两个组播VLAN。

从上述过程可见,组播VLAN多对多主要是依靠静态组播流触发机制+组播VLAN一对多功能共同来完成。

(2)基于接口的组播VLAN

在组播VLAN中还会出现这样一种场景:网络中的组播业务批发给了多个ISP,单个用户VLAN中不同用户定制了不同的ISP所提供的组播业务。这时候如果再使用组播VLAN多对多功能,就会造成只定制某ISP提供的组播业务的用户能够接收到其他ISP提供的组播业务。

为了保证相同用户VLAN中的不同用户之间的组播业务隔离,可通过为不同ISP分配一个VLAN作为组播VLAN,然后基于接口将组播VLAN与用户VLAN进行绑定来实现,这就是基于接口的组播VLAN。这样,ISP对应的组播VLAN就与{用户接入接口、用户VLAN}形成了一一映射的关系,用户接入接口就不会向下游转发未绑定的组播VLAN的数据。但只有IGMP Snooping支持基于接口的组播VLAN。



如上图,组播业务批发给了ISP1、ISP2两个服务商,用户VLAN中的Host1和Host2定制的是ISP1提供的组播服务,而Host3和Host4定制的是ISP2提供的组播服务。为了使两个ISP提供的组播数据不会发送到所有的用户主机上,向ISP1、ISP2分别配置一个组播VLAN(MVLAN1、MVLAN2),将Host1和Host2的接入接口与MVLAN1绑定,将Host3和Host4的接入接口与MVLAN2绑定。这样,ISP1提供的组播数据只向Host1和Host2发送,ISP2提供的组播数据只向Host3和Host4发送。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: