CORNELL CS 5190 - Lecture 4 Internet Routing

Unformatted text preview:

CS519: Computer NetworksLecture 4, Part 3: Feb 23, 2004Internet Routing:CS519Distance-vector (DV) and Path-vector (PV) scaling| DV scales as the number of destinations N| Path-vector scales approx as N(1/2D), where D is the network diameterz Because paths are one average ½ the diameterz A single link change can still result in large updates• (all destinations for which there is a new path)z So overhead can vary depending on situation (unpredictable)CS519Distance-path overhead exampleCS519One link change can result in updates about many destinationsCS519Distance-vector problems| As we saw, distance-vector (DV) routing algorithms, while simple, suffer from slow convergence| Path-vector (PV) fixes most of this, but still has some unpredictability| Link State pre-dates PV, is less flexible but has very fast convergence and predictable overheadsz In wide use: OSPFCS519Link-State approach| Like PV, LS works by providing more explicit information about the state of the networkz In fact, complete information about the state of the network!| Every node knows about every linkz Internally contains a “map” of the complete network| From this map, each node computes its next hopsCS519LS RIBCS519Link State Operation| Each node floods the status of all of its links to every other nodez This creates the RIB| Each node generates its FIB by running a shortest-path spanning tree algorithm with itself as the rootCS519Shortest paths overlapCS519Flooding| Each node periodically floods a Link State Update (LSU) to all nodesz Or immediately if a link changed| LSU contains:z List of all the node’s links and costsz A sequence number (to determine which LSU is the most recentz A hop countCS519Flooding algorithm (simplified)| Each node stores the latest LSU seq num (SNs) received for all nodes| When a node originates an LSU, it increments the SN| When an LSU is received, if the received SNr is “newer than” SNs, then:z Record information in LSUz Send LSU to all neighborsz Set SNs = SNr| Otherwise, ignore the LSUCS519Sequence number initialization and wrap around| This is far trickier than you’d think…| Imagine an 8-bit unsigned sequence number (0 <= SN <= 0xff)| Say SNs = 0xf0, and SNr = 0x0f| Is the received LSU newer or older than the stored one?CS519Sequence number initialization and wrap around| When SN reaches max value, it will wrap around to 0z Thus, at some point, SN=0 is “newer than” SN=0xFFFF| SNs = 0xf0, and SNr = 0x0f| Probably SNr is newer, but you can’t be surez Maybe there is some error that caused a router to send an old SNCS519Approach number 1: circular seq num space| To compare two numbers a and b| Divide seq space in half at a| If b is in clockwise half, then b is newer, else a is newer| Router must save its own SN in non-volatile memory (disk)| When router restarts, initialize own SN to latest saved value + 1CS519Circular seq num spaceCS519One problem with circular seqnum space| These SLU’s would flood forever…z Or until the hop count expiredz This apparently happened in the ARPANETCS519Approach number 2: Huge linear seq num space| 64-bit sequence number space, no wrap-around| Store own SN in non-volatile memory, init from most recent SN + 1| When max value reached (264-1), crash!!!| At 100 LSU/sec, takes 6 billion years to hit max (i.e. never crash)CS519Problem with huge linear seqnum space| Try explaining it to customers…| Non-volatile storage must be very reliablez Disk, for instance, is not that reliable| If the SN is lost, router must be restarted as a different router (i.e. with a different identity)CS519Approach number 3: lollipop shaped seq num spaceCS519Problems with lollipop shaped seq num space| Same a < b < c < a problemz Though this is mitigated by hop count in LSU| If router restarts before SN >= a, then no new LSUs will be recognized until new SN reaches old high-waterz But routers with bugs may often restart shortly after startup| This approach in V1 of OSPFCS519Approach 4: Linear space with LSU flush| Used by OSPF V2| Extra bit in LSU used to indicate that last LSU should be flushed| When router restarts, it flushes max SN, then sends initial LSU with SN=0z Likewise, if SN wraps, flush max SN before wrap| Problem would occur if flush not received by all nodesz But OSPF flood is quite reliable (LSUs are ACK’d)CS519Shortest path calculation| After any change in the network, the shortest path algorithm is run on the “graph” to calculate the next hops for the FIB| Attributed to Dijkstra| All routers must run exactly the same algorithmz So that they calculate consistent shortest pathsCS519Shortest path algorithm (1/2)| Maintain 2 lists, confirmed and tentativez Each entry has <dest, cost, nexthop>| To initialize, add self to confirmed| In each round of the algorithm:z One dest is moved from tentative to confirmedz Zero or more dests are moved into tentativeCS519Shortest path algorithm (2/2)| next = node just moved into confirmedz Calculate costs to all of next’sneighbors (as next_cost + link_cost)• Add neighbor to tentative if not there• Change entry in tentative if new cost is lower| Move node with lowest cost from tentative to confirmed| Repeat until tentative is emptyCS519ExampleCS519Shortest path algorithm optimizations| Finding the lowest-cost node in the tentative list is expensivez Maintain bins for different ranges of costz Only need to search lowest-cost non-empty bin| Maintain full tree (as predecessor nodes)z If non-tree link increases, do nothingz In other cases, can pre-populate confirmed and tentative listsCS519ExampleCS519Routing update packet priority| Routing updates should have higher priority than data packetsz So that they get through during congested periods| But routing updates should be rate limitedz So that an erroneous flood of updates doesn’t starve the networkz Nodes rate limit their neighbors as well as


View Full Document

CORNELL CS 5190 - Lecture 4 Internet Routing

Download Lecture 4 Internet Routing
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 4 Internet Routing and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 4 Internet Routing 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?