Example for Configuring Basic MBGP Functions
Networking Requirements
As shown in Figure 9-25, the receiver receives VoD information in multicast mode. The receiver and the source reside in different ASs. Multicast routing information needs to be transmitted between ASs.
Switch |
Interface |
VLANIF Interface |
IP Address |
---|---|---|---|
SwitchA |
10GE1/0/1 |
VLANIF100 |
192.168.1.1/24 |
10GE1/0/2 |
VLANIF101 |
10.10.10.1/24 |
|
Loopback0 |
- |
172.16.1.1/32 |
|
SwitchB |
10GE1/0/1 |
VLANIF100 |
192.168.1.2/24 |
10GE1/0/2 |
VLANIF200 |
192.168.4.2/24 |
|
10GE1/0/3 |
VLANIF300 |
192.168.3.2/24 |
|
Loopback0 |
- |
172.16.2.2/32 |
|
SwitchC |
10GE1/0/1 |
VLANIF400 |
192.168.5.1/24 |
10GE1/0/2 |
VLANIF102 |
10.22.22.1/24 |
|
10GE1/0/3 |
VLANIF300 |
192.168.3.1/24 |
|
Loopback0 |
- |
172.16.3.3/32 |
|
SwitchD |
10GE1/0/1 |
VLANIF400 |
192.168.5.2/24 |
10GE1/0/2 |
VLANIF200 |
192.168.4.1/24 |
|
Loopback0 |
- |
172.16.4.4/32 |
Configuration Roadmap
The configuration roadmap is as follows:
Configure MBGP peers for inter-AS multicast transmission.
Configure the routes advertised by MBGP.
Enable the multicast function on each switch.
Configure basic PIM-SM functions on each switch in ASs and enable IGMP on receiver-side interfaces.
Configure a BSR boundary on the interfaces that connect to two ASs.
Configure MSDP peers to transmit inter-domain multicast source information.
Procedure
- Assign IP addresses to the interfaces on each switch and configure OSPF in ASs.
# Configure IP addresses and masks for the interfaces on each switch according to Figure 9-25 and configure OSPF on the switches in ASs. Ensure that SwitchB, SwitchC, and SwitchD can communicate with the receiver at the network layer, learn routes to the loopback interfaces of each other, and dynamically update routes using a unicast routing protocol. Configure OSPF process 1. The configuration procedure is not provided here.
- Configure BGP, enable the MBGP protocol, and configure MBGP peers.
# Configure BGP and the MBGP peer on SwitchA.
[~SwitchA] bgp 100 [*SwitchA-bgp] peer 192.168.1.2 as-number 200 [*SwitchA-bgp] ipv4-family multicast [*SwitchA-bgp-af-multicast] peer 192.168.1.2 enable [*SwitchA-bgp-af-multicast] quit [*SwitchA-bgp] quit [*SwitchA] commit
# Configure BGP and the MBGP peer on SwitchB.
[~SwitchB] bgp 200 [*SwitchB-bgp] peer 192.168.1.1 as-number 100 [*SwitchB-bgp] peer 192.168.3.1 as-number 200 [*SwitchB-bgp] peer 192.168.4.1 as-number 200 [*SwitchB-bgp] ipv4-family multicast [*SwitchB-bgp-af-multicast] peer 192.168.1.1 enable [*SwitchB-bgp-af-multicast] peer 192.168.3.1 enable [*SwitchB-bgp-af-multicast] peer 192.168.4.1 enable [*SwitchB-bgp-af-multicast] quit [*SwitchB-bgp] quit [*SwitchB] commit
# Configure BGP and the MBGP peer on SwitchC.
[~SwitchC] bgp 200 [*SwitchC-bgp] peer 192.168.3.2 as-number 200 [*SwitchC-bgp] peer 192.168.5.2 as-number 200 [*SwitchC-bgp] ipv4-family multicast [*SwitchC-bgp-af-multicast] peer 192.168.3.2 enable [*SwitchC-bgp-af-multicast] peer 192.168.5.2 enable [*SwitchC-bgp-af-multicast] quit [*SwitchC-bgp] quit [*SwitchC] commit
# Configure BGP and the MBGP peer on SwitchD.
[~SwitchD] bgp 200 [*SwitchD-bgp] peer 192.168.4.2 as-number 200 [*SwitchD-bgp] peer 192.168.5.1 as-number 200 [*SwitchD-bgp] ipv4-family multicast [*SwitchD-bgp-af-multicast] peer 192.168.4.2 enable [*SwitchD-bgp-af-multicast] peer 192.168.5.1 enable [*SwitchD-bgp-af-multicast] quit [*SwitchD-bgp] quit [*SwitchD] commit
- Configure the routes to be advertised by MBGP.
# Configure the routes to be advertised on SwitchA.
[~SwitchA] bgp 100 [~SwitchA-bgp] import-route direct [*SwitchA-bgp] ipv4-family multicast [*SwitchA-bgp-af-multicast] import-route direct [*SwitchA-bgp-af-multicast] quit [*SwitchA-bgp] quit [*SwitchA] commit
# Configure the routes to be advertised on SwitchB.
[~SwitchB] bgp 200 [~SwitchB-bgp] import-route direct [*SwitchB-bgp] import-route ospf 1 [*SwitchB-bgp] ipv4-family multicast [*SwitchB-bgp-af-multicast] import-route direct [*SwitchB-bgp-af-multicast] import-route ospf 1 [*SwitchB-bgp-af-multicast] quit [*SwitchB-bgp] quit [*SwitchB] commit
# Configure the routes to be advertised on SwitchC. The configuration of SwitchD is similar to the configuration of SwitchC, and is not provided here.
[~SwitchC] bgp 200 [~SwitchC-bgp] import-route direct [*SwitchC-bgp] ipv4-family multicast [*SwitchC-bgp-af-multicast] import-route direct [*SwitchC-bgp-af-multicast] import-route ospf 1 [*SwitchC-bgp-af-multicast] quit [*SwitchC-bgp] quit [*SwitchC] commit
- Enable multicast on all switches and PIM-SM on all interfaces. Enable IGMP on the interfaces connected to the receivers (VLANIF 102 on SwitchC in this example).
# Configure SwitchA.
[~SwitchA] multicast routing-enable [*SwitchA] interface vlanif 100 [*SwitchA-Vlanif100] pim sm [*SwitchA-Vlanif100] quit [*SwitchA] interface vlanif 101 [*SwitchA-Vlanif101] pim sm [*SwitchA-Vlanif101] quit [*SwitchA] commit
# Configure SwitchB.
[~SwitchB] multicast routing-enable [*SwitchB] interface vlanif 100 [*SwitchB-Vlanif100] pim sm [*SwitchB-Vlanif100] quit [*SwitchB] interface vlanif 200 [*SwitchB-Vlanif200] pim sm [*SwitchB-Vlanif200] quit [*SwitchB] interface vlanif 300 [*SwitchB-Vlanif300] pim sm [*SwitchB-Vlanif300] quit [*SwitchB] commit
# Configure SwitchC.
[~SwitchC] multicast routing-enable [*SwitchC] interface vlanif 400 [*SwitchC-Vlanif400] pim sm [*SwitchC-Vlanif400] quit [*SwitchC] interface vlanif 102 [*SwitchC-Vlanif102] pim sm [*SwitchC-Vlanif102] igmp enable [*SwitchC-Vlanif102] quit [*SwitchC] interface vlanif 300 [*SwitchC-Vlanif300] pim sm [*SwitchC-Vlanif300] quit [*SwitchC] commit
# Configure SwitchD.
[~SwitchD] multicast routing-enable [*SwitchD] interface vlanif 400 [*SwitchD-Vlanif400] pim sm [*SwitchD-Vlanif400] quit [*SwitchD] interface vlanif 200 [*SwitchD-Vlanif200] pim sm [*SwitchD-Vlanif200] quit [*SwitchD] commit
- Configure the BSR and RP within each AS.
# Configure C-BSR and C-RP on interface Loopback0 on SwitchA.
[~SwitchA] interface loopback 0 [*SwitchA-LoopBack0] ip address 172.16.1.1 255.255.255.255 [*SwitchA-LoopBack0] pim sm [*SwitchA-LoopBack0] quit [*SwitchA] pim [*SwitchA-pim] c-bsr loopback 0 [*SwitchA-pim] c-rp loopback 0 [*SwitchA-pim] quit [*SwitchA] commit
# Configure C-BSR and C-RP on interface Loopback0 on SwitchB.
[~SwitchB] interface loopback 0 [*SwitchB-LoopBack0] ip address 172.16.2.2 255.255.255.255 [*SwitchB-LoopBack0] pim sm [*SwitchB-LoopBack0] quit [*SwitchB] pim [*SwitchB-pim] c-bsr loopback 0 [*SwitchB-pim] c-rp loopback 0 [*SwitchB-pim] quit [*SwitchB] commit
- Configure a BSR boundary on the interfaces that connect to two ASs.
# Configure VLANIF 100 as the BSR boundary on SwitchA.
[~SwitchA] interface vlanif 100 [~SwitchA-Vlanif100] pim bsr-boundary [*SwitchA-Vlanif100] quit [*SwitchA] commit
# Configure VLANIF 100 as the BSR boundary on SwitchB.
[~SwitchB] interface vlanif 100 [~SwitchB-Vlanif100] pim bsr-boundary [*SwitchB-Vlanif100] quit [*SwitchB] commit
- Configure MSDP peers.
# Configure SwitchA.
[~SwitchA] msdp [*SwitchA-msdp] peer 192.168.1.2 connect-interface vlanif100 [*SwitchA-msdp] quit [*SwitchA] commit
# Configure SwitchB.
[~SwitchB] msdp [*SwitchB-msdp] peer 192.168.1.1 connect-interface vlanif100 [*SwitchB-msdp] quit [*SwitchB] commit
- Verify the configuration.
# Run the display bgp multicast peer command to view the MBGP peer relationship between switches. For example, information about the MBGP peer relationship on SwitchA is as follows:
[~SwitchA] display bgp multicast peer BGP local router ID : 172.16.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.1.2 4 200 82 75 0 00:30:29 Established 17
The preceding information shows that SwitchA has established an MBGP peer relationship with SwitchB in AS 200.
# Run the display msdp brief command to view information about the MSDP peer relationship between switches. For example, brief information about the MSDP peer relationship on SwitchB is as follows:
[~SwitchB] 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 00:07:17 100 3 0
The preceding information shows that SwitchB has established an MSDP peer relationship with Switch in AS 100.
Configuration Files
Configuration file of SwitchA
# sysname SwitchA # vlan batch 100 to 101 # multicast routing-enable # interface Vlanif100 ip address 192.168.1.1 255.255.255.0 pim bsr-boundary pim sm # interface Vlanif101 ip address 10.10.10.1 255.255.255.0 pim sm # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 100 # interface 10GE1/0/2 port default vlan 101 # interface LoopBack0 ip address 172.16.1.1 255.255.255.255 pim sm # pim c-bsr LoopBack0 c-rp LoopBack0 # bgp 100 peer 192.168.1.2 as-number 200 # ipv4-family unicast import-route direct peer 192.168.1.2 enable # ipv4-family multicast peer 192.168.1.2 enable # msdp peer 192.168.1.2 connect-interface Vlanif100 # return
Configuration file of SwitchB
# sysname SwitchB # vlan batch 100 200 300 # multicast routing-enable # interface Vlanif100 ip address 192.168.1.2 255.255.255.0 pim bsr-boundary pim sm # interface Vlanif200 ip address 192.168.4.2 255.255.255.0 pim sm # interface Vlanif300 ip address 192.168.3.2 255.255.255.0 pim sm # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 100 # interface 10GE1/0/2 port link-type trunk port trunk allow-pass vlan 200 # interface 10GE1/0/3 port link-type trunk port trunk allow-pass vlan 300 # interface LoopBack0 ip address 172.16.2.2 255.255.255.255 pim sm # pim c-bsr LoopBack0 c-rp LoopBack0 # ospf 1 area 0.0.0.0 network 172.16.2.2 0.0.0.0 network 192.168.3.0 0.0.0.255 network 192.168.4.0 0.0.0.255 # bgp 200 peer 192.168.1.1 as-number 100 peer 192.168.3.1 as-number 200 peer 192.168.4.1 as-number 200 # ipv4-family unicast import-route direct import-route ospf 1 peer 192.168.1.1 enable peer 192.168.3.1 enable peer 192.168.4.1 enable # ipv4-family multicast import-route direct import-route ospf 1 peer 192.168.1.1 enable peer 192.168.3.1 enable peer 192.168.4.1 enable # msdp peer 192.168.1.1 connect-interface Vlanif100 # return
Configuration file of SwitchC
# sysname SwitchC # vlan batch 102 300 400 # multicast routing-enable # interface Vlanif102 ip address 10.22.22.1 255.255.255.0 pim sm igmp enable # interface Vlanif300 ip address 192.168.3.1 255.255.255.0 pim sm # interface Vlanif400 ip address 192.168.5.1 255.255.255.0 pim sm # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 400 # interface 10GE1/0/2 port default vlan 102 # interface 10GE1/0/3 port link-type trunk port trunk allow-pass vlan 300 # interface LoopBack0 ip address 172.16.3.3 255.255.255.255 pim sm # ospf 1 area 0.0.0.0 network 10.22.22.0 0.0.0.255 network 172.16.3.3 0.0.0.0 network 192.168.3.0 0.0.0.255 network 192.168.5.0 0.0.0.255 # bgp 200 peer 192.168.3.2 as-number 200 peer 192.168.5.2 as-number 200 # ipv4-family unicast import-route ospf 1 peer 192.168.3.2 enable peer 192.168.5.2 enable # ipv4-family multicast import-route ospf 1 peer 192.168.3.2 enable peer 192.168.5.2 enable # return
Configuration file of SwitchD
# sysname SwitchD # vlan batch 200 400 # multicast routing-enable # interface Vlanif200 ip address 192.168.4.1 255.255.255.0 pim sm # interface Vlanif400 ip address 192.168.5.2 255.255.255.0 pim sm # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 400 # interface 10GE1/0/2 port link-type trunk port trunk allow-pass vlan 200 # interface LoopBack0 ip address 172.16.4.4 255.255.255.255 # ospf 1 area 0.0.0.0 network 172.16.4.4 0.0.0.0 network 192.168.4.0 0.0.0.255 network 192.168.5.0 0.0.0.255 # bgp 200 peer 192.168.4.2 as-number 200 peer 192.168.5.1 as-number 200 # ipv4-family unicast import-route ospf 1 peer 192.168.4.2 enable peer 192.168.5.1 enable # ipv4-family multicast import-route ospf 1 peer 192.168.4.2 enable peer 192.168.5.1 enable # return