IPv6
- Overview
IPv6 exists primarily because the world is running out of unique IP addresses in IPv4, the older version of the internet protocol.
While IPv4's 32-bit address space allows for roughly 4.3 billion addresses, this is insufficient to accommodate the ever-growing number of internet-connected devices, especially with the rise of the Internet of Things (IoT).
IPv6, with its 128-bit address space, offers a virtually limitless number of addresses, ensuring the internet can continue to expand and support future technological advancements.
Ket characteristics:
- IPv4 Address Exhaustion: IPv4's 32-bit address space is finite, and with the increasing number of users, devices, and especially the proliferation of IoT devices, the available addresses are being depleted.
- IoT and Future Growth: The Internet of Things (IoT), encompassing everything from smart appliances to industrial sensors, is driving a massive increase in the number of connected devices. IPv6 provides the necessary address space to accommodate this growth.
- Addressing the Need: IPv6's 128-bit address space provides 340 undecillion (340,282,366,920,938,463,463,374,607,431,768,211,456) unique addresses, ensuring enough capacity for current and future internet connectivity.
- Beyond Addressing: While addressing is the primary driver, IPv6 also offers other benefits over IPv4, such as improved network efficiency, enhanced security features, and simplified routing.
- Addressing the Need for More Space: The rise in connected devices (IoT, mobile phones, etc.) and the need for globally unique addresses have led to the adoption of IPv6, which has a 128-bit address space capable of providing billions of addresses.
- Addressing the Need for Simplified Routing: IPv6 simplifies routing by using a hierarchical addressing structure. It also supports both static and dynamic routing protocols, including enhancements over IPv4.
- Addressing the Need for Enhanced Security: IPv6 has built-in security features like IPSec, which provides confidentiality, authentication, and data integrity for network traffic. It also has features that allow for more flexible and efficient Quality of Service (QoS) management.
- The IPv6 Datagram Header
The IPv6 datagram header is a fixed 40-byte structure that precedes the payload in an IPv6 packet. It's designed to provide essential information for routing and processing the packet.
Unlike IPv4, the IPv6 header is fixed in size and uses extension headers for optional functionalities.
Understanding the IPv6 header and extension headers is essential for comprehending how IPv6 networks function and how packets are routed and processed.
1. Key Fields in the IPv6 Header:
- Version (4 bits): Identifies the IP version as 6.
- Traffic Class (8 bits): Similar to IPv4's Type of Service, it's used to classify and prioritize packets. The first 6 bits are for Differentiated Services Code Point (DSCP), and the last 2 bits are for Explicit Congestion Notification (ECN).
- Flow Label (20 bits): Used to maintain the sequence of packets within a flow, crucial for real-time applications.
- Payload Length (16 bits): Indicates the length of the data payload in bytes, including extension headers.
- Next Header (8 bits): Specifies the type of header following the main IPv6 header, which could be an extension header or the upper-layer protocol (like TCP or UDP).
- Hop Limit (8 bits): Reduces to 0 by each router hop and used to prevent packets from looping endlessly in the network, similar to TTL in IPv4.
- Source Address (128 bits): The address of the originating node.
- Destination Address (128 bits): The address of the intended recipient.
2. Extension Headers:
- IPv6 uses extension headers to carry optional information, such as routing, fragmentation, and security information.
- These headers are placed after the main IPv6 header and before the payload.
- Common extension headers include Hop-by-Hop Options, Routing, Fragment, Authentication Header (AH), and Encapsulating Security Payload (ESP).
- Unlike IPv4 options, IPv6 extension headers are processed by routers or destinations based on the "Next Header" field, allowing for more flexible and specialized processing.
- The "Next Header" field in each extension header points to the next header in the chain, or to the upper-layer protocol if no more extension headers are present.
3. Key Differences from IPv4 Header:
- Fixed Header Size: IPv6 headers are always 40 bytes, whereas IPv4 headers can vary from 20 to 60 bytes due to options.
- Extension Headers: IPv6 uses extension headers for options instead of including them directly in the main header.
- No Fragmentation by Routers: IPv6 routers don't fragment packets; hosts use Path MTU discovery to ensure packets are small enough.
- Simplified Header: IPv6's header is designed to be simpler and more efficient to process than IPv4's.
- No Broadcast Addresses: IPv6 uses multicast and anycast instead of broadcasts.
[More to come ...]

