(1) 配置基于静态RPF对等体的AS间组播示例
如图1所示,网络中存在两个自治系统。每个AS包含一个或多个PIM-SM域,每个PIM-SM域拥有0个或1个组播源和接收者。要求在PIM-SM域间建立MSDP对等体共享组播源信息。
设计方案:在每个PIM-SM域的RP上设置一个MSDP对等体。在MSDP对等体之间建立静态RPF对等体。从而在不改变单播拓扑的基础上实现跨域源信息的传输。步骤如下:
1. 配置各路由器的接口IP地址,在自治系统内配置OSPF协议,自治系统间配置EBGP,将BGP与OSPF互相引入。
2. 使能组播功能,并在各接口上使能PIM-SM功能,在主机侧接口上使能IGMP功能。配置Loopback0接口和C-BSR、C-RP位置。RouterC、RouterD和RouterF上Loopback0接口分别作为各自PIM-SM域的C-BSR和C-RP。
3. 在各域的RP之间建立MSDP对等体。RouterC和RouterD之间建立MSDP peer,RouterC和RouterF之间建立MSDP peer。
4. 为MSDP对等体指定静态RPF对等体。RouterC的静态RPF对等体为RouterD和RouterF,RouterD和RouterF分别只有RouterC一个静态RPF对等体。根据RPF规则,接收静态RPF对等体发来的SA消息。
1. 配置各路由器的接口IP地址和单播路由协议
# 按照图1,配置各路由器接口的IP地址和掩码,在自治系统内配置OSPF协议,在RouterA和RouterF、RouterB和RouterE之间配置EBGP,将BGP与OSPF互相引入。确保各路由器之间能够在网络层互通,并且路由器之间能够借助单播路由协议实现动态路由更新。具体配置过程略。
2. 使能组播功能,并在各接口上使能PIM-SM功能,在主机侧接口上使能IGMP功能,并在AS边界Router接口上配置BSR服务边界
# 在所有路由器上使能组播功能,并在各接口上使能PIM-SM功能。其他路由器上的配置过程与RouterC上的配置相似,配置过程略。
[RouterC] multicast routing-enable
[RouterC] interface gigabitethernet 1/0/0
[RouterC-Gigabitethernet1/0/0] pim sm
[RouterC-Gigabitethernet1/0/0] quit
[RouterC] interface gigabitethernet 2/0/0
[RouterC-Gigabitethernet2/0/0] pim sm
[RouterC-Gigabitethernet2/0/0] quit
# 在RouterE的GE3/0/0接口使能IGMP功能。RouterG上的配置与此类似,配置过程略。
[RouterE] interface gigabitethernet 3/0/0
[RouterE-GigabitEthernet3/0/0] igmp enable
[RouterE-GigabitEthernet3/0/0] quit
# 在RouterA的GE1/0/0接口、RouterB的GE2/0/0接口、RouterE的GE2/0/0接口和RouterF的GE1/0/0接口上配置BSR服务边界。RouterB、RouterE和RouterF上的配置过程与RouterA上的配置相似,配置过程略。
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] pim bsr-boundary
[RouterA-GigabitEthernet1/0/0] quit
3. 配置Loopback0接口和C-BSR、C-RP位置
# 在RouterC、RouterD和RouterF上配置Loopback0接口,C-BSR和C-RP的位置。RouterD和RouterF上的配置过程与RouterC上的配置相似,配置过程略。
[RouterC] interface loopback 0
[RouterC-LoopBack0] ip address 1.1.1.1 255.255.255.255
[RouterC-LoopBack0] pim sm
[RouterC-LoopBack0] quit
[RouterC] pim
[RouterC-pim] c-bsr loopback 0
[RouterC-pim] c-rp loopback 0
[RouterC-pim] quit
4. 配置静态RPF对等体
# 配置RouterD和RouterF作为RouterC的静态RPF对等体。
[RouterC] ip ip-prefix list-df permit 192.168.0.0 16 greater-equal 16 less-equal 32
[RouterC] msdp
[RouterC-msdp] peer 192.168.3.2 connect-interface gigabitethernet 1/0/0
[RouterC-msdp] peer 192.168.5.1 connect-interface gigabitethernet 2/0/0
[RouterC-msdp] static-rpf-peer 192.168.3.2 rp-policy list-df
[RouterC-msdp] static-rpf-peer 192.168.5.1 rp-policy list-df
[RouterC-msdp] quit
# 配置RouterC作为RouterD和RouterF的静态RPF对等体。RouterF上的配置过程和RouterD上的配置相似,配置过程略。
[RouterD] ip ip-prefix list-c permit 192.168.0.0 16 greater-equal 16 less-equal 32
[RouterD] msdp
[RouterD-msdp] peer 192.168.1.1 connect-interface gigabitethernet 1/0/0
[RouterD-msdp] static-rpf-peer 192.168.1.1 rp-policy list-c
5. 检验配置效果
# 通过使用display bgp peer命令可以查看路由器之间BGP对等体建立情况。RouterC上无任何信息输出,说明RouterC与RouterD和RouterF之间未建立BGP对等体关系。
#通过使用display msdp brief命令可以查看路由器之间MSDP对等体建立情况。当PIM-SM1内组播源S1发送组播信息时,PIM-SM2和PIM-SM3内的接收者能接收到组播信息,例如RouterC、RouterD和RouterF上MSDP对等体的显示信息如下:
<RouterC> display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
2 2 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
192.168.3.2 Up 01:07:08 ? 8 0
192.168.5.1 Up 00:16:39 ? 13 0
<RouterD> display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
192.168.1.1 Up 01:07:09 ? 8 0
<RouterF> display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
192.168.4.1 Up 00:16:40 ? 13 0
· RouterA的配置文件
#
sysname RouterA
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.5.2 255.255.255.0
pim bsr-boundary
pim sm
#
interface GigabitEthernet2/0/0
ip address 192.168.4.2 255.255.255.0
pim sm
#
interface GigabitEthernet3/0/0
ip address 10.110.1.1 255.255.255.0
pim sm
#
bgp 100
router-id 1.1.1.3
peer 192.168.5.1 as-number 200
#
ipv4-family unicast
undo synchronization
import-route ospf 1
peer 192.168.5.1 enable
#
ospf 1
import-route bgp
area 0.0.0.0
network 10.110.1.0 0.0.0.255
network 192.168.4.0 0.0.0.255
network 192.168.5.0 0.0.0.255
#
return
· RouterB的配置文件
#
sysname RouterB
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.1.2 255.255.255.0
pim sm
#
interface GigabitEthernet2/0/0
ip address 192.168.2.2 255.255.255.0
pim bsr-boundary
pim sm
#
bgp 100
router-id 1.1.1.2
peer 192.168.2.1 as-number 200
#
ipv4-family unicast
undo synchronization
import-route ospf 1
peer 192.168.2.1 enable
#
ospf 1
import-route bgp
area 0.0.0.0
network 192.168.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#
return
· RouterC的配置文件
#
sysname RouterC
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.1.1 255.255.255.0
pim sm
#
interface GigabitEthernet2/0/0
ip address 192.168.4.1 255.255.255.0
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 192.168.1.0 0.0.0.255
network 192.168.4.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
ip ip-prefix list-df index 10 permit 192.168.0.0 16 greater-equal 16 less-equal 32
#
msdp
peer 192.168.3.2 connect-interface GigabitEthernet1/0/0
peer 192.168.5.1 connect-interface GigabitEthernet2/0/0
static-rpf-peer 192.168.3.2 rp-policy list-df
static-rpf-peer 192.168.5.1 rp-policy list-df
#
return
· RouterD的配置文件
#
sysname RouterD
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.3.2 255.255.255.0
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 192.168.3.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
ip ip-prefix list-c index 10 permit 192.168.0.0 16 greater-equal 16 less-equal 32
#
msdp
peer 192.168.1.1 connect-interface GigabitEthernet1/0/0
static-rpf-peer 192.168.1.1 rp-policy list-c
#
return
· RouterE的配置文件
#
sysname RouterE
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.3.1 255.255.255.0
pim sm
#
interface GigabitEthernet2/0/0
ip address 192.168.2.1 255.255.255.0
pim bsr-boundary
pim sm
#
interface GigabitEthernet3/0/0
ip address 10.110.2.1 255.255.255.0
pim sm
igmp enable
#
bgp 200
router-id 2.2.2.1
peer 192.168.2.2 as-number 100
#
ipv4-family unicast
undo synchronization
import-route ospf 1
peer 192.168.2.2 enable
#
ospf 1
import-route bgp
area 0.0.0.0
network 10.110.2.0 0.0.0.255
network 192.168.2.0 0.0.0.255
network 192.168.3.0 0.0.0.255
#
return
· RouterF的配置文件
#
sysname RouterF
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.5.1 255.255.255.0
pim bsr-boundary
pim sm
#
interface GigabitEthernet2/0/0
ip address 192.168.6.1 255.255.255.0
pim sm
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
pim sm
#
bgp 200
router-id 3.3.3.3
peer 192.168.5.2 as-number 100
#
ipv4-family unicast
undo synchronization
import-route ospf 1
peer 192.168.5.2 enable
#
ospf 1
import-route bgp
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 192.168.5.0 0.0.0.255
network 192.168.6.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
ip ip-prefix list-c index 10 permit 192.168.0.0 16 greater-equal 16 less-equal 32
#
msdp
peer 192.168.4.1 connect-interface GigabitEthernet1/0/0
static-rpf-peer 192.168.4.1 rp-policy list-c
#
return
· RouterG的配置文件
#
sysname RouterG
#
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 192.168.6.2 255.255.255.0
pim sm
#
interface GigabitEthernet3/0/0
ip address 10.110.4.1 255.255.255.0
pim sm
igmp enable
#
ospf 1
area 0.0.0.0
network 10.110.3.0 0.0.0.255
network 10.110.4.0 0.0.0.255
network 192.168.6.0 0.0.0.255
#
return