ip - CS168 Programming Assignment 2 IP over UDP Assignment...

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

View Full Document Right Arrow Icon
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
Image of page 1

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

View Full Document Right Arrow Icon
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.
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 ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern