Configuration Examples for Multicast BGP (MBGP) and Steps to Getting Started. Last updated June 4, 1998 A. Diagram of basic topology associated with a multicast exchange: ---------------------------------------- mbgp_exchangeC----AS10888---R----"MBone" / | / | mbgp_exchangeA other_mbgp_exchangeB --------------- / \ / \ customer_sites---iMBGP---mbgp_R mbgp_Rpeer \ / \ / --------------- unicast_exchange Mbone = global dvmrp routing cloud R = router in AS10888 topology mbgp_exchange = example, Ames, multicast exchange unicast_exchange = example, FIX-West mbgp_R = your mgbp peering router, which should also be your RP if you're running sparse-mode mbgp_Rpeer = your multicast (and possibly unicast) peer B. Steps to participate in mbgp peering: ------------------------------------ 1) Establish physical connectivity to the multicast exchange where mbgp peering is occuring. This requires a fddi interface and connection to the exchange concentrator. Contacts: At Ames (FIX-W/MAE-West): Lance Tatman 2) Obtain a IP address for the multicast exchange. Contacts: At Ames (FIX-W/MAE-West): Hugh LaMaster 3) Configure the router for MBGP (examples): ! Filter AUTO-RP announcements plus admin scopes ! on your boundary router (eg mgbp_R) ! no access-list 1 access-list 1 deny 224.0.1.39 access-list 1 deny 224.0.1.40 access-list 1 deny 239.0.0.0 0.255.255.255 access-list 1 permit any ! ! Global IP Configuration ! ip bgp-community new-format ! support aaa:bbb format ! ! enable multicast ! ip multicast-routing ! ! if doing PIM-SM, on router to be RP at exchange ! if not RP, or ! if doing PIM-DM, remove the next two commands ! ip pim send-rp-announce Loopback0 scope ip pim send-rp-discovery scope ! ! Interface Configuraton ! ! Loopback first ! interface loopback 0 ip address
no shutdown ! ! interface Fddi1/0 description unicast exchange ip address
no shutdown ! ! interface Fddi2/0 description multicast exchange ip address
ip pim dense-mode ip multicast boundary 1 ! see access list 1 ip multicast ttl-threshold ! limit distribution ip sdr listen ! only need sdr listen on this interface no shutdown ! interface Ethernet3/0 description an internal interface to imbgp neighbor ip address
ip pim sparse-dense-mode ! will work for both sparse and dense topologies no shutdown ! ! ! ROUTING ! ! the prefixes you'll announce via mbgp ! no ip prefix-list local-routes ip prefix-list local-routes seq 5 permit a.b.c.d/x ip prefix-list local-routes seq 10 permit e.f.g.h/y ip prefix-list local-routes seq 15 deny 0.0.0.0/0 le 32 ! ! a sample route map for sending the above prefixes ! to mbgp peers on multicast exchange ! no route-map local-routes route-map local-routes permit 10 match ip address prefix-list local-routes set nlri multicast ! ! Note: could also do this with communities if you ! tag local routes, which is very common. Then you ! would have a community-list that matched on your ! local community instead of listing them all. ! ! general parameters for mbgp process ! router bgp no synchronization distance bgp 20 200 200 ! eg., favor mbgp over bgp distance mbgp 20 200 200 ! for multicast RPF check. ! Using these defaults, mbgp ! will be selected. ! ! ! establish multicast only EBGP ! for folks with whom you'll mbgp peer ! router bgp neighbor multicast-only-ebgp peer-group nlri multicast neighbor multicast-only-ebgp send-community neighbor multicast-only-ebgp route-map local-routes out ! ! establish multicast and unicast iBGP ! for your internal MBGP mesh ! router bgp neighbor imbgp peer-group nlri unicast multicast neighbor imbgp remote-as neighbor imbgp update-source Loopback0 neighbor imbgp send-community ! ! ! now set up peering for multicast only on ! multicast exchange ! router bgp neighbor
remote-as nlri multicast neighbor
description neighbor
update-source neighbor
send-community ! ! and set up peering for internal MBGP mesh ! router bgp neighbor peer-group imbgp ! end 4) Configure to have AS10888 redistribute routes to Mbone If you are interested in using mbgp as your sole EGP for multicast, and would still like receivers in the current Mbone to get your multicast, it is possible to peer with with the temporary AS10888 (NASA service) which is redistributing prefixes tagged as (AS:777) into the Mbone at the Ames multicast exchange. Here is an example of how you would configure your router to allow for this functionality: ! ! identify the prefixes you want announced to Mbone ! permit a.b.c.d/x and deny anything else ! no ip prefix-list local-routes4mbone ip prefix-list local-routes4mbone seq 5 permit a.b.c.d/x ip prefix-list local-routes4mbone seq 15 deny 0.0.0.0/0 le 32 ! establish route map to select routes for tagging and ! redistribution by AS10888 ! no route-map local-routes4mbone permit 20 route-map local-routes4mbone permit 20 match ip address prefix-list local-routes4mbone set community :777 ! this tag will be used at ! FIXW to select routes for mbone NOTE is your AS# ! ! ! Peer with AS10888 to echange routes for the DVMRP infrastructure ! router bgp neighbor
remote-as 10888 nlri multicast neighbor
description neighbor
update-source neighbor
route-map local-routes4mbone out neighbor
send-community ! ! Might also want to filer what you get from 10888 ! neighbor
route-map dvmrp-routes in ! 5) Configure to filter incoming routes, possibly those originating from the Mbone. ! configure route-map to select incoming routes ! no route-map some-incoming-routes deny 20 route-map some-incoming-routes deny 20 match community ! community associated with routes to filter ! Note: this could also reference an access list, prefix list, etc. ! ! Note: Mbone routes are usually tagged ! when redistributed into mbgp. So it is possible to filter ! by matching on communities ending in :668. 6) If you want to redistribute to/from dvmrp internally: Example: dvmrp_tail_site---mbgp_Ra--mbgp_Rb---mbgp_exchange--Mbone on mbgp_Ra: ! announce dvmrp default to dvmrp router ! interface tunnel0 description link to tail site ip dvmrp default-information originate only ! ! ! redistribute dvmrp routes into mbgp ! router bgp redistribute dvmrp [route-map ] ! ! where the route-map might look like this: ! route-map dvmrp2mbgp permit 10 match ip address ! take only what you want set local-preference 0 set weight 0 set origin igp set nlri multicast 7) Check your sessions sho ip pim neighbors (should see your mbgp peers, but remember this will not always reflect the same IP address used for peering, as the MBGP peers may be using loopback interface IP addresses and pim neighbors output reflects the interconnect interface IP addresses. sho ip mbgp summary sho ip mbgp (should see list of routes) sho ip mbgp neighbors (should see sessions established) sho ip mbgp r (should see list of routes from AS#) 8) Problems? [un]debug ip bgp (is session coming up?) [un]debug ip mbgp updates (what's being passed in updates?) sho ip rpf (does it point to the expected multicast path?) 9) Contact us if you have questions or need help with mbgp: misp-geeks@cisco.com