I just read an article about the process of "punching holes" with the UDP protocol. I understand how it's done, but I have one last question to clear up things. We have the rendezvous server and client A,B.
Client A punched a hole already for client B. Client B receives the NAT IP and the NAT port from the rendezvous server and starts to send data to the same port as the rendezvous server. Let's say I happen to know a second port the NAT has open for UDP connections. Could I send my packets through this second port also? Or is the port distinguished for every outgoing UDP connection? If so, how come we can use the same port for Client B and the rendezvous server? Wouldn't the NAT open a new port when Client A punches the hole and Client B had to know what new port the NAT opened for this specific connection?
I hope my question is somewhat understandable.