IPv6 Address


  • pool of available IPv4 public addresses is not very large, compared to the number of devices that need to connect to the Internet
  • IP version 6 (IPv6) is intended to replace IPv4 completely

IPv6 address is a 128-bit number and so can express exponentially more address values than the 32-bit number used in IPv4

IPv6 Notation

  • written in hexadecimal notation
  • One hex digit can represent a four-bit binary value (a nibble)
  • To express a 128-bit IPv6 address in hex, the binary address is divided into eight double-byte (16-bit) values delimited by colons
    • E.g., 2001:0db8:0000:0000:0abc:0000:def0:1234
  • To shorten how this is written and typed:
    • where a double byte contains leading zeros, they can be ignored
    • one contiguous series of zeroes can be replaced by a double colon place marker
    • E.g., above becomes 2001:db8::abc:0:def0:1234

IPv6 Network Prefixes

  • An IPv6 address is divided into two main parts:
    • first 64 bits are used as a network ID
    • the second 64 bits designate a specific interface

  • no need for a subnet mask
    • because the network and host portions are fixed size
  • network addresses are written using prefix notation
    • where /nn is the length of the routing prefix in bits
    • in the 64-bit network id, the length of any given network prefix is used to determine whether two addresses belong to the same IP network

Example

  • most ISPs receive allocations of /32 blocks and issue each customer with a /48 prefix for use on a private network
  • A /48 block allows the private network to be configured with up to 65,336 subnets
  • in IPv4, hosts generally have a single IP address per interface
  • IPv6 interfaces are more likely to be configured with multiple addresses
    • main types are global and link-local:
      • global address
        • is one that is unique on the Internet (equivalent to public addresses in IPv4)
        • In hex notation, a global address starts with a 2 or with a 3
      • link-local
        • used on the local segment to communicate with neighbor hosts
        • In hex notation, link-local addresses start with fe80::
  • most hosts obtain a global and link-local address via the local router
    • process is referred to as StateLess Address Auto Configuration (SLAAC)
  • IPv6 hosts do not need to be configured with a default gateway
    • IPv6 uses a protocol called Neighbor Discovery (ND)
      • used to implement SLAAC
      • allows a host to discover a router
      • performs the interface address querying functions performed by ARP in IPv4

Dual Stack

  • transitioning from IPv4 has proved enormously difficult
  • so, most hosts and routers can operate both IPv4 and IPv6 at the same time
    • referred to as dual stack
  • a host will default to attempting to establish an IPv6 connection and fall back to IPv4 if the destination host does not support IPv6