CS558L Exercise: Intra-AS BGP Routing OscillationsIn this example, you will reproduce a recently-discovered convergence problem with BGP. You will set up some routers and workstations (the latter acting as routers) and show that, in some scenarios, BGP routing computation never converges, resulting in significant routing message traffic. What you will get out of this exercise:
ResourcesRead and be familiar with as many of these resources as you can:
OutputYou will submit a lab report. The lab report should contain answers to the questions listed in the exercise description. The lab report should be in PDF, in a file called report.pdf. You may prepare the report using any good word processing software (MS Word, Latex, Lyx). In addition, you will be asked to submit data files and other
kinds of files. To do this, put your report and all required files into
a directory. The directory name should be your 10-digit USC ID (without spaces or dashes). Then tar
and gzip this directory and mail your result to
the specified address before the deadline. Name this tarball Even if you are not able to complete the exercise, be sure to submit a partial lab report. You will get partial credit for your efforts. Steps in the ExerciseThe Physical TopologyIn the first step, you will connect two Cisco routers and four Linux workstations to set up the following physical topology. In this topology, A and B are Cisco routers and the other machines are Linux workstations. In addition, you will use the hub on the rack of the routers. You will connect these machines according to the following instructions. First, designate one Cisco 7000 router as node A, and one Cisco 4000 as B. Nodes C, D and E are Linux machines with at least 2 Ethernet ports. Node F is a Linux machine with at least one Ethernet port. Then connect direct links using cross-over cables. The following links are direct links between two Ethernet ports on two machines: A-B, A-C, A-D and B-E. Finally, connect shared links to the hub using straight-through cables. You will connect another Ethernet port on machine C, D and E to the hub. You will also connect an Ethernet port on F to the hub. Now you are done with the physical topology. Note that you are not able to ping any connected machines before setting up their interfaces. Logging onto the MachinesLog onto each Cisco router. Answer these questions in your lab report.
Log onto each of the Unix boxes. Answer these questions in your lab report.
Setting up the InterfacesFor this step, you will need to set up an address assignment plan for the topology. This plan will assign addresses for different IP interfaces. In particular, this plan also calls for creating virtual interfaces on box F, so that the resulting IP-level topology looks like this: For this, you will need to refresh your memory of IP addresses, interfaces, subnets and addressing and virtual interfaces. Use Web resources or any system administration book to find out this information. Setup the first two bytes of all addresses
according to the last four digits of your USC ID. If your USC ID is
Answer these questions in your lab report.
Setting up Routing on the TopologyThe next step in the exercise would be to configure the boxes A, B, C, D and E to be in one BGP autonomous system (AS). In this step, you will also configure boxes A and B to be route reflectors, and boxes C and D will be clients of A, and box E will be a client of B. This configuration is shown below. By the time you get to this step, you should have become quite familiar with BGP, with route reflectors and how they can cause route oscillations, and with configuring bgpd in Zebra. Use the resources listed above and any others you find on the Internet. Answer these questions in your lab report.
As part of this step, you will also need to configure intra-domain routing within the AS consisting of routers A-E. For this you should use OSPF. You will need to figure out how to configure OSPF on a Cisco box and on Zebra. So that you can get route oscillations to work, you will also need to assign link costs to some of the links in the topology. Figure out how to do this. Answer these questions in your lab report.
The Final StepAs a final step, you will "feed" some routes from "router" F to C, D and E. For this, you will run an instance of Zebra on F and cause Zebra's bgpd to export some routes. To do this final step, you will need to figure out what routes F will export to each of C, D and E to cause BGP oscillations to happen (see RFC 3345 BGP Persistent Route Oscillation Condition). Answer the following questions in your lab report.
You're done! Submit the report electronically as outlined above. Last Modified: September 01, 2006 |