Tuesday, May 1, 2012

IPv6 General Information

Below is some general information concerning IPv6.  With IPv4, the "class" of an address can be figured out by the first octet.  For example:

CLASS A ( through

CLASS B ( through

CLASS C ( through

CLASS D (multicast through

CLASS E (experimental through

In IPv4 there are special addresses:

Loopbacks ( through

RFC 1918 private addresses (10.x.x.x, 172.16-31.255.255, 192.168.x.x)

DHCP services not available (169.254.x.x)

With IPv6 the first several bits describe an IP address "TYPE".  (remember we are talking about the first couple of "bits" in the address) For example:

010 - Unicast addresses for service provider allocation (4000::0 through 5FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)

100 - Geographic IP addresses (8000::0 through 9FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)

1111 1110 10 - link local addresses (FE80::0 through FEBF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)

1111 1110 11 - site local addresses (FEC0::0 through FEFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)

1111 1111 - multicast addresses (FF00::0 through FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)

IPv6 has some special addresses:

0::0 - unspecified
0:: through 0:: - IPv4 addresses
0::0001 - loopbacks

IPv6 stacks will perform an auto-configuration if no router or DHCPv6 service is present. This is similar to the 169.254.*.* value assigned via Automatic Private IP Addressing with IPv4. The beginning value will be fe80 such as the example below:

Link-local IPv6 Address . . . . . : fe80::d0ce:643:c4df:a825%20(Preferred)

The current value beginning values for an IPv6 address would be 2001, 2002, or 2003. Both the addresses listed below are public addresses:


If the "stateless" method is used to determine the IPv6 value, the string of FF:FE will be present at the same location:


The default method of creating a IPv6 address for some operating systems is to include the MAC address value from the adapter. In the example below, the client has been configured not to use this method:

Physical Address. . . . . . . . . : 00-21-70-B5-A1-50
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::f0f4:13c4:3427:885c%12(Preferred)

The normal configuration method for IPv6 is to configure a router to "advertise" the details required. Below is a capture of a router advertisement packet:


The Multicast address of FF02::1 is normally used for a router advertisement. The example packet below shows a Neighbor Solicitation broadcast. The Neighbor Solicitation message allows a device to check that a neighbor exists and is reachable, and to initiate address resolution.


Below is an example of a packet using IPv6 and the Link Local Multicast Name Resolution.


The packet below is another IPv6 example. MLD is used by an IPv6 router to discover the presence of multicast listeners on directly attached links, and to discover which multicast addresses are of interest to those neighboring nodes.


A neighbor advertisement message is sent to inform other hosts of a Mac Address to IP address relationship. These messages can be sent in response to a request, or unsolicited as a host comes online. The flags parameters are:

R-Router -> Set if sender is a router
S-Solicited -> Set if this is a response to a Neighbor Solicitation Message
O-Override -> Advertisement overwrites existing cache

To disable the Teredo component with Windows, use the command "netsh interface teredo set state disabled". To disable IPv6 within the Registry, access HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters\.  Create a DWORD value with the name of DisabledComponents.  To disable IPv6 on all interfaces, use FFFFFFFF. So the final string would be:


Below are some examples of parameters obtained while on the campus of Virginia Tech, which has used IPv6 for some time.







No comments:

Post a Comment