Network Address Translation (NAT)

A Network Address Translation boxs are used to solve the issue of limited IP addresses on the public Internet. They present a single public Internet Protocol (IPv4) and remap internal IP addresses and ports to that Internet Protocol (IPv4) and allocate it a port. To do this these boxes maintain a mapping table. This violates the End to end principle as a host that packets pass through has to change the layer 3 and layer 4 header before it has arrived at the host.