NAT and PAT Explained: Network Address Translation for CCNA Students

Published February 27, 2026  •  By Zack M.  •  18 min read  •  CCNA 200-301 Topic: IP Services

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:

Drawbacks of NAT

NAT is not without significant problems. Engineers and architects should understand these tradeoffs:

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:

Inside PC sends packet: Source IP: 192.168.1.10 (Inside Local) Destination IP: 8.8.8.8 (Outside Local = Outside Global) NAT Router performs translation: Rewrites source from 192.168.1.10 to 203.0.113.5 Creates entry in NAT table Packet leaves WAN interface toward internet: Source IP: 203.0.113.5 (Inside Global) Destination IP: 8.8.8.8 (Outside Global) Return packet from Google: Source IP: 8.8.8.8 (Outside Global) Destination IP: 203.0.113.5 (Inside Global) NAT Router reverses translation: Rewrites destination from 203.0.113.5 to 192.168.1.10 Packet delivered to inside PC: Source IP: 8.8.8.8 (Outside Local) Destination IP: 192.168.1.10 (Inside Local)

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

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.

! Step 1: Define the static one-to-one mapping ! Syntax: ip nat inside source static [inside-local] [inside-global] ip nat inside source static 192.168.1.10 203.0.113.10 ! Step 2: For additional servers, add more static mappings ip nat inside source static 192.168.1.20 203.0.113.11 ip nat inside source static 192.168.1.30 203.0.113.12 ! Step 3: Designate inside interface (faces the private network) interface GigabitEthernet0/0 description LAN Interface - Private Network ip address 192.168.1.1 255.255.255.0 ip nat inside no shutdown ! Step 4: Designate outside interface (faces the internet/ISP) interface GigabitEthernet0/1 description WAN Interface - ISP Connection ip address 203.0.113.1 255.255.255.252 ip nat outside no shutdown ! Step 5: Verify translations show ip nat translations show ip nat statistics

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:

Router# show ip nat translations Pro Inside global Inside local Outside local Outside global --- 203.0.113.10 192.168.1.10 --- --- --- 203.0.113.11 192.168.1.20 --- --- ! When a host is actively connected, you will see the full four-address entry: Pro Inside global Inside local Outside local Outside global tcp 203.0.113.10:80 192.168.1.10:80 8.8.8.8:54231 8.8.8.8:54231 Router# show ip nat statistics Total active translations: 2 (2 static, 0 dynamic; 0 extended) Outside interfaces: GigabitEthernet0/1 Inside interfaces: GigabitEthernet0/0 Hits: 47 Misses: 0

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:

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.

! Step 1: Define the pool of available public IP addresses ! Syntax: ip nat pool [name] [start-ip] [end-ip] netmask [mask] ip nat pool PUBLIC_POOL 203.0.113.20 203.0.113.30 netmask 255.255.255.0 ! This pool contains 11 public IPs (203.0.113.20 through 203.0.113.30) ! Only 11 inside hosts can have active NAT sessions simultaneously ! Step 2: Define which inside hosts are permitted to use NAT ! Standard ACL - matches source addresses of inside hosts access-list 1 permit 192.168.1.0 0.0.0.255 ! This permits all hosts in the 192.168.1.0/24 network ! Step 3: Connect the ACL to the pool ! Syntax: ip nat inside source list [acl] pool [pool-name] ip nat inside source list 1 pool PUBLIC_POOL ! Step 4: Configure interfaces (same as static NAT) interface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.0 ip nat inside interface GigabitEthernet0/1 ip address 203.0.113.19 255.255.255.0 ip nat outside ! Verification show ip nat translations show ip nat statistics

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.

Inside Host A: 192.168.1.10, source port 52341 Inside Host B: 192.168.1.20, source port 52341 <-- same port, different host Inside Host C: 192.168.1.30, source port 52342 After PAT translation (all sharing public IP 203.0.113.5): Host A session: 203.0.113.5:10001 --> destination Host B session: 203.0.113.5:10002 --> destination Host C session: 203.0.113.5:10003 --> destination The router maintains this mapping table: Inside Local | Inside Global | Outside 192.168.1.10:52341 | 203.0.113.5:10001 | 8.8.8.8:443 192.168.1.20:52341 | 203.0.113.5:10002 | 8.8.8.8:443 192.168.1.30:52342 | 203.0.113.5:10003 | 1.1.1.1:53

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.

! ===================================================== ! METHOD 1: PAT using the WAN interface IP (most common) ! Ideal for single public IP assigned by ISP ! ===================================================== ! ACL to match inside hosts that can be translated access-list 1 permit 192.168.1.0 0.0.0.255 ! PAT using whatever IP is on GigabitEthernet0/1 ! The "overload" keyword is what makes this PAT instead of dynamic NAT ip nat inside source list 1 interface GigabitEthernet0/1 overload ! Interface configurations interface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.0 ip nat inside interface GigabitEthernet0/1 ip address dhcp ! or a static ISP-assigned IP ip nat outside ! ===================================================== ! METHOD 2: PAT using a pool of addresses with overload ! Used when you have multiple public IPs but want PAT ! ===================================================== ! Define pool (even one IP is sufficient for PAT) ip nat pool PAT_POOL 203.0.113.1 203.0.113.1 netmask 255.255.255.252 ! Connect ACL to pool WITH overload keyword ip nat inside source list 1 pool PAT_POOL overload

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:

Router# show ip nat translations Pro Inside global Inside local Outside local Outside global --- 203.0.113.10 192.168.1.10 --- --- --- 203.0.113.11 192.168.1.20 --- --- tcp 203.0.113.5:10023 192.168.1.100:54291 8.8.8.8:443 8.8.8.8:443 tcp 203.0.113.5:10024 192.168.1.101:49823 172.217.5.110:443 172.217.5.110:443 udp 203.0.113.5:10025 192.168.1.100:53741 1.1.1.1:53 1.1.1.1:53 icmp 203.0.113.5:4 192.168.1.102:4 8.8.8.8:4 8.8.8.8:4 Column Meanings: Pro = Protocol (tcp, udp, icmp, or --- for static) Inside global = Public IP:port as seen from the internet Inside local = Private IP:port of the internal host Outside local = External server IP as seen from inside (usually = Outside global) Outside global= External server's actual public IP

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

! Clear all dynamic NAT entries (static entries remain) clear ip nat translation * ! Clear a specific dynamic entry by protocol and addresses clear ip nat translation tcp inside 192.168.1.100 54291 outside 8.8.8.8 443 ! Show verbose output including timers and interface info show ip nat translations verbose ! Show statistics (hits, misses, pool usage) show ip nat statistics ! Sample statistics output: Router# show ip nat statistics Total active translations: 6 (2 static, 4 dynamic; 4 extended) Peak translations: 24, occurred 00:15:32 ago Outside interfaces: GigabitEthernet0/1 Inside interfaces: GigabitEthernet0/0 Hits: 2847 Misses: 12 CEF Translated packets: 2835, CEF Punted packets: 12 Expired translations: 18 Dynamic mappings: -- Inside Source [Id: 1] access-list 1 interface GigabitEthernet0/1 refcount 4

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.

! ============================================================ ! COMPLETE SMALL OFFICE NAT CONFIGURATION ! Topology: LAN (192.168.1.0/24) --> Router --> ISP ! PAT for all workstations + Static NAT for web server ! ============================================================ ! --- INTERFACE CONFIGURATION --- interface GigabitEthernet0/0 description LAN - Inside Network ip address 192.168.1.1 255.255.255.0 ip nat inside no shutdown ! interface GigabitEthernet0/1 description WAN - ISP Connection (Outside) ip address 203.0.113.5 255.255.255.252 ip nat outside no shutdown ! --- ROUTING --- ! Default route pointing to ISP gateway ! Without this, NAT translated packets have nowhere to go ip route 0.0.0.0 0.0.0.0 203.0.113.6 ! --- NAT ACCESS CONTROL LIST --- ! Extended ACL 100: match all traffic from the inside network ! Using "any" as destination lets us catch all outbound traffic access-list 100 permit ip 192.168.1.0 0.0.0.255 any ! --- STATIC NAT FOR WEB SERVER --- ! Web server at 192.168.1.50 maps to public IP 203.0.113.5 ! Note: this requires ISP to route a separate public IP to us ! Or we use port forwarding (ip nat inside source static tcp) ip nat inside source static 192.168.1.50 203.0.113.10 ! Alternative: Port forwarding (forward only TCP port 80 to web server) ! This allows the web server to share the WAN interface IP ip nat inside source static tcp 192.168.1.50 80 203.0.113.5 80 ! --- PAT FOR ALL WORKSTATIONS --- ! All traffic matching ACL 100 gets PAT using WAN interface IP ip nat inside source list 100 interface GigabitEthernet0/1 overload ! ============================================================ ! VERIFICATION COMMANDS ! ============================================================ ! View current translations show ip nat translations ! View NAT statistics (hits, misses, pool usage) show ip nat statistics ! Ping test from inside host and verify translation appears ! (Run on router with extended ping sourced from inside) ! View all NAT-enabled interfaces show ip interface GigabitEthernet0/0 | include NAT show ip interface GigabitEthernet0/1 | include NAT

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:

! Forward HTTP (port 80) to web server at 192.168.1.50 ip nat inside source static tcp 192.168.1.50 80 203.0.113.5 80 ! Forward HTTPS (port 443) to same web server ip nat inside source static tcp 192.168.1.50 443 203.0.113.5 443 ! Forward SSH (port 22) to management server at 192.168.1.100 ip nat inside source static tcp 192.168.1.100 22 203.0.113.5 2222 ! External users SSH to 203.0.113.5 port 2222, get forwarded to .100 port 22 ! Forward DNS to internal DNS server ip nat inside source static udp 192.168.1.200 53 203.0.113.5 53

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

! ==================================================== ! STEP 1: Verify interfaces are correctly designated ! ==================================================== show ip interface GigabitEthernet0/0 ! Look for: "NAT: Inside" in output show ip interface GigabitEthernet0/1 ! Look for: "NAT: Outside" in output ! ==================================================== ! STEP 2: Verify ACL matches are occurring ! ==================================================== show access-lists 100 ! Look for incrementing "matches" count when hosts send traffic ! Extended IP access list 100 ! 10 permit ip 192.168.1.0 0.0.0.255 any (47 matches) ! ==================================================== ! STEP 3: Check the translation table ! ==================================================== show ip nat translations ! If table is empty when hosts should be translating: ! - Check step 1 and 2 above ! - Verify traffic is actually arriving on inside interface ! ==================================================== ! STEP 4: Check statistics for clues ! ==================================================== show ip nat statistics ! "Misses" that do not result in table entries = ACL deny ! Pool exhaustion shown under Dynamic mappings section ! ==================================================== ! STEP 5: Use debug for real-time visibility (use carefully!) ! ==================================================== debug ip nat ! Shows each translation as it happens ! CAUTION: High CPU impact on busy routers ! Example output: ! *Feb 27 10:15:42.123: NAT: s=192.168.1.10->203.0.113.5, d=8.8.8.8 [1234] ! *Feb 27 10:15:42.456: NAT*: s=8.8.8.8, d=203.0.113.5->192.168.1.10 [1234] debug ip nat detailed ! More verbose - shows why translations are NOT happening ! Turn off debug when done no debug ip nat ! or undebug all

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.

DNS64 + NAT64 Workflow: 1. IPv6-only client queries DNS for "example.com" 2. DNS64 resolver checks: does example.com have AAAA record? NO 3. DNS64 synthesizes a AAAA record: 64:ff9b::93.184.216.34 (The IPv4 address 93.184.216.34 embedded in the Well-Known Prefix) 4. Client sends IPv6 packet to 64:ff9b::93.184.216.34 5. NAT64 gateway receives packet, extracts IPv4 address (93.184.216.34) 6. NAT64 creates IPv4 packet and forwards to 93.184.216.34 7. IPv4 server responds to NAT64 gateway's IPv4 address 8. NAT64 translates response back to IPv6 and delivers to client IPv6 Client <--IPv6--> NAT64 Gateway <--IPv4--> IPv4 Server

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

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.

Quick Reference: NAT Commands Summary

! Static NAT ip nat inside source static [inside-local] [inside-global] ! Static NAT with port forwarding ip nat inside source static [tcp|udp] [inside-local] [port] [inside-global] [port] ! Dynamic NAT pool ip nat pool [name] [start] [end] netmask [mask] ! Dynamic NAT connection ip nat inside source list [acl] pool [name] ! PAT using pool ip nat inside source list [acl] pool [name] overload ! PAT using interface IP ip nat inside source list [acl] interface [int] overload ! Interface designation ip nat inside (on LAN-facing interface) ip nat outside (on WAN-facing interface) ! Verification show ip nat translations show ip nat translations verbose show ip nat statistics clear ip nat translation * debug ip nat undebug all
ZM

Written by Zack M. | IT Cert Bound

Zack holds the Cisco CCNA and CompTIA Network+ certifications and has worked as a network engineer for over 8 years. He built IT Cert Bound to give aspiring network professionals the free, high-quality study resources he wishes had existed when he was preparing for his own certifications.