Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti,...

25
Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard

Transcript of Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti,...

Page 1: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

High PerformanceSwitching and RoutingTelecom Center Workshop: Sept 4, 1997.

Practical Network Coding for Wireless Mesh Networks

Wenjun Hu

Joint work with Sachin Katti, Hariharan Rahul,

Dina Katabi, Jon Crowcroft and Muriel Médard

Page 2: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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?

Page 3: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

An information exchange scenario

BobAlice

Relay

Alice’s packetBob’s packet

Bob’s packetAlice’s packet

• Multi-hop unicast requires 4 transmissions

• Can we do better?

Page 4: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Network coding &

• Nodes in network operate on data Output is result of some coding over input C.f. Routing – (replicating and) forwarding

• Network information flow problems Set in multicast in point-to-point networks Originally proposed by Ahlswede et al

• Theorem: Cannot achieve multicast capacity with routing alone Need network coding

Page 5: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 6: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Network coding – beyond theory

• Application to content distribution MSR Avalanche

• Information dissemination in DTN WDTN’05 paper

• Unfortunately Not much otherwise Existing work simulation based

Page 7: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Network coding – practical issues

• Unicast vs Multicast

• Unknown vs known flow characteristics

• Unpredictability in wireless networks Contention for channel Bursty traffic

• Encoding/Decoding complexity

• Delay penalty due to encoding?

Typical wireless mesh networks do not comply with assumptions in prior work

Typical wireless mesh networks do not comply with assumptions in prior work

Page 8: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Can Network Coding help - An idea

BobAlice

Relay

Alice’s packet Bob’s packet

Bob’s packetAlice’s packet

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

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

XOR =

Page 9: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 10: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 11: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

COPE: Opportunistic Coding Protocol

Alice

Relay

Bob

Charlie

Alice’s packet

Alice’s packet

Alice’s packetCharlie’s packet

Bob’s packet

Bob’s packet

Bob’s packet

Charlie’s packet

Charlie’s packet

Alice Bob

Bob Charlie

Charlie Alice

XOR =XOR

Page 12: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

How it works….

• Back to Alice/Bob scenario

Alice

Relay

Bob

Page 13: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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!

Page 14: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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!

Page 15: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 16: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

‘Pseudo-broadcast’

• COPE gain is from broadcast medium

• But 802.11 broadcast doesn’t work! No reliability scheme to mask collision

loss Send packets at lowest bit rate May actually reduce throughput!

• Pseudo-broadcast Send encoded packets as if unicast Other neighbours overhear Benefit as a unicast packet

Page 17: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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)

Page 18: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 19: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Emulation performanceThroughput (KB/s)

No. of flows Coding always outperforms no-coding Coding always outperforms no-coding

0 10 20 30 40 50 60

1000

500

No Coding

COPE

Page 20: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 21: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Testbed results

1

1.2

1.4

1.6

1.8

2

1 2 5.5 11

802.11 Bit Rates (Mb/s)

Ratio of Throughput with Coding to No-Coding

Encoding almost doubles the throughput Encoding almost doubles the throughput

Page 22: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Why more than 33%?

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

Alice

Relay

Bob

Page 23: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 24: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

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

Page 25: Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.

Thanks for your attention!

Questions?