910 likes | 1.06k Views
Network Layer: Non-Traditional Wireless Routing Localization Intro. Y. Richard Yang 12 /4/2012. Outline. Admin. and recap Network layer Intro Location/service discovery Routing Traditional routing Non-traditional routing Localization Intro. Admin. Projects
E N D
Network Layer: Non-Traditional Wireless RoutingLocalization Intro Y. Richard Yang 12/4/2012
Outline • Admin. and recap • Network layer • Intro • Location/service discovery • Routing • Traditional routing • Non-traditional routing • Localization • Intro
Admin. • Projects • please use Sign Up on classesv2 for project meetings • project code/<6-page report due Dec. 12 • final presentation date? • First finish a basic version, and then stress/extend your design
Recap: Routing • So far, all routing protocols are in the framework of traditional wireline routing • a graph representation of underlying network • point-to-point graph, edges with costs • select a best (lowest-cost) route for a src-dst pair
Traditional Routing • Q: which route?
Inefficiency of Traditional Routing • In traditional routing, packets received off the chosen path are useless • Q: what is the probability that at least one of the intermediate nodes will receive from src?
Inefficiency of Traditional Routing • In traditional routing, packets received off the chosen path are useless
Motivating Scenario • Src A sends packet 1 to dst B; src B sends packet 3 to dst A • Traditional routing needs to transmit 4 packets • Motivating question: can we do better, i.e., serve multiple src-dst pairs? A R B
Outline • Admin. and recap • Network layer • Intro • Location/service discovery • Routing • Traditional routing • Non-traditional routing • Motivation • Opportunistic routing: “parallel computing for one src-dst pair”
Key Issue in Opportunistic Routing Key Issue: opportunistic forwarding may lead to duplicates.
Extreme Opportunistic Routing (ExOR) [2005] • Basic idea: avoid duplicates by scheduling • 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 • a background process collects ETX information via periodic link-state flooding • Forwarders are prioritized by ETX-like metric to the destination
ExOR: Forwarding • Group packets into batches • The highest priority forwarder transmits when the batch ends • The remaining forwarders transmit in prioritized order • each forwarder forwards packets it receives yet not received by higher priority forwarders • status collected by batch map
Batch Map • Batch map indicates, for each packet in a batch, the highest-priority node known to have received a copy of that packet
ExOR: Example N2 N0 N3 N1
ExOR: Stopping Rule • 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 • the remaining packets transferred with traditional routing
1 kilometer Evaluations • 65 Node pairs • 1.0MByte file transfer • 1 Mbit/s 802.11 bit rate • 1 KByte packets • EXOR bacth size 100
Evaluation: 2x Overall Improvement 1.0 • Median throughputs: 240 Kbits/sec for ExOR, 121 Kbits/sec for Traditional 0.8 0.6 Cumulative Fraction of Node Pairs 0.4 0.2 ExOR Traditional 0 0 200 400 600 800 Throughput (Kbits/sec)
Traditional Routing 3 forwarders 4 links ExOR 7 forwarders 18 links OR uses links in parallel
58% of Traditional Routing transmissions 25% of ExOR transmissions OR moves packets farther • ExOR average: 422 meters/transmission • Traditional Routing average: 205 meters/tx 0.6 ExOR Traditional Routing Fraction of Transmissions 0.2 0.1 0 0 100 200 300 400 500 600 700 800 900 1000 Distance (meters)
Comments: ExOR • Pros • takes advantage of link diversity (the probabilistic reception) to increase the throughput • does not require changes in the MAC layer • can cope well with unreliable wireless medium • Cons • scheduling is hard to scale in large networks • overhead in packet header (batch info) • batches increase delay
Outline • Admin. and recap • Network layer • Intro • Location/service discovery • Routing • Traditional routing • Non-traditional routing • Motivation • Opportunistic routing: “parallel computing for one src-dst pair” • ExOR • MORE
MORE: MAC-independentOpportunistic Routing & Encoding [2007] • Basic idea: • Replace node coordination with network coding • Trading structured scheduler for random packets combination
Basic Idea: Source • Chooses a list of forwarders (e.g., using ETX) • Breaks up file into K packets (p1, p2, …, pK) • Generate random packets • MORE header includes the code vector [cj1, cj2, …cjK] for coded packet pj’
Basic Idea: Forwarder • Check if in the list of forwarders • Check if linearly independent of new packet with existing packet • Re-coding and forward
Basic Idea: Destination • Decode • Send ACK back to src if success
Key Practical Question: How many packets does a forwarder send? • Compute zi: the expected number of times that forwarder i should forward each packet
Computes zs Єij: loss probability of the link between i and j Compute zs so that at least one forwarder that is closer to destination is expected to have received the packet :
Compute zj for forwarder j • Only need to forward packets that are • received by j • sent by forwarders who are further from destination • not received by any forwarder who is closer to destination • #such pkts:
Compute zj for forwarder j • To guarantee at least one forwarder closer to d receives the packet
Evaluations • 20 nodes distributed in a indoor building • Path between nodes are 1 ~ 5 hops in length • Loss rate is 0% ~ 60%; average 27%
Motivation R1 R2 10-3 BER 0% D S 0% 10-3 BER Packet loss of 99% 570 bytes; 1 bit in 1000 incorrect
Implication R1 R2 99% (10-3 BER) • ExOR • MORE Loss 0% D S Loss 0% 99% (10-3 BER) Opportunistic Routing 50 transmissions
Outline • Admin. and recap • Network layer • Intro • Location/service discovery • Routing • Traditional routing • Non-traditional routing • Motivation • Opportunistic routing: “parallel computing for one src-dst pair” • ExOR [2005] • MORE [2007] • MIXIT [2008]
What Should Each Router Forward? R1 R2 D S P1 P2 P1 P2 P1 P2
What Should Each Router Forward? R1 R2 D S P1 P1 P2 P2 P1 P2 P1 P1 P2 P2 • Forward everything Inefficient • Coordinate Unscalable
Symbol Level Network Coding R1 R2 D S P1 P2 P1 P2 P1 P2 Forward random combinations of correct symbols
Symbol Level Network Coding D R2 R1 … … … … … … Routers create random combinations of correct symbols
Symbol Level Network Coding D … R2 R1 … Solve 2 equations Destination decodes by solving linear equations
Symbol Level Network Coding D R2 R1 … … … … … … Routers create random combinations of correct symbols
Symbol Level Network Coding D … R2 R1 … Solve 2 equations Destination decodes by solving linear equations
Destination needs to know which combinations it received Use run length encoding Coded Packet Original Packets
Destination needs to know which combinations it received Use run length encoding Coded Packet Original Packets
Destination needs to know which combinations it received Use run length encoding Coded Packet Original Packets
Destination needs to know which combinations it received Use run length encoding Coded Packet Original Packets
Destination needs to know which combinations it received Use run length encoding
Evaluation • Implementation on GNURadio SDR and USRP • Zigbee (IEEE 802.15.4) link layer • 25 node indoor testbed, random flows • Compared to: • Shortest path routing based on ETX • MORE: Packet-level opportunistic routing