83950 Telecommunications Laboratory Course BGP1 BGP1 Multihoming and Traffic Engineering date & time student # name 1 2 bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 1/17
Part I Home Assignment 1 General Explain the following terms: 1. Route Flap 2. More Specific Route 3. Less Specific Route 4. Local Preference 5. Multi-Exit Discriminator 6. Asymmetric Routing bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 2/17
Look at the following two Looking Glass captures and complete the AS map based on them: AS3246#sh ip bgp regex _1739_ BGP table version is 5233913, local router ID is 194.100.251.254 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop LocPrf Weight Path * i130.230.0.0 193.110.226.14 100 0 1741 1739 i *> 194.68.123.24 110 0 2603 1741 1739 i * 166.49.214.17 0 5400 5400 1741 1739 i * i 194.68.134.24 110 0 2603 1741 1739 i * 213.248.67.89 100 0 1299 3356 2603 1741 1739 i * i 212.226.101.149 100 0 1741 1739 i AS3246# AS6667#sh ip bgp regex _1739_ BGP table version is 61461289, local router ID is 195.197.52.114 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop LocPrf Weight Path * i130.230.0.0 193.110.226.14 100 0 1741 1739 i *>i 213.192.191.98 100 0 790 1739 i * i 213.192.191.102 100 0 790 1741 1739 i * 194.68.123.24 100 0 2603 1741 1739 i * i 213.242.69.9 90 0 3356 2603 1741 1739 i AS6667# AS6667 AS3246 AS1741 AS1739 bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 3/17
2 AS Relations, Peering vs Transit 7. What routes are announced to a peer on an exchange? 8. What routes are announced to a customer AS? 9. What routes are announced to a transit AS? 10. What routes are announced over IBGP? 11. How many transit-customer relationships between ASes can there be on a valid path over the Internet? What restrictions are there regarding their order? 12. How many peer relationships between ASes can there be on a valid path over the Internet? Why? 3 Inter-Operator Traffic Engineering There was a good presentation at NANOG in 2002 about this topic. It s slides should be in the binder, but they are available on the web as well at: http://www.nanog.org/mtg-0206/ppt/bruno.pdf bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 4/17
3.1 Route Egress Routes advertised to other ASes. Traffic flowing into an AS. 1. When an AS hears a route simultaneously from a customer, a peer and a transit, what is the order in which the different paths are preferred? Why? 2. If an AS has multiple transits and peers, give at least three ways for it to load balance outgoing traffic over all its links using BGP. 3.2 Route Ingress Routes accepted from other ASes. Traffic flowing out of an AS. 1. Why is the manipulation of paths for inbound traffic hard and unreliable at best? 2. What ways are there to engineer inbound traffic using BGP? bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 5/17
4 Communities 4.1 Local Preference 1. What are so called LOCAL PREF Communities? 2. Who attaches these communities to routes? On which routers are they attached? 3. Which autonomous system (network operator) looks for these communities? On which routers are they checked? 4. What kind of things can an AS do with other AS es LOCAL PREF Communities? 4.2 Prepending 1. What are so called Prepend Communities? 2. Who attaches these communities to routes? On which routers are they attached? 3. Which autonomous system (network operator) looks for these communities? On which routers are they checked? bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 6/17
4. What kind of things can an AS do with other AS es Prepend Communities? 4.3 Other 1. What other types of communities do you know of? 2. What can Origin Communities be useful for? 5 Multi-Exit Descriminator Multi-Exit routing means that there are two or more direct interconnection points between the same two autonomous systems. For example, there are two such connections between AS23095 and AS444 in the lab exercise. (see page 10) 3. What ways are there to traffic engineer in a situation where there are multiple interconnects between two ASes? What are the pros and cons of these methods? bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 7/17
6 Router Configuration 6.1 Route-Maps Many router vendors use a configuration concept called route-maps to tell the router what to do to routes and which routes should be affected. Find out how they work. 1. What happens if a route-map entry has no match clause? 2. What happens if a route-map entry has no set clause? 3. How do you do a logical AND match with route-maps? 4. How do you do a logical OR match with route-maps? 5. How do you do a logical NOT match with route-maps? 6.2 Peer Groups Peer groups are a way to optimize load on the router CPU. Find out how they work. 1. How do they lessen the processing load on the router? 2. What restrictions do they impose? bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 8/17
3. What are they useful for? (Other than optimizing load.) 7 Network Design Take a look at the Lab Assignment part. There are five routers and two switches in the lab. Assign subnets, interfaces and VLANs to the inter router links and present this design to the lab assistant before coming to the lab. You can use any addresses you like for the links. The conventional way to assigned addresses for the links is that the transit provider provides the addresses. If the link is between equals, i.e. peers, the peers agree that one of them provides the addresses. Peering usually happens on an Internet exchange though, in which case the Internet exchange provides the addresses one the shared medium. You will also need to run OSPF inside AS444 to spread the next-hop routes inside the AS. bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 9/17
AS444- ISP gw3 192.168.233.0/24 ibgp gw2 transit - customer peer AS23095 peer 192.0.2.0/24 10.0.128.0/17 192.168.2.0/24 gw1 peer gw5 10.12.0.0/16 peer transit - customer AS103- Customer AS3066 gw4 172.22.32.0/19 Figure 1: Network Setup Part II Lab Assignment Set up the network according to figure 1. Each AS has one or more routes that it should announce. Create peer groups CUSTOMER, PEER and TRANSIT and use them appropriately. Create a community to mark own and customer routes for each AS and use this community to filter announcements. There are a few useful printed manuals in the binder. Use Cisco manuals on CDs at the lab or on-line using links on the web page of the Advanced Course on Networking: http://www.cs.tut.fi/kurssit/8304600/materiaali.html bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 10/17
Here s an example of the required peer-groups and route-maps: ip bgp-community new-format! router bgp 1234 no synchronization no auto-summary bgp log-neighbor-changes network 1.2.3.0 mask 255.255.255.0 route-map inject neighbor CUSTOMER peer-group neighbor CUSTOMER send-community neighbor CUSTOMER route-map customer-sisaan in neighbor PEER peer-group neighbor PEER send-community neighbor PEER route-map peer-sisaan in neighbor PEER route-map peer-ulos out neighbor TRANSIT peer-group neighbor TRANSIT send-community neighbor TRANSIT route-map transit-sisaan in neighbor TRANSIT route-map transit-ulos out neighbor ibgp peer-group neighbor ibgp send-community! route-map inject permit 10 set community 1234:1! route-map customer-sisaan permit 10 set community 1234:1 set local-preference 110! ip community-list 1 permit 1234:1! route-map peer-ulos permit 10 match community 1! route-map transit-ulos permit 10 match community 1! route-map peer-sisaan permit 10 set local-preference 100! route-map transit-sisaan permit 10 set local-preference 90 bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 11/17
8 Checking Initial Setup After the routers are connected and properly configured, verify that the routing tables on the routers resemble the following tables. Check that no router is leaking routes it shouldn t. gw1 (AS23095) F PREFIX next hop AS PATH > 10.12.0.0/16 0.0.0.0 i 192.0.2.0/24 gw2 444 103 i > gw3 444 103 i gw4 3066 103 i > 192.168.233.0/24 gw2 444 i gw3 444 i > 172.22.32.0/19 gw4 3066 i 10.0.128.0/17 gw2 444 103 i > gw3 444 103 i gw4 3066 103 i 192.168.2.0/24 gw2 444 103 i > gw3 444 103 i gw4 3066 103 i gw4 (AS3066) F PREFIX next hop AS PATH > 10.12.0.0/16 gw1 23095 i 192.0.2.0/24 gw2 444 103 i > gw5 103 i > 192.168.233.0/24 gw2 444 i > 172.22.32.0/19 0.0.0.0 i 10.0.128.0/17 gw2 444 103 i > gw5 103 i 192.168.2.0/24 gw2 444 103 i > gw5 103 i gw2 (AS444) F PREFIX next hop AS PATH > 10.12.0.0/16 gw1 23095 i i gw3 23095 i i> 192.0.2.0/24 gw3 103 i gw4 3066 103 i > 192.168.233.0/24 0.0.0.0 i i gw3 i > 172.22.32.0/19 gw4 3066 i i> 10.0.128.0/17 gw3 103 i gw4 3066 103 i i> 192.168.2.0/24 gw3 103 i gw4 3066 103 i gw3 (AS444) F PREFIX next hop AS PATH > 10.12.0.0/16 gw1 23095 i i gw2 23095 i > 192.0.2.0/24 gw5 103 i > 192.168.233.0/24 0.0.0.0 i i gw2 i i> 172.22.32.0/19 gw2 3066 i > 10.0.128.0/17 gw5 103 i > 192.168.2.0/24 gw5 103 i gw5 (AS103) F PREFIX next hop AS PATH > 10.12.0.0/16 gw3 444 23095 i gw4 3066 23095 i > 192.0.2.0/24 0.0.0.0 i > 192.168.233.0/24 gw3 444 i gw4 3066 444 i 172.22.32.0/19 gw3 444 3066 i > gw4 3066 i > 10.0.128.0/17 0.0.0.0 i > 192.168.2.0/24 0.0.0.0 i bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 12/17
9 Local Preferences The default LOCAL PREF for customer routes should be 110. The default for peers should be 100 and for transits it should be 90. Create route-maps to set LOCAL PREFs and use the existing peer groups to set the accordingly. 9.1 Peer Types You should be able to quickly test these out by switching BGP neighbours from one peer group to another: 1. How would all the routing tables change, if you turned AS3066 into a customer of AS23095? (Remember to make AS23095 a transit for AS3066 too!) Reverse previous changes. 2. How would the routing tables change, if you turned AS3066 into a customer of AS444? (Remember to make AS444 a transit for AS3066 too!) Reverse previous changes. 3. How would the routing tables change, if you turned AS23095 into a customer of AS3066? (Remember to make AS3066 a transit for AS23095 too!) Ask the assistant to check your configurations before moving on. bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 13/17
10 Traffic Engineering by Local Prepends Revert any changes in neighbour relationships to the original state as described by figure 1. 10.1 Ingress Configure AS103 in such a way that it prepends its own AS once when announcing routes to AS3066. You will need to break a peer group in order to do this. You want to announce different things to different members of the peer group, which is not possible due to the nature of the peer-group optimization. 1. How does the routing change now? 10.2 Egress 1. The previous change created a possibility for asymmetric routing. How would you rectify the problem? (Try it out too.) Revert these changes before going on. 11 Communities 11.1 Local Preference Create communities 444:100, 444:90 and 444:80 for AS444. They should be available to AS444 s customers only and routes marked with them should receive a LOCAL PREF of 100, 90 and 80 respectively instead of the customer default of 110. Mark all the three routes of AS103 with a different community, when announcing to AS444. bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 14/17
1. What are the resulting AS paths of AS103 s routes after this change as perceived by AS23095? 2. What are the resulting AS paths of AS103 s routes after this change as perceived by AS444? 3. What happens if you tag the same route with both 444:100 and 444:80? Why? Ask the assistant to check your configurations. 11.2 Prepending Create new customer-only communities for AS444: 444:1002 Prepend twice to all peers 444:1009 Do not announce to any peers 444:2002 Prepend twice to AS3066 444:2009 Do not announce to AS3066 Replace the previous communities from AS103 s routes with these new communities: Mark one of the routes with 444:1002, another with 444:2002 and the third with 444:1002 and 444:2009. The 444:2xxx communities should have precedence over 444:1xxx communities and 444:xxx9 should have precedence over 444:xxx2. Even though 444:1009 is not used in this exercise, it should be implemented. 1. What are the resulting AS paths of AS103 s routes after this change as perceived by AS23095? bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 15/17
2. What are the resulting AS paths of AS103 s routes after this change as perceived by AS444? 3. Shut down the connection between AS3066 and AS103 temporarily. What are the resulting AS paths of AS103 s routes after this change as perceived by AS23095? 12 Multi-Exit Discriminators Turn the link between gw1 and gw2 into a backup link using MEDs. configuration of gw2. You should only change the 4. What configuration changes were required? bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 16/17
13 Clean Up Return the laboratory into the initial state after the assistant has checked your answers and configurations. Remove your router startup configuration from all routers. If you configured any switches, clean them up as well. gw9#erase startup-configuration Erase startup-configuration? [confirm]y Do not erase the software on any of the equipment. If you do, you will either have to return it yourself or you will not get any credit units for the lab assignment. Return all the cables to where you got them from. bgp-tyo.tex,v 1.11 2005/04/18 14:09:14 ams Exp 17/17