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?