Internet and Intranet Protocols and Applications

Syllabus

Spring 2000

Prof. Arthur P. Goldberg, Computer Science Department

Courant Institute of Mathematical Sciences, New York University

Revision history in 2000: 1/4, 1/13, 2/6, 2/22, 3/6, 3/8, 3/19, 3/30

I.                   Introduction to Internet Application Protocols and Socket Programming

Jan. 18: Introduction to Internet and Intranet Protocols and Applications; Review of Networking (ppt)

Description

Introduction.

Growth of the World Wide Web, ISPs and Intranets.

Common characteristics of client/server systems and protocols.

Structure of Internet applications: clients, servers, proxies, load balance mangers, gateways, etc.

Space-time diagrams.

The layered networking model.

The network layer: Packet switched networking. IP.

The transport layer: TCP, UDP.

Addressing: IP addresses and domain naming.  DNS.

Course outline.

Readings

Lottor, M, Internet Growth (1981 - 1991), RFC 1296

NSFNET Byte Traffic History, NSFNET History of Usage by Service (of historic interest)

Network Wizards, Historic Count of Internet Hosts, Internet Domain Survey, July 1999

Matthew Gray, Growth of the World Wide Web, 1993 to 1997

Tanenbaum: Sections 1.1.*, 1.2.* and 1.3.*, 1.4.1, 1.4.2, 5.4.1 - 5.4.3, 5.5.1 - 5.5.3, 6.1.* - 6.3.*, 6.4.1 – 6.4.4

Stevens: 2.1 - 2.8, [2.9], 2.10 - 2.12

Jan. 25: Class Cancelled By Snow

Feb. 1: Internet Application Protocols and Client/Server Applications (ppt)

Description

Text based request response protocols.

Document formats.  An example: the email message format (RFC 822).

RFCs and how to read them.

Standard protocols. 

A stateless example: HTTP/0.9

A stateful example: the Simple Message Transport Protocol for email and POP3.

Protocol analysis with by hand.   Net X Ray <next time>.

Readings

Comer: chapters 1 and 2

Stevens: 1.1 - 1.2, 1.4 - 1.7, 1.11 - 1.12

Douglas Comer, A Guide to RFCs, originally in Internetworking With TCP/IP Volume 1: Principles Protocols, and Architecture.

Jonathan B. Postel, Simple Mail Transfer Protocol, RFC 821. Skip the appendices.

David H. Crocker, Standard for the Format of ARPA Internet Text Messages, RFC 822, 1982. Only Section 4, Message Specification.

J. Postel, Instructions to RFC Authors, RFC 1543, October 1993. Only Sections 5-11 and the appendix.

Due

Tanenbaum problems: chap. 1: 8, 11, chap. 5: 34; chap. 6: 1, 10, 23

Feb. 8: Network Programming (ppt)

Description

The design of clients and servers.

The BSD socket network programming interface.

Implementing a client.

Handouts

Client programming assignment, Comer chap. 7: 5

Example C network programs.

Readings

Comer: chapters 4, 5, 6 and 7.

Stevens: chapters 3 and 4.

Feb. 15: Server Functionality and Design (ppt)

Description

Server architectures.

Example servers.

Performance issues.

Alternatives for concurrency: processes and threads.

Select.

Handout

Client program: Comer: chap. 7: 10, 11

Readings

Comer: chapters 8, 9, 11 and 12.

Stevens: 5.1 - 5.13, [5.14 - 5.16], 5.17, 5.19.

Due

Comer chap. 7: 5

II.                The Web

Feb. 22: Browser Functionality and Design (ppt)

Description

Concepts behind a universal Internet browser.

Multiprotocol support: FTP, Gopher, telnet, NNTP, HTTP, "file", etc.

Mapping protocols into request-response interactions.

Universal naming with URLs.

Readings

Tanenbaum 7.6.0 – 7.6.2, 7.6.5

Stevens 9.1 - 9.3, 9.6 - 9.11

T. Berners-Lee, R. Cailliau, WorldWideWeb: Proposal for a HyperText Project, 12 November 1990.  (An historical reference.)

Dan Connolly, Naming and Addressing: URIs, up to Timeline: News, Events, Publications, and History.

Tim Berners-Lee, et. al., Uniform Resource Locators (URL), RFC 1738, 12/1994.

Andreesen, Marc, NCSA Mosaic Technical Summary, 1st WWW Conference, May 1993. Browse.

Handout

Client program: Comer problems: chap. 7: 10, 11

Due

Comer problems: chap. 2: 2, chap. 6: 2, 4, 5 <pass out sniffer output>

Feb. 29: HTTP and Web Servers (ppt) and Guest lecture: Paul Finster, CTO, and Dave Eckhaus, chief developer, of Gist.com (ppt)

Description

What is a Web server? HTTP 1.1.

Resolving URLs. Server configuration.

Design for performance (multithreading, non-blocking, parallel, etc.)

Handout

Web Distribution Manager Assignment

Readings

R. Fielding, J. Gettys, J. C. Mogul, P. Leach, H. Frystyk, T. Berners-Lee, Hypertext Transfer Protocol -- HTTP/1.1, RFC 2616, Sections 1, 2, 3.1, 3.2, 3.6, 4 to 10, skim 14, and 15.

Stevens: 6.1 - 6.8, 6.12, chapter 23 <threads>

Browse http://www.gist.com/.

Due

Comer problems: chap. 8: 6

Tanenbaum problem chap. 7: 38

March 7: Apache’s design (ppt) (NO Guest lecture: Aram Mirzadeh cancelled)

Description

Apache’s design.

Readings

See references in talk.  Code fragments.

Due

Client program: Comer problems: chap. 7: 10, 11 [extended to 3/10/00]

III.              Vacation

March 14

IV.            Email

March 21: Email (ppt)

Description

Issues in reliable email transport.

MTAs and UAs.

Transport: SMTP.

Access: POP3, IMAP.

Stateful servers.

Readings

Tanenbaum: Section 7.4

Jonathan B. Postel, Simple Mail Transfer Protocol, RFC 821. Skip the appendices.

J. Myers & M. Rose. RFC1939 Post Office Protocol - Version 3. May 1996. IETF STANDARD STD0053.

M. Crispin. RFC2060 Internet Message Access Protocol - Version 4rev1. December 1996. (Status: PROPOSED—and de facto—STANDARD.)  Focus on Sections 2.1, 2.2, 3.*, 6.0, 6.2.*, 6.3.1, 6.4.2, 6.4.3, 6.4.5 ?, 6.4.7, and parts of 7 that contain responses to the sections read in chapter 6.

B. Leiba. RFC2683 IMAP4 Implementation Recommendations. September 1999.  Optional.  This appears interesting, but I have not read it yet.

March 28: Study and Analysis of A Production Email Program, Fetchmail (ppt)

Description

Analyze the design of Fetchmail, a cool email transport program. 

Readings

The fetchmail homepage

Eric S. Raymond, esr@snark.thyrsus.com, Design Notes On Fetchmail.

Some fetchmail header files and code.

Eric S. Raymond, The Cathedral and the Bazaar 

Due

Phase I of WDM (due 4/2)

April 4: Guest lecture: Peter Hamlen, Vice president software development, mail.com, Design and Operation of a High Volume Web-based Email System (ppt)

Description

Three years ago,  Mail.com decided to enter the "web-based email" market.  At that time, it had 100,000 signups, 5,000 daily logins, and was handling about 50,000 messages a day. 

Today, Mail.com and its related domains have over 12 million signups, 1 million daily logins, and handles 4 million mail messages a day. 

Our mailstore system (the system that saves and retrieves our users email messages) has changed dramatically (and occasionally painfully) as we've grown.  We'll walk through some of the design choices that we've made, and what their impact was on our scalability, reliability, and operational simplicity.

Due

Tanenbaum problems chap. 7: 24, 29

V.               Network Application Performance

April 11:  Why the World Wide Wait?

Description

Key concepts in network performance.

NYU WebPerf measurements of the Web's Performance

Repair of HTTP 1.0 performance bugs in HTTP 1.1.

Readings

Stevens 13.1 - 13.2, [13.4] <unsure where timeouts reading goes>

Comer chapter 3

Tanenbaum, Section 6.6

Venkata N. Padmanabhan, Jeffrey C. Mogul, Improving HTTP Latency, 2nd International Web conference, 1994.

Henrik Frystyk Nielsen, Jim Gettys, et. al., Network Performance Effects of HTTP/1.1, CSS1, and PNG, 6/1997, in ACM SIGCOMM '97 Proceedings.

Due

Phase II of WDM (due 4/16)

April 18: Fast Servers and Guest lecture: Performance Issues in WWW Servers

Erich M. Nahum, IBM T.J. Watson Research Center

Description

Limitations of the BSD sockets interface.

Preventing thrashing in overloaded servers.

Readings

Comer chapter 15

Stevens chapter 27

M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, and Deborah A. Wallach, Server Operating Systems. Appears in the Proceedings of the SIGOPS European Workshop, September 1996

Jeffrey C. Mogul and K. K. Ramakrishnan, Eliminating Receive Livelock in an Interrupt-driven Kernel. DEC WRL, Research Report 95/8, December 1995.

Erich M. Nahum, Tsipora Barzilai, and Dilip Kandlur, Performance Issues in WWW Servers, IBM Technical Report, February 1999. An extended abstract of this work appears in the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, May, 1999.

<too much reading this week?>

Due

Analysis of fetchmail code

VI.            Conclusion

April 25: Functionality Above HTTP

Description

Due

Phase III of WDM (due 4/30)

Copyright © Arthur Goldberg 1999, 2000, All Rights Reserved