IPv4 and IPv6 are internet protocol applied at network-layer. IPv6 has been proposed to replace IPv4 because of 32-bit address space of the IPv4 soon to be completely allocated.
IPv4 – The fourth version of Internet protocol
Figure 1: IPv4 datagram format.
Version number: Using 4 bits to specify the IP protocol version of the datagram. Different versions IP use different datagram formats.
Header length: Use 4 bits to locate where the data in the IP datagram actually begins
Type of service (TOS): To distinguish different types of IP datagrams. For example, real-time datagram (VoIP) and non-real-time traffic (FTP).
Datagram length: Has 16 bits long – maximum size of the datagram is 65,535 bytes.
Identifier; flags, fragmentation offset: Fragment the data in the IP datagram into smaller IP datagram, and then encapsulate these smaller in a separate link-layer frame; sent these frames over the outgoing links. These smaller datagrams is considered as fragment. The fragmentation costs designation of accommodating datagram fragmentation and reassembly, DoS attacks, and exploitation of sending overlapping IP fragments.
Time-to-live (TTL): Ensure that datagrams do not circulate in the network. This field is decreased by 1 time the datagram is processed by a router. The datagram must be dropped once reaching 0.
Protocol: Help an IP datagram should be passed on its final destination (specific transport-layer).
Header checksum: Using 2 bytes in the header aids a router in detecting bit errors in a received IP datagram.
Source and destination IP addresses: Size of IP address is 32 bits; the both IP addresses are opened by a DNS lookup.
Option: This field allows an IP header to be extended; however, it costs amount of time to process an IP datagram at a router, which results in high-performance issues at routers and hosts.
Data (payload): contain the transport-layer TCP/UDP segment to be delivered to destination.
IPv6 – The sixth version of Internet protocol
Figure 2: IPv6 datagram format.
IPv6 removed entirely Fragmentation/Reassembly in order to reduce processing time at each hop.
A new Internet Control Message Protocol (ICMP) includes additional message type (e.g. “Packet To Big”), and anycast address (beside unicast and multicast addresses), which enables a datagram to be delivered to any one of a group of host.
To sum up, a comparison of IPv4 and IPv6 as following table.
|Use 32 bits addressing.||Use 128 bits addressing.|
|Allow 2^23 unique IP addresses.||2^128 ~34-undecillion unique addresses.|
|5 different class types: A, B, C, D and E. Particularly, class A, B, C used on IP network in common practice.Class D are reserved for multicast. Class E are not be used (just limited for research purpose).||Three categories: Unicast, Multicast, and Anycast Addresses.|
|Notation: 126.96.36.199||Denoted by eight groups of hexadecimal quartets: 2003:cdba:0000:0000:0000:0000:3157:8652.|
So, basically IPv6 protocol helps to resolve some issues:
- Increase address space.
- More efficient routing.
- Reduced management requirement.
- Increase security.
- James F.Kurose, and Keith W.Ross, “The Network Layer”, In Computer Networking A top-Down Approach, p.p 367-398. Pearson, ed. 5th, 2010.