lab10_link_state_routing

lab10_link_state_routing - Massachusetts Institute of...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.02 Spring 2008 Lab 10: Network Routing with a Link-State Protocol May 5–7, 2008 1 Introduction Goal: Using NetSim, a network simulator written in Python, develop and demonstrate the key elements of a simple link-state routing protocol. The pre-lab and lab teach the following ideas: 1. Understanding how HELLO packets allow the nodes at the ends of a link to maintain accurate neigh- bor and link status information. 2. Understanding how to flood link state advertisements (LSAs) between nodes. 3. Developing the code for the shortest path computation at a node by first processing the LSA infor- mation to form a graph, and then running a reasonably efficient implementation of Dijkstra’s shortest path algorithm on the graph. 4. Understanding and demonstrating how the implemented protocol responds to link failure and recovery. Instructions: 1. Complete the pre-lab activities in Section 5. 2. Complete the lab activities described in Section 6 in lab on Wednesday. 3. Prepare the requested material and think about the questions posed in the Checkoff Sheet, then find a staff member to complete your post-lab interview. 2 Lab Setup In this lab you will develop a simple link-state routing protocol in NetSim, a network simulator written in Python. We’ll use NetSim in the next lab as well (in which you’ll develop a reliable data transport protocol). Like the broadcast network simulator in Lab 9 (WSim), NetSim uses wxPython. If you’d like to try out the simulator on your own machine you’ll need to install: Python from http://www.python.org/download/ wxPython (ANSI version) from http://www.wxpython.org/download.php There are pre-built binaries for Windows, Mac OS X and Linux. As in Lab 9, we’ll use the IDLE integrated programming environment to develop and run our Python pro- grams. 1 You can start IDLE by running setup 6.02 and then idle-602 at the Athena prompt. 2 Use File Open to open a source file for editing; hit the F5 key to execute the current editor buffer. Let’s first set up our Lab 10 environment: 1 IDLE isn’t required; you can also use python-602 from your shell. 2 Our version of IDLE is currently only available under Linux; you will probably need to come into lab to run it. 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
athena% setup 6.02 athena% cp -R /mit/6.02/Labs/Lab10 ˜/6.02 athena% cp ˜/6.02/Lab10/lab10_init.py ˜/6.02/Lab10/lab10.py In what follows, we will refer to your version of the code as lab10.py . After running setup 6.02 , idle-602 and python2.5 should both be in your path. 3 Overview of the Network Simulator NetSim is a packet-level network simulator. You will be modifying the code that defines the behavior of the nodes—what packets they send, how they respond to incoming packets, and what computations they perform. NetSim is implemented by the class definitions found in network.py and includes a graphical front-end. If you read lab10.py into IDLE and hit F5, you’ll get a window that looks like:
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 10

lab10_link_state_routing - Massachusetts Institute of...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online