Course Projects


Building an NDN Network Operation Center

This is the only course project. It is worth 40% of your final grade and is due at the end of the semester. There are a number of levels that determine your grade. You can move up a grade level by giving a demo. You should work on it throughout the semester. The levels are clear so you know where you stand.

You will need to create an account on PlanetLab. PlanetLab will provide you with a number of machines to use. You should select a diverse set of machines so that your testbed has some machines in Europe, some in Asia, some in North America, and so forth. See the instructions at the PlanetLab website. IMPORTANT: always keep a local copy of any code changes, instructions, documents, or other materials. PlanetLab is a great testbed. It is not a good place to store the main copy of your project.

Using a project management system like svn to track any changes is highly recommended.

A link to the NDN code and install instructions can be found in the NDN New User Guide . These instructions tell you how to link a laptop to an existing hub. Instead, you want to create your own testbed. Pick one machine to be the hub and have the other machines follow these instructions to connect with your hub.

Part of the project is planning your project accordingly to what grade you desire. To help ensure the project is not left until the last weeks, you will have to send a weekly report every Friday. The report must identify the

  1. Current Grade Level
  2. Activity this week
  3. Plans for Next week

Grade of C: Install a 5-10 node CCNX testbed using PlanetLab to get a diverse set of machines. Use NDN chat to demonstrate any node in your network can chat with any other node.

Grade of B or B-: Modify the CCNX code base to provide an automated picture of your topology. The topology should display in a web browser, show the nodes as circles and links between the nodes. You may modify the CCNX code and/or add some types of interest/data packets to detect and report the topology. Demonstrate this by bringing some links/nodes up and down and the web page showing the topology should change correspondingly. You will need to explain your design, identify design trade-offs you made, and justify design (this determines whether you reach a B- or B).

Grade of B+: Having the basic topology is useful, but we also want to identify links by standard network measurements such as delay, bandwidth, congestion on the link, and so forth. Explain the metrics you think are useful to associate with a link and add this to your network visualization. Demonstrate this by showing the results on the website. The links should have both static metrics (e.g the physical prop delay between node N and M) and dynamic metrics that will change as a result of traffic patterns (e.g. congestion on the link between node N and M).

Grade of A-: So far we have talked about network operations in a manner similar to that in traditional IP. We have focused on node locations, what links are present, and so forth. The idea of NDN is to care about what data the user seeks, not where the data is located. In other words, the user is satisfied if the correct data is obtained; the actual server that sent the data is irrelevant. We will discuss the concept behind NDN as part of the class. Can you incorporate caching of the data, the PIT, multiple paths and multiple locations, and other NDN specific items into your network status? Taking the perspective of a network operator, explain what you believe belongs in an NDN network operation center and demo at least part of this in your web browser application

Grade of A or A+: NDN offers a fundamentally new architecture and need for a new network operation center. Do network operators and network users both need the same type of information? For example, a network operator may need to know the link between node N and node M is down in order to maintain and troubleshoot the network. A network user on the other hand requests data by name; the user does not care (and does not even know) which the particular node served the data. The user is not exposed to node N or M or their link. Does this change your thinking of the NDN NOC? Demonstrate at least one event where an NDN ISP would use your NOC to identify and solve a network operations problem. Demonstrate at least one event where an NDN ISP would use your NOC to identify and solve a user complaint.

 


Copyright © 2010: Colorado State University for CS557. All rights reserved.