0
votes

I am required to implement a p2p communicator and read about nat hole punching. There are a few questions I don't quite understand:

  1. Do I really require a server if I know the public IP address and destination of my peer?
  2. In real life scenario, does it really work and what are some network policies that may cause it to fail
  3. For Skype, why does it optionally also require 443 and 80 if theoretically works for any Ports?
1
Wrong site. Ask this at serverfault.comAnsis Māliņš

1 Answers

1
votes

The main purpose of a server is for helping to detect how private addresses are translated into public adresses, and this is only visible from outside the LAN.

  1. Do I really require a server if I know the public IP address and destination of my peer?

No.

  1. In real life scenario, does it really work and what are some network policies that may cause it to fail

Unless the port your are trying to reached is bloqued by a firewall, there should be no issue if you know the public address of your peer.

  1. For Skype, why does it optionally also require 443 and 80 if theoretically works for any Ports?

Because those ports are usually open (i.e., not blocked by NATs/Firewall), while others are not necessarily open.