IPv6 is here now, and will only get more and more prevalent as each day goes by. Needless to say, mastering IPv6 concepts is a must.
IPv6 Addressing
With a 128-bit address range, IPv6 can handle 7.9 1028 more addresses, for a total of 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses, or about 665,570,793,348,866,943,898,599 addresses per square metre of Earth’s surface.
The usage of IPv6 on the Internet is increasing by the day. IPv6 will solve two significant problems with IPv4: a lack of addresses and the growing complexity of routing information.
An IPv6 address is a 128-bit number that is shown in hexadecimal format rather than the dotted decimal notation used by IPv4. The IPv6 address is broken into eight 16-bit groups, with a colon between them (:). Although there is no formal term for these groupings, many technologists refer to them as hextets.
An example of an IPv6 address is as follows:
65b3:b834:45a3:0000:0000:762e:0270:5224
An IPv6 address is not case-sensitive, therefore no leading zeroes are required at the start of a hextet. The seventh hextet, for example, in the above address may have been expressed as 270 without the leading 0 (0270), as follows:
65b3:b834:45a3:0000:0000:762e:270:5224
When referring an address that has a group of zeroes, you may also use double colons (::) to substitute successive hextets of all zeroes. The fourth and fifth hextets in the above address might have been eliminated with the double colons as follows:
65b3:b834:45a3::762e:270:5224
Note that the double-colon notation can only be used for one contiguous set of hextets, not more, since the remainder of the address would be confusing.
In IPv6, the loopback address is 0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 The setting and readability of IPv6 addresses are considerably improved by compressing zeroes in this way.
There are three kinds of addresses in IPv6:
Unicast : It’s a one-to-one communication tool.
Multicast : It’s a one-to-many communication system.
Anycast : Applied to a set of systems that provide a service and share the same unicast IP address. Clients sending data to the anycast address will have their communication routed to the anycast address’s closest server.
There are two kinds of unicast addresses:
Unicast address for the whole world
A routable public IPv6 address on the Internet. On the Internet, the address assigned to the host must be unique. With IPv4, this address type is comparable to a public IP address. This address always begins with a 2 or 3 hex character.
Local unicast address on the link
An address that is automatically allocated to the system and is solely used to connect with other nodes on the link (a phrase that in the realm of IPv6 refers to a network, subnet, or LAN). The prefix fe80 is always used in link-local addresses. With IPv4, this address type corresponds to an APIPA address (169.254.0.0/16). The main distinction is that APIPA addresses are never desirable in IPv4, since they imply a lack of routing capabilities due to the inability to contact a DHCP server. The link-local address in IPv6 is the address that is used to communicate with nodes on the same network.
Tunneling
IPv6 is supported by all current operating systems and routers (even modest home routers). However, IPv6 is not supported by all routers on the Internet.
Every router and computer on the Internet must support IPv6 in order for IPv6 to operate, but the Internet is not yet there. The issue is that certain routers and DNS servers between your IPv6-capable computer and the other IPv6-capable machines you want to connect to are not yet IPv6-ready. How can you bridge the IPv6 divide?
To connect to the IPv6 Internet, you must bridge this gap by using an IPv4-to-IPv6 tunnel. IPv6’s creators provide a variety of options for you to achieve this, including employing one of the various IPv4-to-IPv6 tunnelling technologies. An IPv4-to-IPv6 tunnel functions similarly to any other tunnel in that it encapsulates one kind of data into another. To go to an IPv6-capable router, you’re encapsulating your IPv6 traffic within an IPv4 tunnel.
An overlay tunnel connects two IPv6 networks over an existing IPv4 network, such as the Internet. The routers that link IPv6 networks to IPv4 infrastructure have a dual stack design that can encapsulate data from the local network into IPv4 packets and execute both IPv4 and IPv6. Those IPv4 packets go across IPv4 infrastructure, and at the other end of the tunnel, the router removes the IPv4 information from the packet and sends the remaining IPv6 packet on its journey.
6to4 Standard protocol
The 6to4 standard is a tunnelling protocol that allows IPv6 traffic to access the IPv4 Internet without the need for explicit tunnels to be set up. Because it usually needs a public IPv4 address, 6to4 is often used to link two routers directly. 2002::/16 is always the first character in a 6to4 address.
6to4 is only intended to be a temporary solution until native IPv6 is available for an independent system.
6to4 used to utilise public relay routers all over the globe with an anycast address of 192.88.99.1, however this address was deprecated in 2015 due to insurmountable operational issues. Furthermore, public relays are no longer available.
6rd Protocol
6rd was created to be a superior version of 6to4, in which traffic is relayed in both directions by ISPs. The 6to4 prefix of 2002::/16 is also not required for 6rd.
Teredo Protocol is a protocol developed by Teredo.
Teredo was a Microsoft Windows-based NAT-aware IPv6 tunnelling mechanism. 2001:0000:/32 is the start of a Tereo address. Microsoft began deactivating its Teredo relay servers in 2014, and public relay servers were urged to do the same.
Router Advertisement/Neighbor Discovery
You could filter any or all of ICMP and yet have a working network in the IPv4 world. In IPv6, you just can’t do that.
ICMPv6 (ICMP for IPv6) implements the Neighbor Discovery Protocol, which is a way of life for IPv6.
Clients send router solicitation messages, and routers respond with (and send out unsolicited) router advertisement messages, which include the network prefix (the IPv6 term for network ID) and prefix length (the IPv6 term for subnet mask, which is always /64) for clients, allowing them to assign themselves the host portion of the IP address.
The IPv4 form of DHCP, in which clients negotiate a lease with a DHCP server, is now obsolete. In IPv6, ARP does not exist. When just the IP address is known, two more NDP messages, neighbour solicitation and neighbour advertising, are used to seek and get a destination’s link layer (MAC) address.
The IPv4 version of ARP request and ARP reply messages are now obsolete. This procedure is also used to ensure that a cached link layer address is still accessible.