Understanding NAT and the Shift to IPv6

Dec 17, 2024

Lecture Notes: Network Address Translation (NAT) and IPv6

Introduction

  • Discussion on the limitations of IPv4 addressing due to 32-bit space.
  • Origins of Network Address Translation (NAT) and IPv6 in the 1990s.
  • Address exhaustion concern was a key motivator.
  • NAT and IPv6 offer various advantages and are widely deployed.

Network Address Translation (NAT)

How NAT Works

  • Devices within a local network use private IP addresses.
  • Communication within the network uses these private addresses.
  • For outside communication, NAT comes into play.
  • All outgoing datagrams from devices in the network use the same 32-bit IP address.

Private IP Address Ranges

  • Three private IP address ranges are used.
  • Commonly seen in home, institutional, and cellular networks.

Advantages of NAT

  • Single 32-bit source IP for all outgoing datagrams.
  • Flexibility in changing local addresses without external notification.
  • ISP changes do not require address changes within the local network.
  • Security benefits: internal devices are not directly visible to the outside world.

Implementation of NAT

  • Outgoing datagrams: Replace source IP and port with NAT IP and new source port.
  • NAT translation table: Stores mapping of local source IP/port to NAT IP/new source port.
  • Incoming datagrams: Replace destination IP and port with those from NAT table.

Example

  • Demonstration with NAT address 138.76.29.7.
  • Steps showing how datagrams are handled and translated.

Controversies and Challenges

  • Initially controversial due to its interference with port numbers.
  • NAT traversal is challenging when external hosts initiate contact.
  • Despite drawbacks, NAT is widely used.

IPv6

Motivation

  • Larger 128-bit address space to address IPv4 exhaustion.
  • Other motivations: need for fast processing, improved flow handling.

Innovations in IPv6

  • Simplified IP forwarding by eliminating variable length headers, checksums.
  • Introduces flow label for flow-based services.

IPv6 Datagram Format

  • 128-bit source and destination addresses.
  • 16-bit flow label field for flow identification.
  • 8-bit traffic class field for prioritization.

Fields Removed in IPv6

  • No checksum, fragmentation/reassembly, or options fields.
  • Fixed length header for faster processing.

Transition from IPv4 to IPv6

  • Coexistence of both protocols during transition.
  • Use of tunneling to allow interoperation.

Tunneling Technique

  • IPv6 datagram encapsulated within an IPv4 datagram.
  • Used to connect IPv6 routers over an IPv4 network.

Example of Tunneling

  • Description of the process with routers supporting IPv6 and IPv4.
  • Demonstration of datagram forwarding through a mixed network.

Current Deployment of IPv6

  • 30% of Google’s clients use IPv6.
  • One-third of U.S. government domains support IPv6.
  • NAT deployment reduces IPv6 adoption urgency.

Application Layer Innovation vs. Network Layer Changes

  • Rapid application layer changes contrast with slower network layer shifts.

Conclusion

  • Covered IPv4, NAT, and IPv6 in-depth.
  • Set the stage for generalized forwarding and software-defined networking discussions.