CS 268: Computer Networking. Taking Advantage of Broadcast

Similar documents
CE693: Adv. Computer Networking

XORs in the Air: Practical Wireless Network Coding

ECE 598HH: Special Topics in Wireless Networks and Mobile Systems

Making Friends with Broadcast. Administrivia

Challenge: high throughput despite loss. Roofnet has >30% loss probability. 4 Computer Networks Course (15-744), CMU, 2012.

Routing in Wireless Mesh Networks. Feb. 22, 2006

The Importance of Being Opportunistic

Wireless (Internet) Routing. Opportunistic Routing, Network Coding, TCP over Wireless

Geographic and Diversity Routing in Mesh Networks

XORs in The Air: Practical Wireless Network Coding

WIRELESS networks suffer from low throughput and

XCOR: Synergistic Inter flow Network Coding and Opportunistic Routing

II. Principles of Computer Communications Network and Transport Layer

CAR: Coding-Aware Opportunistic Routing in Wireless Mesh Networks

Wireless Mesh Networks

DISCOVERING OPTIMUM FORWARDER LIST IN MULTICAST WIRELESS SENSOR NETWORK

Intelligent Transportation Systems. Medium Access Control. Prof. Dr. Thomas Strang

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

CS164 Final Exam Winter 2013

ECSE 414 Fall 2014 Final Exam Solutions

Routing in Ad Hoc Wireless Networks PROF. MICHAEL TSAI / DR. KATE LIN 2014/05/14

CCACK: Efficient Network Coding Based Opportunistic Routing Through Cumulative Coded Acknowledgments

Outline. Lecture 16: Wireless Networking. Physical Layer (Layer 1) Ethernet: Wireless is Different. Attenuation Over Space

Performance Evaluation of Wireless Network Coding under Practical Settings

Mobile Routing : Computer Networking. Overview. How to Handle Mobile Nodes? Mobile IP Ad-hoc network routing Assigned reading

Lecture 10: Link layer multicast. Mythili Vutukuru CS 653 Spring 2014 Feb 6, Thursday

ECE 158A: Lecture 13. Fall 2015

The Importance of Being Opportunistic: Practical Network Coding for Wireless Environments

Different Layers Lecture 20

Multicasting in ad hoc networks: Energy efficient

Medium Access Control. IEEE , Token Rings. CSMA/CD in WLANs? Ethernet MAC Algorithm. MACA Solution for Hidden Terminal Problem

PRESENTED BY SARAH KWAN NETWORK CODING

Mobile IP and Mobile Transport Protocols

IEEE , Token Rings. 10/11/06 CS/ECE UIUC, Fall

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

The Basics of Wireless Communication Octav Chipara

EEC-682/782 Computer Networks I

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

UNIT IV -- TRANSPORT LAYER

Video-Aware Opportunistic Network Coding over Wireless Networks

Wireless and Mobile Communications

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

MAC. Fall Data Communications II 1

EEC-684/584 Computer Networks

15-441: Computer Networking. Lecture 24: Ad-Hoc Wireless Networks

PROBLEMSAND EXERCISES

Transport Protocols and TCP: Review

Computer Network Fundamentals Spring Week 3 MAC Layer Andreas Terzis

TCP over wireless links

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

WITH the evolution and popularity of wireless devices,

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Link Layer. Fundamentals of Communication Networks

CSCI-GA Operating Systems. Networking. Hubertus Franke

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

Reminder: Datalink Functions Computer Networking. Datalink Architectures

Basic Reliable Transport Protocols

Network Coding Via Opportunistic Forwarding in Wireless Mesh Networks

Pacifier: High-Throughput, Reliable Multicast Without Crying Babies in Wireless Mesh Networks

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Final Exam: Mobile Networking (Part II of the course Réseaux et mobilité )

Multipath TCP with Network Coding for Wireless Mesh Networks

Transport Protocols & TCP TCP

Broadcasting with Hard Deadlines in Wireless Multi-hop Networks Using Network Coding

SIMPLE MODEL FOR TRANSMISSION CONTROL PROTOCOL (TCP) Irma Aslanishvili, Tariel Khvedelidze

CS551 Ad-hoc Routing

Multiple Access Protocols

CS 457 Networking and the Internet. Problems. Mechanisms 9/21/16. Fall 2016 Indrajit Ray

Lecture (04 & 05) Packet switching & Frame Relay techniques Dr. Ahmed ElShafee

Lecture (04 & 05) Packet switching & Frame Relay techniques

Wireless Internet Routing. Learning from Deployments Link Metrics

CHAPTER 3 ENHANCEMENTS IN DATA LINK LAYER

NETWORK coding [1] [3] has attracted much interest in

Network Layer: Non-Traditional Wireless Routing Localization Intro

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

Fast, Efficient, and Robust Multicast in Wireless Mesh Networks

Programming Assignment 3: Transmission Control Protocol

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

Subject: Adhoc Networks

ARP, IP, TCP, UDP. CS 166: Introduction to Computer Systems Security 4/7/18 ARP, IP, TCP, UDP 1

3. Evaluation of Selected Tree and Mesh based Routing Protocols

CDMA-Based MAC Protocol for Wireless Ad Hoc Networks

Reliable Transport I: Concepts and TCP Protocol

Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals Using A Single Transceiver

Final Exam Computer Networks Fall 2015 Prof. Cheng-Fu Chou

CS 421: COMPUTER NETWORKS SPRING FINAL May 21, minutes

Networks. Distributed Systems. Philipp Kupferschmied. Universität Karlsruhe, System Architecture Group. May 6th, 2009

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

CMPE 257: Wireless and Mobile Networking

Crash Course in Wireless Video

Computer Communications

Design of Link and Routing Protocols for Cache-and- Forward Networks. Shweta Jain, Ayesha Saleem, Hongbo Liu, Yanyong Zhang, Dipankar Raychaudhuri

CSE 461: Wireless Networks

O3: Optimized Overlay-based Opportunistic Routing

Interference avoidance in wireless multi-hop networks 1

Chapter 09 Network Protocols

Answer to the written exam given on TDTS06 Computer networks, October 23,

Mobile Communications. Ad-hoc and Mesh Networks

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory

Broadcasting Techniques for Mobile Ad Hoc Networks

Transcription:

CS 268: Computer Networking L-12 Wireless Broadcast Taking Advantage of Broadcast Opportunistic forwarding Network coding Assigned reading XORs In The Air: Practical Wireless Network Coding ExOR: Opportunistic Multi-Hop Routing for Wireless Networks 2

Outline Opportunistic forwarding (ExOR) Network coding (COPE) Combining the two (MORE) 3 Initial Approach: Traditional Routing packet A packet B packet C Identify a route, forward over links Abstract radio to look like a wired link 4

Radios Aren t Wires A B 123456 3 C Every packet is broadcast Reception is probabilistic 5 Exploiting Probabilistic Broadcast packet A B packet C Decide who forwards after reception Goal: only closest receiver should forward Challenge: agree efficiently and avoid duplicate transmissions 6

Why ExOR Might Increase Throughput N1 N2 N3 N4 N5 75% 50% 25% Best traditional route over 50% hops: 3( 1 / 0.5 ) = 6 tx Throughput 1 / # transmissions ExOR exploits lucky long receptions: 4 transmissions Assumes probability falls off gradually with distance 7 Why ExOR Might Increase Throughput 25% 25% 25% 25% N1 N2 N3 N4 100% 100% 100% 100% Traditional routing: 1 / 0.25 + 1 = 5 tx ExOR: 1 /(1 (1 0.25) 4 ) + 1 = 2.5 transmissions Assumes independent losses 8

ExOR Batching tx: 100 9 N1 rx: 88 99 tx: 8 N2 rx: 57 85 tx: 57-23 24 N3 N4 rx: 23 53 tx: 23 rx: 040 tx: 0 rx: 022 Challenge: finding the closest node to have rx d Send batches of packets for efficiency Node closest to the sends first Other nodes listen, send remaining packets in turn Repeat schedule until has whole batch 9 Reliable Summaries tx: {2, 4, 10... 97, 98} batch map: {1,2,6,... 97, 98, 99} N2 N4 N1 N3 tx: {1, 6, 7... 91, 96, 99} batch map: {1, 6, 7... 91, 96, 99} Repeat summaries in every data packet Cumulative: what all previous nodes rx d This is a gossip mechanism for summaries 10

Priority Ordering N2 N4 N1 N3 Goal: nodes closest to the destination send first Sort by ETX metric to Nodes periodically flood ETX link state measurements Path ETX is weighted shortest path (Dijkstra s algorithm) Source sorts, includes list in ExOR header 11 Using ExOR with TCP Client PC TCP TCP Web Server Node Proxy Gateway ExOR Batches (not TCP) Web Proxy ExOR Batching requires more packets than typical TCP window 12

Summary ExOR achieves 2x throughput improvement ExOR implemented on Roofnet Exploits radio properties, instead of hiding them 13 Outline Opportunistic forwarding (ExOR) Network coding (COPE) Combining the two (MORE) 14

Background Famous butterfly example: All links can send one message per unit of time Coding increases overall throughput 15 Background Bob and Alice Relay Require 4 transmissions 16

Background Bob and Alice Relay XOR XOR XOR Require 3 transmissions 17 Coding Gain Coding gain = 4/3 1 1+3 3 18

Throughput Improvement UDP throughput improvement ~ a factor 2 > 4/3 coding gain 1 1+3 3 19 Coding Gain: more examples 3 2 1 5 4 1+2+3+4+5 Without opportunistic listening, coding [+MAC] gain=2n/(1+n) 2. With opportunistic listening, coding gain + MAC gain 20

COPE (Coding Opportunistically) Overhear neighbors transmissions Store these packets in a Packet Pool for a short time Report the packet pool info. to neighbors Determine what packets to code based on the info. Send encoded packets 21 Opportunistic Coding P4 B s queue Next hop A P4 P3 B C P3 P4 C C D A D Coding + Is it good? Bad (only C can decode) P4 P3 P3 +P3 Better coding (Both A and C can decode) +P3+P4 Best coding (A, C, D can decode)

Packet Coding Algorithm When to send? Option 1: delay packets till enough packets to code with Option 2: never delaying packets -- when there s a transmission opportunity, send packet right away Which packets to use for XOR? Prefer XOR-ing packets of similar lengths Never code together packets headed to the same next hop Limit packet re-ordering XORing a packet as long as all its nexthops can decode it with a high enough probability 23 Packet Decoding Where to decode? Decode at each intermediate hop How to decode? Upon receiving a packet encoded with n native packets find n-1 native packets from its queue XOR these n-1 native packets with the received packet to extract the new packet 24

Prevent Packet Reordering Packet reordering due to async acks degrade TCP performance Ordering agent Deliver in-sequence packets immediately Order the packets until the gap in seq. no is filled or timer expires 25 Summary of Results Improve UDP throughput by a factor of 3-4 Improve TCP by wo/ hidden terminal: up to 38% improvement w/ hidden terminal and high loss: little improvement Improvement is largest when uplink to downlink has similar traffic Interesting follow-on work using analog coding 26

Reasons for Lower Improvement in TCP COPE introduces packet re-ordering Router queue is small smaller coding opportunity TCP congestion window does not sufficiently open up due to wireless losses TCP doesn t provide fair allocation across different flows 27 Outline Opportunistic forwarding (ExOR) Network coding (COPE) Combining the two (MORE) 28

Use Opportunistic Routing 50% 50% 50% 50% R1 R2 R3 R4 0 % 0% 0% 0% Best single path loss prob. 50% Opportunistic routing promises large increase in In opp. routing [ExOR 05], any router that hears the throughput packet can forward it loss prob. 0.5 4 = 6% 29 But Overlap in received packets Routers forward duplicates R1 P 1 P 2 P 1 P 2 P 10 R2 P 1 P 2 30

ExOR State-of-the-art opp. routing, ExOR imposes a global scheduler: Requires full coordination; every node must know who received what Only one node transmits at a time, others listen 31 Global Scheduling? Global coordination is too hard One transmitter 32

Global Scheduling? Global coordination is too hard Does opportunistic routing One transmitter have to be You so complicated? lost spatial reuse! 33 MORE (Sigcomm07) Opportunistic routing with no global scheduler and no coordination We use random network coding Experiments show that randomness outperforms both current routing and ExOR 34

Go Random Each router forwards random combinations of packets P 1 P 1 R1 R2 α + ß γ + δ Randomness prevents duplicates No scheduler; No coordination Simple and exploits spatial reuse 35 Random Coding Benefits Multicast P3 P4 1 2 3 P3 P4 P3 P4 P3 P4 Without coding source retransmits all 4 packets 36

Random Coding Benefits Multicast P3 P4 Random combinations 8 +5 + P3+3 P4 7 +3 +6 P3+ P4 1 2 3 P3 P4 P3 P4 P3 P4 Without coding source retransmits all 4 packets Random coding is more efficient than global coordination With random coding 2 packets are sufficient 37 MORE Source sends packets in batches Forwarders keep all heard packets in a buffer Nodes transmit linear combinations of buffered packets a + b + c P3 = a,b,c A B Can compute linear 4,1,3 combinations 4,1,3 and sustain 0,2,1 P3 high throughput! 40 + 12 + 31 P3 = 4,1,3 0,2,1 38

MORE Source sends packets in batches Forwarders keep all heard packets in a buffer Nodes transmit linear combinations of buffered packets a + b + c P3 = a,b,c A B P3 4,1,3 0,2,1 4,1,3 8,4,7 8,4,7 2 4,1,3 + 1 0,2,1 = 8,4,7 39 MORE Source sends packets in batches Forwarders keep all heard packets in a buffer Nodes transmit linear combinations of buffered packets Destination decodes once it receives enough combinations Say batch is 3 packets 1 5 4 + 3 + 2 P3 = + 4 + 5 P3 = + 5 + 5 P3 = 1,3,2 5,4,5 4,5,5 Destination acks batch, and source moves to next batch 40

But How Do We Get the Most Throughput? Naïve approach transmits whenever 802.11 allows A If A and B have same information, it is more efficient for B to send it B Need a Method to Our Madness 41 Probabilistic Forwarding A B 42

Probabilistic Forwarding e1 e2 Loss rate 0% A Src Loss rate 50% B e1 43 Probabilistic Forwarding How many packets should I forward? 50% of buffer e1 e2 A Src B e1? 44

Probabilistic Forwarding e1 e2 Src 0% Pr = 0.5 A 50% Pr = 1 B e1 Compute forwarding probabilities without coordination using loss rates 45 Can ExOR Use Probabilistic Forwarding To Remove Coordination? Pr = 0.5 A Probability of duplicates is 50% Pr = 1 B Without random coding need to know the exact packets to forward every time With random coding need to know only the average amount of overlap 46

Adapting to Short-term Dynamics Need to balance sent information with received information MORE triggers transmission by receptions A node has a credit counter Upon reception, increment the counter using forwarding probabilities Upon transmission, decrement the counter Source stops No triggers Flow is done 47 Opportunistic Coding Three ways to get neighbor state Reception report Guess Based on ETX metric (delivery probability) Estimate the probability that packets are overheard The neighbor is the previous hop of the packet 48

COPE Design Pseudo Broadcast Cons of broadcast Unreliable due to no ACK Lack of backoff Piggy back on unicast Set one of intended node as Mac address List all others in COPE header (between MAC and IP header) Receiver: if it is on the list, decode the packet, else store the packet in its pool 49