OSPF/BGP exercise ("the big exercise") This file contains the decisions made by the class in 2014. Objective: Set up an ISP network serving the whole of Africa. You will need to use OSPF, iBGP, and eBGP. Your budget allows you to have a presence in 16 cities. You will need to choose 16 cities that provide coverage of important population centres. Your budget allows you to have two links to upstream providers in Europe, the USA, or Asia. You will need to choose which African cities should be connected to which upstream providers. Your budget allows each city to have one LAN for customers, and three links to other cities. You will need to choose which cities will connect to which other cities. Note that the links to upstream providers count against the total number of links, so a city may have links to three other African cities, or two links to other African cities plus one link to an upstream provider. You will need to do everything, including planning the network layout, planning the IP address allocation, configuring the interfaces, configuring iBGP, configuring eBGP to the upstream providers, using BGP filters, and troubleshooting. The details are up to you, but here are a suggested list of steps: 1. Choose two network managers, who will oversee the planning process. 2. Choose 16 African cities for your network points of presence. Draw a rough map showing the locations. 1. Kampala 2. Accra 3. Nairobi 4. Lagos 5. Djibouti 6. Kigali 7. Mogadishu 8. Lilongwe 9. Dar es Salaam 10. Addis Ababa 11. Dakar 12. Johannesburg 13. Cairo 14. Casablanca 15. Tunis 16. Cotonou 3. Choose 2 African cities and 2 non-African cities for uplinks to international providers. Cairo - Amsterdam Dar es Salaam - New Dehli (India) 4. Choose how the cities will be linked to each other. The two cities that have links to upstream providers should also have 2 links to African cities (total of 3 links). 13 - 15 13 - 5 13 - 100 (AMS) 9 - 3 9 - 8 9 - 200 (NewDehli) The other cities (that do not have links to upstream providers) should have 1, 2, or 3 links to other African cities in your network. Draw the links on a map. 1 - 4 1 - 10 1 - 6 2 - 11 2 - 15 2 - 16 3 - 6 3 - 7 4 - 8 4 - 16 5 - 10 6 - 12 7 - 10 8 - 12 9 - 3 9 - 8 9 - 200 (NewDehli) 13 - 15 13 - 5 13 - 100 (AMS) 11 - 14 14 - 15 5. Choose interfaces for each link. Each city needs an ethernet for local LAN. Each city needs ethernets for links to other cities. Each City: gig 0/0 == LAN 1 (gi1/0) - (gi1/0) 4 1 (gi2/0) - (gi2/0) 10 1 (gi3/0) - (gi1/0) 6 2 (gi1/0) - (gi3/0) 11 2 (gi3/0) - (gi3/0) 15 2 (gi2/0) - (gi2/0) 16 3 (gi1/0) - (gi3/0) 6 3 (gi3/0) - (gi2/0) 7 4 (gi2/0) - (gi1/0) 8 4 (gi3/0) - (gi1/0) 16 5 (gi1/0) - (gi1/0) 10 6 (gi2/0) - (gi1/0) 12 7 (gi1/0) - (gi3/0) 10 8 (gi2/0) - (gi2/0) 12 9 (gi2/0) - (gi2/0) 3 9 (gi3/0) - (gi3/0) 8 9 (gi1/0) - 200 (NewDehli) 13 (gi2/0) - (gi2/0) 15 13 (gi3/0) - (gi3/0) 5 13 (gi1/0) - 100 (AMS) 11 (gi2/0) - (gi2/0) 14 14 (gi1/0) - (gi1/0) 15 6. Make a spreadsheet to keep track of everything. List of cities. List of city-city links. Name of ethernet interface for each link. Addressing plan. Lots more details... 7. Obtain an AS number for your ISP network. (AS 65511) Obtain an IPv4 address block for your ISP. (196.200.220.0/24) Obtain an IPv6 address block for your ISP. (2001:43f8:220:f000::/52) 8. Find out the AS numbers for your upstream providers. (AS100 and AS200) Find out the IPv4 and IPv6 addresses for the connections from your upstream providers. (Talk to the providers.) cairo - amsterdam AS100 196.200.221.2/30 (.1 upstream) 2001:43f8:220:efff::2/64 (::1 upstream) dar - delhi AS200 196.200.221.6/30 (.5 upstream) 2001:43f8:220:effe::2/64 (::1 upstream) 9. Work out an addressing plan for IPv4. Start with a /24 block for the entire ISP. Allocate a /28 for all your loopbacks. - from that, allocate a /32 for each loopback interface. 196.200.220.240/28 reserved for the 16 cities Allocate a /29 for the LAN in each city. 196.200.220.0/25 1. Kampala 196.200.220.0/29 .240/32 2. Accra 196.200.220.8/29 .241/32 3. Nairobi 196.200.220.16/29 .242/32 4. Lagos 196.200.220.24/29 5. Djibouti 196.200.220.32/29 6. Kigali 196.200.220.40/29 7. Mogadishu 196.200.220.48/29 8. Lilongwe 196.200.220.56/29 9. Dar es Salaam 196.200.220.64/29 10. Addis Ababa 196.200.220.72/29 11. Dakar 196.200.220.80/29 12. Johannesburg 196.200.220.88/29 13. Cairo 196.200.220.96/29 14. Casablanca 196.200.220.104/29 15. Tunis 196.200.220.112/29 16. Cotonou 196.200.220.120/29 .255/32 Allocate a /30 for each point to point link. 196.200.220.128/26 196.200.220.192/27 1 - 4 196.200.220.128/30 [ 1(.129) - 4(.130) ] 1 - 10 196.200.220.132/30 1 - 6 196.200.220.136/30 2 - 11 196.200.220.140/30 2 - 15 196.200.220.144/30 2 - 16 196.200.220.148/30 3 - 6 196.200.220.152/30 3 - 7 196.200.220.156/30 4 - 8 196.200.220.160/30 4 - 16 196.200.220.164/30 5 - 10 196.200.220.168/30 6 - 12 196.200.220.172/30 7 - 10 196.200.220.176/30 8 - 12 196.200.220.180/30 9 - 3 196.200.220.184/30 9 - 8 196.200.220.188/30 13 - 15 196.200.220.192/30 13 - 5 196.200.220.196/30 11 - 14 196.200.220.200/30 14 - 15 196.200.220.204/30 [ 14(.205) - 15(.206) ] 10. Work out an addressing plan for IPv6. Start with a /52 block for the entire ISP. 2001:43f8:220:f000::/52 Allocate a /64 for all your loopbacks. - from that, allocate a /128 for each loopback interface. 1. Kampala 2001:43f8:220:ffff::0/128 2. Accra 2001:43f8:220:ffff::1/128 3. Nairobi 2001:43f8:220:ffff::2/128 4. Lagos 2001:43f8:220:ffff::3/128 5. Djibouti 2001:43f8:220:ffff::4/128 6. Kigali 2001:43f8:220:ffff::5/128 7. Mogadishu 2001:43f8:220:ffff::6/128 8. Lilongwe 2001:43f8:220:ffff::7/128 9. Daresalam 2001:43f8:220:ffff::8/128 10. Addis-Ababa 2001:43f8:220:ffff::9/128 11. Dakar 2001:43f8:220:ffff::a/128 12. Johannesburg 2001:43f8:220:ffff::b/128 13. Cairo 2001:43f8:220:ffff::c/128 14. Casablanca 2001:43f8:220:ffff::d/128 15. Tunis 2001:43f8:220:ffff::e/128 16. Cotonou 2001:43f8:220:ffff::f/128 Allocate a /64 for the LAN in each city. 1. Kampala 2001:43f8:220:f000::/64 2. Accra 2001:43f8:220:f001::/64 3. Nairobi 2001:43f8:220:f002::/64 4. Lagos 2001:43f8:220:f003::/64 5. Djibouti 2001:43f8:220:f004::/64 6. Kigali 2001:43f8:220:f005::/64 7. Mogadishu 2001:43f8:220:f006::/64 8. Lilongwe 2001:43f8:220:f007::/64 9. Daresalam 2001:43f8:220:f008::/64 10. Addis-Ababa 2001:43f8:220:f009::/64 11. Dakar 2001:43f8:220:f00a::/64 12. Johannesburg 2001:43f8:220:f00b::/64 13. Cairo 2001:43f8:220:f00c::/64 14. Casablanca 2001:43f8:220:f00d::/64 15. Tunis 2001:43f8:220:f00e::/64 16. Cotonou 2001:43f8:220:f00f::/64 Allocate a /64 for each point to point link. 1 (gi1/0) - (gi1/0) 4 2001:43f8:220:f100::/64 1 (gi2/0) - (gi2/0) 10 2001:43f8:220:f101::/64 1 (gi3/0) - (gi1/0) 6 2001:43f8:220:f102::/64 2 (gi1/0) - (gi3/0) 11 2001:43f8:220:f103::/64 2 (gi3/0) - (gi3/0) 15 2001:43f8:220:f104::/64 2 (gi2/0) - (gi2/0) 16 2001:43f8:220:f105::/64 3 (gi1/0) - (gi3/0) 6 2001:43f8:220:f106::/64 3 (gi3/0) - (gi2/0) 7 2001:43f8:220:f107::/64 4 (gi2/0) - (gi1/0) 8 2001:43f8:220:f108::/64 4 (gi3/0) - (gi1/0) 16 2001:43f8:220:f109::/64 5 (gi1/0) - (gi1/0) 10 2001:43f8:220:f10a::/64 6 (gi2/0) - (gi1/0) 12 2001:43f8:220:f10b::/64 7 (gi1/0) - (gi3/0) 10 2001:43f8:220:f10c::/64 8 (gi2/0) - (gi2/0) 12 2001:43f8:220:f10d::/64 9 (gi2/0) - (gi2/0) 3 2001:43f8:220:f10e::/64 9 (gi3/0) - (gi3/0) 8 2001:43f8:220:f10f::/64 13 (gi2/0) - (gi2/0) 15 2001:43f8:220:f110::/64 13 (gi3/0) - (gi3/0) 5 2001:43f8:220:f111::/64 11 (gi2/0) - (gi2/0) 14 2001:43f8:220:f112::/64 14 (gi1/0) - (gi1/0) 15 2001:43f8:220:f113::/64 9 (gi1/0) - 200 (NewDehli) 2001:43f8:220:effe::2/64 13 (gi1/0) - 100 (AMS) 2001:43f8:220:efff::2/64 11. Connect all the cables. You don't have physical machines or cables, since the routers are virtualised. The instructors will set up virtual cables between your virtual routers, according to a diagram that you provide. 12. Configure the loopback interfaces on each router. Give it an IPv4 /32 and an IPv6 /128 address. 13. Configure the LAN interfaces on each router. You already allocated it an IPv4 /29 subnet, and an IPv6 /64 subnet. Now configure the individual addresses for both the router and PC connections to this LAN. 14. Configure the point to point links between cities. Each one has an IPv4 /30 subnet, and an IPv6 /64 subnet. Now configure the IP addresses on the routers. 15. Ping between neighbouring cities over the point to point links. Use both IPv4 and IPv6. If you can't ping your neighbour, then debug the problem. Don't move on to the next step before this works. 16. Configure OSPF on every router. Use a password. Your loopback interfaces, and your point-to-point networks, must be in OSPF. When routing converges, every router should see an OSPF route to: - The loopback address in every other router (IPv4 /32, IPv6 /128); - The point to point link between every pair of routers (IPv4 /30, IPv6 /64). 17. Configure iBGP on every router. Use a password. Remember that it must be a full mesh. Use peer groups. Remember to use the loopback addresses, not the point-to-point addresses. Remember "update-source loopback0". You should have 15 iBGP neighbours. They should all be up. 18. Configure iBGP to announce the LAN network in every city. Each router will need a bgp "network" statement for its own LAN network (IPv4 /29, IPv6 /64). It does not need a static "pull up" or "tie down" route to Null0, because it's a connected network. Check that the BGP process in every city can see the LAN network from every other city. The LAN counts as a customer network, not an infrastructure network, so it should be carried in iBGP, not in OSPF. This reduces the CPU and memory requirements for the OSPF process. 19. Configure eBGP to your upstream. This applies only in the two gateway cities. You need to know the upstream AS number, and the IP addresses to use. You should advertise your large network blocks (IPv4 /24 and IPv6 /52) to your upstream provider. Do not advertise a lot of more-specific routes, such as IPv4 /29 or /32, or IPv6 /64 or /128. To advertise your large network blocks, you will need bgp "network" statements, and static "hold up" routes for the blocks. It's good practice to originate these routes on only a few routers, not on every router in your AS. For example, you could originate them on the two gateway routers that connect to upstream providers. - Add BGP "network" statements for your IPv4 /24 network block, and your IPv6 /52 network block. - Add static "hold up" or "tie down" routes, for your IPv4 /24 block and your IPv6 /52 block. Configure filters to allow your large network blocks, but deny the more-specific prefixes. Check that your eBGP connection is up. Check that you are announcing the correct information to your upstream. 20. Check that it still works when links fail.