Week 6 - Exam prep
Lesson 1: Introduction, History, and Internet Architecture
What are the advantages and disadvantages of a layered architecture?
What are the differences and similarities between the OSI model and the five-layered Internet model?
What are sockets?
Describe each layer of the OSI model.
Provide examples of popular protocols at each layer of the five-layered Internet model.
What is encapsulation, and how is it used in a layered model?
What is the end-to-end (e2e) principle?
What are the examples of a violation of e2e principle?
What is the EvoArch model?
Explain a round in the EvoArch model.
What are the ramifications of the hourglass shape of the internet?
Repeaters, hubs, bridges, and routers operate on which layers?
What is a bridge, and how does it “learn”?
What is a distributed algorithm?
Explain the Spanning Tree Algorithm.
What is the purpose of the Spanning Tree Algorithm?
Lesson 2: Transport and Application Layers
What does the transport layer provide?
What is a packet for the transport layer called?
What are the two main protocols within the transport layer?
What is multiplexing, and why is it necessary?
Describe the two types of multiplexing/demultiplexing.
What are the differences between UDP and TCP?
When would an application layer protocol choose UDP over TCP?
Explain the TCP Three-way Handshake.
Explain the TCP connection tear down.
What is Automatic Repeat Request or ARQ?
What is Stop and Wait ARQ?
What is Go-back-N?
What is selective ACKing?
What is fast retransmit?
What is transmission control, and why do we need to control it?
What is flow control, and why do we need to control it?
What is congestion control?
What are the goals of congestion control?
What is network-assisted congestion control?
What is end-to-end congestion control?
How does a host infer congestion?
How does a TCP sender limit the sending rate?
Explain Additive Increase/Multiplicative Decrease (AIMD) in the context of TCP.
What is a slow start in TCP?
Is TCP fair in the case where connections have the same RTT? Explain.
Is TCP fair in the case where two connections have different RTTs? Explain.
Explain how TCP CUBIC works.
Explain TCP throughput calculation.
Lesson 3: Intradomain Routing
What is the difference between forwarding and routing?
What is the main idea behind a link-state routing algorithm?
What is an example of a link-state routing algorithm?
Walk through an example of the link-state routing algorithm.
What is the computational complexity of the link-state routing algorithm?
What is the main idea behind the distance vector routing algorithm?
Walk through an example of the distance vector algorithm.
When does the count-to-infinity problem occur in the distance vector algorithm?
How does poison reverse solve the count-to-infinity problem?
What is the Routing Information Protocol (RIP)?
What is the Open Shortest Path First (OSPF) protocol?
How does a router process advertisements?
What is hot potato routing?
Lesson 4: AS Relationships and Interdomain Routing
Describe the relationships between ISPs, IXPs, and CDNs.
What is an AS?
What kind of relationship does AS have with other parties?
What is BGP?
How does an AS determine what rules to import/export?
What were the original design goals of BGP? What was considered later?
What are the basics of BGP?
What is the difference between iBGP and eBGP?
What is the difference between iBGP and IGP-like protocols (RIP or OSPF)?
How does a router use the BGP decision process to choose which routes to import?
What are the 2 main challenges with BGP? Why?
What is an IXP?
What are four reasons for IXP’s increased popularity?
Which services do IXPs provide?
How does a route server work? ``
Lesson 5: Router Design and Algorithms (Part 1)
What are the basic components of a router?
Explain the forwarding (or switching) function of a router.
The switching fabric moves the packets from input to output ports. What are the functionalities performed by the input and output ports?
What is the purpose of the router’s control plane?
What tasks occur in a router?
List and briefly describe each type of switching. Which, if any, can send multiple packets across the fabric in parallel?
What are two fundamental problems involving routers, and what causes these problems?
What are the bottlenecks that routers face, and why do they occur?
Convert between different prefix notations (dot-decimal, slash, and masking).
What is CIDR, and why was it introduced?
Name 4 takeaway observations around network traffic characteristics. Explain their consequences.
Why do we need multibit tries?
What is prefix expansion, and why is it needed?
Perform a prefix lookup given a list of pointers for unibit tries, fixed-length multibit ties, and variable-length multibit tries.
Perform a prefix expansion. How many prefix lengths do old prefixes have? What about new prefixes?
What are the benefits of variable-stride versus fixed-stride multibit tries?
Lesson 6: Router Design and Algorithms (Part 2)
Why is packet classification needed?
What are three established variants of packet classification?
What are the simple solutions to the packet classification problem?
How does fast searching using set-pruning tries work?
What’s the main problem with the set pruning tries?
What is the difference between the pruning approach and the backtracking approach for packet classification with a trie?
What’s the benefit of a grid of tries approach?
Describe the “Take the Ticket” algorithm.
What is the head-of-line problem?
How is the head-of-line problem avoided using the knockout scheme?
How is the head-of-line problem avoided using parallel iterative matching?
Describe FIFO with tail drop.
What are the reasons for making scheduling decisions more complex than FIFO?
Describe Bit-by-bit Round Robin scheduling.
Bit-by-bit Round Robin provides fairness; what’s the problem with this method?
Describe Deficit Round Robin (DRR).
What is a token bucket shaping?
In traffic scheduling, what is the difference between policing and shaping?
How is a leaky bucket used for traffic policing and shaping?