IPv6 universal/local bit

Muslimtech posted the following question on the IPv6 Link-local article:

“hi man

i want ask you Q About U\L Bit

i read that in Bsci

Universal/Local (U/L)
The seventh bit in an IPv6 interface identifier is referred to as the universal/local bit, or U/L bit. This bit identifies whether this interface identifier is universally or locally administered.

If the U/L bit is set to 0, the address is locally administered. The network administrator has overridden the manufactured address and specified a different address.
If the U/L bit is set to 1, the IEEE, through the designation of an ISP, has administered the address

i cant understand How U\L Bit = 0 i want Ex; About that

and whene he say “locally administered” mean
i use command to change mac address for interface ??
or what”

As far as I got with all the RFCs and other informations, the U/L and G bits only matter if other prefix lenghts than /64 are used. RFC5375 specifies why those bits have to be set the right way:

B.2.4. EUI-64 ‘u’ and ‘g’ Bits

When using subnet prefix lengths other than /64, the interface identifier cannot be in Modified EUI-64 format as required by [RFC4291]. However, nodes not aware that a prefix length other than /64 is used might still hink it’s an EUI-64; therefore, it’s prudent to take into account the following points when setting the bits.Address space conservation is the main motivation for using a subnetprefix length longer than 64 bits; however, this kind of address conservation is of little benefit compared with the additional considerations one must make when creating and maintaining an IPv6addressing plan.The address assignment can be made either by manual configuration or by a stateful Host Configuration Protocol [RFC3315]. When assigning a subnet prefix of more then 70 bits, according to RFC4291, ‘u’ and ‘g’ bits (the 71st and 72nd bit, respectively) need to be taken into consideration and should be set correctly.

The 71st bit of a IPv6 address is the inverted ‘u’ (universal/local) bit and is used to determine whether the address is universally or locally administered. If 1, the IEEE, through the designation of a unique company ID, has administered the address. If 0, the address is locally administered. The network administrator has overridden the manufactured address and specified a different address. The ‘g’ (the individual/group) bit is the 72nd bit and is used to determine whether the address is an individual address (unicast) or a group address (multicast). If ‘0’, the address is a unicast address. If ‘1’, the address is a multicast address. In current IPv6 protocol stacks, the relevance of the ‘u’ and ‘g’ bits is marginal and typically will not give an error when configured wrongly; however, future implementations may turn out differently if they process the ‘u’ and ‘g’ bits in IEEE-like behavior.

When using subnet lengths longer then 64 bits, it is important to avoid selecting addresses that may have a predefined use and could confuse IPv6 protocol stacks. The alternate usage may not be a simple unicast address in all cases. The following points should be considered when selecting a subnet length longer then 64 bits.”

This does not mean, that in case of a locally administered address the BIA of that interface has to be overwritten, its more that the administrator does not use the EUI-64 and creates the IPv6 address on its own. But in that case the administrator should be thinking about the correct usage of the ‘u’ and ‘g’ bits. Just to get a bit further, if you use the EUI-64, the 71st bit will allways be a 1 (after it got inverted) this is due to how the MAC addressing is done (http://en.wikipedia.org/wiki/MAC_address):

A universally administered address is uniquely assigned to a device by its manufacturer; these are sometimes called “burned-in addresses” (BIA). The first three octets (in transmission order) identify the organization that issued the identifier and are known as the Organizationally Unique Identifier (OUI). The following three (MAC-48 and EUI-48) or five (EUI-64) octets are assigned by that organization in nearly any manner they please, subject to the constraint of uniqueness. The IEEE expects the MAC-48 space to be exhausted no sooner than the year 2100; EUI-64s are not expected to run out in the foreseeable future.

A locally administered address is assigned to a device by a network administrator, overriding the burned-in address. Locally administered addresses do not contain OUIs.

Universally administered and locally administered addresses are distinguished by setting the second least significant bit of the most significant byte of the address. In EUI-64 addresses, if the bit is 0, the address is universally locally administered. If it is 1, the address is locally globally administered. The bit is 0 in all OUIs. For example, 02-00-00-00-00-01. The most significant byte is 02h. The binary is 00000010 and the second least significant bit is 1. Therefore, it is a locally administered address”

Advertisements

4 comments

  1. Angelos

    Normally, a interface on Cisco routers will have a MAC address of CC-…
    This complies with the MAC assignment rules, since cisco’s OUIs begin with C. That means that the U/L bit is 0 (zero) (like it should).
    So when i configure an interface using
    Router(config-if)# ipv6 address 2001:0DB8:0:1::/64 eui-64,
    The modified EUI-64 part will contain the EC… This means that the configured IPv6 address has been locally administered. But: If i configure:
    Router(config-if)# ipv6 address 2001:0DB8:0:1::1/64
    The U/L bit in the IPv6 address will be 0(zero), meaning that the IPv6 address has been universally administered.
    Does this make sense? What am i missing? Does the 71st bit in an IPv6 address matter to anyone? Why will the IOS let you set in whatever way you like?

  2. Angelos

    What am i missing? Does the 71st bit in an IPv6 address matter to anyone? Why will the IOS let you set it(the 71st bit in IPv6 addresses) whatever way you like?

  3. pashtuk

    Hi Angelos
    Can you maybe explain how you got the CC part of Cisco MACs? I cant find anything?

    Given, this is my interpretation, the U/L bit does not matter in IPv6 as long as the prefix is smaller than /64, only if you address prefixes longer than /64 the U/L bit has to be taken into consideration.
    If it does make sense/is a good practice or not to address longer prefixes than /64 is still an ongoing discussion.

  4. Rhongomiant

    Can you point to where the following statement is referenced in the RFCs? “The ‘g’ (the individual/group) bit is the 72nd bit and is used to determine whether the address is an individual address (unicast) or a group address (multicast). If ’0′, the address is a unicast address. If ’1′, the address is a multicast address.” Why would the g bit represent multicast when the RFCs state that all multicast addresses begin with ff?

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s