1 / 12

What is “Routing”?

What is “Routing”?. Routing algorithm that part of the network layer responsible for deciding on which output line to transmit an incoming packet Adaptive Routing based on current measurements of traffic and/or topology centralized, isolated, distributed Non-adaptive Routing flooding

connie
Télécharger la présentation

What is “Routing”?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What is “Routing”? Routing algorithm that part of the network layer responsible for deciding on which output line to transmit an incoming packet Adaptive Routing based on current measurements of traffic and/or topology • centralized, isolated, distributed Non-adaptive Routing • flooding • static routing {shortest path}

  2. routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet’s header 1 0111 2 3 Interplay between routing and forwarding

  3. 5 3 5 2 2 1 3 1 2 1 x z w u y v Graph abstraction Graph: G = (N,E) N = set of routers = { u, v, w, x, y, z } E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Remark: Graph abstraction is useful in other network contexts Example: P2P, where N is set of peers and E is set of TCP connections

  4. 5 3 5 2 2 1 3 1 2 1 x z w u y v Graph abstraction: costs • c(x,x’) = cost of link (x,x’) • - e.g., c(w,z) = 5 • cost could always be 1, or • inversely related to bandwidth, • or related to congestion Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Question: What’s the least-cost path between u and z ? Routing algorithm: algorithm that finds least-cost path

  5. Global or decentralized information? Global: all routers have complete topology, link cost info Decentralized: router knows physically-connected neighbors, link costs to neighbors iterative process of computation, exchange of info with neighbors Static or dynamic? Static: routes change slowly over time Dynamic: routes change more quickly periodic update in response to link cost changes Routing Algorithm classification

  6. Internetwork Routing Adaptive Routing Centralized Distributed [RCC] [IGP] [EGP] Intradomain routing Interdomain routing [BGP,IDRP] Exterior Gateway Protocols Interior Gateway Protocols Distance Vector routing Link State routing [RIP] [OSPF,IS-IS,PNNI]

  7. Distance Vector Routing • Historically known as the old ARPANET routing algorithm {also known as Bellman-Ford algorithm}. Basic idea: each network node maintains a table containing the distance between itself and ALL possible destination nodes. • Distance are based on a chosen metric and are computed using information from the neighbors’ distance vectors. Metric: usually hops or delay

  8. Distance Vector Information needed by node : each router has an ID associated with each link connected to a router there is a link cost (static or dynamic) the metric issue! Each router starts with: DV = 0 {distance measure to itself} DV = infinity number {for ALL other destinations}

  9. Distance Vector Algorithm[Perlman] • Router transmits its distance vector to each of its neighbors. • Each router receives and saves the most recently received distance vector from each of its neighbors. • A router recalculates its distance vector when: • It receives a distance vector from a neighbor containing different information than before. • It discovers that a link to a neighbor has gone down.

  10. Distance-vector paradigm • Based on distributed Bellman-Ford algorithm • Each router maintains its distance and next-hop to the destination • Method of choosing next hop: shortest path

  11. iterative: continues until no nodes exchange info. self-terminating: no “signal” to stop asynchronous: nodes need not exchange info/iterate in lock step! distributed: each node communicates only with directly-attached neighbors Distance Table data structure each node has its own row for each possible destination column for each directly-attached neighbor to node Distance Vector Routing Algorithm

  12. Iterative, asynchronous: each local iteration caused by: local link cost change message from neighbor: its least cost path change from neighbor Distributed: each node notifies neighbors only when its least cost path to any destination changes neighbors then notify their neighbors if necessary wait for (change in local link cost of msg from neighbor) recompute distance table if least cost path to any dest has changed, notify neighbors Distance Vector Routing: overview Each node:

More Related