CS 455/555 Final Exam Study Guide
Notes:
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.
Since the final exam is comprehensive, you should also look at the midterm study guide.
You should also study homework questions and problems that we've
discussed during lectures.
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
- 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 sender tell the difference between a lost packet and a lost
ACK? If so, how? If not, why not?
- 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?
TCP
- 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?
- Draw a diagram of connection teardown.
- 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?
- is this a persistent connection?
- what is the size of each HTTP request/response pair?
- draw a diagram showing the TCP packets transferred.
- How is flow control enforced in 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
- How is congestion control enforced in TCP?
- What are the two phases of congestion control in TCP?
- How does the congestion window (cwnd) increase 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?
Network Layer
Overview
- Terms:
- input port
- output port
- switching fabric
- forwarding
- routing
- 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 occur in a router?
IP
- Terms:
- classful addressing
- classless addressing (CIDR)
- datagram
- netmask
- subnet
- encapsulation
- 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.
- Why do many TCP implementations try to avoid IP fragmentation by
setting the MSS to 536 (and why does this value work)?
- What is a subnet? 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?
- 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.
- 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?
- Which routing algorithm does RIP use?
- What is the distance metric used in RIP?
- What is infinity in RIP? Why is this important?
- Which routing algorithm does OSPF use?
- 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 (ie, how
many routing protocols does each type 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 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?
- What types of bit errors can the parity bit not detect?
- What are the two main components of CRC hardware?
- Given a bit stream, draw the waveform diagram using Manchester
encoding.
- List three different LAN topologies.
General Link Layer
- Terms:
- Ethernet / 802.3
- frame (as opposed to segment or datagram)
- collision
- CSMA/CD
- Manchester encoding
- What is the purpose of the link layer?
- What is a MAC address?
- How many bits are in a MAC address?
- How are MAC addresses assigned?
- 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?
- 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.
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?
- What protocol layers does a router implement?
- What protocol layers does a typical switch implement?
- What protocol layers does a typical hub implement?
Network Security
- What is the main difference between symmetric key and public key
cryptography?
- Given the key to a Caesar cipher and ciphertext, decrypt the
message.
- What is the difference between a Caesar cipher and a
monoalphabetic cipher?
- Given a monoalphabetic cipher and a plaintext message, encrypt the
message.
- What algorithm standard uses a symmetric key encryption algorithm?
- Describe how public key encryption and decryption work.
- What is the main public key encryption standard algorithm?
- Can public key encryption work in reverse? What could that be used for?
- How can Alice and Bob use public key encryption to communicate
authenticated and secure messages?
- Given a data transfer scenario between Alice and Bob, show how Trudy
could interfere.
- What is the purpose of a key distribution center (KDC)?
- What is the purpose of a certification authority (CA)?
- Given a list of firewall rules and a set of incoming packets, indicate
which would be allowed entry to the network and which would be denied.
Wireless Networks
- Terms:
- base station / access point
- hidden terminal problem
- CSMA/CA
- RTS and CTS
- What are the two modes that wireless networks typically provide? How
are they different?
- Why is wireless transmission more problematic than wired transmission?
- What are the three main IEEE standards for wireless?
- 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?
- Why does the default router's MAC address need to be included in
the 802.11 frame going from a wireless node to the AP destined for the
Internet?