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