CS 441, Fall 2002 Information about Test 1 --------------------------------------------------------------------------- The first of two tests in this course takes place in class on Friday, October 18. It covers material from Chapters 1 through 3 in the text, plus labs, assignments, and the handout on protocols that consisted of the one-page descriptions prepared by students as homework. In Chapter 1, we covered only Sections 1, 2, 3, 7, and 8. In Chapter 2, you are not responsible for programming with sockets in Java. We did not cover all the detailed mathematical analyses given in the text. Here is a list of topics that might be covered on the test. protocol ping network edge vs. network core traceroute hosts telnet as universal TCP client LAN (local area network) daemon internet socket programming routers ServerSocket class: packets ServerSocket(port), layered network protocols accept(), application layer close() transport layer Socket class: network layer Socket(name,port), link layer send(), physical layer sendBinary(), PDU receive(), segment, datagram, frame receiveBinary(), protocol headers close() IP address try..catch statement port client/server programming unreliable, connectionless service packet loss basic facts about: client/server NNTP sockets and server sockets NFS listening on a port IRC UDP and streaming media NTP HTTP: Web servers and Web browsers DHCP HTTP versions SSH URL NIS HTTP request / HTTP response RSYNC GET request SNMP headers LDAP status line stateless protocol cookies conditional GET Web cache FTP: control connection (port 21) data connection (port 20) ASCII vs. binary files "put" and "get" commands mail: SMTP mail servers message headers MIME types / non-text data mail access protocols POP3 and IMAP DNS: IP addresses vs. host names host name lookup DNS query distributed database root name servers authoritative name server MX record DNS caching port numbers (0 through 65535) reserved port numbers checksum source port / destination port source IP / destination IP why use UDP? why use TCP? UDP: connectionless unreliable no flow control no congestion control TCP: connection-oriented bidirectional reliable streams, not messages cumulative ACKs sequence numbers acknowledgment numbers transmission window sliding-window protocol send and receive buffers flags: SYN, ACK, FIN three-way handshake connection setup SYN packets closing a connection FIN packets retransmission of packets retransmission timeout duplicate packets flow control receive window round-trip time (RTT) setting the retransmission timeout exponentially weighted moving average estimating the RTT estimating the variation in RTT congestion control buffer overflow packet queue in a router queuing delay congestion window threshold slow start managing congestion window size