IPv6: Address types, Prefix-types you must know, Auto-Configuration

I am going to run through all the as brief as possible, so hold onto the seat of your pants.

First up, EUI64:

Every interface enabled with IPv6 on a Router needs a unique identifier, called an interface identifier, which uses what is called an EUI64 (Extended Unique Identifier). The 64 bits does not refer to some IPv6 to IPv4 conversion, only that it’s 64 bits long.

And no, this is not auto-configuration yet, though it is automatically configuring its own address… I know… I love this confusing subject matter too.

So the EUI64 uses the interfaces MAC address which is 48 bits, making it short exactly 16 bits of address, however this 16 bits is used to drop a designating HEX value in the middle of the MAC addresses IOU value and the hardware address value of “FFFE”.

So to get some examples going, first here is the output from R5 (running code 15.x):

R5(config-if)#do show int fa0/0
FastEthernet0/0 is administratively down, line protocol is down
  Hardware is Gt96k FE, address is 001e.f797.f14a (bia 001e.f797.f14a)
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Auto-duplex, Auto Speed, 100BaseTX/FX
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input never, output never, output hang never
  Last clearing of “show interface” counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes
     Received 0 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog
     0 input packets with dribble condition detected
     1 packets output, 353 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 unknown protocol drops
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
R5(config-if)#

This is where you will find the Hardware / MAC address as highlighted above, not in the IPv6 command for showing the interface. So I enabled the IPv6 on the interface, as it is enabled on the interface and not globally, and did a “show ipv6 int fa0/0” to demonstrate how it creates this EUI-64 address:

R5(config-if)#ipv6 enable

R5(config-if)#do sh ipv6 int fa0/0
FastEthernet0/0 is administratively down, line protocol is down
  IPv6 is tentative, link-local address is FE80::21E:F7FF:FE97:F14A [TEN]
  No Virtual link-local address(es):
  No global unicast address is configured
  Joined group address(es):
    FF02::1
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ICMP unreachables are sent
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds (using 30000)

Other than highlighting where the extra 16 bits puts itself in the address, I’d like to also point out the other 64 bits are made up of its prefix FE80 if it’s link-local (might not be some day as noted / linked below), and the rest are 0’s that are compressed indicated by the :: between FE80 and the EUI64 address.

 

***AN IMPORTANT NOTE ON IPV6 CONFIGURATION, MUST TYPE “IPV6 UNICAST-ROUTING” IN GLOBAL CONFIG TO ENABLE IT GLOBALLY***

 

A few other notes:

Essentially once the hex address is converted to Binary, if the 7th bit to the left is a 1 it’s a Universal-Link address, however all manufacturers currently produce a 0 which indicates it’s a Link-Local address as seen above. I didn’t spend a whole lot of time right now wrapping my mind around it, I have a lot of notes to get through to get back to labbing.

The big take away from everything above, if you see FE80 or (1111 1110 10) beginning the address you have a Link-Local address, and if you see FFFE dropped into the middle of the interfaces address it is an EUI64 address.

Now onto different Address types!

Anycast addresses are very similar to multicast addresses in the way that they send to a group of interfaces, however the traffic is delivered to what is considered the closest interface to the sender:

  • Direct connected neighbors, closest being the first one learned by the router
  • If no directly connected, closest determined by routing protocol metrics

A “Global Unicast” is equivalent to IPv4’s Publicly routable IP ranges which is identified in Hex format as 2000:: or (0010::) where as Link-Local again is FE80 breaking down to (1111 1110 10xx).

For an IPv4 compatible IPv6 address, the first 96 bits is set to 0, as in the following formats:

::x.x.x.x or 0:0:0:0:0:0:x.x.x.x

An IPv6 Loopback address is ::1

An IPv6 Unknown Address is ::/128

An IPv6 Default Route is ::/0

Multicasts can be identified by their prefix of FF (1111 1111), however there are a few Link-Local addresses to note:

  • FF02::1 – All nodes on the link
  • FF02::2 – All routers on the link
  • FF02::5 – All OSPF routers
  • FF02::6 – All OSPF DRs
  • FF02::9 – All RIP routers
  • FF02::A – All EIGRP routers

The few good ones to know are 5/6, 9, and A as those will tell you what protocol an interface is running with the earlier command I posted:

R5(config-if)#do sh ipv6 int fa0/0
FastEthernet0/0 is administratively down, line protocol is down
  IPv6 is tentative, link-local address is FE80::21E:F7FF:FE97:F14A [TEN]
  No Virtual link-local address(es):
  No global unicast address is configured
  Joined group address(es):
    FF02::1
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ICMP unreachables are sent
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds (using 30000)

So this interface has only joined group “All nodes on like”, however if there were other IPv6 interfaces or routing protocol enabled IPv6 interfaces connected it would show under the ‘Joined group address(es)’ section.

Last and thankfully least, Auto-Configuration:

There are 2 different types of Auto-Configuration, stateless, and stateful.

Stateful the host obtains an IPv6 address along with other info (Gateway, DNS) from a server, via DHCPv6. To my understanding, functions basically the same as IPv4 DHCP.

Stateless is when a host cannot get to the DHCPv6 server, or none is present, and there is an acronym worth giving its own line:

StateLess Address Auto Configuration (SLAAC) SLAAC(kers), now to continue.

The host creates its own link-local address FE80::(mac addy), then sends a Neighbor Solicitation (NS) to all other hosts to confirm its address is unique. If it is, Duplicate Address Detection (DAD) will reply that it is unique.

If it is not unique it will receive back a Neighbor Advertisement (NA) in response, and disable the IPv6 address as unique and goes to the next step of sending a Router Solicitation to FF02::2 (All Routers on link requesting additional configuration info for it’s address.

The RS then gets back a response called a Router Advertisement (RA) either providing a DHCPv6 servers information if one is available, or a unique link-local address complete with network prefix.

And that is it for the CCNA refresher and maybe a bit more advanced info.

Some of the things I don’t fully understand, but will continue through IPv6 segments with labbing involved, and hopefully hammer out any gaps in understanding there.

And yes, writing all that down made my brain hurt, and typing it all back on here made it hurt twice as bad! Next time will be lab time, yay!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s