  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.
