Forwarding & Routing Flashcards

1
Q

Key network layer functions

A
  • forwarding: move packets from router’s input to appropriate router output
  • routing: determine route taken by packets from source to dest.
  • forwarding: process of getting on the right flight at the airport
  • routing: process of planning whole trip from source to destination
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Interplay between routing and forwarding

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Router architecture overview
High-level overview

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Input port functions

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Output port functions

A
  • Buffering required when datagrams arrive from switch fabric faster than the outgoing transmission rate
  • A scheduling discipline chooses among queued datagrams for next transmission
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Destination-based forwarding (CIDR)

A
  • Question: address 128.42.222.198 matches four rows
    ¤ Which destination interface do we forward to?
  • Answer: use longest prefix matching (so, dest. 1 in this case)
    ¤ Use the matching row with the longest string of 1’s in the mask
    ¤ This is the most specific match
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Longest prefix matching: an analogy

A
  • I want to fly to Orange County, California
  • I arrive at Manchester Airport (without a ticket, apparently!)
  • I look at the departure board…
    – Flight to London, “gateway to the world”, departs gate 5
    • Destination is OK but very general – cf. 128.0.0.0/8
      – Flight to LA, California departs gate 6
    • Destination is more specific – cf. 128.42.128.0/16
      – Flight to Orange County, California departs gate 7
    • Destination is most specific – cf. 128.42.222.0/24
  • These are ordered least specific to most specific – analogous to shortest to longest mask length
  • I pick the most specific match (longest mask) => gate 7
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Longest prefix matching: a second example

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Per-router control plane

A

Routing algorithm components in each and every router interact with each other in control plane to build forwarding tables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Logically centralised control plane

A

A distinct (typically remote) controller interacts with local control agents (CAs) in routers to compute forwarding tables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Routing algorithms

A
  • Goal: determine a “good” path through the network from source to destination
  • What is “good”?
    ¤ Usually means shortest
    ¤ And/or Load balanced
    ¤ And/or lowest $$$ cost
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Problem setup

A
  • Network is modeled as a graph
    ¤ Nodes are routers (can be subnets!)
    ¤ Edges are links
    ¤ Edge (link) cost:
    - delay, congestion level, etc.
  • Initially, each node only knows
    ¤ Its local neighbors
    ¤ The cost to reach each neighbor
  • How does each node learn the best path to every other node?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Intra-domain routing protocols

A
  • Distance vector
    ¤ Routing Information Protocol (RIP), based on Bellman-Ford algorithm
    ¤ Routers periodically exchange reachability information with neighbors
  • Link state
    ¤ Open Shortest Path First (OSPF), based on Dijkstra’s algorithm
    ¤ Each network periodically floods its immediate reachability information to all other routers

¤ The Bellman-Ford and Dijkstra algorithms are alternative ways to find shortest paths between nodes in weighted digraphs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Distance vector routing algorithm (BF)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Distance vector initialization

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

1st Iteration: B’s neighbors update their distance vectors

A

2nd Iteration: C’s neighbors update their distance vectors

Distance vector: end of 3rd Iteration
* Nothing changed, algorithm pauses…

17
Q

Distance vector summary

A

¤ Each router initially knows the cost of links to its direct neighbors
¤ As the algorithm proceeds, each router is learning new (provisional) “shortest paths” to every other router – this is embodied in its DV
¤ Routers send their DV to their neighbors periodically or when something changes
¤ On receipt of an incoming DV, routers look over the new set of options and update their DV if these options improve on the paths they currently know
¤ It’s an iterative process that converges to a set of shortest paths

18
Q

Q: How many “rounds” will it take for the DV algorithm to converge?

A
  • Initial state: best one-hop paths
  • One (simultaneous) round: best two hop paths
  • Two (simultaneous) rounds: best three hop paths
  • k’th simultaneous round: best (k+1) hop paths
  • Will eventually converge… when it reaches longest best paths
19
Q

Distance vector routing in practice

A
  • Routing Information Protocol (RIP) (RFC 2453)
    ¤ Uses distance vector (Bellman-Ford algorithm)
    ¤ Updates sent every 30 seconds
    ¤ Originally in BSD UNIX, routed
    ¤ Widely-used for many years
    ¤ Used less now because of DV’s relatively weak adaptation to changes