Local-Use Unicast Address. There are two types of Local-Use Unicast
Addresses. The first is called a link-local address, which is used to
communicate between interfaces belonging to nodes on a single link. The second
is called a site-local address, which is used to communicate between
interfaces belonging to nodes in a site. Both are viable alternatives to a global
address, depending on the scope. Figure
2 shows the scope of a link and a site.
Link-local addressing is similar to IPv4's Automatic Private IP Addressing
(APIPA). Linklocal addresses begin with an FP of FE80:—the last 64 bits
of a link-local address are the Interface ID, and the bits in between the FP
and the Interface ID are zeroed out. As with APIPA, link-local addresses are
automatically configured without the need for a DHCP server or manual configuration.
In fact, every IPv6capable interface automatically has a linklocal address configured
for it. If you have any nodes on your network that support interfaces with IPv6,
they'll have a link-local address and might be sending packets onto your network
as part of Neighbor Discovery. Two nodes on the same link with interfaces that
support IPv6 will automatically be able to communicate with each other, without
any further configuration or management. However, communication using link-local
addresses is restricted to a link—IPv6-aware routers should never forward
packets with link-local source or destination addresses.
Site-local addresses are similar to the IPv4 private addresses, which have
the network identifiers 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16. Site-local
addresses always begin with an FP of FEC0:. As with link-local addresses, the
last 64 bits of the address comprise an Interface ID. The lower 16 bits of the
top 64 bits—called the Subnet ID field— uniquely identify subnets
in the site, the same as the SLA ID field in a global address. The bits between
the FP and the Subnet ID field are zeroed out.
IPv6 uses two special constant addresses. The first is called the unspecified
address and is always set to 0:0:0:0:0:0:0:0, or just :: for short. This
address—similar to the IPv4 address 0.0.0.0—functions as a source
address when no other address is available (e.g., when requesting an IP address
from an IPv6-capable DHCP server). The second address is the loopback address
and is always 0:0:0:0:0:0:0:1, or simply ::1. This address—equivalent
to the IPv4 loopback address 127.0.0.1—can be used for local testing
of applications and configuration. Every interface will respond to the loopback
address.
The Interface ID
The Interface ID in a unicast address is always 64 bits in length. It was designed
this way to support 48-bit MAC addresses of current 802.x LAN technologies such
as Ethernet, and wireless technologies such as Bluetooth and Wi-Fi, as well
as the 64-bit addresses that FireWire uses. Future 802.x series LAN and wireless
technologies will also use 64-bit addressing. The requirement to support 48-bit
and 64-bit MAC addresses comes from the requirement that the Interface ID in
a unicast address can be derived from a MAC address using an Extended Unique
Identifier (EUI) 64 address. The Interface ID can also be assigned manually
or by an IPv6-capable DHCP server.
In the most common scenario, the Interface ID is derived from the 48-bit MAC
address of an Ethernet card. A 48-bit MAC address is split into two 24-bit halves.
The IEEE assigns the first 24 bits to manufacturers. The manufacturer uses the
second 24 bits to uniquely identify the card. Although it's possible to override
the MAC address of an Ethernet card, let's assume that it hasn't been overridden.
To convert a 48bit MAC address to a 64-bit Interface ID, the system first copies
24 bits of the MAC address to the first 24 bits of the Interface ID. Bits 17
and 16 of the first 24 bits representing the manufacturer (reading from right
to left, starting at 0) are always set to 00. During the copy, the system sets
them to 10. After the 24 bits are copied over, 16 bytes are added, and they're
always 0xFFFE. The system then copies 24 bits in the second half of the MAC
address to produce the 64-bit Interface ID.
In dial-up scenarios, the Interface ID can be generated using a process designed
to guarantee the anonymity of the user. If not for this provision, a system
could be tracked as it used the Internet, regardless of the ISP used, because
the Interface ID would be unique to the computer regardless of the ISP.
Multicast Addresses
IPv6 multicasting is similar to IPv4 multicasting. A node that wants to listen
for multicast traffic will set the IPv6 address of an interface to the multicast
address that the traffic is being sent to. Multicast addresses have an FP of
0xFF. The next four bits of the multicast address comprise the Flags field.
The lowest bit in the Flags field is called the Transient flag. If set to 0,
the multicast address is a well-known address set by IANA; if set to 1, it's
a non-permanent or transient multicast address. The next four bits of the multicast
address comprise the Scope field. The purpose of this field is to identify the
scope of the multicast traffic, and to identify the traffic as node-local, link-local,
site-local, organization-local, or global. Routers use this field to determine
whether to forward traffic. The last field in the multicast address is the Group
ID, which is 112 bits in length. The Group ID identifies the multicast group.
As with unicast addresses, there are predefined multicast addresses. Table
1 lists the three most common ones.
When using multicasting in IPv6, you should use only the bottom 32 bits of
the Group ID field and zero out the top 80 bits. Doing so eases conversion support
of the multicast address to an Ethernet multicast address. An Ethernet multicast
address takes the form 33:33:xx:xx:xx:xx. Using the recommended multicast addressing
format, the bottom 32 bits of the Group ID create the Ethernet multicast address.
IPv6 also uses multicast addresses to support link address resolution. Every
interface adds a multicast address for each of its unicast addresses. The multicast
address takes the form FF02::1:FFxx:xxxx. The system copies the last 24 bits
of the unicast address to the multicast address to replace the xx:xxxx. The
system then maps the IPv6 multicast address to the MAC multicast address, as
described above. This scheme reduces the number of nodes that have to process
address-resolution requests. In IPv4, when one node wants to obtain another
node's interface MAC address, the system sends a broadcast message to the broadcast
MAC address. Therefore, every interface on the link is forced to process the
request—even if it's not intended for it. In IPv6, a node that wants
to find another node's interface MAC address will send a broadcast message to
the multicast address FF02::1:FF:xx:xxxx, where xx:xxxx is the bottom 24 bits
of the interface ID. This, in turn, is translated into a MAC multicast address
33:33:FF:xx:xx:xx. Only those interfaces on the link with matching lower 24
bits in their Interface ID need to respond to the address-resolution request.
Prev. page
1
[2]
3
next page