A survey on Routing Algorithms

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    A survey on Routing Algorithms - Presentation Transcript

    1. A survey of Routing Algorithms Ignasi Paredes Oliva [email_address] [email_address]
    2. Outline
      • Introduction
      • Routing strategies
      • Routing algorithms
          • Shortest Path Routing
          • Flooding
          • Flow-based Routing
          • Distance Vector Routing
          • Link State Routing
          • Deflection Routing
          • Broadcast Routing
          • Multicast Routing
          • Routing for Mobile Hosts
          • Onion Routing
          • Hierarchical Routing
      • Final considerations
    3. Outline
      • Introduction
      • Routing strategies
      • Routing algorithms
      • Final considerations
    4. Introduction
      • Routing: Driving packets from source node to destination node in a network
      • Desirable properties
        • Correctness
        • Simplicity
        • Robustness
        • Stability
        • Fairness
        • Optimality
      • Robustness
        • It’s expected that a network run continuously
        • The algorithm should cope with changes in both topology and traffic when something crashes
      • Fairness and Optimality
        • They’re often contradictory  trade-off needed
        • Global efficiency
        • Fairness to individual connections
      Introduction (II)
    5. Outline
      • Introduction
      • Routing strategies
      • Routing algorithms
      • Final considerations
    6. Routing strategies
      • Non-adaptative (static routing)
        • The state of the network doesn’t matter
        • The route to use is computed before the network is booted
      • Adaptative (dynamic routing)
        • Routing decisions are taken according to the topology and the state of the network
      • Alternative Routing and Multipath Routing
        • There is more than one static route to each destination
        • The same route is not always taken (it changes each time)
        • AR  random decision
        • MR  according to network state
    7. Routing strategies (II)
      • Distributed
        • Each node receives some information about the network from its adjacent nodes
        • This information is used to determine the way each router forwards its traffic
      • Centralized
        • There is one central node for routing intelligence ( master )
        • A node without an associated master ( slave ) is unable to route
          • Each slave node needs a master node
        • Less resilient
          • master failure  all its slaves are useless until they find a new master node
    8. Outline
      • Introduction
      • Routing strategies
      • Routing algorithms
      • Final considerations
    9. Shortest Path Routing
      • Static routing
      • Only topology information is used
      • A graph is build. Each router is a node and each link is represented as a weighted arc.
      • Find a route between routers ≡ Find the shortest path in the graph between two nodes  Dijkstra Algorithm
    10. Shortest Path Routing (II) First 5 steps computing shortest path from A to D Source: [1]
    11. Flooding
      • Static routing
      • Only topology information used
      • Every incoming packet is sent out on every outgoing link except the one it arrived on.
        • Infinite number of duplicate packets!  some control needed
      • Hop counter
        • When it’s equal to 0 the packet is discarded
      • Maintain a list of already flooded packets
        • If an incoming packet is in the list it’s not sent
    12. Flow-based Routing
      • Static routing
      • Both topology and load are taken into account
      • Sometimes the mean data flow between a certain pair of nodes is stable and predictable
        • Compute mean delay for the entire network
      • Requirements
        • Known topology
        • Traffic matrix
        • Capacity matrix
        • A routing algorithm
      • Goal: find the routing algorithm that produces the minimum average delay for the subnet
    13. Flow-based Routing (II) A network with line capacities in Kbps The traffic in packets/s and the routing matrix Source: [1] Source: [1]
    14. Flow-based Routing (III)
      • If the requirements are satisfied it’s easy to calculate the total traffic in each line: λ i
      • Mean delay:
        • Queuing theory: T i = ( µ i C i - λ i ) -1
        • Line AB
        • Assume mean packet size 800b
        • Link capacity: µ AB C AB = 1pkt/800b x 20kbps = 25pkts/s
        • Actual traffic: λ AB = 14pkts/s  delay = T AB = 91ms
      Analysis of the previous slide subnet The mean delay time for the entire subnet is 86 ms Source: [1]
      • Which is the added value of this algorithm?
        • It uses the load to make routing decisions
        • Sometimes it’s better to use a longer path instead of the shortest one (when this last one holds a huge amount of traffic)
        • Compare different routing algorithms and choose the best one according to your network characteristics
      Flow-based Routing (IV)
    15. Distance Vector Routing
      • Dynamic routing
      • Each router has a table with the best known “distances” to every destination and which line to use to get there
        • Different metrics are used as “distance”
          • #hops
          • delay in ms
      • This vector is updated using information messages from the neighbors
    16. Distance Vector Routing (II)
      • Example (the used metric is delay but other metrics are also possible)
      • J neighbors are A, I, H and K
      • J receives the routing tables of its neighbors
      • J computes its new route to G
        • Via router A: 8 + 18 =26 ms
        • Via router I: 10 + 31 =41 ms
        • Via router H: 12 + 6 =18 ms
        • Via router K: 6 + 31 =37 ms
      • The minimum delay is 18, so J updates its routing table with:
        • Delay=18ms, Output router: H
      Source: [1] Source: [1]
    17. Link State Routing
      • Dynamic routing
      • Five parts
        • Discover its neighbors and learn their network addresses
        • Measure the delay or cost to each of its neighbors
        • Construct a packet telling all it has just learned
        • Send this packet to all other routers
        • Compute the shortest path to every other router
    18. Link State Routing (II)
      • Send special HELLO packets and wait for a reply of each router telling who it is (names must be globally unique)
      • Send special ECHO packet and wait for response  delay = RTT/2
      • Packet=sender identifier+#seq+age+list of delays to each neighbor
        • When? Periodically / When some significant event occurs
      A subnet The link state packets for this subnet Source: [1] Source: [1]
    19. Link State Routing (III)
      • Fundamental idea: distribute packet using flooding
        • There is a control for each (source, #seq) pair
          • If new  packet is flooded
          • If duplicated or #seq is lower than the last seen  packet is discarded
        • Some troubles
          • Sequence numbers wrap around  Solution: 32bits #seq
          • Router crash, #seq corrupted
        • Solution: age field  It’s decremented once per second
          • If age = 0  information from that router is discarded
          • Also decremented at each hop ( ≡ TTL)
      • Run Dijkstra algorithm to find the shortest path to all destinations
    20. Deflection Routing
      • Also known as Hot-Potato routing
        • More than one packet want to leave along the same output link at the same time (contention)
        • Only one packet is sent through that link
        • The other ones are sent along other available links
        • The network is used as a memory
          • No memory needed in the network nodes!
        • Packets travel through the network while they can’t be send along the correct outgoing line
        • No QoS
    21. Deflection Routing (II)
      • Cold-Potato routing
        • Opposite to hot-potato
        • Packets are kept (in the “net”) until the last possible minute
        • They are delivered when they get as close as possible to the end-user
        • Good end-to-end QoS for the ISP customers
        • ISPs don’t want to waste bandwidth on their backbone, so they choose hot-potato
    22. Deflection Routing (II)
      • Private network (T1)
        • Router A
        • Router B
      • ISP’s backbone (T3)
        • Router C
        • Router D
      • Cold-Potato is better for the PN
        • T3 is faster than T1
      • Hot-Potato is better for the ISP
        • LANB can be reached via router A  there is no need to waste bandwidth between router C and router D
      Source: [5] Hot Potato Routing vs. Cold Potato Routing
    23. Broadcast Routing
      • Send messages to all or many other hosts
      • Send a packet to each destination / Flooding
        • Wasteful of bandwidth
      • Multi-destination routing
        • The packet includes the list of destinations
      • Sink tree based
        • The root is the node initiating the broadcast
        • Each router copies the packet only for the output lines corresponding with that tree
      • Reverse path forwarding
        • The router checks if the packet arrived on the line used for sending packets TO the source of the broadcast
          • If it matches the packet is sent for all the other output links
          • If not (the packet doesn’t arrive via the preferred path)  discard packet
        • Routers don’t need to know nothing about the ST
    24. Broadcast Routing (II)
      • Example – sink tree and reverse path forwarding
      Subnet Spanning tree rooted on “I” RPF Source: [1]
    25. Multicast Routing
      • Send messages to many nodes
      • Keeping groups information in the router
        • Each router has to know which of their hosts belong to which groups
          • [hosts  router] or [router  host] router learns
        • router  router: info propagates
      • Each router computes a spanning tree (ST) covering all routers in the subnet
        • Prune the ST according to each multicast group
        • It scales poorly for large networks
          • N groups and M members in each one
          • High memory needed to store the N x M trees
    26. Multicast Routing (II)
      • Example:
      ST rooted on A Subnet ST for group 1 ST for group 2 A Source: [1]
    27. Routing for Mobile Hosts
      • Motivation: access the Internet wherever in the world we may be
      • New complication: where is the mobile node (MN)?
      • MIP scheme
      • Home Agent (HA), Home Address (at home) and Foreign Agent (when you are away)
      • Step 1: Tunneling to send packets to the correct location
      • Step 2: routing directly from CN to MN ’s current location
      Example: MN moves from B to C. Then, A wants to send information to the MN Source: [1] A B C
    28. Onion Routing
      • Anonymous communication over a network
      • “ Routing onions“ concept
        • Routing information is encoded in a set of encrypted layers
      • Main goals
        • Protect the privacy of the sender and recipient of a message
        • Provide protection for message content
      • How does it work?
        • messages travel from source to destination via a sequence of proxies ("onion routers"), which re-route messages in an unpredictable path
      Source: [6]
    29. Hierarchical Routing
      • At some point is not feasible to continue adding nodes to a network
        • Split the network into various “subnetworks”
      • Routers are divided into regions
        • Each router only knows how to route packets to destinations within its own region
      • The hierarchy deepness varies
        • It depends of the net size
        • Regions into clusters, clusters into zones, zones into groups …
    30. Hierarchical Routing (II)
      • Example
      Net divided into 5 regions
      • From 17 to 7 entries!
      • But gains are not free…
        • Path length is increased
      Source: [1] The best route for 1A - 5C traffic is not via region 3. That route is better for most destinations in region 5 Full routing table for router 1A Hierarchical routing table for router 1A
    31. Outline
      • Introduction
      • Routing strategies
      • Routing algorithms
      • Final considerations
    32. Final considerations
      • Virtual Circuit vs. Datagram
        • Connection oriented (like ATM and MPLS)
          • Each packet contains a short VC number
          • A route is established at the beginning: all packets for that VC follow it (the route is already computed)
          • If some router crashes all VCs using it are terminated
          • Each VC needs some space in each of the nodes that it uses
        • Connectionless (like IP)
          • Each packet contains the full source and destination @’s
          • Each incoming packet requires a routing decision
          • Failures don’t matter
          • Not state information needed
      Hard re-routing Easy re-routing
      • Ordinary routing vs. Failure recovery routing
        • Static algorithms
          • Problems with failures
          • The algorithm must be restarted to adapt new topology
        • Dynamic algorithms
          • Failures are not a problem
          • Routes are automatically reconfigured taking changes into account
      Final considerations (II)
    33. Final considerations (III)
      • Internet
        • Hierarchical routing
        • ISPs use OSPF and BGP
        • OSPF (Open Shortest Path First)
          • Used in each AS ( ≡ ISP )
          • Network is divided into areas
          • Uses link-state in the individual areas that make up the hierarchy
        • BGP (Border Gateway Protocol)
          • Network reachability among autonomous systems (ASs)
    34. References
      • [1] Andrew S. Tanenbaum. Computer Networks. 3rd ed. New Jersey: Prentice Hall International Editions; 1996.
      • [2] http://sarwiki.informatik.hu-berlin.de/RoutingPrinciples
      • [3] http://www.cs.rpi.edu/~bushl2/project_web/page4.html
      • [4] http://en.wikipedia.org/wiki/Hot-potato_routing
      • [5] http://www.bgpbook.com/archpolicyenter.html
      • [6] http://en.wikipedia.org/wiki/Onion_routing

    + Ignasi ParedesIgnasi Paredes, 2 years ago

    custom

    2344 views, 2 favs, 0 embeds more stats

    This work was made in a subject called ATXA (in cat more

    More info about this document

    CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

    Go to text version

    • Total Views 2344
      • 2344 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 114
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories