TCP with Variance Control for Multihop IEEE 802.11 Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee How does TCP work? • TCP protocol dynamically increases the congestion window CWIN at each round – However, if congestion is detected, the TCP source reduces CWIN (by half, in TCP Reno) – In most TCP varieties, congestion is “signalled” to source by packet loss • This strategy is effective in the Wired Internet: – Congestion immediately causes buffer overflow and packet loss – The loss is quickly reported to source Why packet loss not enough in wireless nets? • In wireless (802.11), we have ARQ: – Packet is retx up to 5 times; timer doubled each time – Only after 5 retx the packet is dropped and source learns about it – Packet drop comes too late! – Pkt drop feedback latency leads to “oscillatory” behavior, slow convergence, unfairness, capture etc • Experimental result on wired and wireless links in next 2 slides CBR experiment: Throughput Variance in Wired Network Instantaneous CBR throughput vs. different rates on a wired link with 500 Kbps capacity Rate Variance in Wireless Networks Instantaneous CBR throughput vs. different rate on a 4 hop chain. Channel data rate = 2Mbps Why High Rate Variance in 802.11 nets? • When congestion builds up (due to excessive self rate or too many connections): – Packets are dropped due to collisions and are retransmitted – Delay between pkts and ACKs fluctuates – Observed data rate fluctuates – And, data rate variance increases – All this happens before any packet is lost! • Rate variance more timely congestion indicator than packet loss Note: Variance increases also when packets are “randomly” dropped, say, because of jamming - more later.. TCP-VAR Combined: CWND Cong Control + Rate Control • Congestion Control: – Linearly Increase cwnd if throughput variance is small – Multiplicatively decrease cwnd if throughput variance is large – If packet loss detected, cut cwnd by half • Rate control: – Use pacing with rate given by: cwnd R= var srtt ´ e Performance Evaluation • Compare TCP-VAR, TCP adaptive pacing, TCP small and TCP NewReno • One or multiple TCP flow(s) over a chain topology • Channel bandwidth 2 Mbps • Packet size 1460 bytes • AODV routing is used. Related Work • TCP Optimal Window Concept – Congestion Window Limit based on the round trip hop count – Assumptions of the shortest path and ratio of Interference/Transmission range • Small window increase (TCP-Small) • Congestion Window Limit based on the round trip hop count (1 pkt every 4 hops..) • The linear increase parameter is a small value, say 0.01, i.e w=w+0.01/w (Mobihoc 05) • TCP Adaptive Pacing (TCP-AP) • 4 hop pacing (Mobihoc 05) • Same assumptions as above. One TCP on 4 hop Chain Packet Losses Protocol Packet Loss TCP NewReno 1655 TCP Small (0.01) 45 TCP AP 5 TCP VAR 0 Aggregate Throughput 1 TCP Flow on Varying Hop Length Hop Count Aggregate Throughput 4 TCP Flows on Varying Hop Length Hop Count Fairness and Efficiency 4 TCP flows on 4 hop chain 4 TCP flows on 6 hop chain TCP-VAR keeps best fairness and efficiency Conclusions • TCP-VAR is purely end-to-end: – independent of routing protocols, – hop distance computation and – ratio of Interference/Tx ratio. • Novel congestion detection and congestion control algorithm; – It combines CWND and Rate adjustment • TCP-VAR improves both efficiency and fairness. Future Work • Differentiate random loss and congestion loss • Apply variance concept to other metrics – Eg, RTT • Friendliness issue – Parameter adaptation to make it friendly to standard TCP. • Wired and wireless network integration