🤖 AI Summary
This paper addresses the challenge that conventional TCP applications cannot leverage QUIC’s advantages—such as built-in encryption, stream multiplexing, and rapid loss recovery. To bridge this gap, we propose and implement a lightweight TCP-over-QUIC streaming tunnel, built in userspace using Rust and the Quinn QUIC library. It transparently proxies TCP connections and maps them onto QUIC streams without requiring modifications to legacy TCP applications. To our knowledge, this is the first systematic performance evaluation of such a tunnel under realistic network impairments. Experiments show that under 20% packet loss, the tunnel achieves significantly higher throughput than native TCP and exhibits superior stability under high latency and packet reordering. In ideal networks, it incurs only acceptable overhead from encryption and stream scheduling. Our core contribution is the empirical validation of QUIC-based TCP tunneling as both feasible and practically effective, delivering a low-overhead, robust engineering implementation.
📝 Abstract
QUIC, a UDP-based transport protocol, addresses several limitations of TCP by offering built-in encryption, stream multiplexing, and improved loss recovery. To extend these benefits to legacy TCP-based applications, this paper explores the implementation and evaluation of a TCP over QUIC tunneling approach. A lightweight, stream-based tunnel is constructed using the Rust-based Quinn library, enabling TCP traffic to traverse QUIC connections transparently. Performance is evaluated under varying network conditions, including packet loss, high latency, and out-of-order delivery. Results indicate that TCP over QUIC maintains significantly higher throughput than native TCP in lossy or unstable environments, with up to a high improvement under 20% packet loss. However, under ideal network conditions, tunneling introduces modest overhead due to encryption and user-space processing. These findings provide insights into the trade-offs of TCP over QUIC tunneling and its suitability for deployment in dynamic or impaired networks.