net_non-traditional-routing-or.ppt

496 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
496
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Multirate Multradio
  • spend a little more time on the 240 x. 121. say this is just for the median, and it’s a factor of 2!
  • possible question – why are there only 7 forwarders.(just say we thin out...)
  • lower is better. right circle – using lots of longer links, sum them up and it’s 25%. so, like ex 1, using lots of long links. zeros: before many packets made no progress, with exor at least some.
  • net_non-traditional-routing-or.ppt

    1. 1. Network Routing: Link Metrics and Non-Traditional Routing Y. Richard Yang 2 / 26 /200 9
    2. 2. Admin. <ul><li>Homework 3 </li></ul><ul><li>Project proposal: </li></ul><ul><ul><li>March 6 by email to [email_address] and richard.alimi@yale.edu </li></ul></ul>
    3. 3. Recap: Routing Protocols <ul><li>Proactive protocols </li></ul><ul><ul><li>distance vector </li></ul></ul><ul><ul><ul><li>e.g., DSDV </li></ul></ul></ul><ul><ul><li>link state </li></ul></ul><ul><ul><li>link reversal </li></ul></ul><ul><ul><ul><li>e.g., partial link reversal, TORA </li></ul></ul></ul><ul><li>Reactive (on-demand) protocols </li></ul><ul><ul><li>DSR </li></ul></ul><ul><ul><li>AODV </li></ul></ul>A E D C B F 2 2 1 3 1 1 2 5 3 5
    4. 4. Recap: ETX <ul><li>ETX: The predicted number of data transmissions required to successfully transmit a packet over a link </li></ul><ul><li>Link loss rate = p </li></ul><ul><li>Expected number of transmissions </li></ul>
    5. 5. ETX Performance DSDV DSR
    6. 6. Problems of ETX <ul><li>ETX does not handle multirate 802.11 networks </li></ul><ul><li>ETX does not work out well when nodes have multiple radios that can operate at different channels </li></ul>
    7. 7. Extending ETX: Multirate <ul><li>In a multirate environment, need to consider link bandwidth: </li></ul><ul><ul><li>packet size = S, Link bandwidth = B </li></ul></ul><ul><ul><li>each transmission lasts for S/B </li></ul></ul>“ Routing in Multi-radio, Multi-hop Wireless Mesh Network,” Richard Draves, Jitendra Padhye, and Brian Zill. Mobicom 2004.
    8. 8. Extending ETX: Multirate <ul><li>Add ETTs of all links on the path </li></ul><ul><li>Use the sum as path metric </li></ul><ul><li>Interpretation: pick a path with the lowest total network occupation time </li></ul><ul><ul><li>Q: under what condition is SETT the network occupation time? </li></ul></ul>
    9. 9. Problem of SETT <ul><li>In networks with multiple channels/radios, SETT does not consider channel reuse </li></ul>2.66 ms 3 Mbps 2.66 ms 6 Mbps Path SETT Throughput Red-Red Red - Blue
    10. 10. Observation <ul><li>Interference reduces throughput </li></ul><ul><ul><li>throughput of a path is lower if many links are on the same channel </li></ul></ul><ul><ul><li>path metric should be worse for non-diverse paths </li></ul></ul>
    11. 11. Extending SETT for Multiple Channels <ul><li>Group links on a path according to channel </li></ul><ul><ul><li>assumes links on the same channel interfere with one another </li></ul></ul><ul><ul><li>pessimistic for long paths </li></ul></ul><ul><li>Add ETTs of links in each group </li></ul><ul><li>Find the group with largest sum (BG-ETT) </li></ul><ul><ul><li>this is the “bottleneck” group </li></ul></ul><ul><ul><li>too many links, or links with high ETT (“poor quality” links) </li></ul></ul><ul><li>Use this largest sum as the path metric </li></ul><ul><ul><li>Lower value implies better path </li></ul></ul>
    12. 12. BG-ETT Example 0 5.33 ms 5.33 ms 1.5 Mbps 1.33 ms 4 ms 4 ms 2 Mbps 2.66 ms 2.66 ms 2.66 ms 3 Mbps Path Blue Sum Red Sum BG-ETT Throughput All-red 1 Blue Red-Blue
    13. 13. BG-ETT May Select Long Paths
    14. 14. Path Metric: Putting it all together <ul><li>SETT favors short paths </li></ul><ul><li>BG-ETT favors channel diverse paths </li></ul><ul><li>β is a tunable parameter </li></ul><ul><li>Higher value: more preference to channel diversity </li></ul><ul><li>Lower value: more preference to shorter paths </li></ul>
    15. 15. Implementation and such <ul><li>Implemented in a source-routed, link-state protocol, Multi-Radio Link Quality Source Routing (MR-LQSR) </li></ul><ul><ul><li>Nodes discover links to its neighbors, measure quality of those links </li></ul></ul><ul><ul><li>link information floods through the network </li></ul></ul><ul><ul><ul><li>each node has “full knowledge” of the topology </li></ul></ul></ul><ul><ul><ul><li>sender selects “best path” </li></ul></ul></ul><ul><ul><ul><li>packets are source routed using this path </li></ul></ul></ul><ul><li>Measure loss rate and bandwidth </li></ul><ul><ul><li>loss rate measured using broadcast probes similar to ETX </li></ul></ul><ul><ul><ul><li>updated every second </li></ul></ul></ul><ul><ul><li>bandwidth estimated using periodic packet-pairs </li></ul></ul><ul><ul><li>updated every 5 minutes </li></ul></ul>
    16. 16. Evaluations
    17. 17. Median Throughput (Baseline, single radio)
    18. 18. Median Throughput (Baseline, two radios)
    19. 19. Impact of β value
    20. 20. Summary <ul><li>Link metrics are still an active research area, in particular, due to interactions with (channel, spatial) diversity </li></ul>
    21. 21. Summary: Traditional Routing <ul><li>So far, all routing protocols in the framework of traditional wireline routing </li></ul><ul><ul><li>a graph representation of underlying network </li></ul></ul><ul><ul><ul><li>point-to-point graph, edges with costs </li></ul></ul></ul><ul><ul><li>select a lowest-cost route for a src-dest pair </li></ul></ul><ul><ul><li>commit to a specific route before forwarding </li></ul></ul><ul><ul><li>each node forwards a received packet as it is to next hop </li></ul></ul><ul><li>Problems: don’t fully exploit path (spatial) diversity and wireless broadcast opportunities </li></ul>
    22. 22. Motivating Scenario: I
    23. 23. Motivating Scenario: II <ul><li>Traditional routing picks a single route, e.g., src -> B -> D -> dst </li></ul><ul><li>Packets received off path are useless </li></ul>Motivating question: can we take advantage of transmissions that reach unexpectedly far or unexpectedly short?
    24. 24. Motivating Scenario: III <ul><li>Src A sends 1 packet to dst B; src B sends packet 3 to dst A </li></ul><ul><li>The network needs to transmit 4 packets </li></ul><ul><li>Motivating question: can we do better? </li></ul>A B R
    25. 25. Motivating Scenario: III <ul><li>If R has both packets 1 and 3, it can combine them and explore coding and broadcast nature of wireless </li></ul>A B R
    26. 26. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul><ul><ul><li>motivation </li></ul></ul><ul><ul><li>network coding: exploiting network broadcast </li></ul></ul>
    27. 27. Network Coding <ul><li>We have covered source coding (FEC, compression) </li></ul><ul><li>The new approach uses opportunistic network coding </li></ul><ul><li>goal: increase the amount of information that is transported </li></ul>
    28. 28. Opportunistic Coding: Basic Idea <ul><li>Each node looks at the packets available in its buffer, and those its neighbors’ buffers </li></ul><ul><li>It selects a set of packets, computes the XOR of the selected packets, and broadcasts the XOR </li></ul>
    29. 29. Opportunistic Coding
    30. 30. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul><ul><ul><li>motivation </li></ul></ul><ul><ul><li>network coding: exploiting network broadcast </li></ul></ul><ul><ul><li>opportunistic routing </li></ul></ul>
    31. 31. Key Issue in Opportunistic Routing Key Issue: opportunistic forwarding may lead to duplicates.
    32. 32. Extreme Opportunistic Routing (ExOR) <ul><li>Basic idea: avoid duplicates by scheduling </li></ul><ul><li>Instead of choosing a fix sequential path (e.g., src->B->D->dst), the source chooses a list of forwarders (a forwarder list in the packets) using ETX-like metric </li></ul><ul><ul><li>a background process collects ETX information via periodic link-state flooding </li></ul></ul><ul><li>Forwarders are prioritized by ETX-like metric to the destination </li></ul>
    33. 33. ExOR: Forwarding <ul><li>Group packets into batches </li></ul><ul><li>The highest priority forwarder transmits when the batch ends </li></ul><ul><li>The remaining forwarders transmit in prioritized order </li></ul><ul><ul><li>each forwarder forwards packets it receives yet not received by higher priority forwarders </li></ul></ul><ul><ul><li>status collected by batch map </li></ul></ul>
    34. 34. Batch Map <ul><li>Batch map indicates, for each packet in a batch, the highest-priority node known to have received a copy of that packet </li></ul>
    35. 35. ExOR: Example N0 N3 N1 N2
    36. 36. ExOR: Stopping Rule <ul><li>A nodes stops sending the remaining packets in the batch if its batch map indicates over 90% of this batch has been received by higher priority nodes </li></ul><ul><ul><li>the remaining packets transferred with traditional routing </li></ul></ul>
    37. 37. Evaluations <ul><li>65 Node pairs </li></ul><ul><li>1.0MByte file transfer </li></ul><ul><li>1 Mbit/s 802.11 bit rate </li></ul><ul><li>1 KByte packets </li></ul><ul><li>EXOR bacth size 100 </li></ul>1 kilometer
    38. 38. Evaluation: 2x Overall Improvement <ul><li>Median throughputs: 240 Kbits/sec for ExOR, </li></ul><ul><li> 121 Kbits/sec for Traditional </li></ul>Throughput (Kbits/sec) 1.0 0.8 0.6 0.4 0.2 0 0 200 400 600 800 Cumulative Fraction of Node Pairs ExOR Traditional
    39. 39. OR uses links in parallel <ul><li>Traditional Routing </li></ul><ul><li>3 forwarders </li></ul><ul><li>4 links </li></ul><ul><li>ExOR </li></ul><ul><li>7 forwarders </li></ul><ul><li>18 links </li></ul>
    40. 40. OR moves packets farther <ul><li>ExOR average: 422 meters/transmission </li></ul><ul><li>Traditional Routing average: 205 meters/tx </li></ul>Fraction of Transmissions 0 0.1 0.2 0.6 ExOR Traditional Routing 0 100 200 300 400 500 600 700 800 900 1000 Distance (meters) 25% of ExOR transmissions 58% of Traditional Routing transmissions
    41. 41. Comments: ExOR <ul><li>Pros </li></ul><ul><ul><li>takes advantage of link diversity (the probabilistic reception) to increase the throughput </li></ul></ul><ul><ul><li>does not require changes in the MAC layer </li></ul></ul><ul><ul><li>can cope well with unreliable wireless medium </li></ul></ul><ul><li>Cons </li></ul><ul><ul><li>scheduling is hard to scale in large networks </li></ul></ul><ul><ul><li>overhead in packet header (batch info) </li></ul></ul><ul><ul><li>batches increase delay </li></ul></ul>
    42. 42. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul><ul><ul><li>motivation </li></ul></ul><ul><ul><li>network coding: exploiting network broadcast </li></ul></ul><ul><ul><li>opportunistic routing </li></ul></ul><ul><ul><ul><li>ExOR </li></ul></ul></ul><ul><ul><ul><li>MORE </li></ul></ul></ul>
    43. 43. MORE: MAC-independent Opportunistic Routing & Encoding <ul><li>Basic idea: </li></ul><ul><ul><li>Replace node coordination with network coding </li></ul></ul><ul><ul><li>Trading structured scheduler for random packets combination </li></ul></ul><ul><li>Previous network coding technique is for inter-flow </li></ul><ul><li>MORE is for intra-flow network coding </li></ul>
    44. 44. Basic Idea: Source <ul><li>Chooses a list of forwarders (e.g., using ETX) </li></ul><ul><li>Breaks up file into K packets (p1, p2, …, pK) </li></ul><ul><li>Generate random packets </li></ul><ul><li>MORE header includes the code vector [c j1 , c j2 , …c jK ] for coded packet p j ’ </li></ul>
    45. 45. Basic Idea: Source
    46. 46. Basic Idea: Forwarder <ul><li>Check if in the list of forwarders </li></ul><ul><li>Check if linearly independent of new packet with existing packet </li></ul><ul><li>Re-coding and forward </li></ul>
    47. 47. Basic Idea: Destination <ul><li>Decode </li></ul><ul><li>Send ACK back to src if success </li></ul>
    48. 48. Key Practical Question: How many packets does a forwarder send? <ul><li>Compute zi: the expected number of times that forwarder i should forward each packet </li></ul>
    49. 49. Computes z s Compute z s so that at least one forwarder that is closer to destination is expected to have received the packet : Єij: loss probability of the link between i and j
    50. 50. Compute z j for forwarder j <ul><li>Only need to forward packets that are </li></ul><ul><ul><li>received by j </li></ul></ul><ul><ul><li>sent by forwarders who are further from destination </li></ul></ul><ul><ul><li>not received by any forwarder who is closer to destination </li></ul></ul>
    51. 51. Compute z j for forwarder j <ul><li>To guarantee at least one forwarder closer to d receives the packet </li></ul>
    52. 52. Evaluations <ul><li>20 nodes distributed in a indoor building </li></ul><ul><li>Path between nodes are 1 ~ 5 hops in length </li></ul><ul><li>Loss rate is 0% ~ 60%; average 27% </li></ul>
    53. 53. Throughput
    54. 54. Problem of MORE?
    55. 55. Mesh Networks API So Far Network Forward correct packets to destination PHY/LL Deliver correct packets
    56. 56. Motivation S D 10 -3 BER 10 -3 BER 0% 0% 570 bytes; 1 bit in 1000 incorrect  Packet loss of 99% R1 R2
    57. 57. Implication S D 99% (10 -3 BER) 99% (10 -3 BER) 0% 0% Opportunistic Routing  50 transmissions Loss Loss R1 R2
    58. 58. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul><ul><ul><li>motivation </li></ul></ul><ul><ul><li>network coding: exploiting network broadcast </li></ul></ul><ul><ul><li>opportunistic routing </li></ul></ul><ul><ul><ul><li>ExOR </li></ul></ul></ul><ul><ul><ul><li>MORE </li></ul></ul></ul><ul><ul><ul><li>MIXIT </li></ul></ul></ul>
    59. 59. New API PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination
    60. 60. What Should Each Router Forward? D S P1 P2 P1 P2 P1 P2 R1 R2
    61. 61. What Should Each Router Forward? D S P1 P2 <ul><li>Forward everything  Inefficient </li></ul><ul><li>Coordinate  Unscalable </li></ul>P1 P2 P1 P2 R1 R2 P1 P2 P1 P2
    62. 62. Symbol Level Network Coding Forward random combinations of correct symbols D S P1 P2 P1 P2 P1 P2 R1 R2
    63. 63. Symbol Level Network Coding Routers create random combinations of correct symbols … … R1 R2 D … … … …
    64. 64. Symbol Level Network Coding Solve 2 equations Destination decodes by solving linear equations R1 R2 D … …
    65. 65. Symbol Level Network Coding Routers create random combinations of correct symbols … … R1 R2 D … … … …
    66. 66. Symbol Level Network Coding Solve 2 equations Destination decodes by solving linear equations R1 R2 D … …
    67. 67. Destination needs to know which combinations it received Use run length encoding Original Packets Coded Packet
    68. 68. Destination needs to know which combinations it received Original Packets Coded Packet Use run length encoding
    69. 69. Destination needs to know which combinations it received Original Packets Coded Packet Use run length encoding
    70. 70. Destination needs to know which combinations it received Original Packets Coded Packet Use run length encoding
    71. 71. Destination needs to know which combinations it received Use run length encoding
    72. 72. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    73. 73. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    74. 74. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    75. 75. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    76. 76. Evaluation <ul><ul><li>Implementation on GNURadio SDR and USRP </li></ul></ul><ul><ul><li>Zigbee (IEEE 802.15.4) link layer </li></ul></ul><ul><ul><li>25 node indoor testbed, random flows </li></ul></ul><ul><ul><li>Compared to: </li></ul></ul><ul><ul><ul><li>Shortest path routing based on ETX </li></ul></ul></ul><ul><ul><ul><li>MORE: Packet-level opportunistic routing </li></ul></ul></ul>
    77. 77. Throughput Comparison Throughput (Kbps) CDF 2.1x 3x Shortest Path MORE MIXIT
    78. 78. Backup Slides
    79. 79. Motivation for a Better Metric
    80. 80. Implementation and such <ul><li>Modify DSDV or DSR </li></ul><ul><li>Example evaluation: </li></ul><ul><ul><li>in DSDV w/ ETX, route table is a snapshot taken at end of 90 second warm-up period </li></ul></ul><ul><ul><li>in DSR w/ ETX, source waits additional 15 sec before initiating the route request </li></ul></ul>
    81. 81. Where do the gains come from? 1.5x Throughput (Kbps) CDF Shortest Path MORE MIXIT without concurrency Take concurrency away from MIXIT
    82. 82. Where do the gains come from? Throughput (Kbps) CDF Shortest Path MORE MIXIT Take concurrency away from MIXIT

    ×