CAS CS 591 A1

Networking Seminar
(Advanced Computer Networks)

Department of Computer Science
College of Arts and Sciences
Boston University

Spring 2001

Prof. Ibrahim Matta
111 Cummington Street, Math-Computer Science (MCS) building, room 271

office:   (617) 358-1062
fax:       (617) 353-6457
e-mail: matta@cs.bu.edu

This page http://www.cs.bu.edu/fac/matta/Teaching/cs591a1/S01/ will be continually updated. Please check (reload) this page regularly (at least twice a week).

Official Description

Time & Place

Tuesdays and Thursdays 2:00 pm - 3:30 pm. MCS 148.

Description

This is intended to be run more like a regular advanced course in Computer Networks. So this course assumes the basic knowledge covered in CAS CS 555 regarding the Internet and its protocols. The goal of this course is to take a broader view of networking issues and solutions. The main objective is to strengthen the student's understanding of fundamental concepts, requirements and design tradeoffs, particularly as related to scheduling, congestion control, routing, traffic management, wireless access and mobility, and applications. More importantly, the course discusses how networking may evolve in the future to provide ubiquitous support for quality-of-service (QoS) in heterogeneous environments.

Includes programming assignments that (1) build upon application (socket) programming knowledge from CS 555, and/or (2) involve the modeling of network systems and their performance evaluation using analysis and/or simulation.
 

See Tentative Syllabus and Schedule (subject to change).

Prerequisites

Basic networking (CAS CS 555 or equivalent), including TCP/IP protocols and Internet principles like addressing, routing,transport, naming and client-server socket programming.

Strong programming skills in C, C++, or Java. You will probably be given the flexibility of doing the programming assignments in a language of your choice. Knowledge of scripting languages such Tcl/Tk might also be helpful. If a sample skeleton code is given in a certain language as part of an assignment, you may still choose to use another language.

Algorithms and data structures (CAS CS 112 or 113 or equivalent).

Working knowledge of probability theory (CAS MA 381 or 581 or equivalent).

Background in operating and architectural issues should be helpful.

No special assistance or consideration will be offered if your background is inadequate.

Office Hours

TBA, or by appointment MCS 271.

Teaching Fellow

TBA.

Grader

TBA.

Textbooks (Not Required)

These textbooks are not required. There is simply no single textbook that either covers all the material in this course or covers them in a reasonably detailed level. Some lecture slides/notes will be made available on-line, and supplemented with papers, Internet RFCs and drafts. The following are textbooks that can serve as reference to provide necessary background. You should be able to find most of these textbooks on reserve in the library.

William Stallings. High-Speed Networks: TCP/IP and ATM Design Principles. Prentice-Hall, 1998.
Mischa Schwartz. Broadband Integrated Networks. Prentice-Hall, 1996.
Franklin Kuo, W. Effelsberg and J.J. Garcia-Luna-Aceves. Multimedia Communications: Protocols and Applications. Prentice-Hall, 1998.
Paul Ferguson and Geoff Huston. Quality of Service. Wiley 1998.
Joel Mambretti and Andrew Schmidt. Next Generation Internet. Wiley, 1999.
Gary R. Wright and W. Richard Stevens. TCP/IP Illustrated, Volumes 1, 2, 3. Addison-Wesley, 1994, 1995, 1996.
Uyless Black. Advanced Internet Technologies. Prentice-Hall, 1999.
William Stallings. ISDN and Broadband ISDN with Frame Relay and ATM. Prentice-Hall, 1999.
 

There are many other networking textbooks, including:

L. Peterson and B. Davie. Computer Networks: A Systems Approach. Morgan-Kaufmann, 1996.
S. Keshav. An Engineering Approach to Computer Networking: ATM Networks, the Internet, and the Telephone Network. Addison-Wesley, 1997.
Uyless Black. ATM: Foundation for Broadband Networks. Prentice-Hall, 1995.
F. Halsall. Multimedia Communications. Addison-Wesley, 2001.
S.A. Thomas. IPng and the TCP/IP Protocols, Implementing the Next Generation Internet. Wiley, 1996.
Jean Walrand and Pravin Varaiya. High-Performance Communication Networks. Morgan-Kaufman, 1996.
D. Comer. Internetworking with TCP/IP, Volume 1, Third edition. Prentice-Hall, 1995.
C. Huitema. Routing in the Internet. Prentice-Hall, 1995.
W. R. Stevens. Unix Network Programming. Prentice-Hall, Second edition, 1998.
D. Comer and D. L. Stevens. Internetworking with TCP/IP, Client-Server Programming and Applications. Prentice-Hall, 2001.
J. Kurose and K. Ross. Computer Networking, A Top-Down Approach Featuring the Internet. Addison-Wesley, 2000.
A.S. Tanenbaum. Computer Networks. Prentice-Hall, 1996.
S. Paul. Multicasting on the Internet and its Applications. Kluwer-Academic, 1998.
F. Halsall. Data Communications, Computer Networks and Open Systems. Addison-Wesley.
W. Stallings. Data and Computer Communications. Prentice-Hall.
J. Walrand. Communication Networks: A First Course. Aksen Associates.
D. Comer. Computer Networks and Internets. Prentice-Hall.

Course Requirements and Grading Policy

There will be 2 in-class (midterm and final) exams to test your basic understanding of the main concepts discussed in class and in assigned readings.Both exams will closed-books/notes. However, you will be allowed to bring one 8.5"x11"sheet of notes to the midterm exam, and an additional sheet of notes to the final exam. Exams will be cummulative, i.e., they will include all material covered in class from the beginning to the day of the exam.

There will be 3-4 written homeworks, which will require you to perform numerical computations. These homeworks are to completed individually.

There will 2 programming assignments. You will be given about 3 weeks to complete each assignment. These programming assignments can be done in groups of 2.

The course also requires you to complete a research paper in the format of a "real" scientific paper. A team of 2 students may collaborate in submitting one paper. The choice of the topic is quite flexible. A couple of possible projects will be provided. You can also define your own project on a topic of interest to you. In this case, before you start on a topic, I must approve of it first. Please stop by my office or send me an e-mail and I will let you know if the topic is relevant and I may also point you to some references/ideas. You will be required to submit two reports. You will be given about 3 weeks to complete each report.

In your research project, your solution approach may involve the modeling of a network system and its performance evaluation using analysis and/or simulation, or the implementation and testing of network services on a network testbed. Thus, to obtain results in support of your project, you may need good computer programming skills (e.g., in C, C++ or Java) and working knowledge of operating systems (e.g., Solaris, FreeBSD, Linux). Knowledge of basic queueing theory (as in CAS CS 470/670 or CAS MA 583) and simulation should also be helpful.

The research paper may be based on your current Masters or PhD projects if related to the subject matter of the course, or may serve as a starting point for a Masters or PhD thesis!
 
 

Your overall grade will approximately be based on the following policy:
Two exams (March 15, 2001 and final exam week May 7-15, 2001): 40% (20% each)
Homeworks: 10%
Programming assignments: 20%
Research Project: 30%


More on Research Project
 

For your research paper, you must submit two reports. In your first report, you should identify a particular problem that you propose to work on and also what your objectives are. You should also specify how you plan to achieve your objectives -- whether by analysis, simulation or some other technique. So in your first report, you should precisely define your problem and clearly state the research question(s), and identify related work, your objectives and solution methodology. You are advised to start working on your research project as soon as possible.

Your second and final report must contain a complete description of your project. So, it will include parts of the first report together with some results/findings. You should obtain these results using the solution methodology you already specified in the first report. For this, you may use one of a number of tools (see below), including simulators, analytical/numerical techniques (queueing theory, dynamic flow theory, worst-case analysis, etc.) and experimental tools (NeVoT, etc.). Your results should be feasible to obtain by the deadline but not too trivial!
 

Tools: You are free to use whatever tool you need. A popular tool is discrete-event simulation. You can, of course, write your own simulator from scratch. You can also use one of a number of network simulators already available. Most of these network simulators are written in C or C++ and are documented. However, you may need to modify or extend the simulator you choose. Note that due to time constraints, it might not be feasible to make major changes/extensions to obtain your results. Check the documentation for the capabilities and flexibility of each simulator. Again, come see me if you need help on which simulator to use. Following is a list of some simulators:
MaRS. A packet-level simulator for evaluating routing systems.
REAL simulator. Developed by Keshav.
UCB/LBNL/VINT Network Simulator - ns (version 2) NS provides substantial support for simulation of TCP, routing, and multicast protocols. Includes links to topology generation, wireless network simulation, other simulation packages, visualization tools, and traffic archives.
UCB/LBNL Network Simulator: Contributed Code, WWW Traffic Generator
NeVoT (audio conferencing tool) and other tools: Developed by Henning Schulzrinne.
routesim. A flow-level routing simulator.
We will provide an overview of discrete-event simulation and ns-2. You are expected to have strong programming skills, working knowledge of operating systems, and ability to learn new tools to complete your assignments.

Academic Honesty

You must submit only your own work. A student violating this policy will receive a grade of ``F'' for the course. If you are having trouble completing an assignment, see the instructor.


The use of this page and pages linked to it is permitted for the class CAS CS 591-A1 at Boston University and for non-profit educational purposes only. Any other use requires permission of the author (Ibrahim Matta, matta@cs.bu.edu).

Last updated Jan 4, 2001