可控组播组.docx
《可控组播组.docx》由会员分享,可在线阅读,更多相关《可控组播组.docx(9页珍藏版)》请在冰豆网上搜索。
可控组播组
可控组播概述
可控组播全称ControllableMulticast,主要通过组播组、组播组列表、组播模板在内的三级控制机制来灵活的配置用户的组播权限。
传统的组播业务是不可控的,用户可以通过发送IGMP/MLDReport报文来加入某个组播组,从而接收该组播组的组播报文。
随着IPTV业务的逐步开展,这种不可控的组播业务已经无法适应运营需求。
IPTV业务是以盈利为目的的电信业务,用户只有通过缴纳费用才能收看某个节目(加入组播组),如果不能对用户进行鉴权,则无法满足IPTV的运营需求。
可控组播正是在这种背景下提出的,其核心思想就是控制用户加入某个组播组的权限。
当用户请求加入某个组播组时,交换机设备必须对这个请求进行鉴权,拒绝非法或越权的请求。
交换机的可控组播通过拦截IGMP/MLDReport报文,控制二层组播转发表项的生成来达到组播控制目的。
当收到用户的IGMP/MLDReport报文后,根据报文所属的VLAN找到其使用的模板,如果组播组不在模板的列表下,则认为用户对该组没有权限,拦截此IGMP/MLDReport报文,不让其生成转发表项,从而使用户接收不到该组播组的数据流。
如果组播组在模板的列表下,则看列表以哪种方式加入模板,如果列表以观看方式加入模板,则让IGMP/MLDReport报文通过。
如果列表以预览方式加入模板,也让IGMP/MLDReport报文通过,但同时启动一个定时器,当预览时间超时就删除该组播组的转发表项,并拦截该组播组后续的IGMP/MLDReport报文。
从而实现预览功能
基本概念
介绍可控组播中组播组、组播组列表、组播模板三个基本概念。
说明:
可控组播作为一个二层组播特性,本章中涉及到接口的配置,都是在二层物理接口(包括Eth-Trunk接口)下进行配置。
交换机提供了基于VLAN的可控组播机制,通过配置组播模板(MulticastProfile)来实现对用户组播权限的控制。
为了更灵活的配置用户的组播权限,交换机提供了包括组播组、组播组列表、组播模板在内的三级控制机制,如图1所示。
图1可控组播的分级控制机制
组播组
一个组播组对应一个组播地址,例如224.1.1.1。
可理解为IPTV的一个频道(Channel)或者节目(Program)。
组播组列表
组播组列表是一系列组播组的集合。
一个组播组列表可包含若干个组播组,例如图1中,组播组列表L1包含了组播组G1、G2、G3、G4。
一个组播组也可以被若干个组播组列表包含,例如组播组G3被组播组列表L1、L2所包含。
组播模板
组播模板定义了用户组播权限的框架,它是一系列组播组列表的集合。
一个组播模板可包含若干个组播组列表,例如图1中,组播模板P1包含了组播组列表L1、L2、L3。
一个组播组列表也可以被若干个组播模板包含,例如组播组列表L2被组播模板P1、P2所包含。
加入模板的列表都有其属性(观看或预览),如果列表是以观看属性加入模板,则模板的用户可观看列表下的所有组播组;如果列表是以预览属性加入模板,则模板的用户只能预览列表下的所有组播组
配置可控组播示例
组网需求
如图1所示,路由器连接的网络上有组播组G1(225.0.0.1)、G2(225.0.0.2)、G3(225.0.0.3)和G4(225.0.0.4)。
现在控制VlAN10和VLAN20的用户只能观看G1和G2;VlAN30和VlAN40的用户可观看所有的组播组。
说明:
这里介绍IPv4网络中可控组播的配置示例。
IPv6网络的配置示例和IPv4的配置示例类似,只需将配置IGMPSnooping换成配置MLDSnooping即可。
图1可控组播组网图
配置思路
在Switch上配置可控组播,可实现此需求。
配置思路如下:
1.配置IGMPSnooping。
2.配置可控组播。
∙配置两个组播列表L1(G1,G2)和L2(G3,G4)。
∙配置两个模板P1和P2。
配置步骤
1.配置用户VLAN,并将接口加入用户VLAN。
2.system-view
3.[Switch]vlanbatch10203040
4.[Switch]interfacegigabitethernet0/0/1
5.[Switch-GigabitEthernet0/0/1]porthybriduntaggedvlan10
6.[Switch-GigabitEthernet0/0/1]porthybridpvidvlan10
7.[Switch-GigabitEthernet0/0/1]quit
8.[Switch]interfacegigabitethernet0/0/2
9.[Switch-GigabitEthernet0/0/2]porthybriduntaggedvlan20
10.[Switch-GigabitEthernet0/0/2]porthybridpvidvlan20
11.[Switch-GigabitEthernet0/0/2]quit
12.[Switch]interfacegigabitethernet0/0/3
13.[Switch-GigabitEthernet0/0/3]porthybriduntaggedvlan30
14.[Switch-GigabitEthernet0/0/3]porthybridpvidvlan30
15.[Switch-GigabitEthernet0/0/3]quit
16.[Switch]interfacegigabitethernet0/0/4
17.[Switch-GigabitEthernet0/0/4]porthybriduntaggedvlan40
18.[Switch-GigabitEthernet0/0/4]porthybridpvidvlan40
19.[Switch-GigabitEthernet0/0/4]quit
20.配置IGMPSnooping。
21.[Switch]igmp-snoopingenable
22.[Switch]vlan10
23.[Switch-vlan10]igmp-snoopingenable
24.[Switch-vlan10]quit
25.[Switch]vlan20
26.[Switch-vlan20]igmp-snoopingenable
27.[Switch-vlan20]quit
28.[Switch]vlan30
29.[Switch-vlan30]igmp-snoopingenable
30.[Switch-vlan30]quit
31.[Switch]vlan40
32.[Switch-vlan40]igmp-snoopingenable
33.[Switch-vlan40]quit
34.配置可控组播。
#配置组播组。
[Switch]btv
[Switch-btv]multicast-groupG1ip-address225.0.0.1
[Switch-btv]multicast-groupG2ip-address225.0.0.2
[Switch-btv]multicast-groupG3ip-address225.0.0.3
[Switch-btv]multicast-groupG4ip-address225.0.0.4
#配置组播组列表。
[Switch-btv]multicast-listL1
[Switch-btv-list-L1]addmulticast-groupnameG1
[Switch-btv-list-L1]addmulticast-groupnameG2
[Switch-btv-list-L1]quit
[Switch-btv]multicast-listL2
[Switch-btv-list-L2]addmulticast-groupnameG3
[Switch-btv-list-L2]addmulticast-groupnameG4
[Switch-btv-list-L2]quit
#配置组播模板。
[Switch-btv]multicast-profileP1
[Switch-btv-profile-P1]addmulticast-listnameL1watch
[Switch-btv-profile-P1]quit
[Switch-btv]multicast-profileP2
[Switch-btv-profile-P2]addmulticast-listnameL1watch
[Switch-btv-profile-P2]addmulticast-listnameL2watch
[Switch-btv-profile-P2]quit
[Switch-btv]quit
#在VLAN下应用组播模板。
[Switch]vlan10
[Switch-vlan10]attachmulticast-profileP1
[Switch-vlan10]quit
[Switch]vlan20
[Switch-vlan20]attachmulticast-profileP1
[Switch-vlan20]quit
[Switch]vlan30
[Switch-vlan30]attachmulticast-profileP2
[Switch-vlan30]quit
[Switch]vlan40
[Switch-vlan40]attachmulticast-profileP2
[Switch-vlan40]quit
35.检验配置结果。
36.[Switch]displaymulticast-profile-apply
37.------------------------------------------------------------------------------
38.Vlan-idPortSMACMax-Users
39.IndexProfile-name
40.------------------------------------------------------------------------------
41.Vlan10----8
42.1P1
43.Vlan20----8
44.1P1
45.Vlan30----8
46.2P2
47.Vlan40----8
48.2P2
49.
50.Total:
4
51.[Switch]displaymulticast-profile
52.-----------------------------------------------------------------------------
53.IndexProfile-NameMulticast-listAttach-User
54.-----------------------------------------------------------------------------
55.1P112
56.2P222
57.
58.Total:
2
59.[Switch]displaymulticast-list
60.-------------------------------------------------------------------------
61.IndexMulticast-list-nameMulticast-group
62.-------------------------------------------------------------------------
63.1L12
64.2L22
65.
66.Total:
2
67.
68.[Switch]displaymulticast-group
69.-------------------------------------------------------------------------
70.IndexMulticast-group-nameAddress
71.-------------------------------------------------------------------------
72.1G1225.0.0.1
73.2G2225.0.0.2
74.3G3225.0.0.3
75.4G4225.0.0.4
76.
Total:
4
配置文件
sysnameSwitch
#
vlanbatch10203040
#
igmp-snoopingenable
#
btv
multicast-groupG1ip-address225.0.0.1
multicast-groupG2ip-address225.0.0.2
multicast-groupG3ip-address225.0.0.3
multicast-groupG4ip-address225.0.0.4
multicast-listL1
addmulticast-groupnameG1
addmulticast-groupnameG2
multicast-listL2
addmulticast-groupnameG3
addmulticast-groupnameG4
multicast-profileP1
addmulticast-listnameL1watch
multicast-profileP2
addmulticast-listnameL1watch
addmulticast-listnameL2watch
#
vlan10
igmp-snoopingenable
attachmulticast-profileP1
#
vlan20
igmp-snoopingenable
attachmulticast-profileP1
#
vlan30
igmp-snoopingenable
attachmulticast-profileP2
#
vlan40
igmp-snoopingenable
attachmulticast-profileP2
#
interfaceGigabitEthernet0/0/1
porthybridpvidvlan10
porthybriduntaggedvlan10
#
interfaceGigabitEthernet0/0/2
porthybridpvidvlan20
porthybriduntaggedvlan20
#
interfaceGigabitEthernet0/0/3
porthybridpvidvlan30
porthybriduntaggedvlan30
#
interfaceGigabitEthernet0/0/4
porthybridpvidvlan40
porthybriduntaggedvlan40
#
return