Вы находитесь на странице: 1из 25

Practical Network Coding for Wireless Mesh Networks

Wenjun Hu
Hi h Pe r o r ma n e g f c w tc S i h i ng a d Rou n g n ti
l c e m T o C e W r s : e 4 9 9 t n r k h p p ,t 1 7 o o S .

Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Mdard

The problem
Wireless networks are highly resource constrained
Bandwidth is the most expensive Power is sometimes an issue too Serious problems for mesh networks

How to optimise throughput?


Can we send more information? Can we reduce bandwidth requirement? Do both at the same time?

An information exchange scenario


Relay

Alice
Alices packet Bobs packet

Bobs packet Alices packet

Bob

Multi-hop unicast requires 4 transmissions Can we do better?

Network coding &


Nodes in network operate on data
Output is result of some coding over input C.f. Routing (replicating and) forwarding Set in multicast in point-to-point networks Originally proposed by Ahlswede et al

Network information flow problems

Theorem: Cannot achieve multicast capacity with routing alone


Need network coding

Network coding recent results


Can extend routing (i.e., forwarding) to optimise throughput
Run min-cost flow optimisations

Linear codes sufficient Decentralised approach to min-cost multicast Promising for wireless networks!
Exploit inherent multicast medium

Network coding beyond theory


Application to content distribution
MSR Avalanche

Information dissemination in DTN


WDTN05 paper

Unfortunately
Not much otherwise Existing work simulation based

Network coding practical issues


Unicast vs Multicast Unknown vs known flow characteristics Unpredictability in wireless networks Contention for channel Typical wireless mesh networks do not Typical wireless mesh networks do not comply with assumptions in prior work Bursty traffic comply with assumptions in prior work Encoding/Decoding complexity Delay penalty due to encoding?

Can Network Coding help - An idea


XOR
Relay

Alice
Alices packet Bobs packet

Bobs packet Alices packet

Bob

3 transmissions instead of 4 3 transmissions instead of 4 Saves bandwidth & power Saves bandwidth & power 33% throughput increase 33% throughput increase

Idea cont.
Applies to duplex flows Encodes two packets at a time Can extend to longer chains Idea outlined in MSR-TR-2004-78
No detailed design or implementation

fg: Our approach - COPE


Considers multiple unicast flows
Generalises the duplex flow scenario

Opportunistic coding using local info


Overhear packets to increase coding gain Online, distributed and deployable

Emulation and testbed results


First real-world implementation
Katti et al. The importance of being opportunistic: Practical network coding for wireless environments. Allerton, 2005

COPE: Opportunistic Coding Protocol


Alice Bob Charlie Bob Charlie Alice

Charlie

Charlies packet Alices packet Bobs packet

XOR

XOR

Relay

Alice
Alices packet Bobs packet Charlies packet

Bob
Bobs packet Charlies packet Alices packet

How it works.
Back to Alice/Bob scenario
Relay

Alice

Bob

How it works(Cont.)
Relay Encoding
Checks packets in queue Combines packets traversing the same three hops in opposite directions Metadata in a header between MAC and IP Broadcast encoded packets

Alice/Bob Decoding
Keep copies of sent packets Detect the extra header (decoding info) Retrieve the right packet to decode

Distributed and local action only!

Generalise to COPE
Nodes snoop on the medium
Reception reports to neighbours

When encoding
Identify what packets neighbours have
Reception reports and guesses

Encode as many packets as possible


Provided intended recipients can decode them

Still distributed and local action only!

The importance of being opportunistic


Opportunistic coding
Only encode if packets in queue No delay penalty Insensitive to flow characteristics

Opportunistic listening
Helps create more coding opportunities

Pseudo-broadcast
COPE gain is from broadcast medium But 802.11 broadcast doesnt work!
No reliability scheme to mask collision loss Send packets at lowest bit rate May actually reduce throughput! Send encoded packets as if unicast Other neighbours overhear Benefit as a unicast packet

Pseudo-broadcast

Implementation
A shim between MAC and IP
Agnostic to protocols above/below

Emulations
General COPE Emsim (part of Emstar) environment

Testbed
Based on the Alice/Bob scenario Extension to Roofnet code (in Click)

Emulation Scenario
100 nodes in 800m x 800m
Consider range ~50m

Random senders/receivers
Senders always backlogged Bit rate at 11 Mb/s

Geographic routing Metric: end-to-end data traffic throughput over all flows

Emulation performance
Throughput (KB/s)
1000 1000

900 800 700 600 500 500 400 300 200 100 0

2-way COPE (no guesses) COPE COPE COPE+Opp. Routing


0 0

No No Coding Coding

5 10 15 20 25 30 35 40 45 50 55 60 10 20 30 40 50 60 No.No. of flows of flows

Coding always outperforms no-coding Coding always outperforms no-coding

Testbed setup
Indoor PCs with 802.11b cards
Intersil Prism 2.5 802.11b chipset Connected to omni-directional antenna RTS/CTS disabled 802.11 ad hoc mode

Randomly chosen 3 nodes from testbed


Static routes End nodes send UDP traffic to each other

Testbed results
Ratio of Throughput with Coding to No-Coding
2 1.8 1.6 1.4 1.2 1 1 2 5.5 11

802.11 Bit Rates (Mb/s)

Encoding almost doubles the throughput Encoding almost doubles the throughput

Why more than 33%?


Relay

Alice

Bob

MAC is fair

1/3 BW for each node

Without coding, relay needs twice as much bandwidth as Alice or Bob With coding, all nodes need equal bandwidth

Summary
Opportunistic approach allows practical integration of network coding into current stack Throughput can double in practice
Cross-layer effects Congestion plays in our favour

First implementation of network coding in a wireless environment


Many lessons learnt

Future work
Interaction with TCP

TCP traffic is naturally two-way A reliability shim between MAC and COPE Running actual applications

Occasional mobility? Full implementation of COPE Large-scale experiments

Thanks for your attention!


Questions?

Вам также может понравиться