In: Computer Science
Suppose nodes A and B are each behind their own NAT firewall (9.7 Network Address Translation).
A ──── NAT_A ──── Internet ──── NAT_B ──── B
A and B attempt to connect to one another simultaneously, using TCP. A sends to the public IPv4 address of NAT_B, and vice-versa for B. Assume that neither NAT_A nor NAT_B changes the port numbers in outgoing packets, at least for the packets involved in this connection attempt. Show that the connection succeeds. (Note that, because A has already sent a packet to B at the time B’s packet to A arrives at NAT_A, the latter packet is allowed through, and is delivered to A.)
An Network address translation is the networking method where it converts the private ip to public ip so that the unnecessary traffic doesnot make any disturbance to the network.
NAT is widely used networking method and majorly used the virtual machines to test their capability, it could be live within the host and the networking also, regardless of the requirement.
An TCP uses the three way handshake such as SYN,SYN+ACK,FIN. It sends the syn request and received the syn and ack and at last terminating the connection with FIN.
As stated in the question A and B both connected simultaneoulsy using the TCP and send the NAT of A and B respectively.
Assuming that Nat A and B does not changes the port number in the outgoing packets , Network address translation focused on the IP and port is the secondary part. Though it initiates the connection and TCP handshake already began and even after not changing the port number it will follow the same port number that it was listening before.
The DHCP assigned the ip automatically to the systems, wherein it automatically detects the port number which are open and redirected towards it.
Keeping the configuration in mind, even if we do not change the port, the port forwarding happens and that proves the packets has already sent.