Reliable Transport Layers in Wireless Networks Mark Perillo Electrical and Computer Engineering

advertisement
Reliable Transport Layers in
Wireless Networks
Mark Perillo
Electrical and Computer Engineering
Review of TCP
•
•
Originally designed for wired networks
Assumptions:
1) Lost packets are caused by network
congestion
2) Fairly stable RTT
3) Constant bandwidth
4) Lengthy connections
Characteristics of Wireless
Environment
•
•
•
•
•
High bit error rates
Errors occur in bursts
High latency when FEC used
Short duration sessions
When adaptive coding is used, bandwidth
may vary dramatically
Problems With TCP in Wireless
Environment
• Congestion is often incorrectly assumed to
be the cause of lost packets
– TCP sender may attempt to resend and then
begin a slow start
– Throughput limited to inefficient point
• Connections short enough so that three-way
handshake is relatively large overhead
Approaches to Solutions
• Link-layer
provide information / reliability at TCP-aware
lower layer
• End-to-end
make nodes aware of dropped packets, use
mechanisms to differentiate between causes
• Split-connection
hide link failure from source node
Link-layer Protocols
• Typical mechanisms used in a wired
environment (not TCP-aware)
Forward error correction (FEC)
Retransmissions (ARQ)
• Problems in a wireless environment
Timer interactions, fast retransmission interactions, large
round-trip variations
• Conclusion: A TCP-aware link layer could
be very beneficial
Snoop Protocol
• TCP aware link-layer protocol
• Snoop module at base station
monitors/caches messages and performs
local retransmissions when necessary
• Hides low-quality link, temporary
disconnections from sender
• Full compatibility with existing TCP
Snoop_data() Algorithm
Snoop_ack() Algorithm
End-to-end Solutions
• Can be purely end-to-end or end-to-end
with help from lower layers
• Purely end-to-end mechanisms desirable
since no changes need to made to existing
network infrastructure
• Mechanisms typically used:
Explicit loss notification (ELN) - gives information
about the cause of the lost packet via one-bit
flag in TCP header
Selective Acknowledgements (SACKs)
Internet Control Message
Protocol (ICMP)
• Detects corrupted TCP segment at link level
• Although message is corrupted, it can be used to
signal non-congestion-related loss to the transport
layer (TCP header option)
• Sending TCP session maintains "corruption
experienced" state for two RTT intervals
• During "corruption experienced" state, lost
packets are retransmitted without halving the
congestion window size
Wireless TCP (WTCP)
• Purely end-to-end protocol
• Rate-based transmission control
• Receiver uses inter-packet delay to make
decisions regarding rate control
• Predicts cause of packet loss based on
history of packet losses during normal state
• Fast startup scheme
• Reliability – SACKs, CACKs
Split-Connection Solutions
Indirect TCP
• Split-connection protocol
• Used for connection between mobile host
and fixed host (with intermediate router)
• Wired link and wireless link deal with lost
packets differently
• Higher level acknowledgements might be
necessary in some applications
• Complicated handoff procedure
Advantages/Disadvantages of
Split-connection Solutions
+ Separates flow control and congestion
control between wireless link and wired link
+ Results in good bandwidth at sender
- End-to-end semantics of TCP violated
- TCP header needs to be processed multiple
times along route
- Slow handoff procedures
Summary
• Existing transport protocols such as TCP
not well-suited for wireless networks
• Solutions are of general type link-layer,
end-to-end, and split-connection
• Most experimental results show that TCPaware link-level solutions give the best
results in terms of overall network
throughput
Download