Outline for May 2, 2007

  1. Greetings and felicitations!
    1. Midterm has been moved to Friday, May 4. If this change causes problems for you, please come see me, or e-mail me, at once.
    2. Sample midterm is available on the web; so are the answers.
    3. Warning: no office hours on Wednesday of next week!
    4. I will hold a review session for Thursday, May 3, from 3:30-4:30 in 1227 Haring Hall.
    5. I will also hold special office hours on Thursday: 10:00-11:00AM. Also, don't forget I have office hours on Friday from 9:00-9:50AM.
  2. Inside a network, from you to the wire (con't)
    1. Application layer converts message to bits and attaches sending and receiving computer
    2. Presentation layer converts bits to ASCII, compresses and encrypts (if you are encrypting)
    3. Session layer sets boundaries for a message
    4. Transport layer divides data into segments and creates checksums
    5. Network layer selects route and forms segments into packets.
    6. Data Link layer confirms checksum, and addresses packets appropriate for medium.
    7. Physical layer encodes for the medium that will carry the packets.
  3. Addresses
    1. Host name; this is what you are familar with (nob.cs.ucdavis.edu, www.cnn.com, etc.); this is used at the Transport layer and above
    2. Network address: this is what the computers use (IP address), composed of 4 numbers between 0 and 255 (eg, corresponds to nob.cs.ucdavis.edu, corresponds to www.cnn.com); this is used at the Network layer
    3. MAC address is the address of the computer that the physical network (Data Link layer) understands (eg, an Ethernet address of 00:14;51;31:86:a0)
    4. System translates your host name to an IP address as it is sent over the Internet; when it reaches its destination LAN, the IP address is translated into a MAC address to get the packet to its destination
  4. Moving packets around the network
    1. Check packet's destination IP address; if in same LAN, translate it to MAC address and send it over
    2. If not in same LAN, ask another computer, a router, how to get to destination; router determines best "path", or route, to get packet there
    3. Using information supplied by router, send packet to next host in the path
    4. Packet arrives at a "gateway", which connects a LAN to a WAN or another LAN; gateway is responsible for moving data from one network to another
    5. If not in same WAN, packet will arrive at a network access point (NAP), which passes packet on to the backbone (a connection of very powerful networks between NSF supercomputing centers)
    6. Packets move overbackbone to appropriate WAN, then LAN, then host
    7. Problem: as data moves over the network, it "fades" or becomes weaker; repeaters amplify it to solve this problem
  5. How email works
    1. A server receives e-mail from a client and sends onward to the destination mail server; these clients and servers use "Simple Mail Transfer Protocol" (SMTP) to transfer mail among themselves
    2. Post Office Protocol (POP) holds e-mail at the destination mail server until requested by the recipient, at which point it is downloaded
    3. Problem: many mail servers cannot handle binary data; so binary data is encoded in a special form called MIME (Multipurpose Internet Mail Extension) before being sent to the mail server, and is decoded after mail arrives at the recipient's client system
    4. Individuals send e-mail messages to a list server to subscribe or unsubscribe from a mailing list.
  6. Sharing files on the Internet
    1. Client/server: store the files on a central file server, client hosts download them
    2. Distributed structure: ask central server where a file is; central server checks a table, replies with name of host that the file is on; your computer asks that host to send the file over
    3. Peer-to-peer: no central server; if you want a file, ask your neighbor hosts; if they don't have it, they will ask their neighbors, and your request spreads. Eventually someone who is asked will have the file, an will reply
  7. Chatting on the Internet
    1. Chat server has list of everyone in your chat room
    2. When you send a message, server broadcasts it to everyone in your room
  8. Instant messaging (IM)
    1. Like chatting, except that the messaging server sends the message only to the person you name
    2. You have a list of "buddies", or addresses of people who are registered with this instant messaging system
    3. Server keeps track of who is online
    4. Different IM systems may use different mechanisms, and if so often cannot communicate with one another; for example, AOL cannot talk to MSN and Yahoo!
  9. Streaming audio
    1. Browser sent a "metafile" saying where to get the audio file (may be on a different server) and which plug-in to use
    2. Browser starts plug-in and contacts server, which sends audio over using a special protocol called UDP that ignores small errors in sound packets
    3. As packets arrive, they go to plug-in and are not saved (hence, "streaming")
  10. Streaming video
    1. Video sent to your computer just like audio, above
    2. The plug-in does detect errors in frames; if any found, just reuse previous frame

Here is a PDF version of this document.