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.
- 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.
- The format of the final exam will be similar to the mid-term, but longer. You will have 3 hours to complete the final exam.
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 (such as RDT 2.0), 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?
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 (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/Wireshark 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
Overview
- 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?
IP
- 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?
- Given a bit stream and two-dimensional parity bits, detect the bit error.
- 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?
Ethernet
- Terms:
- ARP
- Ethernet / 802.3
- VLAN
- trunk port
- 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?
- What is the purpose of a VLAN?
- Are the switch ports in the same VLAN required to be contiguous (i.e., all next to each other)?
Router / Hub / Switch
- Terms
- 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.
Presentations
Don't forget to review what presentations were given during the last few weeks of class.