Docstoc

Ad Hoc Wireless Routing

Document Sample
Ad Hoc Wireless Routing Powered By Docstoc
					                 Outline
• Wireless introduction
• Wireless cellular (GSM, CDMA, UMTS)
• Wireless LANs, MAC layer
• Wireless Ad hoc networks
   – routing: proactive routing, on-demand
   routing, scalable routing, geo-routing
   – wireless Ad hoc multicast
   – TCP in ad hoc networks
   – QoS, adaptive voice/video apps
• Sensor networks
Wireless Ad Hoc Networks
Proposed ad hoc Routing Approaches
• Conventional wired-type schemes (global
  routing, proactive):
   – Distance Vector; Link State
• Proactive ad hoc routing:
   – OLSR, TBRPF
• On- Demand, reactive routing:
   – DSR (Source routing), MSR, BSR
   – AODV (Backward learning)
• Scalable routing :
   – Hierarchical routing: HSR, Fisheye
   – OLSR + Fisheye
   – LANMAR (for teams/swarms)
• Geo-routing: GPSR, GeRaF, etc
   – Motion assisted routing
   – Direction Forwarding
Wireless multihop routing challenges
 • mobility
 • need to scale to large numbers (100’s to
   1000's)
 • need to support multimedia applications
   (QoS)

 • unreliable radio channel (fading, external
   interference, mobility, etc)
 • limited bandwidth
 • limited power
Conventional wired routing limitations
• Distance Vector (eg, Bellman-Ford, BGP):
   – Tables grow linearly with # nodes
   – routing control O/H linearly increasing with
     network size
   – convergence problems (count to infinity);
     potential loops (mobility?)
• Link State (eg, OSPF):
   – link update flooding O/H caused by network size
     and frequent topology changes
CONVENTIONAL ROUTING DOES NOT SCALE TO
  SIZE AND MOBILITY

           DV     LS
Intra-AS   RIP    OSPF
Inter-AS   BGP
   Classification of Ad-Hoc Routing Protocols

                       Ad-Hoc Routing Protocols



    Flat Routing       Hierarchical Routing       Geographic Routing

     Flat Routing
Proactive Reactive Hybrid
          Every node plays an equal role and takes the same
          responsibility
  Proactive protocols
   Hierarchical Routing independent of traffic pattern
       Maintain routes
       Nodes are grouped, some distance-vector routing protocols are
       Traditional link-state andnodes are selected as group
       leaders
      proactive
       Leaders take more responsibilities than others
  Reactive protocols
   Geographic Routing only if needed
      Determine routes
      Use geographic location information to make routing and
         Proactive ad hoc schemes
                  – OLSR
• OLSR (Optimal
  Link State
  Routing)
• In LSR protocol a
  lot of control msg
  unnecessary
  duplicated


                       24 retransmissions to diffuse a
                       message up to 3 hops


                        Retransmission node
  OLSR (Optimal Link State Routing)

• In OLSR only a
  subset of neighbors
  (MPR-Multipoint
  Relay Selectors)
  retransmit control
  messages:
   – Reduce size of
     control message;
   – Minimize flooding   11 retransmission to diffuse a
                         message up to 3 hops


                             Retransmission node
           OLSR Overview
• RFC 3626, October 2003
• In LSR protocol a lot of control messages
  unnecessarily duplicated
• In OLSR only a subset of neighbors (MPR-
  Multipoint Relay Selectors) retransmit
  control messages
   – Reduce flooding overhead
• OLSR retains all the advantages of LSR
   – stable
   – Does not depend upon any central entity
   – Tolerates loss of control messages
   – Supports nodes mobility
       Multipoint Relays (MPR)
• Goal: reduce duplicate LS (Link State)
  retransmissions
• Each node chooses a set of nodes (MPR
  Selectors) in the neighborhood, which will
  retransmit its LS packets
• The other nodes receive and process the
  packet, but do not retransmit it
• Upon receipt of MPR information each node
  recalculates and updates routes to each
  known destination
   OLSR (Optimal Link State Routing)
• Conclusions
  – OLSR is a proactive link-state protocol
  – Suitable for applications, which does not
    allow long time delays
  – Adapted for dense network (reduces control
    traffic overhead)

  – Other advantages (the same as for LSR)
     • As stable as LSR protocol
     • Does not depend upon any central entity
     • Tolerates loss of control messages
     • Supports nodes mobility
         Where do we stand?

• OLSR can dramatically reduce the “state”
  sent out on update messages
• They are very effective in “dense”
  networks.
• However, the state still grows with O(N)
• Neither of the above schemes can handle
  large scale nets from 10’s to thousands of
  nodes

• What to do?
  On-Demand Routing Protocols
• Routes are established “on demand” as
  requested by the source
• Only the active routes are maintained by
  each node
• Channel/Memory overhead is minimized

• Two leading methods for route discovery:
  source routing and backward learning
  (similar to LAN interconnection routing)
  On-Demand Routing Protocols
• Routes are established “on demand” as
  requested by the source
• Only the active routes are maintained by
  each node
• Channel/Memory overhead is minimized

• Two leading methods for route discovery:
  source routing and backward learning
  (similar to LAN interconnection routing)
      Existing On-Demand Protocols
•   Dynamic Source Routing (DSR) -- CMU
•   Multipath Source Routing (MSR) – TJU
•   Backup Source Routing (BSR) – UofO+TJU
•   Ad-hoc On-demand Distance Vector (AODV)
•   Associativity-Based Routing (ABR)
•   Temporarily Ordered Routing Algorithm (TORA)
•   Zone Routing Protocol (ZRP)
•   Location assisted routing (LAR, DREAM)
•   Signal Stability Based Adaptive Routing (SSA)
•   On Demand Multicast Routing Protocol
    (ODMRP) – UCLA
  Dynamic Source Routing (DSR)
• RFC 4728 – February 2007
• Forwarding: source route driven instead of
  hop-by-hop route table driven
   – Mobility ?
• On-demand: No periodic routing update
  message is sent
   – Control traffic is minimized
• The first path discovered is selected as the
  route
• Two main phases (On-demand)
   – Route Discovery
   – Route Maintenance
         DSR - Route Discovery
• To establish a route, the source floods a Route
  Request message with a unique request ID
• The Route Request packet “picks up” the node
  ID numbers
• Route Reply message containing path
  information is sent back to the source either by
   – the destination, or
   – intermediate nodes that have a route to the
     destination
• Each node maintains a Route Cache which
  records routes it has learned and overheard
  over time
      Route Discovery in DSR
                                                           Y

                                                       Z
               S           E
                                   F
       B
                   C                               M           L
                                           J
 A                             G
           H                                   D
                                       K
                       I                                   N



Represents a node that has received RREQ for D from S
                Route Discovery in DSR
                                                                     Y
Broadcast
                             [S]                                 Z
                         S           E
                                             F
                 B
                             C                               M           L
                                                     J
         A                               G
                     H                                   D
                                                 K
                                 I                                   N


            Represents transmission of RREQ

 [X,Y]       Represents route record stored in RREQ
          Route Discovery in DSR
                                                              Y

                                                          Z
                  S               [S,E]
                              E
  [S,B]                               F
          B
                      C                               M           L
                                              J
   A                  [S,C]       G
              H                                   D
                                          K
                          I                                   N


• Node H receives packet RREQ from two neighbors:
  potential for collision
          Route Discovery in DSR
                                                                  Y

                                                              Z
                  S           E
                                        F   [S,E,F]
          B
[S,B,A]               C                                   M           L
                                                J
    A             [S,B,H]          G
              H                                       D
                                  [S,C,G]   K
                          I                                       N


 • C receives RREQ from G and H, but does not forward
   it again, because C has already forwarded RREQ once
    Route Discovery in DSR
                                                             Y

                                                         Z
             S           E
                                 F       [S,E,F,J]
     B
                 C                                   M           L
                                          J
A                            G
         H   [S,B,H,I]                           D
                                     K
                     I                    [S,C,G,K]          N



    J and K both broadcast RREQ to D
    Their transmissions may collide at D
         Route Discovery in DSR
                                                              Y

                                                          Z
                  S           E
                                                  [S,E,F,J,M]
                                      F
          B
                      C                               M           L
                                              J
   A                              G
              H                                   D
                                          K
                          I                                   N



D does not forward RREQ, because D is the intended target
        Route Reply in DSR
                                                         Y

                                                     Z
             S               RREP [S,E,F,J,D]
                         E
                                 F
    B
                 C                               M           L
                                         J
A                            G
         H                                   D
                                     K
                     I                                   N




Represents RREP control message
     DSR - Route Maintenance
• Route maintenance performed only while
  route is in use
• Monitors the validity of existing routes by
  passively listening to acknowledgments of
  data packets transmitted to neighboring
  nodes
   – acknowledgments of packets -- >
     contention ? (adaptive ack)
• When problem detected, send Route Error
  packet to original sender to perform new
  route discovery
         An Example of Route Maintenance
                                                                         Y
Route Error Packet : RERR
                                           RERR [J-D]                Z
                           S           E
                                               F
                  B
                               C                                 M           L
                                                        J
           A                               G
                      H                                      D
                                                   K
                                   I                                     N

  J sends a route error to S along route J-F-E-S when it finds link [J-D]
  broken

  Nodes hearing RERR update their route cache to remove all invalid routes
  related with link J-D
   MSR - Multipath Source Routing
• Direct Descendant of DSR
• On-demand + Source Routing + Multipath
• Probing-based adaptive load balancing among
  multiple paths
• Motivation of MSR
  – Efficiently using the network resource
  – Alleviate the oscillation in adaptive single path
    routing
  – Fast re-routing
  – Reducing computing & storage requirement
  – Exploiting computing power of host instead of
    link capacity
         MSR Implementation
• To make multipath network viable
   – appropriate paths calculation
   – efficient packet forwarding on calculated
     paths
   – effective end-host usage of multiple paths
• In MSR
   – Path Finding
   – Packet forwarding
   – Load balancing
Distributing Traffic among Multiple
               Paths
• Quantities: A heuristic equation
• Probing-based adaptive control
   – Decoupling between transport layer and network
     layer: SRPing
   – Cost effective
• Scheduling: Packet Weighted Round Robin
• TCP out-of-order (re-sequencing) problem
          Distributing Traffic among
                Multiple Paths
• Heuristic equation
   – Rationale: Autonomous system, homogeneous
     assumption, bandwidth-delay product constant
                           j  
                     min   d max  ,U   R
                j
            W   i
                           d j  
                               i      
where ,
    j
 d i is the delay of route with index i,
   j
 d m axis the maximum delay of all the routes to the
  same destination,
    R is a factor to control the switching frequency
  between routes.
    U is a bound value to insure that should not to be
  too large.
      Simulation Methodology
• ns – Wireless extensions by CMU
• Adopt methods used in [Broch98, Johnson99]
• Two major files:
   – Movement pattern file
   – Communication pattern file
• 50 mobile hosts placed randomly within a
  1500m×300m area
• Two set of simulations: Max speed 20m/s &
  1m/s
• Different traffic types: CBR & FTP
     Performance Evaluation
• MSR vs. DSR
• Performance Metrics
  – Packet delivery ratio
  – Data throughput
  – End-to-end delay
  – Packet drop probability
  – Queue size
                         Simulation Results – CBR
• Packet delivery ratio of every connection
                  1.00
 Delivery Ratio




                  0.95




                  0.90
                                                                                         DSR
                                                                                         MSR




                  0.85
                         1   2   3   4   5   6   7   8    9   10 11 12 13 14 15 16 17 18 19 20
                                                         Connection No.
               Simulation Results – CBR
• Packet delivery ratio
        1.05

                          MSR
        1.00              DSR

        0.95


        0.90
  投递率




        0.85


        0.80


        0.75


        0.70
               0     30            60     120   300
                                停留时间(秒)
                                   Simulation Results – CBR
• End-to-end throughput

                             200
                                                                            DSR
                                                                            MSR
Throughput, packets/second




                             150




                             100




                              50




                               0


                                   1   2   3   4   5   6   7   8    9   10 11 12 13 14 15 16 17 18 19 20
                                                                   Connection No.
                                  Simulation Results – TCP
   • End-to-end throughput

                             12
                                                                                 DSR
                                                                                 MSR
Throughput, packets/second




                              8




                              4




                              0


                                  0   2   4   6   8   10     12   14   16   18   20    22   24   26   28   30
                                                           Connection No.
                        Simulation Results – CBR
      • End-to-end delay
                 0.30



                 0.25                                                                 DSR
                                                                                      MSR


                 0.20
Delay (second)




                 0.15



                 0.10



                 0.05



                 0.00


                        1   2   3   4   5   6   7   8    9   10 11 12 13 14 15 16 17 18 19 20
                                                        Connection No.
                   Simulation Results – CBR
• End-to-end delay
        1.00


                                         MSR
        0.80                             DSR



        0.60
延迟(秒)




        0.40



        0.20



        0.00
               0        30      60     120     300
                             停顿时间(秒)
                 Simulation Results – TCP
• End-to-end delay

                 23
                 22
                 21                                                                    DSR
                 20                                                                    MSR
                 19
                 18
                 17
                 16
Delay (second)




                 15
                 14
                 13
                 12
                 11
                 10
                  9
                  8
                  7
                  6
                  5
                  4
                  3
                  2
                  1
                  0


                      0   2   4   6   8   10   12   14   16   18   20   22   24   26   28    30
                                               Connection No.
                          Simulation Results - CBR
• Packets dropped at each node

                                                                                      DSR
             15
                                                                                      MSR
# of drops




             10




              5




              0
                  1   3   5   7   9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
                                                       Node No.
                  Simulation Results – CBR
  • IFQ queue size at each node

                                                                    DSR
                                                                    MSR
             30
Queue Size




             20




             10




              0


                  0   5   10   15   20     25       30   35   40   45     50
                                         Node No.
             MSR Summary
• Reduce network congestion
• Improve throughput, delay, mobility, fault
  tolerance (CBR–more & FTP-less?)
• Acceptable routing overhead?
   – Little more than that of DSR
   – Route discovery
   – Route maintenance
      • Probing (unicast) add little O/H
• Good candidate for QoS support
   – QoS-MSR, reliable-MSR
• Acceptable packet out-of-order level ? TCP
        Backup Source Routing (BSR)
  • Establish and maintain backup routes that
    can be utilized after the primary path breaks
  • Define a new routing metric - backup route
    reliability E [T,’] (analysis)
     – T,’ -- the lifetime of backup route (, ')
     – the basis for the backup path selection
  • The lifetime for each link L in the network
    can be represented by an independent and
    identical (iid) exponential random variable XL
                                           f
                                  d
                                                     h
          a                                                              k



    s          b          c           e          g        i          j             t



Backup Route (1, 2), 1 = (s, b, c, e, g, i, j, t) and 2=(s, a, b, c, d, f, h, i, k, t)
  Backup Source Routing (BSR)
• Reduce the frequency of route discovery
  flooding, which is a major overhead in on-
  demand protocols
• Can improve the performance significantly
  in more challenging situations of high
  mobility
• Testbed (QoS) at TJU

• Multipath TCP with packet replicas (UCLA)
  – In a lossy ad hoc wireless network
Ad hoc On-Demand Distance Vector Routing
            (AODV) RFC3561
 • Primary Objectives
    – Provide unicast, broadcast, and multicast capability
    – Initiate forward route discovery only on demand
    – Disseminate changes in local connectivity to those
      neighboring nodes likely to need the information
 • Characteristics
    – On-demand route creation
        • Effect of topology changes is localized
        • Control traffic is minimized
    – Distance vector routing
    – Two dimensional routing metric: <Seq#, HopCount>
        • Seq# -- to determine the freshness of the info
    – Storage of routes in Route Table
                 Route Table
• Fields:
   – Destination IP Address
   – Destination Sequence Number
     – to guarantee the loop-freedom of all routes
       towards that node
  – HopCount         Precursor Nodes                Next Hop
  – Next Hop IP Address                A

  – Precursor Nodes                                    Destination
  – Expiration Time    Source

                                           Source

• Each time a route entry is used to transmit
  data, the expiration time is updated to
   current_time + active_route_timeout
          Unicast Route Discovery
•   Source broadcasts Route Request (RREQ)
      <Flags, Bcast_ID, HopCnt,
      Src_Addr, Src_Seq#,
      Dst_Addr, Dst_Seq#>         Source
•   Node can reply to RREQ if
      – It is the destination, or
      – It has a “fresh enough”
        route to the destination
                                           Destination
•   Otherwise it rebroadcasts
     the request                   Route Request Propagation

•   Nodes create reverse route entry
•   Record Src IP Addr / Broadcast ID to
    prevent multiple rebroadcasts
            Forward Path Setup
• Destination, or intermediate
  node with current route to
  destination, unicasts Route
  Reply (RREP) to source
   <Flags, HopCnt, Dst_Addr,
     Dst_Seq#, Src_Addr,       Source
     Lifetime>
• Nodes keep track of
  <Source_Addr, Broadcast_ID>
  and discards redundant
  broadcasts
• Nodes along path create                  Destination
  forward route
                                  Forward Path Formation
• Source begins sending data
  when it receives first RREP
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z

                                                    RREQ
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z

                                                     Reverse
                                                    Path Setup
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z

                                                    RREP
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z

                                                     Forward
                                                    Path Setup
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z
        AODV (Example)

A                                           L
                                Y
                    F
        J
B                                               K


                                            D
                        G           P
S           C



    E
                H           I           T
                                                Z
                 Path Maintenance
                         3’                          3’

         1       3
                                         1
                         Destination                 Destination

             2                               2
Source               4          Source           4

• Movement of nodes not along active path does not
  trigger protocol action
• If source node moves, it can reinitiate route discovery
• Node 3 moves to new location 3’ node moves,
  When destination or intermediate
  upstream node of break broadcasts Route Error
• Node 2 notices loss of link, sends link failure to
  (RERR)
  Node 1 message
• RERR contains list of all destinations
• Node 1 forwards link failure to Sourceno longer
  reachable due to link break
• Source reinitiates route node with no precursors for
• RERR propagated until discovery, finds new route
  destination is 4
  through Node reached
 Trade-Off Between Proactive and Reactive
• Latency of route discovery
    Proactive protocols have lower latency since routes are
     maintained all times
    Reactive protocols have higher latency because a node needs to
     find a route when it has data to send
• Overhead of route maintenance
    Reactive protocols have lower overhead since routes are
     maintained ed only if they are needed
    Proactive protocols have higher overhead due to continuous route
     updating
• Which approach achieves a better trade-off depends on
  the traffic and mobility patterns
    If most nodes always have data to send and nodes’ mobility is
     high, proactive protocols may produce higher routing efficiency
    If only a few nodes have data to send and nodes’ mobility is low,
     reactive protocols may produce higher routing efficiency
     What have we discovered so far?
• Conventional (wired net) routing schemes (proactive
  routing) suffer of O/H, mobility & scalability limitations.
• On Demand routing eliminates background routing
  control O/H. It introduces latency; it does not well suited
  for QoS routing.
• Key observation:
   – Packet forwarding is done by routing tables (proactive
     and AODV)
   – Packet forwarding is done using the source route in
     header (DSR)
   – Thus, storage O/H; also route maintenance O/H
• Question: Can we eliminate table storage and
  maintenance O/H?
• Hierarchical routing reduces O/H and improves
  scalability (at the expense of accuracy).

				
DOCUMENT INFO