Internet and Intranet Protocols and Applications

Spring 2000 
Prof. Arthur P. Goldberg

Computer Science Department
Courant Institute of Mathematical Sciences
New York University

Revision dates: 1/15/00, 2/6/00


Internet and Intranet Protocols and Applications studies the world's most widely used application level network protocols and software systems.
We study protocols, such as HTTP for the Web , and SMTP, POP3, and IMAP for email.  We consider protocol design issues, especially as they influence functionality, reliability and performance.  We carefully read protocol specifications, such as the HTTP specification, RFC 2068.
We study the systems which use these protocols, clients and servers.  We also study intermediate systems which enhance performance, such as caching proxies and content delivery services.
We will examine complex functionality and performance issues, such as time-out management and high-performance concurrent servers.
Programming assignments ask students to write clients and servers to the sockets interface.  Students write several small programming assignments and one large project.  The large programming project will ask students to design and implement a load balancing manager as used by content serving companies such as Akamai and Sandpiper.
Guest lecturers will present current research and practice on some of the following issues: the design and operation of a database driven Web site, the design and implementation of the Apache Web server, the design and operation of a high volume Web-based email system, performance issues in WWW servers, and Internet security.
The last quarter of the course examines research that enhances internet and Web performance.

Course Particulars

Professor: Arthur P. Goldberg
Course home page:
Time: Tuesdays, 5-7 PM
Place: Room 109, Warren Weaver Hall
Number: G22.3033.03
Email beacon:
Credits: 3
Teaching assistants: Junhua Wang <> and Guangwei Dai <>

Professor Particulars

Office: 715 Broadway, Room 711
Home page:
Office hour: Monday, 12:00 to 1:00, or by appointment


The weekly syllabus, including lecture topics, pointers to slides on-line, reading assignments and homework assignments are at

Required texts

W. Richard Stevens, UNIX Network Programming, Volume 1: Networking APIs - Sockets and XTI, 1240 pages, second edition, Vol 1 (October 1997) Prentice Hall, ISBN 013490012X.

Comer, D.E. and Stevens, D.L. Internetworking with TCP/IP: Volume III: Client-Server Programming and Applications, BSD socket version, Second Edition, Prentice Hall, ISBN 0-13-260969-X, 1996.

Tanenbaum, Andrew S., Computer Networks, Prentice Hall, Third Edition, ISBN 0-13-349945-6, 1996.  Questions.

Recommended texts

David A. Curry, UNIX Systems Programming for SVR4, O'Reilly and Associates, 1st Edition, July 1996, ISBN 1-56592-163-1.

Bob Quinn, Dave Shute, Windows Sockets Network Programming, Addison-Wesley Advanced Windows Series, 1995, ISBN: 0201633728.

Computer accounts and resources

All students must be able to access the Web and a programming environment. Any student can obtain an account on the Computer Science department Sun workstations which will provide such access.


We assign a substantial network programming project.  Therefore, students must know how to design, develop and test substantial programs, at the level of one of the following graduate courses: C++, Java, Compilers, or Distributed algorithms.  Other courses which make similar demands would meet this prerequisite. In addition, students must know the fundamentals of how networks work, as taught in a university level networking course.  This knowledge could also be obtained via some other means, such as work experience.

Course email list

I must be able to communicate with all students by email.  Welcome to the internetspring2000 forum.

To reach the web interface for this list, go to and enter internetspring2000

or you can go directly to your list at

To access the newsgroup interface via a news browser, go to news://

To contribute to the list by email, send a message to:

If you have any questions or problems with your subscription please contact the list owner(s) at:

In case you do not have Web access, here are some key email commands:

This list requires a password to join, send an email to, in the message body put:

join internetspring2000 Your-Name "List-Password"

substituting "Your-Name" with your name and "List-Password" with internetspring2000

Send a blank message to the list's unsubscribe address:

To find out more about Lyris e-mail commands, go to

Assignments and Student Evaluation

The fractional importance of assignments is indicated.
Assignment Percentage
Homework problems from texts 30
Client program, Comer 7: 10, 11 10
Programming project 40
Final examination 20

Rules for Working on Assignments

All assignments must be done individually.
Text which you copy from any other source should appear in quotes with as full a reference to the source as possible.  Provide as much of the following as possible.  For a book or magazine article provide author, title, article title, date, publisher and page.  For a Web page provide URL, date, title, and author.  No credit will be awarded to copies of other work without attribution.
Unless stated otherwise in the assignment, at least 2/3 of any homework or exam answer must be written in your own words.
Unless stated otherwise in the assignment, all software must be original.
Make your answers legible.  We prefer that you type them.  Illegible answers receive no credit.

Late Assignments

Grades for late homework are penalized 20% per week, pro rated.  Exceptions will be granted for unusual circumstances.