CS 455/555 - Intro to Networks and Communication
Spring 2011: Tues/Thurs 9:30-10:45am, Spong 108

Print - Admin




Final Paper



Final Exam Study Guide


  • Regarding terms, you should know the definitions and concepts well enough to be able to answer "compare and contrast", "define the term", "fill-in-the-blank", and "definition matching" questions.
  • This is not meant to be an exhaustive list of possible questions for the exam. It is meant to give you a general idea of the possible types of questions that might be asked and an idea of the topics I think are most important.
  • You should also study homework questions and problems that we've discussed during lectures.
  • The final exam is comprehensive, so make sure to study the midterm study guide as well.

Transport Layer

Transport Layer Overview

  • Terms:
    • multiplexing
    • demultiplexing
    • segment
    • socket
  • Does UDP offer reliable transfer?
  • Why would you want to use UDP?
  • What items does TCP use for demultiplexing (ie, how does TCP figure out what process a segment should be delivered to)? What about UDP?
  • What is the size of the UDP header?

Reliable Transfer and Pipelined Protocols

  • Terms:
    • ACK
    • NAK
    • Go-Back-N
    • Selective Repeat
  • In a simple reliable protocol that uses both ACKs and NAKs, what can be added so that NAKs are not needed?
  • Can a simple reliable protocol sender tell the difference between a lost packet and a lost ACK? If so, how? If not, why not?
  • Why doesn't the simple reliable protocol RDT 3.0 retransmit packets upon the receipt of a duplicate ACK and upon the expiration of the timeout timer?
  • What is the advantage of using a sliding window protocol over a stop-and-wait?
  • What is the speedup for a sliding window protocol with window size w over a stop-and-wait protocol?
  • Does the window size always limit performance? If not, when does it not limit performance?
  • How many sequence numbers are needed to correctly and reliably transmit with a given window size when using Selective Repeat?
  • Assume we are using a sliding window protocol with a window size W, where W > 2. What packets are retransmitted if packet 2 is lost using Go-Back-N? Using selective repeat? Draw a diagram showing the correct operation using each protocol.
  • How is the receiver buffer used for Selective Repeat?


  • Terms:
    • flow control
    • sequence number
    • ACK
    • MSS
    • delayed ACKs
    • cumulative ACKs
    • piggybacking
  • How many bytes is the TCP header without options?
  • What's the maximum TCP sequence number?
  • Why does TCP perform RTT estimation?
  • Draw a diagram of connection setup (including proper sequence numbers and ACK numbers).
  • How is a TCP segment designated as an ACK?
  • Why is a 3-way handshake needed (explicitly, why are there 3 packets needed)?
  • Draw a diagram of connection teardown.
  • Why should delayed ACKs be used?
  • If delayed ACKs are used, what conditions would trigger an ACK being sent immediately?
  • Given some tcpdump output of an HTTP connection, answer the following questions:
    • what is the initial sequence number from client to server?
    • what is the initial sequence number from server to client?
    • what is the size of each HTTP request/response pair?
    • draw a diagram showing the TCP packets transferred.
  • What is the impact of the receive buffer on TCP performance?
  • How is flow control enforced in TCP?
  • Given an RTT and link speed, compute the appropriate TCP receiver window size.
  • Given a receiver window size and RTT, compute the maximum throughput achievable with TCP.
  • In which TCP state is all data transferred?

TCP Congestion Control

  • Terms:
    • congestion control
    • MAX-MIN fairness
    • congestion
    • congestion collapse
    • congestion window
    • slow-start
    • congestion avoidance
    • fast retransmit
    • fast recovery
  • What are some of the costs (not causes) of congestion?
  • What is the maximum rate that a TCP sender can transmit at (in terms of the window size and RTT)?
  • What does "additive-increase, multiplicative-decrease (AIMD)" mean?
  • How is congestion control enforced in TCP?
  • What are the two phases of congestion control in TCP?
  • How does the congestion window (cwnd) increase on the receipt of an ACK during slow-start? During congestion avoidance?
  • How does the congestion window (cwnd) increase every RTT, or round, during slow-start? During congestion avoidance?
  • What controls when the transition between slow-start and congestion avoidance occurs?
  • In the basic TCP Tahoe, what happens to cwnd and the slow-start threshold when loss is detected?
  • Given a graph of cwnd vs. time, identify the time periods when TCP is in slow-start and when it is in congestion avoidance.
  • Why is congestion control in TCP often referred to as having a "sawtooth" pattern?
  • What are 2 ways to detect loss in TCP Reno?
  • What is the difference between TCP Tahoe and TCP Reno?
  • What is the average throughput for a TCP connection in congestion avoidance, given W and RTT?

Network Layer


  • Terms:
    • input port
    • output port
    • switching fabric
    • forwarding
    • routing
    • virtual circuit
  • What are the two main functions of the network layer?
  • How do virtual circuits differ from datagram networks?
  • In which, virtual circuits or datagram networks, are the end systems "smart", but the network "dumb"?
  • How is longest prefix matching used in the network layer?
  • What is the difference between forwarding and routing?
  • How does the routing algorithm interact with the forwarding table?
  • What are the four main parts of every router?
  • Where can queuing occur in a router? What is the cause of the queuing?
  • Where does queuing due to network congestion typically occur in a router?


  • Terms:
    • classful addressing
    • classless addressing (CIDR)
    • datagram
    • netmask
    • subnet
    • fragmentation
    • DHCP
    • NAT
  • How many bytes are in the IP header (not including options)?
  • How many bits are in an IP address?
  • Is IP connection-oriented or connectionless?
  • What causes datagram fragmentation?
  • Where is fragmentation and reassembly done (at endpoints, at routers, at both endpoints and routers)?
  • Given a large datagram that will be fragmented and the MTU, give the values of the flag, offset, and size IP header fields.
  • Many TCP implementations try to avoid IP fragmentation by setting the MSS to 536. Why does this value work?
  • Given a network diagram and IP addresses, identify the subnets.
  • Given a CIDR network address, how many valid host IP addresses are available? What is the range of those addresses?
  • With CIDR network addresses, which IP addresses are reserved and what are they reserved for?
  • Given a range of addresses, determine the CIDR network address.
  • Given an IP address and a netmask, determine the CIDR network address.
  • Given a private network and an outside website to visit, show the possible contents of the NAT translation table.

Routing Algorithms

  • Terms:
    • link-state
    • distance-vector
    • count-to-infinity
    • poisoned reverse
  • What is the goal of a routing algorithm?
  • Give an example of a global routing algorithm and of a decentralized routing algorithm.
  • Given a network, compute the link-state algorithm table.
  • Given a network, complete the distance table for the distance-vector algorithm.
  • Which of the routing algorithms can form routing loops?
  • What causes the "count-to-infinity" problem in the distance vector algorithm?
  • What mechanism can avoid the "count-to-infinity" problem in the distance-vector algorithm? What's the main idea behind it?
  • What are the main differences between the link-state algorithm and the distance-vector algorithm?

Internet Routing

  • Terms:
    • autonomous system (AS)
    • gateway, or border, router
    • inter-AS
    • intra-AS
    • hierarchical routing
  • Which routing protocol uses the link-state algorithm?
  • Which routing protocol uses the distance-vector algorithm?
  • What is the distance metric used in RIP?
  • What is infinity in RIP? Why is this important?
  • What is the difference between intra-AS and inter-AS routing?
  • Given a network diagram, circle the border routers.
  • How are border routers different from interior routers?
  • How many routing protocols does a border router run?
  • How many routing protocols does an interior router run?
  • What routing protocol do all border routers in the Internet run?
  • Where are routing protocols such as RIP and OSPF used?
  • Why is hierarchical routing used in the Internet?

Link Layer

Transmission / Error Detection

  • What are the three ways we discussed to detect bit errors? What is the simplest? What is the most complex?
  • Given a bit stream, what is the parity bit to achieve odd parity?
  • Given a bit stream, what are the two-dimensional parity bits to achieve even parity?
  • What types of bit errors can the single parity bit not detect?
  • What networking layer uses checksum? CRC? Why?

General Link Layer

  • Terms:
    • frame (as opposed to segment or datagram)
    • multiple access protocol
    • collision
    • TDMA
    • FDMA
    • ALOHA
    • slotted ALOHA
    • CSMA
    • CSMA/CD
  • What is the main purpose of the link layer?
  • What are the three main types of MAC protocols?
  • What are two channel partitioning protocols?
  • What are three random access protocols?
  • What is the difference between pure ALOHA and slotted ALOHA? Which is more efficient? Why?
  • What is an example of a 'taking turns' protocol?


  • Terms:
    • ARP
    • Ethernet / 802.3
  • What is a MAC address?
  • How many bits are in a MAC address?
  • How are MAC addresses assigned?
  • How can a host find the MAC address for an interface if it knows its IP address?
  • Why does a host need to know another host's MAC address?
  • Given a network with IP and MAC addresses provided, show the IP and MAC level source and destination addresses for a packet traveling through the network.
  • Given a bit stream, draw the waveform diagram using Manchester encoding (as discussed in class, not in the book).
  • What is the purpose of the preamble in the Ethernet frame?
  • What happens if there is a collision when using CSMA/CD?
  • Why is there a minimum size for Ethernet frames? How would this change if the link speed doubled?

Router / Hub / Switch

  • Terms
    • router
    • hub
    • switch
  • Can a machine on a LAN connected with a hub snoop packets from other machines on the LAN?
  • Can a machine on a LAN connected with a switch snoop packets from other machines on the LAN?
  • Given a network with switches, show the contents of the switch table as self-learning operates.
  • What protocol layers does a router implement?
  • What protocol layers does a typical switch implement?
  • What protocol layers does a typical hub implement?

A Day in the Life

  • Explain the steps required for a laptop connecting to the campus network to be able to download a web page.


  • Terms
    • base station / access point
    • hidden terminal problem
    • CSMA/CA
    • RTS and CTS
    • 802.11 (WiFi)
  • What are the two modes that wireless networks typically provide? How are they different?
  • Why is wireless transmission more problematic than wired transmission?
  • Explain why wireless networks can't use CSMA/CD. What do they use instead? What's the basic idea behind it?
  • What network layers does an access point implement?


Don't forget to review what presentations were given during the last few weeks of class.