Is TCP Hole Punching similar to UDP hole punching?How it is established between "Peer A" and "Peer B" when both the peers are behind NAT? You can use Peer A and Peer B as example to make it easy to understand. UDP and TCP hole punching are the most common methods used by torrent, skype for P2P connection and VoIP when peers are behind some type of NAT. Torrent and skype use UDP hole punching for P2P. I'm aware how UDP hole punching works from here: http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747197.html but I find TCP hole punching quite confusing.