This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CS168 Programming Assignment 2: IP over UDP Assignment Out: February 18, 2010 Milestone: February 26, 2010 Assignment Due: March 5, 2010, 10pm 1 Introduction In this assignment you will be constructing a Virtual IP Network using UDP as the link layer. Your network will support dynamic routing. Each node will be configured with its (virtual) links at startup and support the activation and deactivation of those links at run time. You will build a simple routing protocol over these links to dynamically update the nodes’ routing tables so that they can communicate over the virtual topology. The relevant class lectures and Chapter 5 from Tanenbaum will be especially helpful with this part of the project. This is a 2-person group project. You should find a partner to work with right away, and email TAs to inform us of your pairing. If you are having problems with this (there could be an odd number of people in the class), send mail to the class mailing list, [email protected] , or ask us. Once the groups are set, you’ll be assigned a mentor TA to help you through this project and the next, TCP. TCP will build on this project, so your effort on design will pay off twice. 2 Requirements Before you start coding, you need to understand what you’re doing. It will take a little while to wrap your head around, but once you do, it will seem straightforward, we promise. There are a two main parts to this assignment. The first is IP in UDP encapsulation, and the design of forwarding — receiving packets, delivering them locally if appropriate, or looking up a next hop destination and forwarding them. The second is routing , the process of exchanging information to populate the routing tables you need for forwarding. Your network will be structured as a set of cooperating processes. You might run several processes on a single machine or use separate machines; it doesn’t matter because your link layer is UDP. Files you will need to bootstrap your network are available in /course/cs168/pub/ip/ . You will write a network topology file (we’ve supplied two examples) describing the virtual topology of your intended network. After running our script net2lnx on the complete topology, you’ll have have a file for each node that specifies only that node’s links. You will run your process, which must be called node , for each virtual node, and must accept the name of that node’s link file as its first argument on the command line. 1 CS168 IP over UDP 3 Implementation Your nodes will come up, and begin running RIP on the specified links. Each node will also support a simple command line interface, described below, to bring links up and down, and send packets. When IP packets arrive at their destination, if they aren’t RIP packets, you should simply print them out in a useful way. In the next assignment, you’ll deliver them to your TCP implementation....
View Full Document
This note was uploaded on 12/03/2010 for the course CS 168 taught by Professor Jj during the Spring '10 term at Brown.
- Spring '10