title: Nat Punchthrough understanding P2P concept
body: <p>So, i have been reading up on NAT-Punchthrough. I seem to be getting the idea, but i have a hard time implementing it, and i feel that i am missing a step here.
  Testing this functionality is kind of hard because i have little control over the environment when it comes to a internet based connection.</p>
  
  <p>I have a SQL server to run as my "facilitator" it keeps the external address of both server and client, and their port as seen by the outside.</p>
  
  <p>Here are steps so far:
   - I connect to my SQL server through a web request (PHP script) that stores server/client IP/PORT
   - When both are known, both client and server attempt connecting (server hosts on a set port, client connects over a set port)
   - Nothing significant happens</p>
  
  <p>There are 2 unknowns here, and i would like to check one with you.
  Is it true that NAT-Punchthrough requires that i do the first step with the exact (internal/LAN) port i plan to connect with in the step after that?</p>
  
  <p>If so, i don't know how exactly my server works underwater, so it might need more ports then my initial given static port to connect over, but that at least gives me a hint.</p>
  
  <p>If anyone has more documentation on this then me, please let me know.</p>
  
  <p>Sources:<br>
  <a href="https://stackoverflow.com/questions/8523330/programming-p2p-application">Programming P2P application</a><br>
  <a href="http://www.mindcontrol.org/~hplus/nat-punch.html" rel="noreferrer">http://www.mindcontrol.org/~hplus/nat-punch.html</a></p>