Suppose we have 2 networks with 3 PCs in each. As I understand, they can easily have the same IP addresses, but routers have different public IP addresses(e.g. here 158.127.10.3 and 158.127.10.4). So how PC in the left network with IP address 192.168.1.1 can communicate with PC in the right network with the same IP address 192.168.1.1 without knowing his private IP address(even if PC in the left network knows IP address of PC in the right network, it does not make sense to send a packet to the same IP address, so PC in the left network uses 158.127.10.4) and only addressing right network's router public IP address 158.127.10.4. For example packet from the left network will have DEST IP 158.127.10.4 but how to understand which PC of those 3 to send a packet
PC------------| |------------PC
(192.168.1.1) | | (192.168.1.1)
| | |
| | |
PC------------Router----------------------Router ---------PC
(192.168.1.2) (158.127.10.3) (158.127.10.4) (192.168.1.2)
| | |
| | |
PC------------| |-----------PC
(192.168.1.3) (192.168.1.3)