9/16/2010 Issues, transport layer protocols Wireless TCP Performance Issues

advertisement
9/16/2010
Issues, transport layer protocols
❒ Set up and maintain end-to-end connections
Wireless TCP
Performance Issues
❒ Reliable end-to-end delivery of data
❒ Flow control
❒ Congestion control
❒ Udp?
Assume TCP for the rest of these slides
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
Tutorial: TCP 101
TCP 101 (Cont’d)
❒ The Transmission Control Protocol (TCP) is
❒ TCP is a connection-oriented protocol
❒
❒
❒
❒
the protocol that sends your data reliably
Used for email, Web, ftp, telnet, p2p,…
Makes sure that data is received correctly:
right data, right order, exactly once
Detects and recovers from any problems
that occur at the IP network layer
Mechanisms for reliable data transfer:
sequence numbers, acknowledgements,
timers, retransmissions, flow control...
SYN
SYN/ACK
GET URL
ACK
Web Client
Web Server
YOUR DATA HERE
FIN
ACK
FIN/ACK
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
TCP 101 (Cont’d)
TCP 101 (Cont’d)
❒ TCP slow-start and congestion avoidance
❒ TCP slow-start and congestion avoidance
ACK
ACK
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
1
9/16/2010
TCP 101 (Cont’d)
TCP 101 (Cont’d)
❒ TCP slow-start and congestion avoidance
❒ This (exponential growth) “slow start”
process continues until either:
packet loss: after a brief recovery phase, you
enter a (linear growth) “congestion avoidance”
phase based on slow-start threshold found
❍ limit reached: slow-start threshold, or
maximum advertised receive window size
❍ all done: terminate connection and go home
❍
ACK
TDDD36: Wireless TCP issues
How do loss and delay occur?
packets queue in router buffers
❒ packet arrival rate to link exceeds output link capacity
❒ packets queue, wait for turn
❒ if queue is full, arriving packets dropped (Drop-Tail)
packet being transmitted (delay)
A
TDDD36: Wireless TCP issues
Queueing delay (revisited)
❒ R=link bandwidth (bps)
❒ L=packet length (bits)
❒ a=average packet
arrival rate
traffic intensity = La/R
q La/R ~ 0: average queueing delay small
q La/R -> 1: delays become large
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
q La/R > 1: more “work” arriving than can be
serviced, average delay infinite!
TDDD36: Wireless TCP issues
Wireless, mobility: impact on higher layer protocols
should be minimal …
best effort service model remains unchanged
❍ TCP and UDP can (and do) run over wireless, mobile
❒ … but performance-wise:
❍ packet loss/delay due to bit-errors (discarded
packets, delays for link-layer retransmissions), and
handoff
❍ TCP interprets loss as congestion, will decrease
congestion window un-necessarily
❍ delay impairments for real-time traffic
❍ limited bandwidth of wireless links
❒ logically, impact
❍
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
TCP performance issues in Ad-hoc networks
❒ Misinterpretation of packet loss
❍ E.g., packet loss/delay due to bit-errors (discarded packets,
delays for link-layer retransmissions), and handoff
❒ Frequent path breaks
❒ Network partitioning and remerging
❒ Path length effects
❒ Misinterpretation of congestion window
❒ Asymmetric link behavior
❒ Uni-directional paths
❒ Multi-path routing
❒ The use of sliding window
TDDD36: Wireless TCP issues
2
9/16/2010
TCP performance issues in adhoc networks
• Route failure
• TCP may lose a congestion window of
packets
• Large RTT variation
• Degrades TCP throughput
• Route re-computations
TCP performance issues in adhoc networks (cont’d)
• Network partition
• TCP may reset the connection if the
partition lasts for more than 100 sec.
• TCP enters slow-start phase after
cutting down its window size to 1
• Degrades TCP throughput
• Incur extra delay
• Result in a more inflated re-transmission
time-out
TDDD36: Wireless TCP issues
Example #1
Example #1 (Cont’d)
❒ Wireless TCP Performance Problems
❒ Solution: “wireless-aware TCP” (I-TCP,
ProxyTCP, Snoop-TCP, split connections...)
Low capacity,
high error rate
Wired Internet
Wireless
Access
Hard to distinguish losses
here from losses here
D
TDDD36: Wireless TCP issues
High
capacity,
low
error
rate
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
Example #2
Example #3
❒ Wireless TCP Fairness Problems
❒ Multi-hop “ad hoc” networking
Kelly
DATA
ACK
Wireless
Bottleneck AP
Wired Internet
U
DATA
ACK
Loss of ACK = Loss of DATA
TDDD36: Wireless TCP issues
Carey
TDDD36: Wireless TCP issues
3
9/16/2010
Example #3 (Cont’d)
Example #3 (Cont’d)
❒ Multi-hop “ad hoc” networking
❒ Multi-hop “ad hoc” networking
Kelly
Kelly
Carey
Carey
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
Example #3 (Cont’d)
Example #3 (Cont’d)
❒ Multi-hop “ad hoc” networking
❒ Multi-hop “ad hoc” networking
Kelly
Kelly
Carey
Carey
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
Example #3 (Cont’d)
Example #3 (Cont’d)
❒ Multi-hop “ad hoc” networking
❒ Multi-hop “ad hoc” networking
Kelly
Kelly
Carey
TDDD36: Wireless TCP issues
Carey
TDDD36: Wireless TCP issues
4
9/16/2010
Example #3 (Cont’d)
Example #3 (Cont’d)
❒ Multi-hop “ad hoc” networking
❒ Multi-hop “ad hoc” networking
Kelly
Kelly
Carey
Carey
TDDD36: Wireless TCP issues
Example #3 (Cont’d)
TDDD36: Wireless TCP issues
Example #3 (Cont’d)
❒ Two interesting subproblems:
❍ Dynamic ad hoc routing: node movement can
disrupt the IP routing path at any time,
disrupting TCP connection; yet another way to
lose packets!!!; possible solution: Explicit Loss
Notification (ELN)? Handoff? Route prediction?
❒ Multi-hop “ad hoc” networking
Kelly
❍
TCP flow control: the bursty nature of TCP
packet transmissions can create contention for
the shared wireless channel among forwarding
nodes; collisions between DATA and ACKs
possible solution: rate-based flow control? Burst
mode? Spatial reuse of channels?
Carey
TDDD36: Wireless TCP issues
TDDD36: Wireless TCP issues
Summary of Wireless TCP
❒ TCP is the “four wheel drive” of TP’s
❒ Wireless is a newly emerging technology
with rapidly growing deployment popularity
all
that well
❒ Making TCP smarter about wireless helps!
❒ “TCP” and “Wireless” don’t fit together
TDDD36: Wireless TCP issues
5
Download