Internet and Intranet Protocols and Applications
Syllabus
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
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.
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
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>.
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.
Tanenbaum problems: chap. 1: 8, 11, chap. 5: 34; chap. 6: 1, 10, 23
The design of clients and servers.
The BSD socket network programming interface.
Implementing a client.
Client programming assignment, Comer chap. 7: 5
Example C network programs.
Comer: chapters 4, 5, 6 and 7.
Stevens: chapters 3 and 4.
Server architectures.
Example servers.
Performance issues.
Alternatives for concurrency: processes and threads.
Select.
Client program: Comer: chap. 7: 10, 11
Comer: chapters 8, 9, 11 and 12.
Stevens: 5.1 - 5.13, [5.14 - 5.16], 5.17, 5.19.
Comer chap. 7: 5
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.
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.
Client program: Comer problems: chap. 7: 10, 11
Comer problems: chap. 2: 2, chap. 6: 2, 4, 5 <pass out sniffer output>
What is a Web server? HTTP 1.1.
Resolving URLs. Server configuration.
Design for performance (multithreading, non-blocking, parallel, etc.)
Web Distribution Manager Assignment
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.
Comer problems: chap. 8: 6
Apache’s design.
See references in talk. Code fragments.
Client program: Comer problems: chap. 7: 10, 11 [extended to 3/10/00]
Issues in reliable email transport.
MTAs and UAs.
Transport: SMTP.
Access: POP3, IMAP.
Stateful servers.
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.
Analyze the design of Fetchmail, a cool email transport program.
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
Phase I of WDM (due 4/2)
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.
Tanenbaum problems chap. 7: 24, 29
Key concepts in network performance.
NYU WebPerf measurements of the Web's Performance
Repair of HTTP 1.0 performance bugs in HTTP 1.1.
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.
Phase II of WDM (due 4/16)
Erich M. Nahum, IBM T.J. Watson Research Center
Limitations of the BSD sockets interface.
Preventing thrashing in overloaded servers.
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?>
Analysis of fetchmail code
Phase III of WDM (due 4/30)
Copyright
© Arthur Goldberg 1999, 2000, All Rights Reserved