1-1
Transport Layer
1-2
Motivation
What is expected out of a transport protocol for sensor networks ? • Reliability, • QoS (e.g., delay guarantees, priority
delivery),• Congestion and flow control,• Energy efficiency,• Fairness.
1-3
Transport-Layer Challenges in WSNs
Variety of communication models including many-to-one.
Wireless communications. Energy constraints. Data centric QoS.
Instead of source-destination specificic. E.g., “provide to sink sufficient quality of
information about an event”.
1-4
Motivation ..cont’d.
Application specific. Spectra for known constraints:
Low data Rate High data Rate
Power limited Not Power limited
Storage limited Not Storage limited
Bursty samples Periodic samples
1-5
Motivation ..cont’d.
In general,
Low data Rate High data Rate
Power limited Not power limited
Storage limited Not storage limited
Sink
user
1-6
Trend
Departure from TCP-like model. Relies almost exclusively on end-to-end
involvement. In general, proposed protocols engage
intermediate nodes. Transport layer? Cross-layer approach.
1-7
Existing Solutions
Reliable delivery. Congestion control. Real-time scheduling.
1-8
Reliable Delivery
1-9
PSFQ
Pump Slowly, Fetch Quickly. Wan et al., ACM WSNA 2002.
1-10
Motivation
Most sensor network applications do not need 100% reliability. Sources => sink.
But applications like re-tasking of sensors need reliable delivery. Sink => sources.
Current sensor networks are application specific and optimized for that purpose.
Future sensor networks may be general purpose to some extent – ability to re-program functionality.
1-11
Goals
Provide lossless delivery. Minimize control overhead. Provide delay guarantee for delivery to
all intended nodes.
1-12
Probability of successful delivery using end-to-end model
1
2
n-1
n
(1-p)
(1-p)n-1
(1-p)n
p is the error rate of wireless link between two hops
1-13
PSFQ’s Main Principle
“Slow” data propagation (pump). Enough time for hop-by-hop error
recovery (fetch).
1-14
Multi-hop packet forwarding
1 2 3 4
1
11
22 2
33 3
When no link Loss – multi-hop forwarding takes place
1-15
Recovering from errors
2 431
2 lost
1 1 1
33
3
Recover 2
Recover 2
Recover 2
Error recovery messages are wasted
1-16
How PSFQ recovers from errors:“store and forward”
2 31 4
2 lost
Recover 2
1
22
3
11
33 2
2
No waste of error recovery messages
1-17
PSFQ operation
Alternate between multi-hop forwarding when low error rates and store-and-forward when error rates are higher.
3 functions: Pump: message relaying. Error recovery: fetch. Status reporting: report.
1-18
PSFQ Pump Schedule
If not duplicate and in-order and TTL not 0 then Cache and schedule for forwarding at time t (Tmin<t<Tmax)
Tmin
TmaxTmin
Tmax
21
1
1
1
t
1-19
“Fetch Quickly” Operation
21
11
2 lost2
3
Tmin
Tmax
TrRecover 2Tr 2
2
When loss detected,then fetch mode.
Loss aggregation: try to recover a windowof lost packets.
1-20
“Proactive Fetch”
Tproc
1 2
last-1
last
last
1-21
Report
Report aggregation. Carries status information: node id, seq.
#. Triggered by user.
Inject data message with “report” bit set.
1-22
Performance evaluation
Compare with SRM (Scalable Reliable Multicast)
Performance Metrics Average Delivery Ratio Average Latency Average Delivery Overhead
1-23
Experimental setup
2 Mbps CSMA/CA Channel AccessTmax = 100ms Tmin = 50ms Tr = 20ms
1-24
Error tolerance
1-25
Average latency
1-26
Overhead
1-27
Conclusion - PSFQ
Light weight and energy efficient Simple mechanism Scalable and robust Need to be tested for high bandwidth
applications Cache size limitation
1-28
RMST
1-29
RMST
Reliable Multi-Segment Transport.
Where to do reliability? MAC. Transport. Application.
1-30
MAC reliability
802.11. RTS/CTS, Data, Ack. Basic stop-and-wait ARQ. No ARQ when in broadcast or multicast
modes.• Random slot selection.
Options: No ARQ. AEQ always. Selective ARQ.
1-31
MAC reliability (cont’d)
Without ARQ: Use broadcast mode. For unicast: address screening at routing layer. +’s: no overhead.
With ARQ: Unicast transmissions. For broad- & multicast, use multiple unicast. Number of retries is configurable.
Selective ARQ: Unicast uses ARQ. Broad- and multicast use no ARQ.
• E.g., route discovery.
1-32
Transport reliability
Strictly e2e. Initiated by sink.
Local recovery. Intermediate nodes trigger repair when loss
is detected. Nodes cache packets.
NACK-based.
1-33
Application-layer reliability
Directed-diffusion based. Sink sends out request (“interest”). When complete data received, sink removes
request.
1-34
Question?
Benefits of lower-layer reliability? Additional overhead?
1-35
RMST overview
Functions: Fragmentation/reassembly. Guaranteed delivery.
Unique identifiers: “No fragments”. Fragment id’s and number of fragments.
Loss detection and repair: Sequence # holes and timers. Loss detection at either sinks or
intermediate nodes. NACKs.
1-36
Preliminary analysis
Demonstrate the benefits of hop-by-hop reliability.
1-37
RMST evaluation
MAC-only reliability. Local recovery.
With and without MAC reliability. End-to-end reliability.
With and without MAC reliability.
1-38
Observations
When there is no transport reliability: MAC reliability critical in lossy links.
Hop-by-hop transport reliability: Adds little to reliable MAC. But, hop-by-hop transport reliability only more
efficient than adding MAC reliability.• MAC ARQ overhead incurred in every packet.
E2E transport reliability: When no MAC reliability is used, simulation does not
terminate: hop-by-hop recovery is critical. If MAC reliability used, hop-by-hop and e2e transport
reliability are equivalent.
1-39
Observations (cont’d)
Experiments with high error rates: Hop-by-hop transport reliability without MAC
reliability. Hop-by-hop transport reliability+Sel. ARQ. E2e transport reliability+ Sel. ARQ.
Hbh transport reliability without ARQ breaks down at high error rates. Routing has hard time establishing routes.
1-40
SWSP
Simple Wireless Sensor Protocol. Design challenges:
Limited capabilities. Assumptions:
“Fixed network” topology. Access points as data collectors.
1-41
Why not TCP?
Too heavy-duty. Congestion control and wireless links.
Disable congestion control? Low bandwidth.
Buffer size. Small windows.
Multiple connections. Single connection.
1-42
SWSP overview
1-43
SWSP overview
Disconnected Connecting
Disconnecting
Ack wait
Connected
Requested
Poweroff
On
Ack received
Data request
Datasent
Leave
Leave
Ack rec’d Datasent
1-44
Observations
Sensor registers with an AP. Listens for RR messages. Sends registration. Waits for ACK => “connected” state.
Window size? Periodic KA from sensors. Data retransmitted after 3 retries. ACKS piggybacked onto RR messages. Data piggybacked onto KA messages.
1-45
SWSP evaluation
Methodology: Platform:
• PC with Linux• Simulated different sensors as different
processes.• AP simulated using another PC.• Wireless communication.
Metrics:• Throughput: # of bytes received by AP/time.• Delay: time(ACK-recv’d) – time(data-sent).
1-46
SWSP evaluation (cont’d)
Throughput increases up to certain number of sensors; then decreases as sink gets overrun.
Delay increases substantially beyond a given number of sensors.
Solutions?
1-47
Congestion Control
Limited bandwidth. Congestion is likely, e.g., when an event
is detected.
1-48
Event-to-Sink Reliable Transport (ESRT) for Wireless Sensor Networks
Akyildiz et al., ACM Mobihoc 2003 Event-to-sink reliability. Self-adjusting. Energy awareness [low power
consumption requirement!]. Congestion control. Different complexity at source and
sink.
S
1-49
ESRT’s definition of reliability
Reliability is measured in terms of the number of packets received. Or reporting frequency i.e., number of packets/decision interval.
Observed reliability: number of received data packets in decision interval at the sink.
Desired reliability: number of packets required for reliable event detection.
Reporting rate: number of packets sent by sensor over time interval.
Normalized reliability: observed/desired.
1-50
ESRT problem definition
Determine reporting frequency of source nodes to achieve required reliability at sink with minimum resource consumption.
1-51
Preliminary observations:
Reliability increases as reporting frequency increases up to a certain threshold.
Why?
1-52
ESRT operation
1-53
Algorithm for ESRT
If congestion and low reliability: decrease reporting frequency aggressively. (exponential decrease).
If congestion and high reliability: decrease reporting to relieve congestion. No compromise on reliability (multiplicative increase).
If no congestion and low reliability: increase reporting frequency aggressively (multiplicative increase).
If no congestion and high reliability: decrease reporting slowing (half the slope).
1-54
Components of ESRT
In sink: Normalized reliability computation. Congestion detection mechanism.
In source: Listen to sink broadcast Overhead free local congestion detection
mechanismE.g., buffer level monitoring, CN – Congestion
Notification
1-55
Performance results (based on simulations)
Starting with no congestion and low reliability:
1-56
Performance results cont’d
Starting with no congestion and high reliability:
1-57
Performance results cont’d
Starting with congestion and high reliability:
1-58
Performance results cont’d
Starting with congestion and low reliability:
1-59
Performance results cont’d
Average power consumption while starting with no congestion and high reliability:
1-60
Challenges with ESRT
Multiple concurrent events. Is there a way to slow down the nodes
causing the congestion ? Others?
1-61
CODA
1-62
COngestion Detection and Avoidance Importance of congestion control.
1-63
What is CODA ?
Energy efficient congestion control. Three mechanisms are involved:
Congestion detection Open-loop hop-by-hop backpressure. Closed-loop multi-source regulation.
1-64
Congestion detection
Accurate and efficient congestion detection is important Channel loading – sample channel at
appropriate rate to detect congestion.
1-65
Open-loop h-by-h backpressure
6
1 2
4
5
3
Congestion detected
Upstream nodedecides to propagatebackpressure or not.
1-66
Closed loop multi-source regulation
1 2
1,2,3
ACK
4,5,6 Congestion detected
7,8
Regulate bit is set
ACK
1-67
Congestion detection schemes Buffer occupancy.
Not reliable in CSMA networks. Channel loading.
Good for the immediate neighborhood. Energy considerations.
Report rate. Report rate goes down, congestion. Detection based on report rate needs to
react on longer time scale.
1-68
CODA overview
Combination of backpressure (fast time scale) with closed-loop congestion control.
Backpressure targets “local” congestion, whereas closed-loop regulation targets persistent congestion.
Backpressure is cheaper/simpler since it’s open loop.
Congestion control requires a feedback loop. Uses ACK from sink to self-clock.
1-69
CODA performance metrics
Average Energy Tax = Total packets dropped in network / Total packets received at sink
Average Fidelity Penalty = Difference between average
number of packets delivered at sink using CODA and using ideal congestion scheme.
1-70
Simulation Setup
Random network topologies with network size from 30 to 120 nodes.
2Mbps IEEE 802.11 MAC (RTS/CTS are disabled).
Directed diffusion is used as routing core.
Fixed work load, 6 sources and 3 sinks. Source generate data at different rates. Event packet is 64 bytes and interest
packet is 36 bytes.
1-71
Simulation Results(Case 1: Dense Source , High Rate)
1-72
Simulation Results(Case 2: Sparse Sources, Low Rate)
1-73
Simulation ResultsCase 2: Sparse Source, Low Rate
1-74
Simulation Results(Case 3: Sparse Sources, High Rate)
Network Size (#no of nodes)
1-75
Conclusion
CODA’s energy efficiency. CODA’s ability to handle persistent and
transient congestion.
1-76
Real-Time Scheduling
Some mission-critical applications may impose strict deadline delivery.
E.g., control and actuation, emergency response, surveillance.
Goal shifts from delivery reliability to minimizing packet deadline miss ratio.
1-77
Velocity Monotonic Scheduling VMS is packet scheduling mechanism
that schedules forwarding of packets based on: Time until packet deadline expiration (t). Physical distance (d) between current node
and destination. Required velocity v = d/t. Packet priority directly proportional to its
velocity.
1-78
VMS: Observations
Implementation via priority queues or separate FIFO queues.
Drop discipline: drop packets that have missed their deadline.
Cross-layer approach for packet scheduling: Control random backoff at the MAC layer. Packets with higher priority use smaller
backoff.
1-79
Transport protocols: summary
1-80
Pump Slow Fetch Quickly PSFQPump Slow Fetch Quickly PSFQ
For sink-to-source communication (e.g. network reprogramming)
Reliability via retransmissions
Sequence-driven loss detection
C.Y. Wan, A.T. Campbell, and L. Krishnamurthy. PSFQ: A Reliable Transport Protocol for Wireless Sensor Networks. WSNA'02, September 28, 2002, Atlanta, Georgia, USA.
1-81
RMSTRMST
End-to-end or hop-by-hop repair (the latter is generally better)
Suggests that repair could be done at either MAC layer (ARQ retransmissions) or Transport Layer (requests based on fragment numbers etc.)
Timer-driven loss detection and local data caches Fits with the Directed Diffusion API
F. Stann and J. Heidemann. RMST: Reliable Data Transport in Sensor Networks. IEEE SNPA'03.
1-82
ESRTESRT Aim for overall quality of service rather than node-to-node
reliability
Sankarasubramaniam, Y., Akan, O.B., and Akyildiz, I.F., "ESRT: Event-to-Sink Reliable Transport in Wireless Sensor Networks ", In Proc. ACM MobiHoc`03
1-83
CODACODA
Sankarasubramaniam, Y., Akan, O.B., and Akyildiz, I.F., "ESRT: Event-to-Sink Reliable Transport in Wireless Sensor Networks ", In Proc. ACM MobiHoc`03
Receiver based congestion detection Open loop hop-by-hop backpressure Closed-Loop multi-source regulation
1-84
Summarizing Transport IssuesSummarizing Transport Issues Because of harsh conditions and severe
constraints, it may be better to implement reliability in a hop-by-hop rather than end-to-end manner at either the MAC or transport layer
For energy efficiency, it is best to avoid congestion entirely, or have packet losses occur close to the source. Back pressure is a useful technique.
Where possible, scheduled solutions are preferable.
s
1-85
WSN Transport: Considerations
Departure from TCP-like model. Application dictates needed
functionality. Hop-by-hop reliability.
Why have a transport layer? Transport protocol suite or flexible
protocol which can be customized? What kind of functionality?
E.g., for reliability, would link-layer error recovery suffice?