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