IPv6 was mainly introduced to solve IPv4 address depletion caused by the rapid growth of devices (especially IoT) and to improve efficiency, support multimedia, and enhance security. Key features include:
Large Address Space: 128-bit addresses (vs 32-bit in IPv4) vastly increase available addresses.
Better Header Format: Base header separated from optional fields, speeding up routing.
New Options & Extensibility: Allows additional functionalities and future protocol extensions.
Resource Allocation: New fields Traffic Class and Flow Label enable special handling for real-time audio/video.
Enhanced Security: Built-in encryption and authentication ensure confidentiality and integrity.
Addressing Methods: Supports Unicast, Multicast, and Anycast.
Addressing Methods
Unicast Address: Identifies a single device; packets are delivered to that one specific interface.
Multicast Address: Identifies a group of devices; packets are delivered to all members of the group simultaneously.
Anycast Address: Assigned to multiple devices; packets are delivered to the nearest device in the group.
Note: Broadcast is not defined in IPv6.
Types of IPv6 Address
We have 128 bits in IPv6 address but by looking at the first few bits we can identify what type of address it is.
Prefix
Allocation
Fraction of Address Space
0000 0000
Reserved
1/256
0000 0001
Unassigned (UA)
1/256
0000 001
Reserved for NSAP
1/128
0000 01
UA
1/64
0000 1
UA
1/32
0001
UA
1/16
001
Global Unicast
1/8
010
UA
1/8
011
UA
1/8
100
UA
1/8
101
UA
1/8
110
UA
1/8
1110
UA
1/16
1111 0
UA
1/32
1111 10
UA
1/64
1111 110
UA
1/128
1111 1110 0
UA
1/512
1111 1110 10
Link-Local Unicast Addresses
1/1024
1111 1110 11
Site-Local Unicast Addresses
1/1024
1111 1111
Multicast Address
1/256
Note: In IPv6, all 0βs and all 1βs can be assigned to any host, there is not any restriction like IPv4.
Provider Id: Depending on the number of service providers that operate under a region, certain bits will be allocated to the Provider Id field. This field need not be fixed. Letβs say if Provider Id = 10 bits then Subscriber Id will be 56 - 10 = 46 bits.
Subscriber Id: After Provider Id is fixed, the remaining part can be used by ISP as a normal IP address.
Intra Subscriber: This part can be modified as per the need of the organization that is using the service
Geography-Based Unicast Address
These are designed for location-based routing.
Global Routing Prefix: Encodes geographical details such as latitude and longitude. Currently not in practical use.
Interface ID: Replaces the IPv4 host ID, uniquely identifying an interface on a node.
A link-local address is used for addressing a single link. It can also be used to communicate with nodes on the same link. The link-local address always begins with 1111111010 (i.e. FE80). The router will not forward any packet with Link-local address.
Site local addresses are equivalent to a private IP address in IPv4. Likely, some address space is reserved, which can only be routed within an organization. The first 10-bits are set to 1111111011, which is why Site local addresses always begin with FEC0. The following 32 bits are Subnet IDs, which can be used to create a subnet within the organization. The node address is used to uniquely identify the link; therefore, we use a 48-bits MAC address here.
Advantages of IPv6
Realtime Data Transmission: Data is transmitted immediately with minimal delay. Example: Live streaming of sports events with 5β6 seconds delay.
IPv6 Authentication: Ensures data comes from the legitimate sender and hasnβt been altered. Example: Verifying messages using hash values.
IPv6 Encryption: Can encrypt messages at the network layer, even if the application layer doesnβt, providing built-in security.
Faster Router Processing: IPv6 has a fixed 40-byte header, allowing routers to process packets faster compared to IPv4βs 20β60 byte variable header.
Disadvantages of IPV6
Transition Period: Due to widespread use of IPv4, shifting completely to IPv6 will take a long time.
Communication Barrier: IPv4 and IPv6 machines cannot communicate directly with each other.
No Backward Compatibility: IPv6 cannot run on IPv4-capable computers because it's not supported by IPv4 systems.
Conversion Challenges: IPv6's inability to uniquely identify each device on the network makes the transition from IPv4 time-consuming.
Protocol Isolation: IPv4 and IPv6 cannot communicate with each other directly, preventing cross-protocol communication.