Ad hoc and Sensor Networks Chapter 13: Transport Layer and Quality of Service



Similar documents
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Wireless Sensor Networks Chapter 3: Network architecture

Lecture 14: Data transfer in multihop wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 6, Thursday

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

TCP for Wireless Networks

A Transport Protocol for Multimedia Wireless Sensor Networks

QUALITY OF SERVICE METRICS FOR DATA TRANSMISSION IN MESH TOPOLOGIES

TCP in Wireless Mobile Networks

CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Energy Optimal Routing Protocol for a Wireless Data Network

Mobile Communications Chapter 9: Mobile Transport Layer

Routing in packet-switching networks

Dynamic Source Routing in Ad Hoc Wireless Networks

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

CS268 Exam Solutions. 1) End-to-End (20 pts)

EXTENDING NETWORK KNOWLEDGE: MAKING OLSR A QUALITY OF SERVICE CONDUCIVE PROTOCOL

CHAPTER 6 SECURE PACKET TRANSMISSION IN WIRELESS SENSOR NETWORKS USING DYNAMIC ROUTING TECHNIQUES

Survey on Load balancing protocols in MANET S (mobile ad-hoc networks)

The Quality of Internet Service: AT&T s Global IP Network Performance Measurements

How To Make A Multi-User Communication Efficient

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

Introduction to LAN/WAN. Network Layer

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Digital Audio and Video Data

TCP in Wireless Networks

Security Scheme for Distributed DoS in Mobile Ad Hoc Networks

Load Balancing and Resource Reservation in Mobile Ad-Hoc Networks 1

Energy Effective Routing Protocol for Maximizing Network Lifetime of WSN

Final for ECE374 05/06/13 Solution!!

A Survey: High Speed TCP Variants in Wireless Networks

other. A B AP wired network

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

Ad hoc On Demand Distance Vector (AODV) Routing Protocol

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Mobile Computing/ Mobile Networks

Student, Haryana Engineering College, Haryana, India 2 H.O.D (CSE), Haryana Engineering College, Haryana, India

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

TCP Westwood for Wireless

Transport Layer Protocols

Congestion Control in WSN using Cluster and Adaptive Load Balanced Routing Protocol

Medium Access Control (MAC) Protocols for Ad hoc Wireless Networks - III

Stop And Wait. ACK received; transmit frame 2 CS 455 3

DAG based In-Network Aggregation for Sensor Network Monitoring

How To Write A Transport Layer Protocol For Wireless Networks

Mobile Security Wireless Mesh Network Security. Sascha Alexander Jopen

Multicasting in Mobile Ad-Hoc Networks: Achieving High Packet Delivery Ratios

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

TCOM 370 NOTES LOCAL AREA NETWORKS AND THE ALOHA PROTOCOL

Load Balancing in Periodic Wireless Sensor Networks for Lifetime Maximisation

CS6956: Wireless and Mobile Networks Lecture Notes: 2/11/2015. IEEE Wireless Local Area Networks (WLANs)

Basic Multiplexing models. Computer Networks - Vassilis Tsaoussidis

Congestion Control Overview

Real-Time (Paradigms) (51)

Computer Networks. Chapter 5 Transport Protocols

Giving life to today s media distribution services

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

TCP over Wireless Networks

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

Adaptive Multiple Metrics Routing Protocols for Heterogeneous Multi-Hop Wireless Networks

Optimization of AODV routing protocol in mobile ad-hoc network by introducing features of the protocol LBAR

Load-balancing Approach for AOMDV in Ad-hoc Networks R. Vinod Kumar, Dr.R.S.D.Wahida Banu

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

Access Control: Firewalls (1)

LANs. Local Area Networks. via the Media Access Control (MAC) SubLayer. Networks: Local Area Networks

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Comparison of WCA with AODV and WCA with ACO using clustering algorithm

How To Determine The Capacity Of An B Network

A study of Skype over IEEE networks: voice quality and bandwidth usage

A NOVEL RESOURCE EFFICIENT DMMS APPROACH

Routing in Multi-Channel Multi-Interface Ad Hoc Wireless Networks

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

QoS issues in Voice over IP

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Role of Clusterhead in Load Balancing of Clusters Used in Wireless Adhoc Network

Reliable Adaptive Lightweight Multicast Protocol

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

Robust Router Congestion Control Using Acceptance and Departure Rate Measures

Ad hoc and Sensor Networks Chapter 1: Motivation & Applications

15-441: Computer Networks Homework 2 Solution

Multimedia Requirements. Multimedia and Networks. Quality of Service

Chapter 4. VoIP Metric based Traffic Engineering to Support the Service Quality over the Internet (Inter-domain IP network)

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Definition. A Historical Example

Wireless Sensor Networks Chapter 14: Security in WSNs

HOW PUBLIC INTERNET IS FINALLY READY FOR HD VIDEO BACKHAUL

EECS 122: Introduction to Computer Networks Multiaccess Protocols. ISO OSI Reference Model for Layers

CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

IRMA: Integrated Routing and MAC Scheduling in Multihop Wireless Mesh Networks

Transcription:

Ad hoc and Sensor Networks Chapter 13: Transport Layer and Quality of Service António Grilo Courtesy: Holger Karl, UPB

Overview Dependability requirements Delivering single packets Delivering blocks of packets Delivering streams of packets

Dependability aspects Coverage & deployment Is there a sufficient number of nodes such that an event can be detected at all? Such that data can accurately measured? How do they have to be deployed? Information accuracy Which of the measured data have to be transported where such that a desired accuracy is achieved? How to deal with inaccurate measurements in the first place? Dependable data transport Once it is clear which data should arrive where, how to make sure that it actually arrives? How to deal with transmission errors and omission errors/congestion? Wireless Focus Sensor Networks: of this tutorial Transport Layer and Quality of Service

Dependability: Terminology Dependable is an umbrella term Main numerical metrics (Steady state) availability probability that a system is operational at any given point in time Assumption: System can fail and will repair itself Reliability at time t Probability that system works correctly during the entire interval [0,t) Assumption: It worked correctly at system start t=0 Responsiveness Probability of meeting a deadline Even in presence of some to be defined faults Packet success probability Probability that a packet (correctly) reaches its destination Related: packet error rate, packet loss rate Bit error rate Probability of an incorrect bit Channel model determines precise error patterns

Dependability constraints Wireless sensor networks (WSN) have unique constraints for dependable data delivery Transmission errors over a wireless channel Limited computational resources in a WSN node Limited memory Limited time (deadlines) Limited dependability of individual nodes Standard mechanisms: Redundancy Redundancy in nodes, transmission Forward and backward error recovery Combinations are necessary!

Dependable data transport context Items to be delivered Single packet Block of packets Stream of packets Level of guarantee Guaranteed delivery Stochastic delivery 50% delivered Involved entities Sensor(s) to sink Sink to sensors Sensors to sensors

Constraints Energy Send as few packets as possible Send with low power high error rates Avoid retransmissions Short packets weak FEC Balance energy consumption in network Processing power Only simple FEC schemes No complicated algorithms (coding) Memory Store as little data as briefly as possible

Overview Dependability requirements Delivering single packets Single path Multiple paths Gossiping-based approaches Multiple receivers Delivering blocks of packets Delivering streams of packets

Delivering single packets main options What are the intended receivers? A single receiver? Multiple receivers? In close vicinity? Spread out? Mobile? Which routing structures are available? Unicast routing along a single path? Routing with multiple paths between source/destination pairs? No routing structure at all rely on flooding/gossiping?

Single packet to single receiver over single path Single, multi-hop path is giving by some routing protocol Issues: Which node Detects losses (using which indicators)? Requests retransmissions? Carries out retransmissions?

Detecting & signaling losses in single packet delivery Detecting loss of a single packet: Only positive acknowledgements (ACK) feasible Negative acks (NACK) not an option receiver usually does not know a packet should have arrived, has no incentive to send a NACK Which node sends ACKs (avoiding retransmissions)? At each intermediate node, at MAC/link level Usually accompanied by link layer retransmissions Usually, only a bounded number of attempts At the destination node Transport layer retransmissions Problem: Timer selection

Carrying out retransmissions For link layer acknowledgements: Neighboring node For transport layer acknowledgements: Source node end-to-end retransmissions Question: Could an intermediate node help in an end-to-end scheme? How to detect need for retransmissions? How to retransmit?

Tradeoff: End-to-end vs. link-layer retransmission Scenario: Single packet, n hops from source to destination, BSC channel Transport-layer, end-to-end retransmission: Always Link-layer retransmissions: Vary number of maximum attempts Drop packet if not successful within that limit For good channels, use end-to-end scheme; else local retransmit Expected energy cost 1e+07 pure end-to-end MAC[2] MAC[5] 1e+06 MAC[10] 100000 10000 1000 1e-06 1e-05 0.0001 0.001 0.01 Bit error probability

Tradeoff: End-to-end vs. link-layer retransmission Same scenario, varying number of hops BER=0.001 of BSC channel fixed Use link-layer retransmissions only for longer routes In both figures, difference between maximum linklayer retries schemes is small. Why? Expected energy cost 1e+07 pure end-to-end MAC[2] MAC[5] 1e+06 MAC[10] 100000 10000 1000 0 5 10 15 20 25 Number of hops

Example schemes: HHR and HHRA Hop-by-hop reliability (HHR) Idea: Locally improve probability of packet transmission, but do not use packet retransmission Instead, simply repeat packet a few times a repetition code Choose number of repetitions per node such that resulting end-toend delivery probability matches requirements Hop-by-hop reliability with Acknowledgements (HHRA) Node sends a number of packets, but pauses after each packet to wait for acknowledgement If received, abort further packet transmissions What happens in bursty channels?

Multiple paths Types of : disjoint or braided Usage: default and alternative routes Usage: simultaneous Send same packet Send redundant fragments Example: ReInForM

Multiple paths: Disjoint or braided Disjoint paths Secondary path Source Braided paths Primary path Sink Source Primary path Sink

Using multiple paths Alternating use Send packet over the currently selected path If path breaks, select alternative path Or/and: repair original path locally Simultaneous use Send the complete packet over some or all of the multiple paths simultaneously Send packet fragments over several paths But endow fragments with redundancy Only some fragments suffice to reconstruct original packet

Example: ReInForM Goal: Send packet over multiple paths to meet a delivery probability P Assumptions: Independent paths, BSC Nodes know their local packet error rate e Step 1: Source node decides how many paths to use Success probability over a single path with n s hops: 1-(1-e) n s Success probability over P paths: 1-(1-(1-e) n s) P Should be r s, solve for P: Note there is no floor/ceiling in this formula

ReInForM Forwarding to neighbors Source node picks a forwarder closer to destination than itself Remaining neighbors: P = P (1-e s ) Choose P neighbors to additionally forward packet If possible, only neighbors closer to destination If not sufficient, use neighbors same hop distance If not sufficient, use further away neighbors Source Forwarder Destination Packet contains Source & destination Forwarder identity Source packet error rate Number of paths each neighbor should construct

ReInForM Behavior of neighbors Forwarder behaves just like a source Non-primary forwarders locally compute over how many paths they are supposed to forward the packet If number of paths < 1, node only forwards with according probability ReInForM load-balancing behavior for multiple packet transmissions

Gossiping-based approaches What to do when not routes are available? Flooding all nodes rebroadcast a received packet not efficient Gossiping only some nodes rebroadcast? Problem: Which node rebroadcasts? Deterministic choice (e.g., backbone construction): Overhead Random choice: Forwarding probability? Gossiping is greatly helped by direction to destination!

Forwarding probability for gossiping Assumption: All nodes know destination to direction, number of neighbors k, packet error probability e Goal: On average, a single node should forward packet Expected number of packets received: k(1-e) Each node receiving a packet forwards with probability P forward = 1/k(1-e) Packet needs to contain k, e Problem: Gossip might die out

Flooding based on neighborhood behavior Suppose a packet should be distributed to all nodes Suppose a node can observe behavior of its neighbors When to actually forward a new packet? Immediately? All nodes will then forward, some needlessly Wait and check neighbors? When many neighbors have already forwarded the packet, is it worthwhile to do so as well? Observation (for uniformly distributed networks): When k 4 neighbors have already forwarded a packet, the additional coverage gained by forwarding it one more time is 0.05% Wait random time, count neighbors forwards, only forward when not already done so in neighborhood

Multiple receivers Deliver a single packet to multiple receivers: Multicast Formally: Steiner tree problem, NP complete Constructing Steiner tree for a single packet probably excessive; might pay off for multiple packets Problem: ACK implosion Many receivers send ACKs to a single source Source/nodes near source are overloaded Combination with ACK aggregation

Overview Dependability requirements Delivering single packets Delivering blocks of packets Opportunity: Caching in intermediate nodes Example: Pump Slowly, Fetch Quickly (PSFQ) Example: Reliable Multisegment Transport (RMST) Delivering streams of packets

Delivering blocks of packets Goal: Deliver large amounts of data E.g., code update, large observations Split data into several packets (reduce packet error rate) Transfer this block of packets Main difference to single packet delivery: Gaps in sequence number can be detected and exploited For example, by intermediate nodes sending NACKs 132 2? To answer NACK locally, intermediate nodes must cache packets Where is packet 2? Which packets? For how long?

Example: Pump Slowly Fetch Quickly (PSFQ) Goal: Distribute block of packets to from one sender to multiple receivers (sink to sensors) E.g., code update losses are not tolerable, delay not critical Routing structure is assumed to be known Basic operation Source pumps data into network Using broadcast, large inter-packet gap time Intermediate nodes store packets, forward if in-sequence Out-of-sequence: buffer, request missing packet(s) fetch operation (a NACK) Previous node resends missing packet local recovery Assumption: packet is available no congestion, only channel errors Pumping is slow, fetching is quick

PSFQ protocol details How big an inter-packet gap? Big enough to accommodate at least one, better several fetch operations Probability that next packet arrives when the previous one has not yet been repaired should be small When to forward an in-sequence packet? Wait random time, only forward when 3 neighbors have forwarded Handle out-of-order packet? Do not forward, fill the gap first by fetching avoid loss propagation

Has 1-6 Has 1-10 PSFQ protocol details (2) How to handle fetch requests (NACKs)? Fetch request are broadcast, might arrive at multiple nodes Nodes receiving NACK might themselves not have all requested packets Use a slotted resend mechanism for requested packets each one corresponds to a time slot, filled by node if requested packet available Example: Node C requests 3,6,7,9 in NACK A B 3,6,7,9? C A 3 B Time slot for packet 3 C Time slot for packet 6 A B 6 C A B 7 Time slot for packet 7 C

PSFQ performance: Comparison with multicast Comparison case: Scalable Reliable Mutlicast (SRM) Provides similar service Main difference: in-sequence not enforced, end-of-block treatment differs PSFQ works up to higher error rates

Reliable Multisegment Transport (RMST) Goal: Dependable delivery of large data blocks from multiple sensors to a single sink Data block is fragmented collect all fragments, deliver to sink Tightly coupled with directed diffusion Does not include congestion control, time bounds Basic RMST mechanisms MAC-layer retransmissions (802.11, full procedure: RTS/CTS, ) RMST caches fragments, checks for missing fragments When gap is detected NACKs are sent back towards the sources NACKs are served by intermediate node if fragment is present Else: NACK forwarded, but only rarely e.g., when path has not changed To catch remaining errors, sources occasionally retransmit all

Overview Dependability requirements Delivering single packets Delivering blocks of packets Delivering streams of packets Additional opportunity: Control rate Control rate of individual nodes: ESRT Control number of active nodes: Gur game

Streams of packets may lead to congestion When several sensors observe an event and try to periodically report it, congestion around event may set it When many sensors stream data to a sink, congestion around the sink may occur

Consequences of congestion Congestion can have surprising consequences More frequently reporting readings can reduce goodput and accuracy Owing to increased packet loss Using more nodes can reduce network lifetime

Detecting congestion TCP: Detect congestion by missing acknowledgements Here not applicable if no ACKs are used Locally detect congestion Intuition: Node is congested if its buffer fills up Rule: Congested = buffer level above threshold is overly simplistic Need to take growth rate into account as well Occupancy not a good indicator when packets can be lost in the channel Problematic: Interaction with MAC CSMA-type MACs: high channel utilization = congestion; easy to detect TDMA-type MACs: high channel utilization not problematic for throughput; congestion more difficult to detect

Congestion handling Once congestion is (locally) detected, how to handle it? Option 1: Drop packets No alternative anyways when buffers overflow Drop tail, random (early) drop (for TCP), Better: drop semantically less important packet Option 2: Control sending rate of individual node Rate of locally generated packets Rate of remote packets to be forwarded backpressure Option 3: Control how many nodes are sending Option 4: Aggregation, in-network processing

Rate control: Event-to-Sink Reliable Transport (ESRT) Situation: Multiple sensors periodically report to sink Sink needs sufficient number of packets, from any source Control knob: control sensors reporting rate f i Ensure: per decision period τ, +/- R packets are delivered Formally: r i packets actually received in period i, Target: η i = r i /R [1-ε, 1+ε] Sink computes f i+1 based on f i, η i Broadcasts to all sources directly (high power)

ESRT rate control tradeoff Optimal operating region No congestion, high reliability more data than necessary Congestion, but still high reliability more data injected than delivered No congestion, low reliability (NC, LR) Congestion, and not even high reliability

ESRT s adaptation of source frequencies No congestion, low reliability: Increase data rate f i+1 = f i / η i Note: η i < 1 here (less data arrives than necessary) Optimal operating region: do nothing No congestion, high reliability: moderate reduction of sending rate useful f i+1 = f i /2 (1 + 1/η i ) Congestion, high reliability: quicker reduction of rate f i+1 = f i / η I Note: η i > 1 here (more data arrives than necessary) Congestion, low reliability: even quicker reduction of rate f i+1 = f η i i /k k: number of consecutive rounds in this state

Control how many nodes are sending Scenario: Nodes send at a given rate, cannot be controlled Option: Turn on or off nodes to avoid congestion, achieve desired target number of packets k* per round If total number of nodes N known, easy: Simply send probability k*/n to all nodes; each node sends with this probability What to do if number of nodes N not known? Gur game

Gur game N nodes, unaware of each other; 1 referee Referee, in each round: Counts number k of packets (assumption: no packet loss) Determines reward probability r(k), sends r(k) to all nodes Each player: rewards itself with probability r(k), penalizes with probability 1-r(k) Rewards/penalties: Moves in finite state machine r(k) Reward: r(k) Reward: r(k) r(k) -M -3-2 -1 1 2 3 M Penalty: 1-r(k) Penalty: 1-r(k) Do not send in the next round Send in the next round

Gur game: How to choose r(k)? Intuition When received number of packets k is close to k*, the right number of nodes are sending Thus, the right mixture of send/not send states is present Nodes should stay on the side where they are Rewards should be high Formally Reward function is maximal at k* Example: See figure

Conclusion Transport protocols have considerable impact on the service rendered by a wireless sensor networks Various facets no one size fits all solution in sight Still a relatively unexplored areas Items not covered Relation to coverage issues TCP in WSN? Gateways? Aggregation? In-network processing?