Implementing NAT Hole Punching with QUIC
<|reference_start|>Implementing NAT Hole Punching with QUIC: The widespread adoption of Network Address Translation (NAT) technology has led to a significant number of network end nodes being located in private networks behind NAT devices, impeding direct communication between these nodes. To solve this problem, a technique known as "hole punching" has been devised for NAT traversal to facilitate peer-to-peer communication among end nodes located in distinct private networks. However, as the increasing demands for speed and security in networks, TCP-based hole punching schemes gradually show performance drawbacks. Therefore, we present a QUIC-based hole punching scheme for NAT traversal. Through a comparative analysis of the hole punching time between QUIC-based and TCP based protocols, we find that the QUIC-based scheme effectively reduces the hole punching time, exhibiting a pronounced advantage in weak network environments. Furthermore, in scenarios where the hole punched connection is disrupted due to factors such as network transitions or NAT timeouts, this paper evaluates two schemes for restoring the connection: QUIC connection migration and re-punching. Our results show that QUIC connection migration for connection restoration saves 2 RTTs compared to QUIC re-punching, and 3 RTTs compared to TCP re-punching, effectively reducing the computational resources consumption for re-punching.<|reference_end|>
@article{liang2024implementing,
    title={Implementing NAT Hole Punching with QUIC},
    author={Jinyu Liang, Wei Xu, Taotao Wang, Qing Yang, Shengli Zhang},
    journal={arXiv preprint arXiv:2408.01791},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.01791},
    primaryClass={cs.NI}
}