如图1所示,网络中存在两个自治系统AS。每个AS包含一个或多个PIM-SM域,每个PIM-SM域拥有0个或1个组播源和接收者。要求PIM-SM2域内的Receiver既能接收到PIM-SM3域S3发送的组播数据,又能接收到PIM-SM1域S1发送的组播数据。
图1 配置PIM-SM域间组播组网图
设计方案:在各个PIM-SM域的RP之间建立MSDP对等体关系,步骤如下:
1. 配置各路由器的接口IP地址,为保证AS内单播路由畅通,在自治系统内配置OSPF协议。
2. 为保证AS间单播路由畅通,在AS之间配置EBGP对等体,将BGP与OSPF互相引入。
3. 使能组播功能,在各接口上使能PIM-SM功能,配置BSR服务边界,在主机侧接口上使能IGMP功能。
4. 配置C-BSR、C-RP。将PIM-SM1域和PIM-SM2域的RP配置在ASBR上。
5. 在各个域的RP之间建立MSDP对等体关系。AS间的MSDP对等体与EBGP对等体使用相同的接口地址。根据RPF规则,接收从到达源RP的路由下一跳发来的SA消息。
1. 配置各路由器的接口IP地址和单播路由协议
# 按照图1配置各路由器接口的IP地址和掩码,配置各路由器之间采用OSPF进行互连。确保AS内网络层互通,且各路由器之间能够借助单播路由协议实现动态路由更新。具体配置过程略。
2. 在AS之间配置EBGP对等体,将BGP与OSPF互相引入
# 在RouterB上配置EBGP协议,并引入OSPF路由。
[RouterB] bgp 100
[RouterB-bgp] router-id 1.1.1.1
[RouterB-bgp] peer 192.168.2.2 as-number 200
[RouterB-bgp] import-route ospf 1
[RouterB-bgp] quit
# 在RouterC上配置EBGP协议,并引入OSPF路由。
[RouterC] bgp 200
[RouterC-bgp] router-id 2.2.2.2
[RouterC-bgp] peer 192.168.2.1 as-number 100
[RouterC-bgp] import-route ospf 1
[RouterC-bgp] quit
# 在RouterB中的OSPF中引入BGP。RouterC上的配置过程与RouterB上的配置相似,配置过程略。
[RouterB] ospf 1
[RouterB-ospf-1] import-route bgp
[RouterB-ospf-1] quit
3. 使能组播功能,在接口上使能PIM-SM功能,配置BSR服务边界,在主机侧接口上使能IGMP功能
# 在RouterB上使能组播功能,并在各接口上使能PIM-SM功能。其他路由器上的配置过程与RouterB上的配置相似,配置过程略。
[RouterB] multicast routing-enable
[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] pim sm
[RouterB-GigabitEthernet2/0/0] quit
[RouterB] interface gigabitethernet 1/0/0
[RouterB-GigabitEthernet1/0/0] pim sm
# 在RouterB的GE1/0/0上配置BSR服务边界。
[RouterB-GigabitEthernet1/0/0] pim bsr-boundary
[RouterB-GigabitEthernet1/0/0] quit
# 在RouterC的GE1/0/0和GE3/0/0上配置BSR服务边界。在RouterE的GE3/0/0上的配置BSR服务边界。配置过程与RouterB上的配置相似,配置过程略。
# 在RouterD连接末梢网络的接口上使能IGMP功能。
[RouterD] interface gigabitethernet 1/0/0
[RouterD-GigabitEthernet1/0/0] igmp enable
4. 配置C-BSR、C-RP
# 在RouterB上创建Loopback0接口,配置C-BSR和C-RP。RouterC和RouterE上的配置过程与RouterB上的配置相似,配置过程略。
[RouterB] interface loopback 0
[RouterB-LoopBack0] ip address 1.1.1.1 255.255.255.255
[RouterB-LoopBack0] pim sm
[RouterB-LoopBack0] quit
[RouterB] pim
[RouterB-pim] c-bsr loopback 0
[RouterB-pim] c-rp loopback 0
[RouterB-pim] quit
5. 配置MSDP对等体
# 在RouterB上配置MSDP对等体。
[RouterB] msdp
[RouterB-msdp] peer 192.168.2.2 connect-interface gigabitethernet 1/0/0
[RouterB-msdp] quit
# 在RouterC上配置MSDP对等体。
[RouterC] msdp
[RouterC-msdp] peer 192.168.2.1 connect-interface gigabitethernet 1/0/0
[RouterC-msdp] peer 192.168.4.2 connect-interface gigabitethernet 3/0/0
[RouterC-msdp] quit
# 在RouterE上配置MSDP对等体。
[RouterE] msdp
[RouterE-msdp] peer 192.168.4.1 connect-interface gigabitethernet 3/0/0
[RouterE-msdp] quit
6. 检验配置效果
# 通过使用display bgp peer命令可以查看路由器之间BGP对等体关系。例如RouterB、RouterC上BGP对等体关系的显示信息如下:
<RouterB> display bgp peer
BGP local router ID : 1.1.1.1
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
192.168.2.2 4 200 24 21 0 00:13:09 Established 6
<RouterC> display bgp peer
BGP local router ID : 2.2.2.2
Local AS number : 200
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
192.168.2.1 4 100 18 16 0 00:12:04 Established 1
# 通过使用display bgprouting-table命令可以查看路由器上的BGP路由表。例如RouterC上BGP路由表的显示信息如下:
<RouterC> display bgp routing-table
BGP Local router ID is 2.2.2.2
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 5
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.1/32 192.168.2.1 0 0 100?
*> 2.2.2.2/32 0.0.0.0 0 0 ?
*> 192.168.2.0 0.0.0.0 0 0 ?
*> 192.168.2.1/32 0.0.0.0 0 0 ?
*> 192.168.2.2/32 0.0.0.0 0 0 ?
# 通过使用display msdp brief命令可以查看路由器之间MSDP对等体建立情况。RouterB、RouterC和RouterE上MSDP对等体建立情况的简要信息如下:
<RouterB> 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.2.2 Up 00:12:27 200 13 0
<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.2.1 Up 01:07:08 100 8 0
192.168.4.2 Up 00:06:39 ? 13 0
<RouterE> 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:15:32 ? 8 0
# 通过使用display msdppeer-status命令可以查看路由器上的MSDP对等体的详细信息。RouterB路由器上MSDP对等体的详细信息如下:
<RouterB> display msdp peer-status
MSDP Peer Information of VPN-Instance: public net
MSDP Peer 192.168.2.2, AS 200
Description:
Information about connection status:
State: Up
Up/down time: 00:15:47
Resets: 0
Connection interface: Gigabitethernet1/0/0 (192.168.2.1)
Number of sent/received messages: 16/16
Number of discarded output messages: 0
Elapsed time since last connection or counters clear: 00:17:51
Information about (Source, Group)-based SA filtering policy:
Import policy: none
Export policy: none
Information about SA-Requests:
Policy to accept SA-Request messages: none
Sending SA-Requests status: disable
Minimum TTL to forward SA with encapsulated data: 0
SAs learned from this peer: 0, SA-cache maximum for the peer: none
Input queue size: 0, Output queue size: 0
Counters for MSDP message:
Count of RPF check failure: 0
Incoming/outgoing SA messages: 0/0
Incoming/outgoing SA requests: 0/0
Incoming/outgoing SA responses: 0/0
Incoming/outgoing data packets: 0/0
Peer authentication: unconfigured
Peer authentication type: none
# 通过使用display pimrouting-table命令可以查看路由器上的PIM路由表。当PIM-SM1内组播源S1(10.110.1.2/24)和PIM-SM3内的S3(10.110.3.2/24)向组播组G(225.1.1.1)发送组播信息时,PIM-SM2内的组成员Receiver(10.110.2.2/24)能接收到相应的组播信息。RouterB和RouterC上的PIM路由表显示信息如下:
<RouterB> display pim routing-table
VPN-Instance: public net
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.1.2, 225.1.1.1)
RP: 1.1.1.1(local)
Protocol: pim-sm, Flag: SPT EXT ACT
UpTime: 00:00:42
Upstream interface: gigabitethernet2/0/0
Upstream neighbor: 192.168.1.1
RPF prime neighbor: 192.168.1.1
Downstream interface(s) information:
Total number of downstreams: 1
1: Gigabitethernet1/0/0
Protocol: pim-sm, UpTime: 00:00:42, Expires:-
<RouterC> display pim routing-table
VPN-Instance: public net
Total 1 (*, G) entry; 2 (S, G) entries
(*, 225.1.1.1)
RP: 2.2.2.2(local)
Protocol: pim-sm, Flag: WC RPT
UpTime: 00:13:46
Upstream interface: NULL,
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: GigabitEthernet2/0/0,
Protocol: pim-sm, UpTime: 00:13:46, Expires:-
(10.110.1.2, 225.1.1.1)
RP: 2.2.2.2
Protocol: pim-sm, Flag: SPT MSDP ACT
UpTime: 00:00:42
Upstream interface: GigabitEthernet1/0/0
Upstream neighbor: 192.168.2.1
RPF prime neighbor: 192.168.2.1
Downstream interface(s) information:
Total number of downstreams: 1
1: GigabitEthernet2/0/0
Protocol: pim-sm, UpTime: 00:00:42, Expires:-
(10.110.3.2, 225.1.1.1)
RP: 2.2.2.2
Protocol: pim-sm, Flag: SPT MSDP ACT
UpTime: 00:00:42
Upstream interface: GigabitEthernet3/0/0
Upstream neighbor: 192.168.4.2
RPF prime neighbor: 192.168.4.2
Downstream interface(s) information:
Total number of downstreams: 1
1: GigabitEthernet2/0/0
Protocol: pim-sm, UpTime: 00:00:42, Expires:-
· RouterA的配置文件
#
sysname RouterA
#
multicast routing-enable
#
interface Gigabitethernet 1/0/0
ip address 10.110.1.1 255.255.255.0
pim sm
#
interface Gigabitethernet 2/0/0
ip address 192.168.1.1 255.255.255.0
pim sm
#
ospf 1
area 0.0.0.0
network 10.110.1.0 0.0.0.255
network 192.168.1.0 0.0.0.255
#
return
· RouterB的配置文件
#
sysname RouterB
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.2.1 255.255.255.0
pim bsr-boundary
pim sm
#
interface GigabitEthernet2/0/0
ip address 192.168.1.2 255.255.255.0
pim sm
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
pim sm
#
bgp 100
router-id 1.1.1.1
peer 192.168.2.2 as-number 200
#
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 1.1.1.1 0.0.0.0
network 192.168.1.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
msdp
peer 192.168.2.2 connect-interface GigabitEthernet1/0/0
#
return
· RouterC的配置文件
#
sysname RouterC
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 192.168.2.2 255.255.255.0
pim bsr-boundary
pim sm
#
interface GigabitEthernet2/0/0
ip address 192.168.3.1 255.255.255.0
pim sm
#
interface GigabitEthernet3/0/0
ip address 192.168.4.1 255.255.255.0
pim bsr-boundary
pim sm
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
pim sm
#
bgp 200
router-id 2.2.2.2
peer 192.168.2.1 as-number 100
#
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 2.2.2.2 0.0.0.0
network 192.168.3.0 0.0.0.255
network 192.168.4.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
msdp
peer 192.168.2.1 connect-interface GigabitEthernet1/0/0
peer 192.168.4.2 connect-interface GigabitEthernet3/0/0
#
return
· RouterD的配置文件
#
sysname RouterD
#
multicast routing-enable
#
interface GigabitEthernet1/0/0
ip address 10.110.2.1 255.255.255.0
pim sm
igmp enable
#
interface GigabitEthernet2/0/0
ip address 192.168.3.2 255.255.255.0
pim sm
#
ospf 1
area 0.0.0.0
network 10.110.2.0 0.0.0.255
network 192.168.3.0 0.0.0.255
#
return
· RouterE的配置文件
#
sysname RouterE
#
multicast routing-enable
#
interface GigabitEthernet2/0/0
ip address 192.168.5.1 255.255.255.0
pim sm
#
interface GigabitEthernet3/0/0
ip address 192.168.4.2 255.255.255.0
pim bsr-boundary
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 192.168.4.0 0.0.0.255
network 192.168.5.0 0.0.0.255
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
msdp
peer 192.168.4.1 connect-interface GigabitEthernet3/0/0
#
return
· RouterF的配置文件
#
sysname RouterF
#
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.5.2 255.255.255.0
pim sm
#
ospf 1
area 0.0.0.0
network 10.110.3.0 0.0.0.255
network 192.168.5.0 0.0.0.255
#
return