IPv6 (Internet Protocol version 6) is the most recent version of the Internet Protocol. It is a network layer protocol that enables data communications over a packet switched network. It work as a communication protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. In December 1998, IPv6 became a Draft Standard for the IETF, who subsequently ratified it as an Internet Standard on 14 July 2017.
IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion. Increasing the IP address pool was a major factor in the development of IPv6. IPv6 is intended to replace IPv4. The biggest benefit of IPv6 is that it will replace the IPv4 32-bit address scheme with a much longer 128-bit address scheme. The IPv4 32-bit address scheme allows for a total of 2 to the power 32 addresses while IPv6 allows for 2 to the power 128 total addresses. IPv6 is designed to allow the Internet to grow steadily, both in terms of the number of hosts connected and the total amount of data traffic transmitted.
Internet Protocol Version 4 (IPv4) was the first publicly used version of the Internet Protocol. IPv4 was developed as a research project by the Defense Advanced Research Projects Agency (DARPA), a United States Department of Defense agency, before becoming the foundation for the Internet and the World Wide Web.
The explosive growth in IoT devices including mobile phones, notebook computers, and wireless handheld devices has created a need for additional blocks of IP addresses. IPv4 currently supports a maximum of approximately 4.3 billion unique IP addresses.
IPv6 supports a theoretical maximum of 2 to the power 128 addresses (340,282,366,920,938,463,463,374,607,431,768,211,456 to be exact!). Recent advancements in network technology including Network Address Translation (NAT) have temporarily lessened the urgency for new IP addresses.
Features of IPv6
- Requires IPSec support.
- Supports source and destination addresses that are 128 bits (16 bytes) long.
- Uses Flow Label field to identify packet flow for QoS handling by router.
- Uses a link-local scope all-nodes multicast address.
- Uses host address (AAAA) resource records in DNS to map host names to IPv6 addresses.
- Uses Multicast Neighbor Solicitation messages to resolve IP addresses to link-layer addresses.
- Uses pointer (PTR) resource records in the IP6.ARPA DNS domain to map IPv6 addresses to host names.
- Uses Multicast Listener Discovery (MLD) messages to manage membership in local subnet groups.
- Uses ICMPv6 Router Solicitation and Router Advertisement messages to determine the IP address of the best default gateway.
- Allows the host to send fragments packets but not routers.
- Doesn't include a checksum in the header.
- Does not require manual configuration or DHCP.
- Supports a 1280-byte packet size (without fragmentation).
- Moves optional data to IPv6 extension headers.
IPv6 devices can independently auto-configure themselves when connected with other IPv6 devices. Configuration tasks that can be carried out automatically include IP address assignment and device numbering. An IPv6 router has the ability to determine its own IPv6 address using data link layer addressing parameters.