8.29 Multicast BGP Extension
• Enable multicast exchange between AS 100 and AS 200 on both peering links.
• Multicast traffic should prefer to be routed across the Frame-Relay link,
using the Fast Ethernet link as backup.
-------------------------------------------------------------------------------------
A multicast BGP extension is commonly needed when you plan to exchange
multicast traffic between two different administrative domains, i.e. different
autonomous systems. To achieve this goal, you need to fulfill the following tasks
1) Enable PIM between the two domains, to allow signaling of shared and
shortest-path trees between them.
1.1) PIM SM is most often used for multicast traffic exchange between different
domains. Each domain usually has its own set of RPs, and thus you should
prevent BSR/Auto-RP information from leaking between the domains.
1.2) You must exchange information about active sources between the RPs in
every domain. Since the RPs are separated, one domain cannot easily learn
about the sources in another domain. As we’ll see later, a special protocol called
MSDP is used for this purpose.
2) In order to facilitate multicast traffic forwarding, you need to exchange
information on routes towards the multicast sources in each domain, to allow
routers performing RPF checks to do so correctly. PIM uses the unicast routing
table to perform these RPF checks, and thus it may use routes learned via either
IGP or BGP. However it is BGP is most commonly used to exchange this routing
information.
In some cases, you may want to apply different policies to unicast specific routes
exchanged via BGP as well as to the information about multicast sources. This is
possible thanks to Multi-Protocol BGP extensions. Using a special address
family, you may exchange prefixes under the “multicast” address-family, and
apply a different policy to this information. These prefixes are interpreted in the
same as the mroute command information – they are used for RPF checks on
the router that receives them. That is, if a prefix is learned via multicast BGP
extension, it is assumed to have RPF neighbor towards the next-hop IP address
found in the update. If needed, BGP performs recursive routing lookups for the
next hop via the IGP routing table to find the immediate RPF neighbor. Unlike the
mroute command, which is purely local, the information is propagated via BGP
to every neighbor configured for the multicast address family.
Using separate policies for multicast inter-domain RPF information allows the use
of different inter-domain links for unicast and multicast traffic. Or you may
selectively filter out certain multicast sources from another domain, while leaving
unicast routes intact.
These tasks require us to enable BGP multicast extensions an all BGP routers.
Notice the use of peer-group under the multicast address family. This is needed
to propagate multicast RPF information through both domains, as route-reflection
is configured separately per address family. Notice the use of AS-PATH
prepending to designate the primary path. Multicast prefixes are subject to the
same best-path selection procedure, and thus you may use the same methods of
path manipulation you used with unicast prefixes. Finally, PIM is activated on the
links connecting the two autonomous systems. The PIM BSR border command is
used to stop BSR information from leaking into AS 100.
------------------------------------------------------------------------------------------------
SW1:
router bgp 100
address-family ipv4 multicast
neighbor IBGP route-reflector-client
neighbor 150.1.3.3 peer-group IBGP
neighbor 150.1.6.6 peer-group IBGP
neighbor 150.1.9.9 peer-group IBGP
R3:
router bgp 100
address-family ipv4 multicast
neighbor 155.1.0.5 activate
redistribute ospf 1
neighbor 150.1.7.7 activate
neighbor 150.1.7.7 next-hop-self
!
interface Serial 1/0.1
ip pim sparse-mode
R6:
route-map PREPEND
set as-path prepend 100 100 100
!
router bgp 100
address-family ipv4 multicast
neighbor 155.1.146.4 activate
redistribute ospf 1
neighbor 155.1.146.4 route-map PREPEND out
neighbor 150.1.7.7 activate
neighbor 150.1.7.7 next-hop-self
!
interface FastEthernet 0/0.146
ip pim sparse-mode
SW3:
router bgp 100
address-family ipv4 multicast
neighbor 150.1.7.7 activate
-------------------------------------------------
R5:
router bgp 200
address-family ipv4 multicast
neighbor 155.1.0.3 activate
redistribute eigrp 100
neighbor IBGP route-reflector-client
neighbor 150.1.4.4 peer-group IBGP
neighbor 150.1.8.8 peer-group IBGP
neighbor 150.1.10.10 peer-group IBGP
neighbor IBGP next-hop-self
!
interface Serial 0/0/0
ip pim sparse-mode
ip pim bsr-border
R4:
route-map PREPEND
set as-path prepend 200 200 200
!
router bgp 200
address-family ipv4 multicast
neighbor 155.1.146.6 activate
redistribute eigrp 100
neighbor 155.1.146.6 route-map PREPEND out
neighbor 150.1.5.5 activate
!
interface FastEthernet 0/1
ip pim sparse-mode
ip pim bsr-border
SW2:
router bgp 200
address-family ipv4 multicast
neighbor 150.1.5.5 activate
SW4:
router bgp 200
address-family ipv4 multicast
neighbor 150.1.5.5 activate
-------------------------------------------------
Use the regular show BGP commands to check that the multicast address family
is activated between the routers. Repeat it on every BGP router to make sure
you didn’t miss anything.
Rack1SW1# show ip bgp ipv4 multicast summary
BGP router identifier 150.1.7.7, local AS number 100
BGP table version is 26, main routing table version 26
20 network entries using 2340 bytes of memory
28 path entries using 1344 bytes of memory
18/10 BGP path/bestpath attribute entries using 2520 bytes of memory
2 BGP AS-PATH entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 6252 total bytes of memory
BGP activity 42/2 prefixes, 227/168 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
150.1.3.3 4 100 1339 1382 26 0 0 00:18:18 19
150.1.6.6 4 100 1391 1386 26 0 0 00:16:17 9
150.1.9.9 4 100 1291 1391 26 0 0 00:15:22 0
Rack1SW1#
Before testing can proceed we need to ensure that EIGRP is running on the
S0/1/0 interface of R5.
router eigrp 100
network 155.1.45.5 0.0.0.0
Next, check the BGP tables on the border routers to make sure that best paths
toward the multicast prefixes are across the Frame-Relay cloud:
Rack1R4#show ip bgp ipv4 multicast regexp 100$
BGP table version is 31, local router ID is 150.1.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i150.1.3.0/24 150.1.5.5 0 100 0 100 ?
* 155.1.146.6 3 0 100 100 100 100 ?
*>i150.1.6.0/24 150.1.5.5 0 100 0 100 ?
* 155.1.146.6 0 0 100 100 100 100 ?
*>i150.1.6.6/32 150.1.5.5 3 100 0 100 ?
* 155.1.146.6 0 100 100 100 100 ?
*>i150.1.7.0/24 150.1.5.5 2 100 0 100 ?
* 155.1.146.6 2 0 100 100 100 100 ?
*>i150.1.9.9/32 150.1.5.5 3 100 0 100 ?
* 155.1.146.6 3 0 100 100 100 100 ?
*>i155.1.7.0/24 150.1.5.5 2 100 0 100 ?
* 155.1.146.6 2 0 100 100 100 100 ?
*>i155.1.9.0/24 150.1.5.5 3 100 0 100 ?
* 155.1.146.6 3 0 100 100 100 100 ?
*>i155.1.37.0/24 150.1.5.5 0 100 0 100 ?
* 155.1.146.6 2 0 100 100 100 100 ?
*>i155.1.67.0/24 150.1.5.5 2 100 0 100 ?
Network Next Hop Metric LocPrf Weight Path
* 155.1.146.6 0 0 100 100 100 100 ?
*>i155.1.79.0/24 150.1.5.5 2 100 0 100 ?
* 155.1.146.6 2 0 100 100 100 100 ?
Rack1R4#
Check the best paths in the other AS also.
Rack1R6#show ip bgp ipv4 multicast regexp 200$
BGP table version is 28, local router ID is 150.1.6.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i150.1.4.0/24 150.1.3.3 2297856 100 0 200 ?
* 155.1.146.4 0 0 200 200 200 200 ?
* 150.1.5.0/24 155.1.146.4 2297856 0 200 200 200 200 ?
*>i 150.1.3.3 0 100 0 200 ?
* 150.1.8.0/24 155.1.146.4 2300416 0 200 200 200 200 ?
*>i 150.1.3.3 156160 100 0 200 ?
* 150.1.10.0/24 155.1.146.4 2302976 0 200 200 200 200 ?
*>i 150.1.3.3 158720 100 0 200 ?
* 155.1.0.0/24 155.1.146.4 0 0 200 200 200 200 ?
*>i 150.1.3.3 0 100 0 200 ?
* 155.1.8.0/24 155.1.146.4 2172672 0 200 200 200 200 ?
*>i 150.1.3.3 28416 100 0 200 ?
* 155.1.10.0/24 155.1.146.4 2175232 0 200 200 200 200 ?
*>i 150.1.3.3 30976 100 0 200 ?
*>i155.1.45.0/24 150.1.3.3 0 100 0 200 ?
* 155.1.146.4 0 0 200 200 200 200 ?
* 155.1.58.0/24 155.1.146.4 2172416 0 200 200 200 200 ?
Network Next Hop Metric LocPrf Weight Path
*>i 150.1.3.3 0 100 0 200 ?
* 155.1.108.0/24 155.1.146.4 2174976 0 200 200 200 200 ?
*>i 150.1.3.3 30720 100 0 200 ?
Rack1R6#
沒有留言:
張貼留言