CPSC 441, Fall 2004
Information about the First Test
The first test in this course will be given in class on Friday, October 1. It will cover everything that we have done since the beginning of the term. Textbook material is from Chapters 1 and 2: Sections 1.1--1.4, 1.7, 2.1--2.7, and 2.9. We covered some material (network delay and congestion) from Section 1.6, but we did not cover it in full detail. We did not cover Sections 1.5, 1.8, and 2.8 at all.
Here are some terms and ideas that you should be familiar with for the test:
network TCP sockets internet server sockets the Internet connection sockets local area network how a connection is opened router the Java socket API circuit-switched network ServerSocket the telephone network new ServerSocket(port) packets accept() packet-switched networks Socket virtual circuit network new Socket(host,port) datagram network getInputStream() getOutputStream() protocol close() layered protocols clients and servers in Java advantages of layered protocols multithreaded servers protocol stack application layer FTP (File Transfer Protocol) messages separate data/control channels transport layer user/password authentication TCP putting and getting files UDP directory listing port numbers segments mail protocols network layer SMTP (Simple Mail Transfer Protocol) IP mail user agent (MUA) IP address mail transfer agent (MTA) datagrams outgoing mail queue link layer user's mailbox Ethernet mailbox access (POP, IMAP, etc.) MAC address frames DNS (Domain Name System) physical layer domain names hosts implement all 5 layers domain name to IP mapping routers implement network layer distributed database switches implement link layer distributed administration name servers delay in an internet root server what routers do top-level domain servers input queue DNS queries queueing delay recursive vs. iterative queries network congestion "A" records (name-to-IP) packet loss "PTR" records (IP-to-name) "MX" records (mail exchange) client/server model "CNAME" records (aliases) TCP: reliable two-way connection well-known ports Peer-to-peer architectures HTTP (HyperText Transfer Protocol) centralized directory (Napster) HTTP versions (0.9, 1.0, 1.1) overlay network (Gnutella) HTTP message formats query flooding GET request method limited scope query flooding POST request method group leaders (KaZaA) HTTP response codes (200, 404, ...) persistant / non-persistant connections Ethereal request headers packet sniffer response headers Content-Type header MIME types Content-Length header text/html, text/plain, Connection: close image/gif, image/png, image/jpeg Referer header Last-Modified header If-Modified-Since header HTTP is a stateless protocol cookies