Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency

TCP tunnel is a technology that aggregates and transfers packets sent between end hosts as a single TCP connection. By using a TCP tunnel, the fairness among aggregated flows can be improved and several protocols can be transparently transmitted through a firewall. Currently, many applications such as SSH, VTun, and HTun use a TCP tunnel. However, since most applications running on end hosts generally use TCP, two TCP congestion controls (i.e., end-to-end TCP and tunnel TCP) operate simultaneously and interfere each other. Under certain conditions, it has been known that using a TCP tunnel severely degrades the end-to-end TCP performance. Namely, it has known that using a TCP tunnel drastically degrades the end-to-end TCP throughput for some time, which is called TCP meltdown problem. On the contrary, under other conditions, it has been known that using a TCP tunnel significantly improves the end-to-end TCP performance. However, it is still an open issue --- how, when, and why is a TCP tunnel malicious for end-to-end TCP performance? In this paper, we therefore investigate effect of TCP tunnel on end-to-end TCP performance using simulation experiments. Specifically, we quantitatively reveal effects of several factors (e.g., the propagation delay, usage of SACK option, TCP socket buffer size, and sender buffer size of TCP tunnel) on performance of end-to-end TCP and tunnel TCP.

[1]  Winston Khoon Guan Seah,et al.  Avoiding congestion collapse on the Internet using TCP tunnels , 2002, Comput. Networks.

[2]  Matthew Mathis,et al.  The macroscopic behavior of the TCP congestion avoidance algorithm , 1997, CCRV.

[3]  SemkeJeffrey,et al.  The macroscopic behavior of the TCP congestion avoidance algorithm , 1997 .

[4]  Akkihebbal L. Ananda,et al.  Effectiveness of TCP SACK, TCP HACK and TCP Trunk over satellite links , 2002, 2002 IEEE International Conference on Communications. Conference Proceedings. ICC 2002 (Cat. No.02CH37333).

[5]  Shie-Yuan Wang,et al.  TCP trunking: design, implementation and performance , 1999, Proceedings. Seventh International Conference on Network Protocols.

[6]  Yin Zhang,et al.  On individual and aggregate TCP performance , 1999, Proceedings. Seventh International Conference on Network Protocols.

[7]  Mark Handley,et al.  A Comparison of Equation-Based and AIMD Congestion Control , 2000 .

[8]  Eitan Altman,et al.  A stochastic model of TCP/IP with stationary random losses , 2000, SIGCOMM.