Review Basic Network Address Translation Functionality
- select the contributor at the end of the page -
The unheralded technology that has been used to extend the life of IPv4 during IPv6's development is Network Address Translation (NAT). This article takes a look at what NAT provides to the Internet and its users.
Network Address Translation Essentials
So what is a network engineer to do if they have a limited number of public IP addresses and a large number of privately addressed internal hosts that require Internet connectivity? This was a question that was introduced before the creation of NAT. At its most basic, NAT provides for a mechanism to translate between one addressing range and another; commonly to translate private addresses to public addresses and vice versa.
For example, if an internal host needed to access the Internet and used a private address of 192.168.1.100; this 192.168.1.100 private address would have to be translated to a public address before it could communicate to the public hosts on the Internet. NAT would make it possible to translate this address at the Internet connecting device (commonly a router) into a public address with a one-to-one relationship. For example, the 192.168.1.100 address could be translated to the public address 198.51.100.50.
Depleting IP addresses over time and PAT
While this is a helpful technology, it didn't really solve the depleting addresses issue; this issue was resolved with Port Address Translation (PAT) (Also called Network and Port Translation (NAPT)). What this offered was the ability to extend the capabilities of NAT so that multiple private addresses could use a single public address to communicate on the Internet. It accomplished this by using not only the IP address but also the port numbers available through TCP and UDP.
For example, if two private hosts want to access the Internet (192.168.1.101 and 192.168.1.102) but only a single public address is available (198.51.100.100). The PAT device would then wait until traffic was sent destined for the Internet. If the private address 192.168.1.101 then initiated an FTP (port 21) connection to a public device (203.0.113.150), then PAT would respond with a translation entry that mapped the private address 192.168.1.101 to 198.51.100.100. It then altered the source port number which would then be used by the PAT device to track which device to return traffic to; this is shown in Figure 1.
If the private address 192.168.1.102 then initiated a Web-WWW (port 80) connection to the same public device (203.0.113.150), PAT would respond with a translation entry that mapped the private address 192.168.1.102 to 198.51.100.100. It then altered the source port number which would then be used by the PAT device to track which device to return traffic to; this is shown in Figure 2.
The functionality that was added with PAT greatly increased the life of IPv4 and allowed the IPv6 standard to mature over a longer period of time; this allowed Internet providers the ability to have time to implement IPv6 on their networks and enough time to work out any potential pitfalls before wide scale deployment.
It did however have a negative effect. Many of these providers slowed their IPv6 deployments which resulted in some of the functionality built into IPv6 to be kept from the wider Internet public user.
Looking at the history of the Internet
When you examine the history of the Internet, the implementation of NAT/PAT will be seen a large part of its growth. If NAT/PAT was not developed the number of IPv4 addresses available would have been exceeded years ago and the growth of Internet access would have been greatly limited. We covered the basic functionality of NAT and how the addition of PAT provides the common Internet user easy access regardless of IPv4's quickly depleting address pool. Additionally, the more advanced NAT functionality that are not typically used by the common user are often used by both power users and Internet businesses.
Learn more about IP addressing and other basic concepts with Microsoft Networking Fundamentals.