Table of Contents
- Why NAT Exists: The IPv4 Address Crisis
- NAT Terminology: The Four Address Types
- Static NAT: One-to-One Permanent Mapping
- Dynamic NAT: Pool-Based Translation
- PAT: Port Address Translation (NAT Overload)
- The NAT Translation Table Explained
- Complete Working Configuration Example
- Troubleshooting NAT
- NAT64 and IPv6 Transition
- CCNA Exam Tips for NAT
1. Why NAT Exists: The IPv4 Address Crisis
When the engineers who designed TCP/IP allocated the IPv4 address space, they settled on a 32-bit addressing scheme that provides approximately 4.3 billion unique addresses. In the early 1980s, that seemed impossibly large — far more addresses than there could ever be computers. By the mid-1990s it was obvious they had been wrong. The explosive growth of the internet, combined with inefficient early address allocations (organizations received enormous /8 blocks they would never fully use), made IPv4 exhaustion a certainty. The Internet Assigned Numbers Authority (IANA) distributed its last IPv4 address blocks to regional registries in February 2011.
The solution that bought the internet another two decades was Network Address Translation (NAT), defined in RFC 3022. NAT allows an entire organization — or an entire country — to use a small set of private IP address ranges internally, translating them to one or more public IP addresses when communicating with the outside world.
RFC 1918 Private Address Space
RFC 1918 reserves three address ranges specifically for private use. These addresses are not routable on the public internet — any router on the internet backbone that receives a packet with a private source or destination address is expected to drop it. The private ranges are:
| Range | CIDR Notation | Subnet Mask | Total Addresses | Typical Use |
|---|---|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 255.0.0.0 | 16,777,216 | Large enterprises, data centers |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 255.240.0.0 | 1,048,576 | Medium enterprises |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 255.255.0.0 | 65,536 | Home networks, small offices |
Because these ranges are non-routable on the internet, millions of different organizations can use the same private addresses simultaneously without conflict. Your home network at 192.168.1.0/24 and your employer's network at 192.168.1.0/24 can both exist simultaneously — NAT ensures that when either network communicates with the internet, the private addresses are translated to unique public addresses.
Secondary Benefits of NAT
Beyond address conservation, NAT offers some secondary advantages:
- Security through obscurity: External hosts cannot directly initiate connections to internal hosts because the private IP addresses are hidden. Unsolicited inbound traffic is dropped by default since there is no translation entry for it. This is not a replacement for a proper firewall, but it does provide a basic layer of protection.
- Internal renumbering flexibility: If your organization switches ISPs and receives a different public IP block, you only need to change NAT pool addresses — all internal hosts keep their private IPs unchanged. Without NAT, renumbering every host would be a significant project.
- Provider independence: Organizations using private addressing can maintain the same internal addressing scheme regardless of which ISP they use.
Drawbacks of NAT
NAT is not without significant problems. Engineers and architects should understand these tradeoffs:
- Breaks end-to-end connectivity: The fundamental design principle of the internet is that any host can communicate directly with any other host. NAT violates this. Hosts behind NAT cannot receive unsolicited inbound connections without special configuration (port forwarding). Peer-to-peer applications, VoIP, and online gaming all struggle with NAT.
- Protocol incompatibility: Some protocols embed IP addresses inside the application payload (not just in the IP header). FTP active mode, SIP (Session Initiation Protocol for VoIP), and H.323 all do this. A NAT device that translates the IP header does not automatically update the embedded addresses, breaking these protocols. Application Layer Gateways (ALGs) are required to handle them.
- Performance overhead: Every packet must have its IP address (and sometimes port number) rewritten. On high-throughput links, this processing load is measurable. Modern hardware NAT implementations mitigate this, but it remains a theoretical concern at very high traffic volumes.
- Troubleshooting complexity: When a problem occurs, you must track whether the issue is on the inside (private) or outside (public) side of the NAT boundary. The same connection appears with different IP addresses on each side, making end-to-end troubleshooting with tools like ping and traceroute more difficult.
Key Point: NAT Is a Temporary Solution
RFC 1918 and NAT were explicitly designed as short-term workarounds to give the internet community time to deploy IPv6. More than 25 years later, NAT is still ubiquitous because IPv6 adoption has been slower than anticipated. For the CCNA exam and for real-world networking, you must thoroughly understand NAT because it is present in virtually every network you will ever work on.
2. NAT Terminology: The Four Address Types
NAT terminology is one of the most frequently tested and most frequently confused topics in CCNA. Cisco uses four specific terms to describe addresses in a NAT environment, and many students mix them up on the exam. Let's break this down carefully.
The terminology is built around two dimensions: location (inside or outside the NAT boundary) and scope of meaningfulness (local scope or global/public scope).
| Term | Definition | Example Address | Where It Appears |
|---|---|---|---|
| Inside Local | The private IP address assigned to an internal host. This is the actual address configured on the device. | 192.168.1.10 | Source IP in packets on the LAN (before NAT) |
| Inside Global | The public IP address that represents the internal host when seen from the outside internet. | 203.0.113.5 | Source IP in packets on the WAN (after NAT) |
| Outside Local | The IP address of an external host as seen from inside the network. Usually the same as Outside Global (NAT is not translating the destination). | 8.8.8.8 | Destination IP in packets on the LAN side |
| Outside Global | The actual public IP address of the external host as it is known on the internet. | 8.8.8.8 | Destination IP in packets on the WAN side |
How to Remember the Terminology
Here is the mental model that makes this click: Think of "inside" and "outside" as your physical location — are you standing inside the private network or outside on the public internet? Think of "local" and "global" as which address is meaningful from where you are standing.
Memory Aid: The Two Questions
Question 1: Inside or Outside? — Is this host on the private (inside) network or the public (outside) internet?
Question 2: Local or Global? — Is this the address as seen from the local/private side, or as seen from the global/public internet?
Most standard NAT does not translate outside addresses, so Outside Local = Outside Global. The address you care most about is Inside Global — this is the public IP that Cisco IOS will show you in the translation table as the translated address.
Packet Flow Walkthrough
Follow a packet from an internal PC (192.168.1.10) to Google DNS (8.8.8.8) through a NAT router:
Exam Tip: Inside Local vs Inside Global
The CCNA exam loves to present a scenario and ask you to identify which type of address a given IP is. The most important distinction: Inside Local = private RFC 1918 address of your internal host. Inside Global = the public IP address that your internal host appears to be using when seen from the internet. Get these two right and the others follow naturally.
3. Static NAT: One-to-One Permanent Mapping
Static NAT creates a permanent, one-to-one mapping between a single inside local address and a single inside global address. This mapping exists regardless of whether any traffic is flowing — it never expires and never changes. Static NAT is essential when you need internal servers to be reachable from the internet, because external hosts need a predictable, permanent public IP address to connect to.
Use Cases for Static NAT
- Web servers: Your web server at 192.168.1.10 needs to be reachable from anyone on the internet. Static NAT gives it a permanent public IP.
- Mail servers: SMTP requires a reliable, known IP address for mail delivery and reverse DNS records. Static NAT provides this stability.
- FTP servers: File servers that must accept inbound connections need a fixed public address.
- Any service that accepts inbound connections: If external clients initiate connections to your service, you need static NAT (or port forwarding, which is a variation).
Static NAT Configuration
The configuration requires two components: the translation statement itself and the interface designations telling the router which interfaces are "inside" and which are "outside." Without the interface designations, NAT will not function.
Understanding Static NAT Output
After configuring static NAT, the translation entry is immediately visible in the NAT table even with no active traffic, because it is permanent. Here is what the verification output looks like:
Key Point: Static NAT Requires Public IP Per Host
Static NAT consumes one public IP address for each internal host being mapped. If your ISP gives you a block of 8 public IPs (/29 subnet), you can statically map at most 8 internal hosts (minus network and broadcast addresses, fewer). For most organizations, PAT (discussed in Section 5) is far more efficient. Static NAT is used specifically when a server must be reachable from the internet at a fixed address.
4. Dynamic NAT: Pool-Based Translation
Dynamic NAT assigns public IP addresses from a defined pool to internal hosts on a first-come, first-served basis. Unlike static NAT, these mappings are created dynamically when a host initiates outbound traffic and are removed after the translation times out. If all pool addresses are in use when a new host tries to initiate a connection, that connection will fail — dynamic NAT does not provide the unlimited scalability that PAT does.
When Dynamic NAT Is Appropriate
Dynamic NAT sits between static NAT and PAT in terms of address efficiency. It is appropriate when:
- You have more internal hosts than public IPs, but not dramatically more
- Not all internal hosts need internet access simultaneously
- You need unique public IPs per active session (some security policies require this)
- Certain applications require one-to-one IP mapping without port translation
Dynamic NAT Configuration
Dynamic NAT requires three components: a pool defining the available public IPs, an ACL defining which inside hosts can be translated, and a statement connecting the ACL to the pool.
Dynamic NAT Timeout Behavior
Dynamic NAT entries are not permanent. They time out after a period of inactivity. Default timeout values:
| Translation Type | Default Timeout | Configuration Command |
|---|---|---|
| TCP translations | 86,400 seconds (24 hours) | ip nat translation tcp-timeout [seconds] |
| UDP translations | 300 seconds (5 minutes) | ip nat translation udp-timeout [seconds] |
| ICMP translations | 60 seconds | ip nat translation icmp-timeout [seconds] |
| DNS translations | 60 seconds | ip nat translation dns-timeout [seconds] |
| Generic (all others) | 86,400 seconds | ip nat translation timeout [seconds] |
Exam Tip: Pool Exhaustion
A critical limitation of dynamic NAT (without overload) is pool exhaustion. If your pool contains 10 public IPs and 11 hosts simultaneously try to reach the internet, the 11th host gets no translation and its traffic is dropped silently. This is one of the main reasons PAT (NAT overload) is far more common in real deployments. The CCNA exam may present a scenario where hosts cannot reach the internet and ask you to diagnose — pool exhaustion is a valid answer.
5. PAT: Port Address Translation (NAT Overload)
Port Address Translation (PAT), also called NAT Overload, is by far the most commonly deployed form of NAT. PAT allows hundreds or thousands of internal hosts to share a single public IP address simultaneously, using TCP/UDP port numbers to track and differentiate individual sessions. Every internet connection you make at home uses PAT — your home router has one public IP address from your ISP, yet every device in your home can simultaneously access the internet.
How PAT Works
When an inside host initiates a connection, PAT records the inside local IP and source port, assigns an inside global IP (the public IP) with a unique translated port number, and stores this mapping in the NAT table. Return traffic is matched against this table to determine which inside host should receive it.
TCP and UDP port numbers range from 0 to 65,535. PAT uses ports 1024 through 65,535 for translated sessions, providing over 64,000 possible simultaneous sessions per public IP address. For practical purposes, PAT effectively provides unlimited scalability for typical office or home use.
PAT Configuration: Two Methods
There are two common ways to configure PAT. The most common in small-to-medium deployments uses the WAN interface IP address directly, which is ideal when your ISP assigns you a single dynamic IP via DHCP.
Key Point: The "overload" Keyword Is Everything
The single word "overload" at the end of the ip nat inside source command is what distinguishes PAT from dynamic NAT. Without "overload," you get dynamic NAT (one public IP per active session, pool exhaustion is possible). With "overload," you get PAT (many sessions per public IP, port numbers used for demultiplexing). This distinction is absolutely critical for the CCNA exam.
Exam Tip: PAT = NAT Overload
Cisco documentation and the CCNA exam use both terms: PAT and NAT Overload. They are exactly the same thing. When you see a NAT configuration command ending in "overload," that is PAT. When a question asks about PAT, they are asking about NAT Overload. Never confuse these — they are synonymous in Cisco terminology.
6. The NAT Translation Table Explained
The NAT translation table is the heart of NAT operation. Every translation the router performs is recorded here, and every return packet is matched against this table to determine its correct inside destination. Understanding how to read and interpret this table is essential for both the CCNA exam and real-world troubleshooting.
Reading show ip nat translations
The command show ip nat translations displays all current entries in the NAT table. Here is a comprehensive example showing all three types of NAT entries simultaneously:
Entry Types and Their Characteristics
| Entry Type | Protocol Column | Ports Shown | Persistence | Created By |
|---|---|---|---|---|
| Static NAT | --- (dashes) | No ports | Permanent, never expires | Manual configuration |
| Dynamic NAT | --- (dashes) | No ports | Times out after inactivity | First packet from inside host |
| PAT (TCP) | tcp | Both local and global ports | 86,400 second default timeout | First TCP packet from inside host |
| PAT (UDP) | udp | Both local and global ports | 300 second default timeout | First UDP packet from inside host |
| PAT (ICMP) | icmp | ICMP identifier used as port | 60 second default timeout | ICMP echo request from inside host |
Managing the Translation Table
Exam Tip: Interpreting Hits and Misses
In the show ip nat statistics output, "Hits" counts packets that matched an existing translation entry (the common case). "Misses" counts packets that did not match an existing entry and triggered a new translation to be created. A high miss count relative to hits can indicate issues like short timeouts causing frequent re-translation. Misses are normal — every new connection from a new host increments the miss counter before creating a new entry.
7. Complete Working Configuration Example
This section presents a complete, production-ready PAT configuration for a small office environment. This configuration includes all the components you would deploy in a real network and represents what you should be able to reproduce from memory for the CCNA exam.
Network Scenario
A small office has 50 workstations on the 192.168.1.0/24 subnet. The ISP has provided a /30 subnet (203.0.113.4/30) for the WAN link, giving the router a single public-facing IP address (203.0.113.5). All 50 workstations must be able to access the internet simultaneously using PAT. One internal web server (192.168.1.50) must be reachable from the internet via static NAT on the same router.
Port Forwarding: A Variation of Static NAT
Port forwarding (also called static NAT with port translation) is commonly used to host services from a single public IP address. The syntax allows you to map a specific port on the outside IP to a specific port on an inside host:
8. Troubleshooting NAT
NAT troubleshooting is methodical when you know where to look. Most NAT failures fall into a small number of categories. Developing a systematic approach will save you hours of frustration both on the exam and in real production environments.
The Most Common NAT Mistakes
Mistake #1: Missing ip nat inside / ip nat outside
This is the single most common NAT misconfiguration. Without these commands on the correct interfaces, the router does not know which interfaces define the NAT boundary and will not translate any traffic. Always verify with: show ip interface [interface] | include NAT.
Mistake #2: ACL Does Not Match Inside Hosts
If the ACL referenced in the NAT statement does not permit the source addresses of your inside hosts, no translation occurs and the traffic is simply forwarded (or dropped if there is no route). Check with show access-lists and verify match counts are incrementing when inside hosts send traffic.
Mistake #3: Missing Default Route
NAT performs the address translation, but the translated packet still needs a route to reach its destination. Without a default route (or specific routes) pointing toward the internet, translated packets are dropped. Always verify routing with show ip route.
Mistake #4: Pool Exhaustion (Dynamic NAT)
In dynamic NAT (without overload), when all pool addresses are in use, new translation requests fail silently. Check show ip nat statistics for pool utilization and show ip nat translations to count active entries versus pool size.
Mistake #5: ip nat inside on the Wrong Interface
Applying "ip nat inside" to the WAN interface and "ip nat outside" to the LAN interface reverses the NAT direction completely. Traffic will not be translated correctly. The inside interface always faces your private network; the outside interface always faces the public internet.
Troubleshooting Commands and Their Output
Exam Tip: Debugging NAT Safely
The CCNA exam may ask about NAT debugging commands. Know that debug ip nat shows translations as they occur and that the asterisk (*) before NAT in the output indicates the packet was translated. In a real production environment, always use debug commands with extreme caution — on a busy router, debug ip nat can generate thousands of messages per second and cause significant CPU spikes. Always use terminal monitor if debugging from a Telnet/SSH session, and always turn off debugging with undebug all when finished.
9. NAT64 and IPv6 Transition
As IPv6 deployment continues to grow, the networking industry faces an extended transition period during which both IPv4 and IPv6 networks must coexist and communicate. NAT64 is one of the mechanisms designed to bridge this gap.
What Is NAT64
NAT64 is defined in RFC 6146 and allows IPv6-only clients to communicate with IPv4-only servers. A NAT64 gateway sits at the boundary between an IPv6 network and the IPv4 internet. When an IPv6 client sends a packet destined for an IPv4 server, the NAT64 device translates the IPv6 packet headers to IPv4 headers (and vice versa for return traffic). NAT64 is typically combined with DNS64 (RFC 6147), which synthesizes AAAA (IPv6) DNS records for IPv4-only servers by embedding the IPv4 address within a special IPv6 prefix.
IPv6 and the End of NAT
IPv6 with its 128-bit address space provides approximately 3.4 × 10^38 addresses — enough to assign billions of unique addresses to every person on Earth, with addresses left over. With IPv6, every device can have a globally unique, routable public IP address. There is no address exhaustion problem, and therefore no technical need for NAT.
This is why IPv6 restores the original end-to-end connectivity model of the internet. An IPv6 host can be directly reachable from anywhere in the world without address translation. Security is enforced by firewalls and stateful packet inspection, not by the ambiguity of private addressing.
However, NAT has indirectly slowed IPv6 adoption. Because NAT solved the immediate pain of IPv4 exhaustion, organizations feel less pressure to migrate to IPv6. Many argue that NAT has become so embedded in network architectures, security models, and engineer mindsets that its influence will persist even after IPv6 becomes the predominant protocol. For network engineers, this means NAT knowledge will remain relevant for at least another decade.
Key Point: IPv6 Does Not Need NAT
For the CCNA exam, understand that NAT was a workaround for IPv4 address exhaustion and that IPv6 eliminates the need for NAT by providing a sufficiently large address space for every device to have a unique public IP. IPv6 also supports ULA (Unique Local Addresses, fc00::/7) which are analogous to RFC 1918 private addresses, but their use with NAT is discouraged — instead, firewall policies provide security.
10. CCNA Exam Tips for NAT
NAT is a significant topic in the CCNA 200-301 exam, particularly under the IP Services domain. Here is a focused review of exactly what you need to know and the most likely question types.
Must-Know Facts
- Four address types: Inside Local (private IP of inside host), Inside Global (public IP representing inside host), Outside Local (external host IP as seen from inside — usually same as Outside Global), Outside Global (actual public IP of external host).
- Three NAT types: Static (permanent 1:1), Dynamic (pool-based), PAT/NAT Overload (many-to-one using ports).
- PAT = NAT Overload: These are exactly the same thing. The "overload" keyword enables PAT.
- Interface commands:
ip nat insideon the private-facing interface,ip nat outsideon the public-facing interface. Both are required. - Verification:
show ip nat translationsshows the NAT table.show ip nat statisticsshows counts and pool usage. - Clear command:
clear ip nat translation *removes all dynamic entries (static entries remain). - RFC 1918 ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — memorize these.
Exam Tip: Configuration Identification Questions
A common exam question type shows you a NAT configuration and asks what type it is, or shows you a flawed configuration and asks what is wrong. Practice identifying: (1) Is "overload" present? If yes, it is PAT. (2) Is a pool defined? If yes with no overload, it is dynamic NAT. (3) Is it a static mapping between two specific IPs? Then it is static NAT. (4) Are "ip nat inside" and "ip nat outside" on the correct interfaces? Swapped designations are a favorite distractor.
Exam Tip: Scenario-Based Troubleshooting
The CCNA exam frequently presents a network scenario with a broken NAT configuration and asks you to identify the problem. Always check these in order: (1) Are the interface NAT designations correct and present? (2) Does the ACL match the inside hosts? (3) Is there a default route for translated traffic to follow? (4) For dynamic NAT, is the pool large enough? These four checks resolve the vast majority of NAT problems on the exam and in real life.
Exam Tip: Reading the NAT Table
Be ready to look at a show ip nat translations output and answer questions about it. Know that static entries have "---" in the Pro column and no ports. PAT entries show "tcp" or "udp" and include port numbers in the Inside Global and Inside Local columns. The format is IP:port for PAT entries. Practice reading these tables until you can instantly identify the inside local IP from any entry.