CS329 Study Guide for Midterm Test

The final test is comprehensive, but we didn't cover much after the break, so make sure you don't neglect the material from the first half of the semester. You will not be tested explicitly over material from student presentations, but there may be a question over how the technology we have studied relates to one or more of those topics.

Slideset 1: Introduction to Cyberspace

  1. Is there a difference between "cyberspace" and "the Internet"?
  2. Is the Internet really chaotic?
  3. What is Simon's Ant metaphor?
  4. How is it relevant to the Internet?

Slideset 1a: Simple HTML

  1. Understand the distinction between WYSIWYG and Markup formatting.
  2. What is the purpose of HTML?
  3. Understand the structure of an HTML document.
  4. What are structural markup, presentational markup, and hypertext markup?

Slideset 2: Signals

  1. Know the difference between analog and digital representation of information.
  2. Distinguish digital from analog devices.
  3. Why would you choose analog/digital over the other?
  4. How do you convert an analog signal to digital?
  5. How often should you sample?

Slideset 3: Elementary Information Theory

  1. How do you determine how much information is in a message?
  2. How many messages can you encode in n bits?
  3. Given a simple language, can you find an efficient encoding?
  4. Can you do better than the naive encoding?
  5. What does the entropy of a language mean?
  6. How is entropy related to redundancy?
  7. How is entropy related to randomness?

Slideset 4: Internet Preliminaries

  1. Brief history of the Internet.
  2. Understand the types of networks by size.
  3. Understand layers of abstraction.
  4. What do adjacent layers expect/provide.
  5. Understand that each layer encapsulates packets from layer above.
  6. What is a protocol?

Slideset 5: Physical and Link Layers

  1. Why doesn't the physical layer constitute a viable network?
  2. Characteristics of Ethernet (connectionless, unreliable).
  3. Where do Ethernet addresses come from?
  4. How does data travel on the Ethernet?
  5. What happens if two devices broadcast on Ethernet at the same time?
  6. Can information get lost on Ethernet?
  7. What's to keep me from reading your messages on Ethernet?
  8. Understand the fields of an Ethernet frame.
  9. For PPP, understand the fields of a frame.
  10. Understand byte stuffing.
  11. Understand the notion of a state diagram.
  12. Understand the purpose of the three principle components of PPP (framing, LCP, network control).

Slideset 6: The Network Layer

  1. Understand IP as a best-effort transport mechanism.
  2. Understand the fields of the IP packet.
  3. Where do IP addresses come from?
  4. How does a packet traverse the network?
  5. Can packets get lost?
  6. Can packets arrive out of order?
  7. Understand the three main components of IP (the IP protocol, routing, ICMP).
  8. Why is there a time-to-live field.
  9. Understand how routing works conceptually.
  10. Given a network graph, could you compute the routing table?
  11. Understand the problem autonomous systems (AS) solve.
  12. What does ICMP do?
  13. How do ping and traceroute work?

Slideset 7: The Domain Name Service

  1. What is DNS? What problem does it solve?
  2. Where does it fall on the OSI stack?
  3. What is the client-server model?
  4. What functions does DNS provide?
  5. Why is DNS distributed?
  6. Why is there a hierarchy of name servers?
  7. What are resource records?

Slideset 8: The Transport Layer

  1. What is the purpose of TCP?
  2. What does it mean to say that TCP is implemented in the end systems, not the routers?
  3. Understand key differences between TCP and UDP.
  4. Understand the difference: communication between hosts and communication between processes.
  5. What are sockets?
  6. What do port number do? How are they assigned?
  7. How does the TCP handshake occur?
  8. Understand the main parts of the TCP segment format.
  9. How does TCP give a reliable service?
  10. The IP address isn't in the TCP header. How does IP know it?
  11. Know very roughly how TCP provides flow control.
  12. Understand TCP as: reliable, ordered, heavyweight, streaming.
  13. Why would you choose UDP over TCP?
  14. Understand the main parts of the UDP segment format.
  15. Understand UDP as: unreliable, not ordered, lightweight, datagrams.

Slideset 9: WWW and HTTP

  1. Where is HTTP on the OSI stack?
  2. How does WWW differ from the Internet?
  3. Understand the steps involved in fetching a webpage.
  4. Understand how a GET request is sent and what the response is like.
  5. Why are persistent connections maintained?
  6. How do status codes work?
  7. Where does the browser come into the picture?
  8. What is MIME and how does it work?
  9. What is base64 encoding and why is it needed?