IPv6 Core Protocols Implementation

The most well-known and important enhancement introduced by IPv6 is the expansion of the address space as the result of increased bit allocation for an IPv6 address, that is, from 32 bits in IPv4 to 128 bits in IPv6. The IPv6 address architecture also introduces several remarkable characteristics along with the enlarged address space, mainly from operational experience with IPv4.
First, IPv6 has an explicit notion of address scopes, with which the uniqueness and usage of an address is limited to some area of the entire Internet. Whereas limited scoped addresses are used in IPv4 multicasting as an operational technique and IPv4 private addresses used with Network Address Translators can be regarded as having an address scope, these were introduced with hindsight to meet newer requirements and were ad hoc. In IPv6, scoping is a built-in notion of the base specification so that it will be available in every implementation and meet various operational requirements.
Also, an IPv6 address is more structured than an IPv4 address. In particular, an IPv6 address explicitly separates the unique identifier of an address within a single link, called the interface identifier. An interface identifier can typically be created autonomously based on the network interface s hardware address. It then allows a node to create a unique IPv6 address whose scope is link-local without relying on any external node such as a DHCP server. Such plug-and-play is in fact one of the most useful features of IPv6.
Multicasting is more extensively used in...