CSC 458/2209: Computer Networks

Department of Computer Science, University of Toronto -- Fall 2009

UofT

Problem Sets

For problem sets 1 and 2, we will grade each question in a 0-2 scale. You will get a 0 if nothing is turned in; 1 when you have some understanding of the problem; and 2 when you demonstrate strong understanding of the problem. Keep your answers concise, and clear. Note the late submission policy described in the course information sheet.

 

Problem Set # 1
  • 10% of the overall mark.
  • Due date: Fri. Oct. 16 at 5pm
  • Submission guidelines: The assignment should be submitted electronically (using the submit command on CDF machines) as a single file. The filename must be either ps1.pdf or ps1.ps. The system will not accept any other name. Note that, if you resubmit your assignment, the previous file will be overwritten.
  • Textbook problems (5th edition of Kurose and Ross):
    • Chapter 4 : P.2, P.4 (parts a and b only), P.10, P.18
    • Chapter 5 : P.2, P.6, P.17, P.18, P.19, P.32, P.33
 
Problem Set # 2

 

 

Programming Assignments

We will use Stanford University's Virtual Network System (VNS) for programming assignments. The following assignments are the ones you will need to complete in this class.

 

Programming Assignment # 1
  • Assignment description
  • 12% of the overall mark.
  • Due date: Fri. Oct. 23rd at 5 pm
  • Note: this assignment is to be done individually.
  • You will need to know (or learn!) socket programming for this assignment. This is covered in tutorial # 1. You can find some useful links about socket programming here.
  • Checkout the guidelines for programming assignments.
  • You can find examples of good and bad programming practices here.
  • Your VNS topology has been e-mailed to your CDF account.
  • Submission guidelines: The assignment should be tested on CDF machines and submitted electronically (using the submit command on CDF machines) as a single file. The filename must be either pa1.tar or pa1.tgz. The system will not accept any other name. Note that, if you resubmit your assignment, the previous file will be overwritten.
Programming Assignment # 2
  • Assignment description
  • 18% of the overall mark.
  • Due date: Fri. Nov. 27th at 5 pm
  • Note: this assignment is to be done individually.
  • Submission guidelines: The assignment should be tested on CDF machines and submitted electronically (using the submit command on CDF machines) as a single file. The filename must be either pa2.tar or pa2.tgz. The system will not accept any other name. Note that, if you resubmit your assignment, the previous file will be overwritten.

 

Project for Graduate Students

Final Project Guidelines and Schedule

Graduate students are not required to take the midterm and final exams. Instead, they are expected to do a project as part of the course requirements. Projects are to be completed by groups of (preferably) two students.  Each project involves an implementation part, and a report. The project topic is chosen by the students after consulting with the instructor. You are welcome to come up with your own topic, or choose one of the suggested topics.

 

For each deliverable step (proposal, final report, …), a single file (in ps or pdf only) should be submitted electronically to the instructor's e-mail address. Any code developed for this project, and possibly any collected data must be uploaded to a web page, and the link should be sent in the same e-mail as the final report. In all deliverables, please make sure that all the pages (and especially the figures) can be viewed properly in acrobat reader, and the document is printed properly.

 

  • Project proposal (1 page)
    • Due: 5pm Wed. Nov. 11th.
    • Check out the list of suggested topics.
    • You meet with the instructor and discuss your ideas before submitting your draft. Please contact the instructor to make an appointment.
    • Should include names of the students, indicate who will work on what part, clearly identify the project deliverables, and what is the schedule/timetable of work.
  • Demonstration
    • Each group is expected to give a 20-30 minute demonstration of the project.
    • This should happen during the week of Dec. 7th to Dec. 11th.
    • You can contact the instructor and make an appointment. Please don't wait till the last minute to make the arrangements.
  • Final report (6 pages max)
    • Due: Fri. Dec. 11th.
    • Final report is a description of the project, steps taken for the implementation, and if needed simulation/evaluation results.

 

 

Suggested Topics

You can choose any project related to computer networks. The project should have a development part (simulation or real network program), and possibly some testing, and evaluation. Here is a list of example topics that can serve as a starting point in this process. The list, and the project descriptions are not meant to be comprehensive. You are expected to consult with the instructor before selecting the final project topic.

 

  1. Online Social Network Robot: The objective of this project is to develop a tool (robot) that can perform various tasks like crawling the list of friends, inviting new friends, accepting friend requests, posting messages, … in an online social network (e.g. Facebook). The robot can be used to study (and engineer) online social networks. You are not required to conduct any study of this form. You just need to develop the tool, and show it works.
  2. Google as an IP Classifier: There are several recent proposals that suggest using Google to perform various networking tasks. One proposal suggests using Google queries to find out what services a specific IP number provides. The objective of this project, is to perform a study on this proposal. Select a range of random IP numbers. Perform Google searches, and analyze the results to identify services running on those IP numbers.
  3. Measurement-based performance analysis of video on demand services: There are many video on demand services today. The objective of this project is to compare their performance by measuring various metrics including upload/download rates, flow completion times, packet drop rates, jitter, etc. Last year, a group of students developed a set of tools for this project, and did some preliminary comparison of existing VoD services. This year, the goal is to systematically expand the scope of that analysis and provide a comprehensive and systematic way of comparing VoD services.
  4. Light-weight traffic shaper: Internet core routers have buffers to handle congestion and contention. Using traffic-shapers at the edge, we can significantly reduce the size of buffers in core routers. The objective of this project is to investigate different shaping techniques through theoretical analysis, simulations. Implementing and evaluating new techniques using hardware (e.g. NetFPGA) is also an interesting potential project for anyone interested in hardware.
  5. TCP overlay networks: Consider a given source and destination node in the Internet, and assume we build an overlay network that connects those two nodes. Nodes establish TCP connections with each other, and transfer data on these connections. The goal is to study the performance of this overlay network analytically, and through simulations.

 

 


Last updated: November 4, 2009 5:01 PM