1

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.

  • Can you add some context? It's not clear what you're asking. – Ron Trunk Aug 13 '16 at 20:30
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer. – Ron Maupin Feb 21 '18 at 17:33
2

The only way to establish a connection between two hosts when they are both behind different NATs is to either configure port-forwarding on the NAT devices, or use a third-party server hosted on a public address externally (in which case there is no direct TCP connection between hosts).

  • UDP and TCP hole punching are other ways to establish connection between hosts other than port forwarding. I'm trying to learn about TCP hole punching. – defalt Aug 14 '16 at 5:26
  • 1
    UDP pin-holing works because there is no requirement for state in the connection - eg: a host behind a NAT can send an arbitrary packet out and a stateful firewall will allow return traffic to the source port. I have never heard of "TCP hole-punching" before - do you have an example application? – Benjamin Dale Aug 14 '16 at 9:43
  • I don't have any examples but I'll post a link so that you can explain to me in easy language. – defalt Aug 14 '16 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.