CCIE R&S Written Overview: IPv6

IPv6 Overview

• Main motivation for IPv6 is lack of IPv4 address space

• IPv4 uses 32-bits (4 bytes)

– 2^32 = 4,294,967,296 max addresses

• IPv6 uses 128-bits (16 bytes)

– 2^128 = 34,028,236,692,938,463,463,374,607,431,770,00 0,000+

IPv4 vs. IPv6 Addressing Format

• IPv4 Dotted Decimal

– 1.2.3.4

– Each place denotes 1 byte

• IPv6 Hexadecimal

– XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX

– Two characters = one byte

IPv6 Address Space

• Four main address types

– Global Unicast

• 2000… – 3FFF…

– Unique Local

• FC00…

• Deprecates Site Local (FEC0)

– Link Local

• FE80…

– Multicast

• FF…

Modified EUI-64 Addressing

• IPv6 host addresses are generated from interface MAC address

• MAC address is 48-bits

• IPv6 host address is 64-bits

• Extra 16 bits derived as follows:

– MAC 1234.5678.9012

– Invert 7th most significant bit

• 1034.5678.9012

– Insert “FFFE” in middle

• 1034:56FF:FE78:9012

IPv6 Address Resolution

• Ethernet

– ICMPv6 ND replaces ARP

• NBMA

– Static resolution on multipoint interfaces

– Inverse Neighbor Discover not implemented

ICMPv6 Neighbor Discovery

• ICMPv6 ND

• Replaces IPv4 ARP

• NS – Neighbor Solicitation

– Ask for information about neighbor

• NA – Neighbor Advertisement

– Advertise yourself to other neighbors

• RS – Router Solicitation

– Ask for information about local routers

• RA – Router Advertisement

– Advertise yourself as an active router

• Send neighbor solicitation to solicited node multicast

– FF02:0:0:0:0:1:FF00::/104 + 24 low-order bits

• If no reply address is unique

– Duplicate Address Detection (DAD)

• Send unsolicited neighbor advertisement to announce yourself

– Sent to all hosts multicast

• FF02::1

• Essentially the same as 255.255.255.255

IPv6 Routing Overview

• IPv6 unicast routing off by default

– ipv6 unicast-routing

• Dynamic routing through

– RIPng

– OSPFv3

– EIGRPv6

– IS-IS

– BGP

• Dynamic information recurses to remote link-local address

– Layer 3 to layer 2 resolution on multipoint NBMA medias

IPv6 Static Routing

• Same static routing implications as IPv4

– To next-hop

• Resolve next-hop

– To multipoint interface

• Resolve final destination

– To point-to-point interface

• No resolution required

IPv6 Routing

• RIPng, OSPFv3, & EIGRPv6

– Use separate processes

• BGP & IS-IS

– Use the same process

– Different Address families

RIPng Overview

• RFC 2080 – RIPng

• Similar in operation to RIPv1 / RIPv2

• UDP port 521 multicast to FF02::9

• Configuration

– Interface level ipv6 rip [process] enable

– Automatically enables global process

• Split-horizon enabled globally

– no split-horizon on multipoint NBMA

EIGRPv6 Overview

• Similar in operation to IPv4 EIGRP

• IP protocol 88 multicast to FF02::A

• Configuration

– Interface level ipv6 eigrp [ASN]

– Process level no shutdown

OSPFv3 Overview

• RFC 2740 – OSPFv3

• Similar in operation to OSPFv2

• Router-id is IPv4 address

– Use router-id command if no IPv4 configured

• Configuration

– Interface level ipv6 ospf [process-id] area [area-id]

– Automatically enables global process

OSPFv3 LSAs

• Most LSAs are the same as in OSPFv2

– LSA 1 – Router LSA

– LSA 2 – Network LSA

– LSA 3 – Inter-Area-Prefix-LSA

• Same as OSPFv2 Summary LSA

– LSA 4 – Inter-Area-Router-LSA

• Same as OSPFv2 ASBR Summary LSA

– LSA 5 – AS-External-LSA

– LSA 7 – Type-7-LSA

• Two new LSAs

– LSA 8 – Link-LSA

• Link-Local scope

• Used for link-local next-hop calculation

– LSA 9 – Intra-Area-Prefix-LSA

• Area scope

• Used to advertise global addresses of connected links

• LSA 1 & 2 are still used to build the graph of the network, but are now decoupled from the actual addresses on the links

OSPFv3 Network Types

• Same network types as OSPFv2

– Broadcast

• DR/BDR Election

– Non-broadcast

• DR/BDR Election

• Unicast updates to link-local address

– Point-to-point

– Point-to-multipoint

– Point-to-multipoint non-broadcast

• Unicast updates to link-local address

BGP for IPv6 Overview

• Same process for IPv4 and IPv6

– Uses address-family configuration

• Normal BGP rules apply

– Requires underlying IGP transport

– iBGP loop prevention

• Don’t advertise iBGP learned routes to other iBGP neighbors

• Exception through route-reflection / confederation

– EBGP loop prevention

• Don’t accept routes with your own AS in the path

– Same best-path selection process

Tunneling IPv6 over IPv4

• Static tunnels

– GRE

• Default tunnel mode

– IPv6IP

• Less overhead, but no CLNS transport

• Automatic tunnels

– IPv4 Compatible Tunnel

• IPv6 next-hop is IPv4 address, e.g. ::192.168.1.1

– Automatic 6to4

• Imbeds IPv4 address into IPv6 prefix to provide automatic tunnel endpoint determination

– ISATAP

• Automatic host to router and host to host tunneling

Advertisements

IPv6: Address Types

To recap on IPv4 address types:

  • Unicast – represents a single host
  • Multicast – represents a group of hosts
  • Broadcasts – represents all hosts

IPv6 Address Types:

  • Unicast – one to one
  • Multicast – one to group
  • Anycast – one to more than one! (More to follow)

Aggregateable Global Unicast Address

  • Or otherwise known as ‘Global Unicast Address‘ 🙂
  • This address is equivalent to the public IPv4 address classes.
  • These addresses are fully routable and can be used for Internet access.
  • The word “aggregateable” refers to the ability to aggregate, or summarize, these addresses to make routing more efficient.
  • The range of IPv6 global unicast addresses is 2000::/3 (any address that begins with 001).

Link Local Address

  • An address that is kept on the local link.
  • Prefix of  Fe80::/10 followed by the interface identifier from the previous post.

More to follow!

Site Local Address (NO LONGER A PART OF IPv6)

These addresses were originally designed to be the equivalent of an IPv4 RFC 1918 private IP address.

Identifying IPv6 Addressing

  • 001 – Global address
  • 1111 1111 – Multicast (FF)
  • 1111 1110 10 – Link Local (FE80)
  • ::x.x.x.x or 0:0:0:0:0:0:x.x.x.x – IPv4-compatible address (Any IPv6 address with the first 96 bits set to zero is an IPv4-compatible address.)

Reserved IPv6 Addresses

IPv4 has the Loopback IP address of 127.0.0.1, the IPv6 equivalent is:

  • IP v6 Loopback: 0000:0000:0000:0000:0000:0000:0000:0001
  • Using Leading Zero Compression Only: 0:0:0:0:0:0:0:1
  • Combining Leading Zero and Zero Compression: ::1

Unspecified IPv6 Address

  • IPv6 Unspecified Address: 0000:0000:0000:0000:0000:0000:0000:0000
  • Using Zero Compression: 0:0:0:0:0:0:0:0, or just ::/128
  • Since the unspecified address is ::/128, it follows that the default route for IPv6 is ::/0

IPv6 to IPv4 Conversion Example

IPv6 Address To Convert: ::D190:4E71

The double-colon is zero compression in action, so now we need to convert the lower 32 bits into decimal.

  • Hex D1 = Decimal 209 (D = 13, 13 * 16 = 280 + how many 1s go into 1? 1! = 209. Hex revision? ;))
  • Hex 90 = Decimal 144
  • Hex 4E = Decimal 78
  • Hex 71 = Decimal 113

The IPv4 address that was embedded into the IPv6 address is 209.144.78.113.

Multicasts

  • IPv4 multicast addresses are Class D addresses with a first octet value of 224 – 239.
  • Any address that begins with “1111 1111”, or “FF” in hex, is a multicast address — the full prefix being FF00::/8.

Local Link Only Notable Addresses

  • FF02::1 — All nodes on the local link
  • FF02::2 — All routers “”
  • FF02::9 — All RIP routers “”
  • FF02::A — All EIGRP routers “”
  • FF02::1:FFzz:zzzz/104 — Solicited-node address. These are used in Neighbor Solicitation messages – more about these very soon. The “z”s are the rightmost 24 bits of the unicast/address of the node.

Anycasts

  • This is a combination of a unicast and multicast.
  • An anycast address is a unicast address assigned to multiple interfaces.
  • A sender transmits an anycast packet in the same manner it would a unicast packet and when the router receives the anycast packet, the router then sends that packet to the closest device with that anycast address.

How IPv6 defines what is ‘closest’?

  • It’s the first learned directly connected neighbor – if there are directly connected neighbors.
  • If that’s not the case, it’s simply the closest neighbor as determined by the routing protocol metric.

More to follow..