www.howtonetwork.org

CCNA & CCNP Certifcation Training

  • About
  • Contact
  • FAQ
  • Join
  • Home
  • CCNA
    • ICND1
    • ICND2
    • 101 CCNA LABS
  • CCNP
    • ROUTE
    • SWITCH
    • TSHOOT
    • 101 CCNP LABS
  • CompTIA
    • Security+
    • Network+
  • Design
    • CCDA
    • CCDP
You are here: Home / Design / CCDA / Chapter 6: IP Addressing / IP Addressing – IPv6 Addressing

IP Addressing – IPv6 Addressing

The CCDA certification requires a high-level understanding of the IP version 6 (IPv6) specifications, addressing, and some of the design issues. The IPv6 protocol is based on RFC 2460. From a network design standpoint, the most important features offered by IPv6 are as follows:

  • 128-bit address space
  • Supports hierarchical addressing and auto-configuration
  • Every host can have a globally unique IPv6 address (no need for NAT)
  • Hosts can have multiple addresses (multihoming)
  • Efficient fixed header size for IPv6 packets
  • Enhanced security and privacy headers
  • Improved multicasting and QoS
  • Dedicated IPv6 routing protocols: RIPng, OSPFv3, Integrated IS-ISv6, and BGP4+
  • Every major vendor supports IPv6

IPv6 is a mechanism that was created to overcome the limitations of the current IPv4 standard. One of the major shortcomings of IPv4 is that it uses a 32-bit address space. Because of the classful system and the growth of the Internet, the 32-bit address space has proven to be insufficient.

The key factors that led to the evolution of IPv6 were large institutions, enterprises, and service providers that demanded a larger pool of IP addresses for different applications and services.

 

Address Representation, Types, and Allocations

IPv4 uses a 32-bit address space, which offers around 4.2 billion possible addresses, including multicast, experimental, and private addresses. The IPv6 address space is 128 bits, so it offers around 3.4 x 1038 possible addressable nodes. The address space is so large that there are about 5 x 1028 addresses for every person in the world. IPv6 also gives every user multiple global addresses that can be used for a wide variety of devices (e.g., PDAs, cell phones, and IP-enabled devices). The number of IPv6 addresses should last well into the future.

An IPv6 packet contains the following fields, as depicted in Figure 6.4 below:

94

Figure 6.4 – IPv6 Packet Fields

Field

Size

Description

Version

4 bits

Identifies the IP version (it is 6 in this case)
Traffic Class

8 bits

Similar to the ToS byte in the IPv4 header, QoS marking functionality
Flow Label

20 bits

Used to identify and classify packet flows
Payload Length

16 bits

The size of the packet payload
Next Header

8 bits

Similar to the Protocol field in the IPv4 header, defines the type of traffic contained within the payload and which header to expect
Hop Limit

8 bits

Similar to the TTL field in the IPv4 header, prevents against endless loops
Source IP Address

128 bits

Source logical IPv6 address
Destination IP Address

128 bits

Destination logical IPv6 address
Data

Variable

Transport Layer data

 

The IPv4 header was important from a network design standpoint because many of the fields in the header were used for things such as QoS or protocol type. The IPv6 header offers additional functionality, even though some fields from the IPv4 header have been eliminated, such as the Fragment Offset field and the Flags field.

The Version field, as in the IPv4 header, gives information about the IP version. The Traffic Class field is used to tag the packet with the class of traffic it uses in its DiffServ mechanisms. IPv6 also adds a Flow Label field, which can be used for QoS mechanisms by tagging a flow. This can be used for multilayer switching techniques and will offer faster packet switching on the network devices. The Payload Length field is the same as the Total Length field in IPv4.

The Next Header field is an important one in IPv6. The value of this field determines the type of information that follows the basic IPv6 header. It can be a Transport Layer packet such as TCP or UDP or it can be designating as an extension header. The Next Header field is the equivalent of the Protocol field in IPv4. The Hop Limit field designates the maximum number of hops an IP packet can traverse. Each hop/router decrements this field by one, so this is similar to the TTL field in IPv4. There is no Checksum field in the IPv6 header, so the router can decrement the Hop Limit field without recalculating the checksum. Finally, there are 128 bits of source address and 128 bits of destination address.

In addition to these fields is any number of extension headers. The extension headers and the data portion of the packet will follow the eight fields presented above. The total length of the extension headers chain is variable because the number of extension headers is not fixed. There are different types of extension headers, such as the following:

  • Routing header
  • Fragmentation header
  • Authentication header
  • IPSec ESP header
  • Hop-by-Hop Options header

As mentioned, the IPv4 address is a string of 32 bits represented in four octets of 8 bits each using a dotted decimal format. IPv6, on the other hand, is a string of 128 bits represented in eight groups of 16 bits notated in a hexadecimal format (i.e., 16 bits separated by colons), for example:

2001:43aa:0000:0000:11b4:0031:0000:c110.

Considering the complex format of IPv6 addresses, some rules were developed in order to shorten them, including the following:

  • One or more successive 16-bit groups that consist of all zeros can be omitted and represented by two colons (::)
  • If a 16-bit group begins with one or more zeros, the leading zeros can be omitted

Considering the IPv6 address example above (2001:43aa:0000:0000:11b4:0031:0000:c110), here are its shortened representations:

2001:43aa::11b4:0031:0000:c110

2001:43aa::11b4:0031:0:c110

2001:43aa::11b4:31:0:c110

 

 

If you have a mixed IPv4 and IPv6 environment, the IPv4 address can be embedded in the IPv6 address, specifically in the last 32 bits.

The prefix portion in IPv6 is the number of contiguous bits that represent the network host. For example, the address 2001:0000:0000:0ABC:0000:0000:0000:0000/60 can be represented as 2001:0:0:ABC::/60.

Several types of IPv6 addresses are required for various applications, and some of these are different from IPv4 address types (i.e., unicast, multicast, and broadcast). The different types of IPv6 addresses are as follows:

  • Special multicast addresses are used instead of broadcast addressing
  • A new address type has been defined (anycast)

 

Address Type

Range

Description

Aggregatable Global Unicast

2000::/3

Public addresses, host-to-host communications; equivalent to IPv4 unicast
Multicast

FF00::/8

One-to-many and many-to-many communication; equivalent to IPv4 multicast
Anycast

Same as Unicast

Interfaces from a group of devices can be assigned the same anycast address; the device closest to the source will respond; application-based, including load balancing, optimization traffic for a particular service, and redundancy
Link-local Unicast

FE80::/10

Connected-link communications; assigned to all device interfaces and used only for local link traffic
Solicited-node Multicast

FF02::1:FF00:0/104

Neighbor solicitation

 

Anycast addresses are generally assigned to servers located in different geographical locations. By connecting to the anycast address, users will reach the closest server. Anycast addresses are also called one-to-nearest addresses. The IPv6 multicast address is a one-to-many address that identifies a set of hosts that will receive the packet. This is similar to an IPv4 Class D multicast address. IPv6 multicast addresses also supersede the broadcast function of IPv4 broadcast. IPv6 broadcast functionality is an all-nodes multicast behavior.

The following are well-known multicast addresses that should be remembered:

  • FF01::1 = all-nodes multicast address (broadcast)
  • FF02::2 = all-routers multicast address (used for the link-local address mechanism)

Another special IPv6 address is 0:0:0:0:0:0:0:1, which is the IPv6 loopback address equivalent to the 127.0.0.1 IPv4 loopback address. This can also be represented as ::1/128.

The link-local addresses are significant only to individual nodes on a single link. Routers forward packets with a link-local source or destination address beyond the local link. Link-local addresses can be configured automatically or manually. Global unicast addresses are globally unique and routable. Global unicast addresses are defined in RFC 2374 and RFC 3587.

95

Figure 6.5 – IPv6 Global Unicast Address Format

Examining the IPv6 global unicast address above in Figure 6.5, the first 23 bits represent the registry, the next 32 bits represent the ISP prefix, the next 48 bits are the site prefix, and /64 represents the subnet prefix. The remaining bits are allocated to the interface ID.

The global unicast address and the anycast address share the same format. The unicast address space actually allocates the anycast address. To devices that are not configured for anycast, these addresses will appear as unicast addresses.

IPv6 global unicast addressing allows aggregation upward to the ISP. A single interface may be assigned multiple addresses of any type (i.e., unicast, anycast, and multicast). However, every IPv6-enabled interface must have a loopback address and a link-local address.

IPv6 global unicast addresses are structured to facilitate aggregation and reduce their number in the global routing tables, as in IPv4. Global unicast addresses are defined by a global routing prefix, a subnet ID, and an Interface ID. Typically, a global unicast address is comprised of a 48-bit global routing prefix and a 16-bit subnet identifier.

 

IPv6 Mechanisms

There are different mechanisms and services available for IPv6, the most important of which are as follows:

  • ICMPv6
  • IPv6 ND protocol
  • Name resolution
  • MTU path discovery
  • DHCPv6
  • IPv6 security
  • IPv6 routing protocols

Internet Control Message Protocol (ICMP) was modified to be one of the most important mechanisms to support IPv6 functionality. ICMPv6 uses a next header number of 58. ICMP provides informational messages, such as Echo Request and Echo Reply, and error messages such as “Destination Unreachable”, “Packet too Big”, or “Time Exceeded”. IPv6 also uses ICMPv6 to determine important parameters, such as neighbor availability, Maximum Transmission Unit (MTU) path discovery, destination addresses, and port reachability.

IPv6 uses a Neighbor Discovery (ND) protocol (RFC 2461), unlike IPv4, which uses ARP. IPv6 hosts use ND to implement “plug and play” functionality and discover all other nodes on the same link. ND is also used in checking for duplicate addresses and finding the routers on a specific link.

ND goes beyond the capabilities of ARP and accomplishes the following actions:

  • Address configuration (a host can find its full address without using DHCP)
  • Duplicate Address Detection (DAD)
  • Prefix discovery
  • MTU link discovery
  • Hop count discovery
  • Address resolution
  • Router discovery
  • Determines the next hop
  • Neighbor reachability
  • Redirection

IPv4 performs name resolution by using A records in DNS. RFC 3596 offers a new DNS record type to support the transition to the IPv6 name resolution. This new record type is AAAA (Quad A). The AAAA record will return an IPv6 address based on a given domain name.

IPv6 does not allow packet fragmentation through the network (except for the source of the packet), so the MTU of every link in an IPv6 implementation must be 1,280 bytes or greater. The ICMPv6 “Packet too Big” error message determines the MTU path because nodes along the path will send this message to the sending hosts if the packet is larger than the outgoing MTU interface.

DHCPv6 is an updated version of DHCP that offers dynamic address assignment for version 6 hosts. DHCPv6 is described in RFC 3315 and provides the same functionality as DHCP; however, it offers more control by supporting renumbering without numbers.

IPv6 also features security mechanisms. Unlike IPv4, IPv6 natively supports IPSec (an open security framework) with two mechanisms: Authentication Header (AH) and Encapsulating Security Payload (ESP).

The following new routing protocols were developed for IPv6:

  • RIPng
  • Integrated IS-IS
  • EIGRP for IPv6
  • OSPFv3
  • BGP4 multiprotocol extensions for IPv6

 

IPv4 to IPv6 Transition

Because IPv6 almost always comes as an upgrade to the existing IPv4 infrastructure, IPv6 design and implementation considerations must include different transition mechanisms between these two protocol suites. The IPv4 to IPv6 transition can be very challenging, and during the transition period, it is very likely that both protocols will coexist on the network.

The designers of the IPv6 protocol suite suggest that IPv4 will not disappear soon; rather, it will coexist with IPv6 in combined addressing schemes.

One of the most important IPv4 to IPv6 transition mechanisms involves tunneling, and this can be implemented in the following flavors:

  • Static tunnels:
    • GRE (default tunnel mode)
    • IPv6IP (less overhead, no CLNS transport)
    • Automatic tunnels:
      • 6to4 (embeds IPv4 address into IPv6 prefix to provide automatic tunnel endpoint determination); automatically generates tunnels based on the utilized addressing scheme
      • ISATAP (automatic host-to-router and host-to-host tunneling)

96

Figure 6.6 – IPv6 over IPv4 Tunneling

Analyzing Figure 6.6 above, an IPv4 island contains two dual-stack routers that run both the IPv4 and IPv6 protocol stacks. These two routers will be able to support the transition mechanisms by tunneling IPv6 inside IPv4. The two routers also connect to an IPv6 island. In order to carry IPv6 traffic between the two edge islands, a tunnel between the two routers encapsulates IPv6 packets inside IPv4 packets. These packets are sent through the IPv4 cloud as regular IPv4 packets, and they are de-encapsulated when they reach the other end. In this way, an IPv6 packet generated in the left side of the network reaches a destination in the right side of the network. As you can see, it is very easy to tunnel IPv6 inside IPv4 using dual-stack routers at the edge of an IPv4 infrastructure.

Static tunneling methods are generally used when dealing with point-to-point links, while dynamic tunneling methods are better for point-to-multipoint connections.

Network Address Translation Protocol Translation (NAT-PT) is another technology that can be utilized to transition to an IPv6 network. NAT-PT is often confused with NAT but it is a completely different technology. Simple NAT can also be used in IPv6 but this is very rare, because IPv6 offers a very large address space and private addresses are not necessary. NAT-PT is another translation mechanism that will convert IPv4 addresses to IPv6 addresses dynamically, and vice versa.

Another static tunneling technology is IPv6IP, which encapsulates IPv4 packets directly into IPv6. This is also called manual tunneling. Another type of static tunnel that you can create is a Generic Routing Encapsulation (GRE) tunnel that encapsulates the IPv6 packets within a GRE packet. GRE tunneling is necessary when using special applications and services, such as the IS-IS routing protocol for IPv6.

Dynamic tunnel types include the 6to4 tunnel, which is appropriate when a group of destinations needs to be connected dynamically utilizing IPv6. Intra-Site automatic Tunnel Addressing Protocol (ISATAP) is a unique type of host-to-router dynamic tunnel, unlike the previously mentioned tunneling techniques, which are router to router. ISATAP allows hosts to get to their IPv6 default gateway dynamically.

 

 

IPv6 Compared to IPv4

A network designer should have a very clear picture of the advantages IPv6 has over IPv4. The enhancements of IPv6 can be summarized as follows:

  • IPv6 has expanded address space, from 32 bits (IPv4) to 128 bits.
  • IPv6 uses hexadecimal notation instead of dotted-decimal notation (IPv4).
  • IPv6 addresses are globally unique due to the extended address space, eliminating the need for network address translation.
  • IPv6 has a fixed header length (40 bytes), allowing vendors to improve switching efficiency.
  • IPv6 supports enhanced options (that offer new features) by placing extension headers between the IPv6 header and the Transport Layer header.
  • IPv6 offers address auto-configuration, providing for dynamic assignment of IP addresses, even without a DHCP server.
  • IPv6 offers support for labeling traffic flows.
  • IPv6 has built-in security capabilities, including authentication and privacy via IPSec.
  • IPv6 offers MTU path discovery before sending packets to a destination, eliminating the need for fragmentation.
  • IPv6 supports site multihoming.
  • IPv6 uses the ND protocol instead of ARP (IPv4).
  • IPv6 uses AAAA DNS records instead of A records (IPv4).
  • IPv6 uses site-local addressing instead of RFC 1918 (IPv4).
  • IPv4 and IPv6 use different routing protocols.
  • IPv6 provides for anycast addressing.

Prev

Next

About Us

This is a free bonus site for members of www.howtonetwork.com

Copyright

The content on this copyright Reality Press Ltd.
Copyright Reality Press Ltd.