In IPv6, we have no exclusive choice between assigning an internal private address or an external public Internet address – known as IPv6 Global Unicast (GUA) addresses (RFC 4291). We can assign ULA and GA addresses to a network interface at the same time, or even multiple ULA addresses from the same or different ULA prefixes and multiple GUA addresses from the same or different GA prefixes at the same time. The Global ID field is the part of the address that makes the ULA prefix globally unique. The prefix field contains the binary value 1111110. The L bit is one for locally assigned addresses; the address range in which L is set to zero is not currently set. The random field is randomly selected once, at the beginning of the /48 routing prefix. In December 1995, the IPv6 address block fec0::/10 was reserved for site local addresses that could be used in a “site” for private IPv6 networks. However, the insufficient definition of the term location has led to confusion as to the applicable routing rules. In September 2004, the Internet Engineering Task Force (IETF) rejected the definition of this address range and postulated solutions to its problems.
The special behavior required for this type of address was lifted in 2006 and the block returned to normal global unicasting.  Local site addresses have the Internet Assigned Number Authority (IANA) assignment fec0::/10. The site-local prefix was defined in RFC 4291, “IP Version 6 Addressing Architecture” and its ancestors, and dates back to its first predecessor, RFC 1884, in 1995. Because of the likelihood that many people will opt for instant convenience at the expense of a day`s pain, I suggest you avoid ULA prefixes that don`t seem random to the naked eye. So, if your random number generator launches 00:0000:0001, run it again 🙂 In 1995, RFC 1884 reserved the fec0::/10 block for site local addresses that could be used in a “site” for private IPv6 networks. However, the inadequate definition of the term location has led to confusion about the resulting routing rules. RFC 3879 (September 2004) went beyond this address space and postulated solutions to its problems. In October 2005, RFC 4193 was published, which reserves the fc00::/7 address block for use on private IPv6 networks and defines the term associated with unique local addresses. A lot of people will probably think, “Well, this is for internal use only, so I`m not going to bother generating a nasty and hard-to-type random prefix; Instead, I choose a beautiful practical one like, say, fd00::/48.” Everything will be fine – until they have to team up with another company that has made the same suddenly not-so-smart choice. @comdog – What about prefix delegation, where you only assign the static bits of your prefix? This means that a company that chooses a random ULA prefix is very unlikely to choose the same prefix as everyone else.
And even if they do, it only matters if the two companies that chose the same prefix among the billions available also want to combine, which is even less likely. Given the number of networks in the world, many, many people will choose to use memorable, non-random ULA prefixes. You can`t stop other people from doing it. However, you can protect yourself by choosing a ULA prefix that is really random. Chance protects you from the bad decisions of these other people by maximizing the chances that the day you need to merge your network with another, you can do it relatively painlessly. Only one bit appears before the Global ID part of the ULA prefix and indicates that the ULA prefix was generated by the LAN. This means that the global ID is not sure to be unique, even if it has been assigned pseudo-randomly. ULA, on the other hand, offers the uniqueness of the 40-bit prefix. That`s about one trillion (10^12) of unique /48 prefixes. Once the L bit was not defined, meaning that the prefix started with fc00::/8, the ULA prefix implied that it was assigned by a non-existent central authority.
Another problem with site-local addressing occurs when two independent networks that use the site-local prefix need to be merged. Because fd00::/8 ULAs are not intended to be routed outside of their administrative domain (site or organization), administrators of interconnected networks typically do not have to worry about the uniqueness of ULA prefixes. However, if networks require ULAs to be routed to each other, such as in the event of a merge, the risk of address collision is low if the RFC 4193 selection algorithm has been used. Combining the 8-bit version fd00::/8 with the 40-bit global ID provides an IPv6/48 ULA prefix for use on the local network. With 16 bits for subnets, this ULA/48 provides 65,536/64 subnets. It was possible for a central authority to assign ULA prefixes to ensure global uniqueness.