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
- 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 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.
- Why would 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.
- 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
- fast recovery
- What are some of the costs of congestion?
- 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
Overview
- Terms:
- input port
- output port
- switching fabric
- forwarding
- routing
- virtual circuit
- How do virtual circuits differ from datagram networks?
- 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?
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.
- 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
- iBGP
- eBGP
- 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 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 purpose of the link layer?
- Where is the link layer implemented?
- 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?
- What is an example of a 'taking turns' protocol?
-
Ethernet
- Terms:
- 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.
- 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
- 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?
Presentations
Don't forget to at least review what presentations were given during
the last two weeks of class!