如图1所示,网络以组播方式传递业务数据,网络划分为三个PIM-SM域。组播源Source1向组播组225.1.1.0/30和226.1.1.0/30发送组播数据,组播源Source2向组播组227.1.1.0/30发送组播数据。根据业务需要,接收者HostA和HostB只接收发往组播组225.1.1.0/30和226.1.1.0/30的组播数据,而HostC则只接收发往组播组226.1.1.0/30和227.1.1.0/30的组播数据。
图1 配置SA消息过滤组网图
配置MSDP,实现域间组播源信息共享;再配置SA消息过滤,使接收者只能收到相应的组播数据。
1. 配置各Router接口IP地址,在PIM-SM域内配置OSPF协议实现互联。
2. 使能组播功能,并在各接口上使能PIM-SM功能,并配置BSR服务边界划分PIM-SM域,在主机侧接口上使能IGMP功能。
3. 配置RouterA、RouterC和RouterD上Loopback0接口分别作为各自PIM-SM域的C-BSR和C-RP。
4. 在各域的RP之间建立MSDP对等体。在RouterA和RouterC之间建立对等体,RouterC和RouterD之间建立对等体。
5. 配置SA消息过滤规则。配置RouterC不向RouterD转发有关(Source1,225.1.1.0/30)的SA消息,配置RouterD不创建有关Source2的SA消息。
1. 配置各Router接口IP地址和单播路由协议。
# 按照图1,在PIM-SM域内,配置各Router接口的IP地址和掩码,配置各Router间采用OSPF进行互连。具体配置过程略。
2. 使能组播路由功能,并配置PIM-SM功能。
# 在所有Router使能组播路由功能,并在各接口上使能PIM-SM功能,在主机侧接口使能IGMP功能。以下配置以RouterA为例,其他Router的配置过程与RouterA上的配置相似,配置过程略。
[RouterA] multicast routing-enable
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] pim sm
[RouterA-GigabitEthernet1/0/0] igmp enable
[RouterA-GigabitEthernet1/0/0] quit
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] pim sm
[RouterA-GigabitEthernet2/0/0] quit
[RouterA] interface gigabitethernet 3/0/0
[RouterA-GigabitEthernet3/0/0] pim sm
[RouterA-GigabitEthernet3/0/0] quit
[RouterA] interface loopback 0
[RouterA-LoopBack0] pim sm
[RouterA-LoopBack0] quit
3. 配置BSR的服务边界,划分PIM-SM域。
# 在RouterC上配置BSR的服务边界,RouterA、RouterB、RouterD的配置与RouterC类似,配置过程略。
[RouterC] interface gigabitethernet 2/0/0
[RouterC-GigabitEthernet2/0/0] pim bsr-boundary
[RouterC-GigabitEthernet2/0/0] quit
[RouterC] interface gigabitethernet 3/0/0
[RouterC-GigabitEthernet3/0/0] pim bsr-boundary
[RouterC-GigabitEthernet3/0/0] quit
[RouterC] interface gigabitethernet 4/0/0
[RouterC-GigabitEthernet4/0/0] pim bsr-boundary
[RouterC-GigabitEthernet4/0/0] quit
4. 配置C-BSR、C-RP的位置。
# 在RouterA上将Loopback0接口配置为C-BSR和C-RP。RouterC、RouterD上的配置过程与RouterA上的配置相似,配置过程略。
[RouterA] pim
[RouterA-pim] c-bsr loopback0
[RouterA-pim] c-rp loopback0
[RouterC-pim] quit
5. 配置MSDP对等体。
# 在RouterA上配置MSDP对等体。
[RouterA] msdp
[RouterA-msdp] peer 192.168.1.2 connect-interface gigabitethernet 3/0/0
[RouterA-msdp] quit
# 在RouterC上配置MSDP对等体。
[RouterC] msdp
[RouterC-msdp] peer 192.168.1.1 connect-interface gigabitethernet 3/0/0
[RouterC-msdp] peer 10.110.5.2 connect-interface gigabitethernet 2/0/0
[RouterC-msdp] quit
# 在RouterD上配置MSDP对等体。
[RouterD] msdp
[RouterD-msdp] peer 10.110.5.1 connect-interface gigabitethernet 2/0/0
[RouterD-msdp] quit
6. 配置SA消息过滤规则。
# 在RouterC上配置不向RouterD转发有关(Source1,225.1.1.0/30)的SA消息。
[RouterC] acl number 3001
[RouterC-acl-adv-3001] rule deny ip source 10.110.3.100 0 destination 225.1.1.0 0.0.0.3
[RouterC-acl-adv-3001] rule permit ip source any destination any
[RouterC-acl-adv-3001] quit
[RouterC] msdp
[RouterC-msdp] peer 10.110.5.2 sa-policy export acl 3001
[RouterC-msdp] quit
# 在RouterD上配置不创建有关Source2的SA消息。
[RouterD] acl number 2001
[RouterD-acl-basic-2001] rule deny source 10.110.6.100 0
[RouterD-acl-basic-2001] quit
[RouterD] msdp
[RouterD-msdp] import-source acl 2001
[RouterD-msdp] quit
7. 验证配置结果。
# 通过使用display msdp sa-cache命令可以查看Router上SA缓存中的(S,G)表项信息。例如:RouterC和RouterD上信息如下:
<RouterC> display msdp sa-cache
MSDP Source-Active Cache Information of VPN-Instance: public net
MSDP Total Source-Active Cache - 8 entries
MSDP matched 8 entries
(Source, Group) Origin RP Pro AS Uptime Expires
(10.110.3.100, 225.1.1.0) 1.1.1.1 ? ? 02:03:30 00:05:31
(10.110.3.100, 225.1.1.1) 1.1.1.1 ? ? 02:03:30 00:05:31
(10.110.3.100, 225.1.1.2) 1.1.1.1 ? ? 02:03:30 00:05:31
(10.110.3.100, 225.1.1.3) 1.1.1.1 ? ? 02:03:30 00:05:31
(10.110.3.100, 226.1.1.0) 1.1.1.1 ? ? 02:03:30 00:05:31
(10.110.3.100, 226.1.1.1) 1.1.1.1 ? ? 02:03:30 00:05:31
(10.110.3.100, 226.1.1.2) 1.1.1.1 ? ? 02:03:30 00:05:31
(10.110.3.100, 226.1.1.3) 1.1.1.1 ? ? 02:03:30 00:05:31
<RouterD> display msdp sa-cache
MSDP Source-Active Cache Information of VPN-Instance: public net
MSDP Total Source-Active Cache - 4 entries
MSDP matched 4 entries
(Source, Group) Origin RP Pro AS Uptime Expires
(10.110.3.100, 226.1.1.0) 1.1.1.1 ? ? 00:32:53 00:05:07
(10.110.3.100, 226.1.1.1) 1.1.1.1 ? ? 00:32:53 00:05:07
(10.110.3.100, 226.1.1.2) 1.1.1.1 ? ? 00:32:53 00:05:07
(10.110.3.100, 226.1.1.3) 1.1.1.1 ? ? 00:32:53 00:05:07
(10.110.3.100, 227.1.1.0) 1.1.1.1 ? ? 00:32:53 00:05:07
(10.110.3.100, 227.1.1.1) 1.1.1.1 ? ? 00:32:53 00:05:07
(10.110.3.100, 227.1.1.2) 1.1.1.1 ? ? 00:32:53 00:05:07
(10.110.3.100, 227.1.1.3) 1.1.1.1 ? ? 00:32:53 00:05:07
从显示信息中可以看出,RouterC的SA缓存中只有225.1.1.0/30和226.1.1.0/30的组播数据。RouterD的SA缓存中只有226.1.1.0/30和227.1.1.0/30的组播数据。
· RouterA的配置文件
#
sysname RouterA
#
multicast routing-enable
#
interface Gigabitethernet1/0/0
ip address 10.110.1.1 255.255.255.0
pim sm
igmp enable
#
interface Gigabitethernet2/0/0
ip address 10.110.2.1 255.255.255.0
pim sm
#
interface Gigabitethernet3/0/0
ip address 192.168.1.1 255.255.255.0
pim bsr-boundary
pim sm
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
pim sm
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.110.1.0 0.0.0.255
network 10.110.2.0 0.0.0.255
network 192.168.1.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
msdp
peer 192.168.1.2 connect-interface Gigabitethernet3/0/0
#
return
· RouterB的配置文件
#
sysname RouterB
#
multicast routing-enable
#
interface Gigabitethernet1/0/0
ip address 10.110.3.1 255.255.255.0
pim sm
#
interface Gigabitethernet2/0/0
ip address 10.110.2.2 255.255.255.0
pim sm
#
interface Gigabitethernet3/0/0
ip address 192.168.2.1 255.255.255.0
pim bsr-boundary
pim sm
#
ospf 1
area 0.0.0.0
network 10.110.2.0 0.0.0.255
network 10.110.3.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#
return
· RouterC的配置文件
#
sysname RouterC
#
multicast routing-enable
#
acl number 3001
rule 5 deny ip source 10.110.3.100 0 destination 225.1.1.0 0.0.0.3
rule 10 permit ip
#
interface Gigabitethernet1/0/0
ip address 10.110.4.1 255.255.255.0
pim sm
igmp enable
#
interface Gigabitethernet2/0/0
ip address 10.110.5.1 255.255.255.0
pim bsr-boundary
pim sm
#
interface Gigabitethernet3/0/0
ip address 192.168.1.2 255.255.255.0
pim bsr-boundary
pim sm
#
interface Gigabitethernet4/0/0
ip address 192.168.2.2 255.255.255.0
pim bsr-boundary
pim sm
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
pim sm
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.110.4.0 0.0.0.255
network 10.110.5.0 0.0.0.255
network 192.168.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
msdp
peer 192.168.1.1 connect-interface Gigabitethernet3/0/0
peer 10.110.5.2 connect-interface Gigabitethernet2/0/0
peer 10.110.5.2 sa-policy export acl 3001
#
return
· RouterD的配置文件
#
sysname RouterD
#
multicast routing-enable
#
acl number 2001
rule 5 deny source 10.110.6.100 0
#
interface Gigabitethernet1/0/0
ip address 10.110.7.1 255.255.255.0
pim sm
igmp enable
#
interface Gigabitethernet2/0/0
ip address 10.110.5.2 255.255.255.0
pim bsr-boundary
pim sm
#
interface Gigabitethernet3/0/0
ip address 10.110.6.1 255.255.255.0
pim sm
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
pim sm
#
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.110.5.0 0.0.0.255
network 10.110.6.0 0.0.0.255
network 10.110.7.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
msdp
import-source acl 2001
peer 10.110.5.1 connect-interface Gigabitethernet2/0/0
#
return