IPV4 vs IPV6 | difference between IPV4 and IPV6
This page compares IPV4 vs IPV6 and describes difference between IPV4 and IPV6. The major difference between them is IPv4 uses 32 bit address where as IPv6 uses 128 bit address.
Both IPV4 and IPV6 are IP address schemes available to assign IP addresses to the computers connected to the network. We will see here difference between IPV4 and IPV6.
IP is a layer-3 protocol in OSI stack. Packets are routed with the help of destination address.
The functions of IP are as follows:
• Connectionless best effort data delivery based on destination ip address.
• Fragmentation and re-assembly of datagrams to support links with different MTUs(Maximum Transmission Units).
IPV4 has 32 bit IP address space. There are different classes Class A, Class B, Class C, Class D and Class E. For more refer our page on IP address. The figure depicts IPV4 header fields used in the IP protocol. IPV4 is defined in RFC 791. Table-1 below mentions all the fields of IPV4 header with functional description.
|IPV4 header field||Description|
|Version||It signifies version of IPV4 or IPV6 in use|
|IHL(Header length)||datagram length in 32 bit words|
|Type of Service||specify how upper layers would like datagram to be handled.|
|Total Length||(data + header) size in bytes before fragmentation|
|Identification||helps in reassembly of fragments of datagram. Same ID has been assigned to all the fragments of a datagram|
|Flags(3bits)||2 lower bits are used, lowest one signify whether the packet can be fragmented or not, middle one specify whether the packet is the last one in the series of fragments of the packet|
|Fragment offset||indicates offset position of data fragment from starting position of datagram|
|Time to Live||counter which decrements to zero at the point of discarded datagram. This helps to prevent any misrouted packet.|
|Protocol||Indicates whether higher layer is TCP (value 6) or UDP(value 17)|
|Header hecksum||Requires for error detection at the destination host|
|Source address||Address of sending node|
|Destination address||Address of receiving node|
|Options||Support various other options such as security etc.|
|Data||Contains upper layer data information|
|Related link||TCPIP packet format|
IPV6 has 128 bit IP address,which helps support one billion networks, hence extends the drawbacks of IPV4 system. The figure depicts IPV6 header fields used in the IP protocol. IPv6 is defined in RFC 2460. Table-2 below mentions all the fields of IPV6 header with functional description.
|IPV6 header field||Description|
|Traffic Class(8 bit)|| equivalent to Type of Service field of IPV4,
used to classify IPv6 priorities
|Flow label(20 bit)||Used by source node to label sequence of packets for which it requests a special type of handling by IPv6 routers.|
|Payload length(16 bit)||Length of payload in bytes|
|Next Header(8 bit)||indicates type of header IPv6 follows such as TCP, UDP, ICMPv4 or ICMPv6|
|Hop Limit(8 bit)||Decrements 1 by 1 after forwarding the packets by each nodes. When zero packets are discarded and error message is being returned This is equivalent to Time to Live field of IPv4 protocol header.|
|Source address(128 bit)||Origin of IPv6 packet|
|Destination address(128 bit)||destination of IPv6 packet|
Both IPV4 and IPV6 coexist in a multiprotocol configuration. To do this task network access layer should support multiplexing of IPV4 and IPV6 packets. There are three methods of transition strategies from IPV4 to IPV6 protocol format. They are dual stack, tunneling and header translation. It is recommended to have both IPV4 and IPV6 protocol stacks in the device before migrating to the IPV6.
Tabular difference between IPV4 and IPV6
Following table mentions difference between IPv4 and IPv6.
|In IPv4, there are only 232 possible ways to represent address, which is about 4 billion.||In IPv6, there are 2128 possible ways.|
|IPv4 address is written by dotted decimal notation
|IPv6 address is written in hexadecimal notation consisting of 8 groups with 4 hexadecimal digits or 8 groups of 16 bits each.
|IPv4 header consists of 20 (minimum) to 60 bytes (maximum). It houses 13 fields.||IPv6 header consists of 40 bytes in length and houses only 8 fields.|
|IPv4 header has checksum which must be computed by each router.||IPv6 header does not use any checksum.|
|IPv4 header contains 8-bit field called service type.||IPv6 header contains 8-bit field called traffic class field.|
|IPv4 node has only stateful auto configuration.||IPv6 node has both stateful and stateless address auto configuration mechanism.|
|Security in IPv4 networks is limited to tunneling between two networks.||IPv6 has been designed to satisfy growing and expanded need for network security.|
|Source and destination addresses are 32 bits in length.||Source and destination addresses are 128 bits in length.|
|IPsec support is optional.||IPsec support is required.|
|No identification of packet flow for QoS handled by routers is present within IPv4 header.||Packet flow identification for QoS handled by routers is included in IPv6 header using "flow label field".|
|ARP (Address Resolution Protocol) uses broadcast ARP request frames to resolve an IPv4 address to a link layer address.||ARP request frames are replaced with multicast neighbour solicitation messages.|
|Must be configured either manually or through DHCP.||Does not require manual configuration or DHCP.|
|Header includes options.||All optional data is moved to IPv6 extension headers.|
|"ICMP router discovery" is used to determine IPv4 address of the best default gateway and it is optional.||"ICMP router discovery" is replaced with "ICMPv6 router solicitation and router advertisement" message and it is required.|