XORs in The Air: Practical Wireless Network Coding Daniel Courcy- Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina.

Slides:



Advertisements
Similar presentations
Network Coding for Wireless Networks
Advertisements

XORs in The Air: Practical Wireless Network Coding
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
802.11a/b/g Networks Herbert Rubens Some slides taken from UIUC Wireless Networking Group.
Both RTS and CTS contains: The address of the sender The address of the receiver The sizeof the intended data short message size contention concentrated.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
1 A Framework for Joint Network Coding and Transmission Rate Control in Wireless Networks Tae-Suk Kim*, Serdar Vural*, Ioannis Broustis*, Dimitris Syrivelis.
1 XORs in the Air: Practical Wireless Network Coding Sachin Katti HariharanRahul, WenjunHu, Dina Katabi, Muriel Medard, Jon Crowcroft Presented by Lianmu.
XORs in the air: Practical Wireless Network Coding Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft SIGCOMM ‘06 Presented.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks
Random Access MAC for Efficient Broadcast Support in Ad Hoc Networks Ken Tang, Mario Gerla Computer Science Department University of California, Los Angeles.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Mobile Ad Hoc Networks Network Coding and Xors in the Air 7th Week.
Cool Topics in Networking CS144 Review Session 8 November 20, 2009 Samir Selman.
1 Shared Access Networks Outline Bus (Ethernet) Token ring (FDDI) Wireless (802.11)
Low Delay Marking for TCP in Wireless Ad Hoc Networks Choong-Soo Lee, Mingzhe Li Emmanuel Agu, Mark Claypool, Robert Kinicki Worcester Polytechnic Institute.
TCP over ad hoc networks Ad Hoc Networks will have to be interfaced with the Internet. As such backward compatibility is a big issue. One might expect.
Opportunistic Routing in Multi-hop Wireless Networks Sanjit Biswas and Robert Morris MIT CSAIL Presented by: Ao-Jan Su.
Distributed Priority Scheduling and Medium Access in Ad Hoc Networks Distributed Priority Scheduling and Medium Access in Ad Hoc Networks Vikram Kanodia.
Network coding for multicasting and unicasting in MANETs Muriel Médard LIDS Massachusetts Institute of Technology.
Spring 2002CS 4611 Shared Access Networks Outline Bus (Ethernet) Token ring (FDDI) Wireless (802.11)
Performance Enhancement of TFRC in Wireless Ad Hoc Networks Travis Grant – Mingzhe Li, Choong-Soo Lee, Emmanuel.
Opportunistic Routing in Multi-hop Wireless Networks Sanjit Biswas and Robert Morris MIT CSAIL
Opportunistic Packet Scheduling and Media Access Control for Wireless LANs and Multi-hop Ad Hoc Networks Jianfeng Wang, Hongqiang Zhai and Yuguang Fang.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Networking. Protocol Stack Generally speaking, sending an message is equivalent to copying a file from sender to receiver.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Gursharan Singh Tatla Transport Layer 16-May
Ad Hoc Wireless Routing COS 461: Computer Networks
CIS 725 Wireless networks. Low bandwidth High error rates.
XORs in the Air: Practical Wireless Network Coding Sachin Katti Hariharan Rahul Wenjun Hu Dina Katabi Muriel Medard Jon Crowcroft Presented by: Suvesh.
Efficient Network-Coding-Based Opportunistic Routing Through Cumulative Coded Acknowledgments Dimitrios Koutsonikolas, Chih-Chun Wang and Y. Charlie Hu.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Wireless Network Coding Martin Xu. Outline Introduction New Solutions – COPE – ANC Conclusions.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
University of the Western Cape Chapter 12: The Transport Layer.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
MARCH : A Medium Access Control Protocol For Multihop Wireless Ad Hoc Networks 성 백 동
Pushing the Limits of Wireless Networks Prof. Dina Katabi Jan 9, 2006.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 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.
S Master’s thesis seminar 8th August 2006 QUALITY OF SERVICE AWARE ROUTING PROTOCOLS IN MOBILE AD HOC NETWORKS Thesis Author: Shan Gong Supervisor:Sven-Gustav.
15-744: Computer Networking L-12 Wireless Broadcast.
Wireless TCP. References r Hari Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan and Randy H. Katz, " A Comparison of Mechanisms for Improving TCP.
KAIS T High-throughput multicast routing metrics in wireless mesh networks Sabyasachi Roy, Dimitrios Koutsonikolas, Saumitra Das, and Y. Charlie Hu ICDCS.
Networks and Distributed Systems Mark Stanovich Operating Systems COP 4610.
Cross-Layer Approach to Wireless Collisions Dina Katabi.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
SMAC: An Energy-efficient MAC Protocol for Wireless Networks
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks Speaker: hsiwei Wei Ye, John Heidemann and Deborah Estrin. IEEE INFOCOM 2002 Page
Transport Protocols.
Networks and Distributed Systems Sarah Diesburg Operating Systems COP 4610.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Network Coding and Reliable Communications Group Modeling Network Coded TCP Throughput: A Simple Model and its Validation MinJi Kim*, Muriel Médard*, João.
Optimization Problems in Wireless Coding Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
2012 1/6 NSDI’08 Harnessing Exposed Terminals in Wireless Networks Mythili Vutukuru, Kyle Jamieson, and Hari Balakrishnan MIT Computer Science and Artificial.
Mitigating Congestion in Wireless Sensor Networks Bret Hull, Kyle Jamieson, Hari Balakrishnan MIT Computer Science and Artificial Intelligence Laborartory.
Trading Structure for Randomness in Wireless Opportunistic Routing Szymon Chachulski, Michael Jennings, Sachin Katti and Dina Katabi MIT CSAIL SIGCOMM.
S-MAC Taekyoung Kwon. MAC in sensor network Energy-efficient Scalable –Size, density, topology change Fairness Latency Throughput/utilization.
UDP : User Datagram Protocol 백 일 우
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
The Importance of Being Opportunistic Sachin Katti Dina Katabi, Wenjun Hu, Hariharan Rahul, and Muriel Medard.
Xors in the air Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft.
Taking Advantage of Broadcast
Wireless Mesh Networks
Presentation transcript:

XORs in The Air: Practical Wireless Network Coding Daniel Courcy- Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft MIT CSAIL & University of Cambridge

Worcester Polytechnic Institute 2 Introduction - COPE New Architecture For Wireless Mesh Networks Routers Forward & Code (Mix) Packets Intelligent Mixing Improves Throughput Prior Work = Theoretical & Multicast This Study = Practical & Unicast

Worcester Polytechnic Institute 3 Review Mesh Networks –Way to Route Data –Allows For Continuous Connections & Reconfigurations Multicast –Transmission to Multiple Selected Recipients Unicast –Transmission to Single Selected Recipient

Worcester Polytechnic Institute 4 COPE Substantially Improves Throughput ‘Coding Shim’ Between IP and MAC Layers –Finds Coding Opportunities –Benefits by Sending Multiple Packets in Single Transmission

Worcester Polytechnic Institute 5 COPE: Simple Example Bob & Alice Current Approach = 4 Transmissions COPE = 3 Transmissions Thus Allowing For Increased ThroughputIncreased Throughput Coding+MAC

Worcester Polytechnic Institute 6 COPE: Even Bigger Savings Previous Example: Obvious Throughput Gains COPE Exploits Shared Nature of Wireless Medium Some Nodes Overhear Transmission –Store These Packets for Short Time –Sends Data Out Telling What It Has Heard This Data is Used For Opportunistic Coding

Worcester Polytechnic Institute 7 Opportunistic Coding Each Node Uses Knowledge of What It’s Neighbors Have (Which Packets) This Data Allows For Source to Send XOR’ed Packets Intelligently –In Other Words: It Knows who Will Be Able to Decode The Encoded Packet Allows For More Than Two Flows Allows For Multiple Packets to be Coded

Worcester Polytechnic Institute 8 COPE = 2 Key Principles (1) COPE Embraces Broadcast Nature of Wireless Channel –Typically Network Designers Use Point-to- Point –Adaptations are Made To Use Forwarding and Routing Techniques Native to Wired Networking –COPE Exploits Radio Broadcast (Does Not Attempt to Hide It)

Worcester Polytechnic Institute 9 COPE = 2 Key Principles (2) COPE Employs Network Coding –Packets Are Mixed Before Transmission –Prior Work Is Mainly Theoretical –COPE Addresses: Unicast Traffic Dynamic & Bursty Flows Other Practical Issues Regarding Implementation

Worcester Polytechnic Institute 10 Why is COPE Different? 1st System Architecture For Wireless Network Coding Implementation: 1st Deployment of Wireless Network Coding Performance Study with Results of Wireless Network Coding

Worcester Polytechnic Institute 11 Summarized Findings Network Coding Can Improve Wireless Throughput When Congested with Mainly UDP Flows Throughput Gains 3 - 4x For Mesh Networks Connected to Internet via AP Gains Depend on Total Download / Upload AP w/o Hidden Terminals TCP Throughput Increases about 38%

Worcester Polytechnic Institute 12 Background Famous Butterfly Example: All Links Can Send One Message Per Unit of Time Sources Want to Hit Both Receivers Coding (Again) Increases Overall Throughput

Worcester Polytechnic Institute 13 Background (cont.) Ahlswede et al. Pioneered Network Coding –Routers That Mix Information Allow Communication to Achieve Multicast Capacity Li et al. Found For Multicast Linear Codes Sufficient to Achieve Max Capacity Bounds

Worcester Polytechnic Institute 14 Background (cont.) All Previous Work Theoretical & Multicast Some Unicast Scenarios Show Better Throughput for Those Scenarios This Paper Seeks to ‘Bridge the Gap’ Between Network Coding, Practical Design Seeks to Provide Operational Protocol

Worcester Polytechnic Institute 15 COPE Overview Before Getting Into The Details Know These Terms:

Worcester Polytechnic Institute 16 COPE Overview 3 Main Techniques –Opportunistic Listening –Opportunistic Coding –Learning Neighbor State

Worcester Polytechnic Institute 17 COPE Overview: Opportunistic Listening Wireless is a Broadcast Medium Many Chances for Nodes to Overhear COPE Sets All Nodes as Promiscuous They Store Overheard Packets for Time (T) –Default T =.5 Seconds Also: Reception Reports Are Sent Out –These Are Tacked Onto Normal Output –Includes Seq. Number of Stored Packets

Worcester Polytechnic Institute 18 COPE Overview: Opportunistic Coding Which Packets do we Combine to Achieve Maximum Throughput? Simple Answer: Send as Many (Native Packets) as Possible While Ensuring Nexthop Has Enough Info to Decode

Worcester Polytechnic Institute 19 COPE Overview: Opportunistic Coding Always Seeking Largest N That Satisfies Above Rule

Worcester Polytechnic Institute 20 COPE Overview: Learning Neighbor State Each Node Announces Its Stored Packets In Reception Reports Sometimes Reports Don’t Get Through –Congestion or In Times of Light Traffic To Solve This Problem: Intelligent Guess –Estimation of Probability That Neighbor Has Packet Based On Delivery Probability

Worcester Polytechnic Institute 21 COPE’s Gains How Beneficial is COPE? –Throughput Improvement Depends On: Coding Opportunities Traffic Patterns

Worcester Polytechnic Institute 22 COPE’s Gains: Coding Gain Coding Gain: –# Transmissions w/o Coding to the Minimum # Transmissions w/ Coding Remember Alice & Bob?Alice & Bob –Coding Gain = 4/3 = 1.33

Worcester Polytechnic Institute 23 COPE’s Gains: Coding Gain Maximum Achievable Coding Gain? –For Arbitrary Topologies - Open Question Authors Prove: With Listening Certain Topologies Benefit

Worcester Polytechnic Institute 24 COPE’s Gain: Coding Gain Interesting to Note: –Previous Slide Talks About Theoretical Gain –In Practice Gains Are Lower Due To: Coding Opportunities Packet Header Overhead Medium Losses COPE Coding Gains Are Not Lost When Medium Is Fully Utilized (as Opposed to Opportunistic Routing)

Worcester Polytechnic Institute 25 COPE’s Gain: Coding+MAC Gain Interaction Between Coding & MAC –Beneficial Results Example Bob & AliceBob & Alice –MAC Divides Bandwidth Between 3 –w/o Coding Router Sends 2 x More –Makes Router a Bottleneck –COPE Allows Routers Queue to Drain FastDrain Fast –Coding + MAC Gain of Alice & Bob = 2

Worcester Polytechnic Institute 26 COPE’s Gain: Coding+MAC Gain Authors Prove:

Worcester Polytechnic Institute 27 Making It Work - Packet Coding Algorithm Packets Are Never Delayed –If There Is Nothing To Code With, Send Anyway Preference to XOR with Similar Lengths –Small Packet XOR with Large = Less Bandwidth –If One Must XOR Different Lengths - Pad Never Code Packets to Same Nexthop

Worcester Polytechnic Institute 28 Making It Work - Packet Coding Algorithm Searching For Appropriate Packets to Code is Efficient –FIFO Output Queue: De-queue, Small or Large?, Look at Appropriate Queues (Only Heads to Avoid Reordering) –Worst Case - 2M Packets (M=# Neighbors) Packet Reordeing Bad (TCP Thinks Congestion) –Doesn’t Happen Much But If so They Are Put in Order Before Transport Layer

Worcester Polytechnic Institute 29 Making It Work - Packet Coding Algorithm Finally Relay Nodes All Estimate Probability That Neighbor Has Packet Prior to Sending P D Must Stay Higher Than Threshold G (G = 0.8 Default) If Equation Is Above G Each Nexthop Has Probability G of Being Able to Decode Next Packet

Worcester Polytechnic Institute 30 Making It Work - Packet Decoding Fairly Simple –Each Node Maintains a Packet Pool –Searches Hash Table Keyed on Packet ID –XORs Native Packets with Coded Packets –Gets Packet Meant For It (Node)

Worcester Polytechnic Institute 31 Making It Work - Pseudo-Broadcast Has Two MAC Modes: –Unicast –Broadcast Unicast –Packets Are Ack-ed –Exponential Backoff Multicast –Un-Reliable –No Backoff

Worcester Polytechnic Institute 32 Making It Work - Pseudo-Broadcast Pseudo-Broadcast –Piggy Backs Unicast –Link-Layer Destination Set to One Intended Node –XOR Header Added –Other Nodes Can Overhear Transmission –If Receiving Node is Nexthop - Continue –Else Store Packet in Buffer –More Reliable Than Pure Broadcast –Packets Have Several Tries To Get To Destination –Snooping Nodes Get More Chances to Update Their Buffers

Worcester Polytechnic Institute 33 Making It Work - Hop-by-Hop ACKs and Retransmissions (Again) Encoded Packets Require All Nexthops to Acknowledge Receipt of Native Packet –Packets Headed Many Places & Only Link Layer Designated Hop Returns Synchronous ACK –COPE May Guess Node Has Enough Info to Decode When it Really Does Not

Worcester Polytechnic Institute 34 Making It Work - Hop-by-Hop ACKs and Retransmissions When a Node Sends an Encoded Packet It Schedules a Retransmission Event For Each Encoded Native Packet If Any Packet is Not Ack-ed within Some Threshold (Time) That Native Packet is Encoded and Re-Sent Later Nexthops Receive Packets and ACK Immediately Upon Decoding via Header (or Control Packets which are also Used for Reception Reports)

Worcester Polytechnic Institute 35 Making It Work - TCP Packet Reordering Asynchronous ACKs Can Cause Packet Reordering –TCP May See This As Congestion COPE Has Ordering Agent –For Each TCP Flow Host Maintains Packet Buffer Records Last TCP Sequence Number Will Not Pass On Packets to Transport Layer Until No Hole Exists or Timer Times Out

Worcester Polytechnic Institute 36 Implementation Details: Packet Format COPE Inserts Variable Length Coding Header Only Shaded Fields Below Required

Worcester Polytechnic Institute 37 Implementation Details: Packet Format First Block: Metadata For Decoding –ENCODED_NUM: # Encoded –For Each Packet PKT_ID (Dest. IP & Seq. #) –MAC of Nexthop (For Each Native Packet) Reception Reports –REPORT_NUM: # of Reports –SRC_IP: Source of Reported Packets –Last_PKT: Last Packet Heard From Source –Bit Map of Recently Heard Packets

Worcester Polytechnic Institute 38 Implementation Details: Packet Format Asynchronous ACKs –Cumulative ACKs on Per Neighbor Basis –Local Sequence Numbers Established –ACK Headers Start With # of ACKs –Each ACK Starts with MAC of Neighbor –Next Each ACK Has Pointer to End of Cumulative ACKs –Finally, Bit Map Shows Missing Packets

Worcester Polytechnic Institute 39 Implementation Details: Control Flow

Worcester Polytechnic Institute 40 Experimental Results 20 Node Wireless Testbed Following Slides Will Show: –When Many Random UDP Flows: Throughput 3 - 4x Increase –Traffic Does Not Use Congestion Control: Throughput Improves - Exceeding Coding Gain –Mesh Network -> Internet via Gateway Throughput Improvement Between % –w/o Hidden Terminals TCP’s Gain Agrees With Expected Coding Gain

Worcester Polytechnic Institute 41 Experimental Results: Testbed 20 Node Wireless Network –Two Floors Connected by Open Lounge –Offices, Passages, Etc. –Paths Btw 1 & 6 Hops –Loss Rate Btw % 6 Mb/s

Worcester Polytechnic Institute 42 Experimental Results: Testbed Nodes Ran Linux / Used Click Toolkit Runs as User Space Daemon Applications Interact With Daemon as Normally Would With Any Network Device Testbed Used Srcr Routing Protocol –Djikstra’s Shortest Path Algorithm Each Node Had Card w/ Omni-Directional Antenna Ad Hoc Mode w/ RTS / CTS Disabled udpgen & ttcp Used to Generate Traffic –Long-live Flows & Attempt to Match Internet Traffic

Worcester Polytechnic Institute 43 Metrics Network Throughput –End-to-End Throughput Throughput Gain –Ratio of Measured Network Throughputs With and Without COPE What Else Might Have Been Interesting?

Worcester Polytechnic Institute 44 COPE in Gadget Topologies Toy Topologies –Very Small Loss Rate & No Hidden Terminals (40 Different Runs) Long-Lived TCP Flows –Close To Expected (Minus Overhead)

Worcester Polytechnic Institute 45 COPE in Gadget Topologies Above Results Show That w/ Congestion Control Results Lean Towards Coding Gain Rather than Coding+MAC –When Many Long-Lived Flows (TCP) Bottleneck Senders Backoff (to Avoid Drop) This Leaves only Coding Gains

Worcester Polytechnic Institute 46 COPE in Gadget Topologies Repeat of Above w/ UDP Coding+MAC Gains (Better Than TCP)Coding+MAC Coding Allows Downstream Routers to Avoid Dropping Packets Already Having Consumed Bandwidth

Worcester Polytechnic Institute 47 COPE in an Ad Hoc Network Here it is: 20 Node Wireless Testbed TCP –TCP Flows Arrive w/ Poisson Process –Pick Sender & Receiver Randomly –Traffic Models Internet –No Significant Improvement (2-3%) –Hidden Terminals are Culprit Many Retransmissions Bottlenecks Never Build Up –Therefore No Coding Gains (or Opportunities) Would TCP Do Better w/o Collisions?

Worcester Polytechnic Institute 48 COPE in an Ad Hoc Network Compressed Topology –Within Carrier Sense Range –Artificially Impose Original Loss Rates –Hidden Terminals = No More At Peak 38% Gain Over No Coding

Worcester Polytechnic Institute 49 COPE in an Ad Hoc Network UDP (Back to Large Scale Testbed) (Again) Random Sender / Receiver File Size Follows Internet Studies 500 Experiments…

Worcester Polytechnic Institute 50 COPE in an Ad Hoc Network Scare Coding Opp. At Low Demands Demand Up / Congestion Up / Gain Up

Worcester Polytechnic Institute 51 COPE in an Ad Hoc Network Low Demand - Reports Arrive to Late Demand Goes Up - Bottlenecks Form - Longer Wait Times - Nodes Get More Reports Demands Get Higher - High Loss Rates of Reception Reports - Guessing Relied Upon

Worcester Polytechnic Institute 52 COPE in an Ad Hoc Peak Gain Point (5.6 Mb/s) On Average 3 Packets Coded Together Packets Drained From Bottlenecks Faster Throughput Gains x

Worcester Polytechnic Institute 53 COPE in a Mesh Access Network Growing Interest In Accessing Internet Via Multi-hop Network With One (or More) Gateways Nodes Divided Into 4 Sets (1 is Gateway) UDP Flows (Of Course) Fluctuate Upload / Download Traffic Gain Goes Up as Upload Traffic Up

Worcester Polytechnic Institute 54 COPE in Mesh Access Network

Worcester Polytechnic Institute 55 Fairness Channel From Source to Bottleneck Matters Capture Effect (If Alice’s Channel is Bad Then Bob Might Push More Traffic) If Alice Moves Slowly Away? –Coding Opp. Down, Throughput Down, Fairness Down w/o Coding Throughput Goes Up Coding Aligns Fairness & Efficiency

Worcester Polytechnic Institute 56 Fairness

Worcester Polytechnic Institute 57 Discussion Target: Stationary Wireless Mesh Networks Memory Needed to Store Packets –Need More Than Delay Bandwidth Product Need Omni-Directional Antenna Current Design Does Not Consider Power

Worcester Polytechnic Institute 58 Conclusions Coding is an Old Theme COPE Has Potential to Largely Increase Network Throughput COPE Assists Many Random UDP Flows Best No Congestion Control Is a Good Thing No Hidden Terminals Is Good As Well (Even for TCP) Mesh Networks Connected to Internet via AP - COPE Shows Gains From % Many Extensions - Sensor Networks? Cellular?

Worcester Polytechnic Institute 59 Questions?