Multiprotocol BGP (MBGP) : 1998-2000, Cisco Systems, Inc. 1
Multiprotocol BGP (MBGP) : 1998-2000, Cisco Systems, Inc. 1
Module 10
Module10. ppt
8/14/2001 3:35 PM
Module10.ppt
Module Objectives
Understand the basic concepts of BGP Explain the MBGP extensions to BGP Identify steps associated with configuring and debugging MBGP
Module10. ppt
8/14/2001 3:35 PM
2 2
Module10.ppt
Agenda
BGP Review MBGP Overview MBGP Update Messages MBGP Capability Negotiation MBGP NLRI Information Advanced MBGP Features New 12.1 MBGP Syntax Debugging MBGP
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
3 3
Module10.ppt
Routing Protocol used between ASs Currently Version 4 Runs over TCP Path Vector Protocol Incremental Updates
Module10. ppt
8/14/2001 3:35 PM
4 4
Module10.ppt
BGP Peers
A C
AS 100
220.220.8.0/24
AS 101
220.220.16.0/24
BGP speakers are called peers Peers in different ASs are called External Peers
eBGP TCP/IP Peer Connection
AS 102
220.220.32.0/24
8/14/2001 3:35 PM
5 5
Module10.ppt
BGP Peers
A C
AS 100
220.220.8.0/24
AS 101
220.220.16.0/24
BGP speakers are called peers Peers in the same AS are called Internal Peers
iBGP TCP/IP Peer Connection
Module10. ppt
AS 102
220.220.32.0/24
6 6
Module10.ppt
BGP Peers
A C
AS 100
220.220.8.0/24
AS 101
220.220.16.0/24
BGP Peers exchange Update messages containing Network Layer Reachability Information (NLRI)
BGP Update Messages
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
AS 102
220.220.32.0/24
8/14/2001 3:35 PM
7 7
Module10.ppt
AS 101
C
.2
222.222.10.0/30
220.220.8.0/24
.1
.2
.1
220.220.16.0/24
.1
interface Serial 0 ip address 222.222.10.2 255.255.255.252 router bgp 100 network 220.220.8.0 mask 255.255.255.0 neighbor 222.222.10.1 remoteremote-as 101
interface Serial 0 ip address 222.222.10.1 255.255.255.252 router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 222.222.10.2 remoteremote-as 100
BGP Peering sessions are established using the BGP neighbor configuration command
External (eBGP) is configured when AS numbers are different
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
8 8
Module10.ppt
AS 101
iBGP TCP Connection .1
.2
220.220.8.0/24
.2
.1
.2
220.220.16.0/24
.1
interface Serial 1 ip address 220.220.16.2 255.255.255.252 router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 220.220.16.1 remoteremote-as 101
interface Serial 1 ip address 222.220.16.1 255.255.255.252 router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 220.220.16.2 remoteremote-as 101
BGP Peering sessions are established using the BGP neighbor configuration command
External (eBGP) is configured when AS numbers are different Internal (iBGP) is configured when AS numbers are same
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
9 9
Module10.ppt
Each iBGP speaker must peer with every other iBGP speaker in the AS
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
10 10
Module10.ppt
10
215.10.7.1
215.10.7.3
8/14/2001 3:35 PM
11 11
Module10.ppt
11
215.10.7.1
215.10.7.3
C
remote-as 100 update-source loopback0 updateremote-as 100 update-source loopback0 update-
Module10. ppt
8/14/2001 3:35 PM
12 12
Module10.ppt
12
215.10.7.1
215.10.7.3
interface loopback 0 ip address 215.10.7.2 255.255.255.255 router bgp 100 network 220.220.5.0 neighbor 215.10.7.1 neighbor 215.10.7.1 neighbor 215.10.7.3 neighbor 215.10.7.3
Module10. ppt
8/14/2001 3:35 PM
13 13
Module10.ppt
13
215.10.7.1
215.10.7.3
remote-as 100 update-source loopback0 updateremote-as 100 update-source loopback0 update8/14/2001 3:35 PM
14 14
Module10.ppt
14
A BGP update is used to advertise a single feasible route to a peer, or to withdraw multiple unfeasible routes Each update message contains attributes, like origin, ASPath, Next-Hop, .
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
15 15
Module10.ppt
15
Network Layer Reachability Information Used to advertise feasible routes Composed of:
Network Prefix Mask Length
Module10. ppt
8/14/2001 3:35 PM
16 16
Module10.ppt
16
8/14/2001 3:35 PM
17 17
BGP Attributes
Attributes are associated with the NLRI (i.e. the route) being advertised. These attributes include (but are not limited to) the following: AS path Next-Hop Local Preference Multi-Exit Discriminator (MED) Community Origin Aggregator The discussion of all of these attributes is beyond the scope of this tutorial. However, the AS-Path and Next-Hop attributes are discussed in the following sections since they are fundamental to the basic operation of BGP.
Module10.ppt
17
AS-Path Attribute
Sequence of ASes a route has traversed Loop detection Apply policy AS 300
AS 200
170.10.0.0/16
AS 100
180.10.0.0/16
AS 400
150.10.0.0/16 Network 180.10.0.0/16 170.10.0.0/16 150.10.0.0/16 Path 300 200 100 300 200 300 400
AS 500
Module10. ppt
8/14/2001 3:35 PM
18 18
AS-Path Attribute
This attribute describes the sequence of AS numbers that must be traversed to reach the network whose prefix is advertised in the NLRI field of the Update message. As each eBGP speaker in the network forwards this Update message on to its eBGP neighbors, the local AS number is prepended to this AS-Path list. In the above example, network 180.10.0.0/16 resides inside of AS100. Notice that after this network prefix is reaches AS 500, the AS-Path for network 180.10.0.0/16 is 300 200 100. This means that traffic destined for this network must travel to AS 300, then on to AS 200 and finally AS 100 where network 180.10.0.0 resides. The same thing occurs for networks 170.10.0.0/16 and 150.10.0.0/16. An Update messages are originated by AS 200 and AS 400, respectively. When these Update messages reach AS 500, a separate entry is maintained for each network along with its unique AS-Path.
Module10.ppt
18
192.10.1.0/30
140.10.0.0/16
.2
.1
D E
.2
Path 100
.1
Next hop to reach a network Usually a local network is the next hop in eBGP session
AS 100
160.10.0.0/16
Module10. ppt
8/14/2001 3:35 PM
19 19
Next-Hop Attribute
The Next-Hop attribute contains the IP address of the next-hop router to which traffic destined for the network specified in the NLRI is to be sent. This is normally a directly connected network in the case of eBGP sessions. In the above example, network 160.10.0.0/16 resides in AS 100. Router A originates an Update message containing this network in the NLRI and sends this to Router B as shown. The Next-Hop attribute in the Update message contains the the IP address of Router As serial port, namely 192.20.2.1. This information instructs Router B that traffic for network 160.10.0.0/16 should be sent to 192.20.2.1 (Router A) for forwarding on to the destination.
Module10.ppt
19
192.10.1.0/30
140.10.0.0/16
.2
.1
D E
.2
.1
Next hop to reach a network Usually a local network is the next hop in eBGP session Next Hop updated between eBGP Peers
8/14/2001 3:35 PM
AS 100
160.10.0.0/16
Module10. ppt
20 20
Next-Hop Attribute
The Next-Hop attribute is normally updated with the local IP address of the eBGP router when an Update message is forwarded to another eBGP peer. In the above example, the Update for network 160.10.0.0/16 is being forwarded by Router C to its eBGP peer Router D. Notice that the Next-Hop attribute in the Update message has been updated to contain the the IP address of Router Cs serial port, namely 192.10.1.1. This information instructs Router D that traffic for network 160.10.0.0/16 should be sent to 192.10.1.1 (Router C) for forwarding on to the destination.
Module10.ppt
20
192.10.1.0/30
140.10.0.0/16
.2
.1
D E
.2
.1
AS 100
160.10.0.0/16
Module10. ppt
8/14/2001 3:35 PM
21 21
Next-Hop Attribute
The Next-Hop attribute is not updated when the Update message is being sent to an iBGP peer. In the above example, the Update for network 160.10.0.0/16 is being forwarded by Router D to its iBGP peer Router E. Notice that the Next-Hop attribute for network 160.10.0.0/16 has not been updated and still contains the the IP address of Router Cs serial port, namely 192.10.1.1. This means that the IGP running in AS 300 must contain routing information for 192.10.1.1 so that Router E can resolve how to forward the traffic for network 160.10.0.0/16 across AS 300 to Router D. Note: The requirement of carrying this Next-Hop information through the IGP (in this case a route to 192.10.1.1) can be eliminated by the use of the next-hop-self command at Router D. This forces Router D to update the Next-Hop attribute with its own IP address when sending the Update to its iBGP neighbor, Router E.
Module10.ppt
21
IGP should carry route to next hops Recursive route look-up Unlinks BGP from actual physical topology Allows IGP to make intelligent forwarding decision
Module10. ppt
8/14/2001 3:35 PM
22 22
Next-Hop Attribute
In general, the IGP should carry a route to the Next-Hop address as these addresses are often outside the address space in the IGP. iBGP speakers must perform a recursive route lookup to resolve the BGP Next-Hop information to a local IGP next-hop. (In other words, the iBGP router must determine the internal network next hop in the direction of iBGP speaker on the other side of the AS that advertised the network. This uncouples BGP from the actual physical topology of the network inside of the AS. As long as the IGP can find a path through the network to reach the Next-Hop address, then transient traffic can be routed across the AS to the exit-point iBGP router. This also permits the IGP to make intelligent forwarding decisions based on the internal metrics set in the local network.
Module10.ppt
22
Module10. ppt
8/14/2001 3:35 PM
23 23
Withdrawn Routes
This section of the Update message contains zero or more routes (prefix) that are to be withdrawn. The message is used to inform a BGP neighbor that the specified routes are no longer reachable.
Module10.ppt
23
AS 321
BGP Update Message
Connectivity lost
192.192.25.0/24
Network Next-Hop Path 150.10.0.0/16 192.168.10.2 321 200 192.192.25.0/24 192.168.10.2 321
Module10. ppt
8/14/2001 3:35 PM
24 24
Withdrawn Routes
In this example, network 192.192.25.0/24 was previously advertised to AS 123. However, the only interface to this network has failed. As a result, an Update message is sent to AS 123 with the prefix of network 192.192.25.0/24 in the Withdrawn Routes section of the message. The eBGP peer in AS 123 will update the information in its BGP Routing Information Base (RIB) to mark this route as withdrawn.
Module10.ppt
24
router bgp 100 network 160.10.1.0 255.255.255.0 network 160.10.3.0 255.255.255.0 no auto-summary
D D D R S 10.1.2.0/24 160.10.1.0/24 160.10.3.0/24 153.22.0.0/16 192.1.1.0/24
Route Table
BGP network commands are normally used to populate the BGP RIB with routes from the Route Table
Module10. ppt
8/14/2001 3:35 PM
25 25
Module10.ppt
25
router bgp 100 network 160.10.1.0 255.255.255.0 network 160.10.3.0 255.255.255.0 aggregate-address 160.10.0.0 255.255.0.0 summary-only no auto-summary
D D D R S 10.1.2.0/24 160.10.1.0/24 160.10.3.0/24 153.22.0.0/16 192.1.1.0/24
Route Table
BGP aggregate -address commands may be used to install summary routes in the BGP RIB
Module10. ppt
8/14/2001 3:35 PM
26 26
Module10.ppt
26
router bgp 100 network 160.10.0.0 255.255.0.0 redistribute static route-map foo no auto-summary
D D D R S 10.1.2.0/24 160.10.1.0/24 160.10.3.0/24 153.22.0.0/16 192.1.1.0/24
Route Table
BGP redistribute commands can also be used to populate the BGP RIB with routes from the Route Table
Module10. ppt
8/14/2001 3:35 PM
27 27
Module10.ppt
27
OUT Process
Update
Update
Path 100
BGP in process
receives path information from peers results of BGP path selection placed in the BGP table best path flagged (denoted by >)
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
28 28
Module10.ppt
28
OUT Process
Update
Update
Path Path 200 200 200 200 200 200 100 100
Next-Hop changed
8/14/2001 3:35 PM
29 29
Module10.ppt
29
D D D R S B
Route Table
Module10. ppt 8/14/2001 3:35 PM
30 30
Module10.ppt
30
MBGPMultiprotocol BGP
MBGP Overview MBGP Update Messages MBGP Capability Negotiation MBGP NLRI exchange MBGP-DVMRP redistribution BGP-to-MBGP redistribution
Module10. ppt
8/14/2001 3:35 PM
31 31
Module10.ppt
31
MBGP Overview
MBGP: Multiprotocol BGP Defined in RFC 2283 (extensions to BGP) Can carry different types of routes
IPv4 Unicast IPv4 Multicast IPv6 Unicast
May be carried in same BGP session Does not propagate multicast state info
Still need PIM to build Distribution Trees
8/14/2001 3:35 PM
32 32
MBGP Overview
Multiprotocol BGP (MBGP) is defined in RFC 2283. This RFC defines extensions to the existing BGP protocol to allow it to carry more than just IPv4 route prefixes. Examples of some of the new types of routing information include (but are not limited to): IPv4 prefixes for Unicast routing IPv4 prefixes for Multicast RPF checking IPv6 prefixes for Unicast routing A common misconception is that MBGP is a replacement for PIM. This is incorrect. MBGP does not propagate any multicast state information nor does it build any sort of multicast distribution trees. MBGP can distribute unicast prefixes that can be used for the multicast RPF check. Because MBGP is an extension to the existing BGP protocol, the same basic rules apply to path selection, path validation, etc.
Module10.ppt
32
MBGP Overview
Separate BGP tables maintained
Unicast Routing Information Base (U -RIB) Multicast Routing Information Base (M-RIB) New BGP nlri keyword specifies which RIB Allows different unicast/multicast topologies or policies
8/14/2001 3:35 PM
33 33
Module10.ppt
33
MBGP Overview
NLRI capability negotiation Redistribution between MBGP and DVMRP Redistribution of BGP stubs into MBGP
Module10. ppt
8/14/2001 3:35 PM
34 34
Module10.ppt
34
35 35
Module10.ppt
35
RFC 1700
May be Zero
8/14/2001 3:35 PM
36 36
MP_REACH_NLRI Attribute
The key characteristics of this new attribute is the Address Family Identifier and Sub-Address Family Identifier fields. These two fields define the type of routing information that is carried in the NLRI field of this attribute. The Next-Hop Address information is contained in the field following the AFI and Sub-AFI fields. Following the Next-Hop Address fields are zero or more SNPA fields. These field contain the attributes associated with the NLRI field. (For IPv4 AFIs, these attributes are the same as the old style BGP attributes.) Finally, the NLRI field contains the Length and Prefix information of the route that is being advertised as reachable.
Module10.ppt
36
Module10. ppt
8/14/2001 3:35 PM
37 37
Module10.ppt
37
MP_UNREACH_NLRI Attribute
Address Family Identifier (2 Octets) Subsequent Address Family Identifier (1 Octet) Withdrawn Routes (Variable) Length (I Octet) Prefix (Variable)
Module10. ppt
8/14/2001 3:35 PM
38 38
MP_UNREACH_NLRI Attribute
This new attribute permits unfeasible routes of the new protocol types to be withdrawn in the same fashion as the Withdrawn Routes field is used in BGP. Notice that this attribute also carries the AFI and Sub-AFI fields along the associated Length and Prefix of the withdrawn route.
Module10.ppt
38
MBGPCapability Negotiation
BGP routers establish BGP sessions through the OPEN message OPEN message contains optional parameters BGP session is terminated if OPEN parameters are not recognised New parameter: CAPABILITIES
Multiprotocol extension Multiple routes for same destination
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
39 39
Module10.ppt
39
MBGPCapability Negotiation
Configures router to negotiate either or both types of NLRI If neighbor configures both or subset, common NRLI is used in both directions If there is no match, notification is sent and peering doesnt come up
Module10. ppt
8/14/2001 3:35 PM
40 40
If foo has configured the same set of abilities, then both unicast and multicast NLRI can be exchanged via the session. If the two peers do not match, the lowest common subset is used. If there is no match between the capabilities, the peering will not come up.
Module10.ppt
40
AS 321
router bgp 123 neighbor 192.168.100.2 remote-as 321 nlri unicast multicast . . .
Receiver
Sender
Module10. ppt
8/14/2001 3:35 PM
41 41
Module10.ppt
41
AS 321
router bgp 321 neighbor 192.168.100.1 remote-as 123 nlri unicast multicast . . .
Receiver
Sender
Module10. ppt
8/14/2001 3:35 PM
42 42
instructs the router on the right to attempt to negotiate both unicast and multicast NLRI exchange.
Module10.ppt
42
AS 321
Receiver
BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP:
192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2 192.168.100.2
open active, local address 192.168.100.1 went from Active to OpenSent sending OPEN, version 4 192.192.25.0/24 OPEN rcvd, version 4 rcv OPEN w/option parameter type: 2, len: 6 OPEN has CAPABILITY code: 1, length 4 Sender OPEN has MP_EXT CAP for afi/safi: 1/1 rcv OPEN w/option parameter type: 2, len: 6 OPEN has CAPABILITY code: 1, length 4 OPEN has MP_EXT CAP for afi/safi: 1/2 went from OpenSent to OpenConfirm went from OpenConfirm to Established
Module10. ppt
8/14/2001 3:35 PM
43 43
Module10.ppt
43
If neighbor doesnt include the CAPABILITY parameters in open, Cisco backs off and reopens with no capability parameters Peering comes up in unicast-only mode Hidden command
neighbor <foo> dont-capability-negotiate
Module10. ppt
8/14/2001 3:35 PM
44 44
Module10.ppt
44
New nlri keyword controls in which RIB the matching route(s) is(are) stored M-RIB if multicast keyword specified U-RIB if unicast keyword specified (or if nlri clause omitted) Both RIBs if both keywords specified
Module10. ppt
8/14/2001 3:35 PM
45 45
Module10.ppt
45
Multicast RIB
Network Next-Hop Path
D D D R S
router bgp 100 network 160.10.1.0 255.255.255.0 nlri unicast network 160.10.3.0 255.255.255.0 nlri unicast no auto-summary
New nlri keyword used to control RIB population. (e.g. network command)
Unicast RIB only
Route Table
Module10. ppt
8/14/2001 3:35 PM
46 46
Module10.ppt
46
Multicast RIB
Network *>i160.10.1.0/24 *>i160.10.3.0/24 Next-Hop 192.20.2.2 192.20.2.2 Path i i
D D D R S
router bgp 100 network 160.10.1.0 255.255.255.0 nlri multicast network 160.10.3.0 255.255.255.0 nlri multicast no auto-summary
New nlri keyword used to control RIB population. (e.g. network command)
Unicast RIB only Multicast RIB only
Route Table
Module10. ppt
8/14/2001 3:35 PM
47 47
Module10.ppt
47
Multicast RIB
Network *>i160.10.1.0/24 *>i160.10.3.0/24 Next-Hop 192.20.2.2 192.20.2.2 Path i i
D D D R S
router bgp 100 network 160.10.1.0 255.255.255.0 nlri unicast multicast network 160.10.3.0 255.255.255.0 nlri unicast multicast no auto-summary
New nlri keyword used to control RIB population. (e.g. network command)
Unicast RIB only Multicast RIB only Both RIBs
8/14/2001 3:35 PM
Route Table
Module10. ppt
48 48
Module10.ppt
48
Route map set nlri clause controls which RIB the matching route(s) is(are) stored
Module10. ppt
8/14/2001 3:35 PM
49 49
Module10.ppt
49
Multicast RIB
Network *>i192.1.1.0/24 Next-Hop 192.20.2.2 Path ?
router bgp 100 redistribute static route-map foo access-list 1 permit 192.1.1.0 0.0.0.255
D D D R S 10.1.2.0/24 160.10.1.0/24 160.10.3.0/24 153.22.0.0/16 192.1.1.0/24
Route Table
Module10. ppt
8/14/2001 3:35 PM
Module10.ppt
50
Default Origination
neighbor <foo> default-originate [nlri multicast unicast]
In Route Maps
match nlri multicast unicast
Injects the matched route into the specified unicast or multicast RIB
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
51 51
Module10.ppt
51
Module10. ppt
8/14/2001 3:35 PM
52 52
Module10.ppt
52
Multicast RIB
Network *>i160.10.1.0/24 *>i160.10.3.0/24 Next-Hop 192.20.2.2 192.20.2.2 Path i i
Storage of arriving NLRI information depends on AFI/SAFI fields in the Update message Unicast RIB only (AFI=1/SAFI=1 or old style NLRI)
Module10. ppt
8/14/2001 3:35 PM
53 53
Module10.ppt
53
Multicast RIB
Network *>i160.10.1.0/24 *>i160.10.3.0/24 *>i192.192.2.0/24 Next-Hop 192.20.2.2 192.20.2.2 192.168.200.2 Path i i 300 200 i
Storage of arriving NLRI information depends on AFI/SAFI fields in the Update message Unicast RIB only (AFI=1/SAFI=1 or old style NLRI) Multicast RIB only (AFI=1/SAFI=2)
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
54 54
Module10.ppt
54
Multicast RIB
Network *>i160.10.1.0/24 *>i160.10.3.0/24 *>i192.192.2.0/24 Next-Hop 192.20.2.2 192.20.2.2 192.168.200.2 Path i i 300 200 i
Storage of arriving NLRI information depends on AFI/SAFI fields in the Update message Unicast RIB only (AFI=1/SAFI=1 or old style NLRI) Multicast RIB only (AFI=1/SAFI=2) Both RIBs (AFI=1/SAFI=3)
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
55 55
Module10.ppt
55
Congruent Topologies
AS 123
.1
AS 321
192.168.10.0/24
router bgp 123 neighbor 192.168.100.2 remote-as 321 nlri unicast multicast network 192.168.10.0 255.255.255.0 nlri unicast multicast no auto-summary
192.192.25.0/24
Receiver
Sender
Module10. ppt
8/14/2001 3:35 PM
56 56
Module10.ppt
56
Congruent Topologies
AS 123
.1
AS 321
192.168.10.0/24
router bgp 321 neighbor 192.168.100.1 remote-as 123 nlri unicast multicast network 192.192.25.0 255.255.255.0 nlri unicast multicast no auto-summary
192.192.25.0/24
Receiver
Sender
Module10. ppt
8/14/2001 3:35 PM
57 57
Module10.ppt
57
Congruent Topologies
AS 123
.1
AS 321
Unicast Information NLRI: 192.192.25/24 AS_PATH: 321 MED: Next-Hop: 192.168.100.2 ... 192.192.25.0/24 Multicast Information Receiver MP_REACH_NLRI: 192.192.25/24 AFI: 1, Sub-AFI: 2 (multicast) AS_PATH: 321 MED: Next-Hop: 192.168.100.2 ... Routing Update
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
192.168.10.0/24
Sender
8/14/2001 3:35 PM
58 58
Module10.ppt
58
Congruent Topologies
AS 123
.1
AS 321
Unicast Information NLRI: 192.168.10/24 AS_PATH: 123 MED: Next-Hop: 192.168.100.1 ... Multicast Information Receiver MP_REACH_NLRI: 192.168.10/24 AFI: 1, Sub-AFI: 2 (multicast) AS_PATH: 123 MED: Next-Hop: 192.168.100.1 ... Routing Update
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
192.168.10.0/24
192.192.25.0/24
Sender
8/14/2001 3:35 PM
59 59
Module10.ppt
59
Incongruent Topologies
AS 123 AS 321 .1 .1 Unicast Traffic 192.168.100.0/24 .2
192.168.10.0/24 router bgp 321 . . . network 192.192.25.0 255.255.255.0 nlri unicast multicast neighbor 192.168.100.1 remote-as 123 nlri unicast neighbor 192.168.200.1 remote-as 123 nlri multicast
Sender
Module10. ppt
8/14/2001 3:35 PM
60 60
The first command instructs the router on the right to negotiate a unicastonly BGP session over the top serial link while the second command instructs it to negotiate a multicast-only session over the bottom serial link. The router on the right is also instructed to inject network 192.192.25.0/24 into both its local U-RIB and M-RIB using the following command:
network 192.192.25.0 255.255.255.0 nlri unicast multicast
Once this network is injected into both RIBs, its network prefix will be advertised to the router on the right. However, the unicast nlri for this network will be advertised over the top BGP session and the multicast nlri over the bottom BGP session.
Module10.ppt
60
Incongruent Topologies
AS 123 AS 321 .1 .1 Unicast Traffic 192.168.100.0/24 .2
192.168.10.0/24 router bgp 123 . . . network 192.168.10.0 255.255.255.0 nlri unicast multicast neighbor 192.168.100.2 remote-as 321 nlri unicast neighbor 192.168.200.2 remote-as 321 nlri multicast
Sender
Module10. ppt
8/14/2001 3:35 PM
61 61
The first command instructs the router on the right to negotiate a unicastonly BGP session over the top serial link while the second command instructs it to negotiate a multicast-only session over the bottom serial link. The router on the right is also instructed to inject network 192.168.10.0/24 into both its local U-RIB and M-RIB using the following command:
network 192.168.10.0 255.255.255.0 nlri unicast multicast
Once this network is injected into both RIBs, its network prefix will be advertised to the router on the right. However, the unicast nlri for this network will be advertised over the top BGP session and the multicast nlri over the bottom BGP session.
Module10.ppt
61
Incongruent Topologies
AS 123 AS 321 .1 .1 Unicast Traffic 192.168.100.0/24 .2
192.168.10.0/24
Sender Unicast Information NLRI: NLRI: 192.192.25/24 192.192.25/24 AS_PATH: AS_PATH: 321 321 MED: MED: Next-Hop: 192.168.100.2 Next-Hop: 192.168.100.2 Routing Update
Module10. ppt
8/14/2001 3:35 PM
62 62
Module10.ppt
62
Incongruent Topologies
AS 123 AS 321 .1 .1 Unicast Traffic 192.168.100.0/24 .2
192.168.10.0/24
Multicast Information MP_REACH_NLRI: MP_REACH_NLRI: 192.192.25/24 192.192.25/24 AFI: AFI: 1, 1, Sub-AFI: Sub-AFI: 2 2 AS_PATH: AS_PATH: 321 321 MED: MED: Next-Hop: Next-Hop: 192.168.200.2 192.168.200.2 Routing Update
Sender
Module10. ppt
8/14/2001 3:35 PM
63 63
Module10.ppt
63
Incongruent Topologies
AS 123 AS 321 .1 .1 Unicast Traffic 192.168.100.0/24 .2
192.168.10.0/24
Sender
Unicast RIB Network Next-Hop Path 192.192.25.0/24 192.168.100.2 321 Multicast RIB Network Next-Hop Path 192.192.25.0/24 192.168.200.2 321
Module10. ppt
8/14/2001 3:35 PM
64 64
Module10.ppt
64
BGP stubs that dont have MBGP support need to get their prefixes into the Multicast backbone They get external routes via MBGP default or static default
Module10. ppt
8/14/2001 3:35 PM
65 65
Module10.ppt
65
Use command
neighbor <foo> translate-update [nlri multicast]
Module10. ppt
8/14/2001 3:35 PM
66 66
Module10.ppt
66
BGP IN Process
Arriving Unicast update intercepted by translate -update Front-end A translated Multicast update is created & passed to the IN Process Original Unicast update is passed on to the IN Process Both updates processed normally by the IN Process
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
67 67
Module10.ppt
67
AS 2
LO0 192.170.1.1
AS 4
192.192.25.0/24
AS 1
router bgp 1 . . . neighbor 192.168.1.1 neighbor 192.168.1.1 neighbor 192.170.1.1 neighbor 192.180.1.1 . . .
remote-as 4 translatetranslate -update nlri multicast remote-as 2 nlri unicast multicast remote-as 3 nlri unicast multicast
AS 3
LO0 192.180.1.1
Module10. ppt
8/14/2001 3:35 PM
68 68
Module10.ppt
68
AS 2
LO0 192.170.1.1
AS 4
192.192.25.0/24
AS 1
AS 3
LO0 192.180.1.1
Module10. ppt
8/14/2001 3:35 PM
69 69
Module10.ppt
69
AS 2
LO0 192.170.1.1
AS 4
192.192.25.0/24
AS 1
AS 3
Multicast Updates MP_REACH_NLRI: 192.192.25/24 AFI: 1, Sub-AFI: 2 (multicast) AS_PATH: 1, 4 MED: Next-Hop: ... LO0 192.180.1.1
Module10. ppt
8/14/2001 3:35 PM
70 70
Module10.ppt
70
AS 2
LO0 192.170.1.1
AS 4
192.192.25.0/24
AS 1
AS 3
Unicast Updates NLRI: 192.192.25/24 AS_PATH: 1, 4 MED: Next-Hop: ... LO0 192.180.1.1
Module10. ppt
8/14/2001 3:35 PM
71 71
Module10.ppt
71
Module10. ppt
8/14/2001 3:35 PM
72 72
Module10.ppt
72
You can do your typical set operations Used when connecting DVMRP access points into the MBGP backbone Used at strategic interconnect points with the old DVMRP MBONE
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
73 73
Module10.ppt
73
Multicast RIB
Network *>i192.1.1.0/24 *>i192.1.5.0/24 Next-Hop 192.20.2.2 192.20.2.2 Path ? ?
router bgp 100 redistribute dvmrp route -map dvmrp-to-bgp access-list 1 permit 192.1.0.0 0.0.255.255
Route 160.10.1.0/24 160.10.3.0/24 153.22.0.0/16 192.1.1.0/24 192.1.5.0/24 Hops 4 3 7 5 6
Module10. ppt
8/14/2001 3:35 PM
74 74
Module10.ppt
74
DVMRP Tunnel
AS 3
LO0 192.180.1.1
Module10. ppt
8/14/2001 3:35 PM
75 75
Module10.ppt
75
DVMRP Tunnel
AS 3
LO0 192.180.1.1
Module10. ppt
8/14/2001 3:35 PM
76 76
Module10.ppt
76
DVMRP Tunnel
AS 3
Multicast Updates MP_REACH_NLRI: 192.168/16 AFI: 1, Sub-AFI: 2 (multicast) AS_PATH: 1, 4 MED: Next-Hop: ... LO0 192.180.1.1
Module10. ppt
8/14/2001 3:35 PM
77 77
Module10.ppt
77
Can use typical match operations However, we recommend tail sites using DVMRP access to accept DVMRP default route
Module10. ppt
8/14/2001 3:35 PM
78 78
Module10.ppt
78
8/14/2001 3:35 PM
79 79
MBGP History
Support for Multiprotocol BGP was first introduced in IOS release 12.0S. In order to support different types of NLRI exchange, the nlir clause was added to many of the existing BGP configuration commands. However, this initial release only supported ipv4 unicast and ipv4 multicast NLRI. In order to support other types of NLRI, (such as IPv6) it was decided that the nlri syntax was not suitable and a new change in the syntax was introduced beginning in IOS releases 12.1 and 12.0(7)T. The 12.0S train still retains the old syntax.
Module10.ppt
79
8/14/2001 3:35 PM
80 80
Address-family structure
In order to support different types of address-family and sub-address family NLRI, the address-family block was added to the BGP configuration command syntax. The address-family block replaces many of the old nlri clauses. However, there are still some commands that retain the use of the nlri keyword. The address-family block is used to separate groups of configuration commands by address-family/sub-address family. In order to remain as backwards compatible as possible, the default address family is ipv4 unicast. This results in an implied address-family ipv4 unicast block. This default behavior is sometimes confusing because it merges common bgp configuration commands with ipv4 unicast specific commands. In addition, neighbor definition implies ipv4 unicast capability negotiation by default. This makes specifying ipv4 multicast only neighbors a bit confusing. The no bgp default ipv4-unicast command may be used to override this rather confusing behavior. When this command has been configured, a separate address-family ipv4 unicast block can be configured. This allows the configuration to clearly separate ipv4 unicast and multicast into separate address-family blocks.
Module10.ppt
80
Exception:
Unicast neighbors are automatically activated in the implied address-family ipv4 unicast block This default behavior can be overridden with:
no bgp default ipv4-unicast
Module10. ppt
1998 2001, Cisco Systems, Inc. All rights reserved.
8/14/2001 3:35 PM
81 81
Module10.ppt
81
Implied ipv4 unicast address family block with implied neighbor activate commands
Module10. ppt
8/14/2001 3:35 PM
82 82
Notice that the neighbor 172.16.1.2 remote-as 301 command also implies a neighbor 172.16.1.2 activate for ipv4 unicast NLRI exchange to neighbor 172.16.1.2. In addition, the no neighbor 172.16.11.2 activate overrides the implied neighbor 172.16.11.2 activate for ipv4 unicast NLRI exchange to neighbor 172.16.11.2. The bottom section of the example is the ipv4 multicast address family block. Notice that only neighbor 172.16.11.2 is activated for ipv4 multicast NLRI exchange. In this case, the no neighbor 172.16.1.2 activate is implied.
Module10.ppt
82
Module10. ppt
8/14/2001 3:35 PM
83 83
Module10.ppt
83
After Conversion
router bgp 5 network 171.69.214.0 mask 255.255.255.0 neighbor 171.69.214.38 remote-as 2 neighbor 171.69.214.50 remote-as 2 no neighbor 171.69.214.50 activate ! address-family ipv4 multicast neighbor 171.69.214.50 activate network 171.69.214.0 mask 255.255.255.0 exit-address-family
Overrides implied neighbor activate for the ipv4 unicast address family
Module10. ppt
8/14/2001 3:35 PM
84 84
After the conversion, the configuration has the implied ipv4 address block in the top lines as follows:
router bgp 5 network 171.69.214.0 mask 255.255.255.0 neighbor 171.69.214.38 remote-as 2 neighbor 171.69.214.50 remote-as 2 no neighbor 171.69.214.50 activate
Again, the neighbor 172.69.224.38 remote-as 2 command in this implied ipv4 unicast address family block has an implied neighbor 172.69.224.38 activate . This automatically activates ipv4 unicast NLRI exchange as was taking place in the original 12.0S configuration. In addition, the no neighbor 172.69.214.50 activate overrides the implied neighbor 172.69.214.50 activate that would normally occur in the implied ipv4 unicast block. This prevents ipv4 unicast NLRI exchange with this neighbor. The ipv4 multicast address family block also contains the neighbor 172.69.214.50 activate command which explicitly activates ipv4 multicast NLRI exchange with this neighbor Finally, the network 171.69.224.0 mask 255.255.255.0 command appears in both the implied ipv4 unicast address family block AND the explicit ipv4 multicast address family block. This causes this network to be injected into both the ipv4 Unicast and Multicast RIBs.
Copyright ? ?1998-2000, Cisco Systems, Inc.
Module10.ppt
84
Allows a clear separation of unicast and multicast configurations All ipv4 unicast commands are placed in a separate (explicit) address-family block
Module10. ppt
8/14/2001 3:35 PM
85 85
Syntax Tricks
By using the no bgp default ipv4-unicast command, we can disable the default, implied ipv4 unicast address family block and its implied neighbor activation commands. (Which can be quite confusing in a multiprotocol envirionment.) When this command is configured, it allows a clear separation of ipv4 unicast and multicast configurations commands. In addition, activate commands must be explicitly configured in each section.
Module10.ppt
85
Module10. ppt
86 86
Module10.ppt
86
Debugging MBGP
show ip bgp neighbor
asimov# asimov# show show ip ip bgp bgp neighbor neighbor BGP BGP neighbor neighbor is is 10.0.10.3, 10.0.10.3, remote remote AS AS 1, 1, internal internal link link Index 2, Offset 0, Mask Index 2, Offset 0, Mask 0x4 0x4 BGP BGP version version 4, 4, remote remote router router ID ID 193.78.81.4 193.78.81.4 BGP BGP state state == Established, Established, table table version version == 4, 4, up up for for 22:32:50 22:32:50 Last Last read read 00:00:49, 00:00:49, hold hold time time is is 180, 180, keepalive keepalive interval interval is is 60 60 seconds seconds Neighbor NLRI negotiation: Neighbor NLRI negotiation: Configured Configured for for unicast unicast and and multicast multicast routes routes Peer Peer negotiated negotiated unicast unicast and and multicast multicast routes routes Exchanging Exchanging unicast unicast and and multicast multicast routes routes Minimum Minimum time time between between advertisement advertisement runs runs is is 5 5 seconds seconds Received Received 8916 8916 messages, messages, 00 notifications, notifications, 00 in in queue queue Sent Sent 8923 8923 messages, messages, 00 notifications, notifications, 00 in in queue queue Connections Connections established established 4; 4; dropped dropped 33 Last Last reset reset 22:32:59, 22:32:59, due due to to User User reset reset 00 accepted accepted unicast unicast prefix prefix consume consume 00 bytes bytes of of memory memory 00 history history unicast unicast paths paths consume consume 0 0 bytes bytes of of memory memory Connection Connection state state is is ESTAB, ESTAB, I/O I/O status: status: 1, 1, unread unread input input bytes: bytes: 0 0 Local Local host: host: 10.0.10.1, 10.0.10.1, Local Local port: port: 11004 11004 Foreign host: 10.0.10.3, Foreign port: 179 Foreign host: 10.0.10.3, Foreign port: 179
Module10. ppt
8/14/2001 3:35 PM
87 87
Debugging MBGP
The above command may be used to debug the status of a (M)BGP peer connection with a neighbor. Notice that the highlighted text indicates exactly what capabilities and NLRI are being exchanged between the router and this peer. Note: If the Neighbor NLRI negotiation field is missing, only unicast NLRI information is being exchanged.
Module10.ppt
87
Debugging MBGP
Old 12.0S Syntax
show ip bgp
asimov# asimov# show show ip ip bgp bgp BGP BGP table table version version is is 4, 4, local local router router ID ID is is 10.0.100.1 10.0.100.1 Status Status codes: codes: ss suppressed, suppressed, dd damped, damped, hh history, history, ** valid, valid, >> best, best, ii -- internal internal Origin Origin codes: codes: ii -- IGP, IGP, ee -- EGP, EGP, ?? -- incomplete incomplete Network Network *>10.0.100.0/24 *>10.0.100.0/24 Next Next Hop Hop 0.0.0.0 0.0.0.0 Metric Metric LocPrf LocPrf Weight Weight Path Path 00 32768 32768 ii
show ip mbgp
asimov# asimov# show show ip ip mbgp mbgp MBGP MBGP table table version version is is 6, 6, local local router router ID ID is is 10.0.100.1 10.0.100.1 Status Status codes: codes: ss suppressed, suppressed, dd damped, damped, hh history, history, ** valid, valid, >> best, i internal best, i - internal Origin Origin codes: codes: ii -- IGP, IGP, ee -- EGP, EGP, ?? -- incomplete incomplete Network Network *>10.0.70.0/24 *>10.0.70.0/24 *>10.0.80.0/24 *>10.0.80.0/24
Module10. ppt
Metric Metric LocPrf LocPrf Weight Weight Path Path 307200 32768 307200 32768 ii 10000 32768 10000 32768 ??
8/14/2001 3:35 PM
88 88
Debugging MBGP
Two different commands are currently used to display the contents of the Unicast RIB and the Multicast RIB. These are: show ip bgp show ip mbgp Shows the contents of the U-RIB Shows the contents of the M-RIB
The information displayed by the above commands is fundamentally the same. The only difference is on is the contents of the Unicast RIB and the other is the contents of the Multicast RIB. Note:The syntax of the above commands will change in the near future to avoid the confusing practice of referring to mbgp as meaning Multicast NLRI or Multicast RIB instead of Multiprotocol BGP.
Module10.ppt
88
Debugging MBGP
New 12.1 Syntax
show ip bgp ipv4 unicast
asimov# asimov# show show ip ip bgp bgp ipv4 ipv4 unicast unicast BGP BGP table table version version is is 4, 4, local local router router ID ID is is 10.0.100.1 10.0.100.1 Status Status codes: codes: ss suppressed, suppressed, dd damped, damped, hh history, history, ** valid, valid, >> best, best, ii -- internal internal Origin Origin codes: codes: ii -- IGP, IGP, ee -- EGP, EGP, ?? -- incomplete incomplete Network Network *>10.0.100.0/24 *>10.0.100.0/24 Next Next Hop Hop 0.0.0.0 0.0.0.0 Metric Metric LocPrf LocPrf Weight Weight Path Path 00 32768 32768 ii
Metric Metric LocPrf LocPrf Weight Weight Path Path 307200 32768 307200 32768 ii 10000 32768 ? 10000 32768 ?
8/14/2001 3:35 PM
89 89
Debugging MBGP
Two different commands are currently used to display the contents of the Unicast RIB and the Multicast RIB. These are: show ip bgp show ip mbgp Shows the contents of the U-RIB Shows the contents of the M-RIB
The information displayed by the above commands is fundamentally the same. The only difference is on is the contents of the Unicast RIB and the other is the contents of the Multicast RIB. Note:The syntax of the above commands will change in the near future to avoid the confusing practice of referring to mbgp as meaning Multicast NLRI or Multicast RIB instead of Multiprotocol BGP.
Module10.ppt
89
Debugging MBGP
Same for both Old and New Syntax
MBGP debug commands
debug ip mbgp updates
8/14/2001 3:35 PM
90 90
Debugging MBGP
Use the following command to display Multicast NLRI passed in MBGP update messages. debug ip mbgp updates Use the following command to display Unicast NLRI passed in MBGP update messages. debug ip mbgp updates Use the following command to display Multicast route flap dampening activity. debug ip mbgp dampening [<acl>] Use the following command to display Unicast route flap dampening activity. debug ip bgp dampening [<acl>] Note: The syntax of the above commands will change in the near future.
Module10.ppt
90
MBGPSummary
Module10. ppt
8/14/2001 3:35 PM
91 91
MBGP Summary
MBGP solves part of the inter-domain multicast problem by allowing ASs to exchange Multicast RPF information in the for of MBGP Multicast NLRI. Because this is accomplished using an extension to the BGP protocol to make it support multiple protocols (i.e.Multiprotocol BGP), the same BGP configuration knobs are available for both Unicast and Multicast information. The separation of unicast and multicast prefixes into separate Unicast and Multicast RIBs permits unicast and multicast traffic to follow different paths if desired. MBGP is only one piece of the overall Inter-domain Multicast solution and PIM must still be used to: Build the multicast distribution trees. (Typically via PIM-SM.) Actually RPF check and forward multicast traffic. PIM-SM is recommended as it permits the use of MSDP which solves most of the remaining issues and is covered in another section.
Module10.ppt
91
Module10.ppt
92
Module10.ppt
92