So I wondered how do packets know its destination if there is IP masquerading which hides the IP of the singe device in a network, but one of the threads explained it to me: "Basically the client registers it's own local address and a unique port on a network address translator (NAT) device/"router" when sending the request. So when the server replies with only the public ip address, it uses the reserved port to see where in the subnet to send the info."
Okay, but how this "request" (which is SYN in 3-way handshake I believe) know which device should he ask for connection?
Example: I want to send some data to Computer1 in some network. There are 3 more computers in that network: Computer2, Computer3 and Computer4. The first thing I do to perform TCP connection with Computer1 is 3-way handshake (during which I put my own local address and unique port in NAT device, but Computer1 still doesn't know I want to connect him)
So from Computer1's perspective: "some device sent his local address and unique port in my NAT router, because he wanted to connect with either me, Computer2, Computer3 or Computer4 (and probably send some data later on). But how do I know if it's me or one of my 3 colleagues? In packet header there was only IP address of our router."
I'm new to networking and watched couple of tutorials but still don't get it. I would be glad if someone explained it to me, don't get angry at me if it's already been covered.