IPv4 vs IPv6 Protocols | IP Addressing Schemes and Limitations
IP (Internet Protocol) is defined in IETF (Internet Engineering Task Force) RFC791 (Request for Comments) in 1981. IP is a connectionless protocol used in packet switched communication networks. IP provides transmission of data from one host to another, where host is identified with a unique number called IP address. IP does not support guaranteed delivery or maintain sequence of delivery. It operates to deliver with best effort so, it falls under best effort traffic in packet transmission networks. The layer above IP (TCP) will look after the guaranteed delivery and sequencing of packets.
IP address is a number given to uniquely identify a host in the computer network globally. In a real word example you can think like a phone number with country code which is unique to reach a person. If Alice wants to call Bob, Alice will call Bob’s phone number, exactly in packet communication if Alice wants to send a packet to Bob; Alice will send the packet to Bob’s IP address which is unique. These IP addresses are called public IP or real IP. Think of a case where Alice is calling Bob’s office and punch the extension number to reach Bob, The extension number cannot be reached from outside because this extension is private.(Ext 834929) , the same extension number can exist in another company as well. (Company B Ext 834929). It is like same in IP world also there are Private IP addresses which is being used inside a private network. This is not directly reachable from outside and its not unique too.
Defined in RFC 791
This is a 32 bit number to identify hosts. So the total address space is 232 which is nearly equal s to 4×109. IP is operated in classful and classless concepts to overcome the shortage of addresses. Classful network is an addressing plan to identify the network and the hosts of the networks. IPv4 has 5 classes A, B, C, D and E. In class A, first 8bits of 32 bits identifies the network and Class B it’s the first 16 bits and in class C it’s 24 bits. If you consider a class C address first 24 bits identify the network part and the last 8 bits to identify the hosts in that particular network. In theory, a class C network can contain only 28 which is 256 hosts.
Because of the limitation of address space, CIDR (Classless Inter-Domain Routing) is introduced in 1993. Rather having a fixed network part and host part, CIDR introduces variable length of network and host part with relevant subnet masks.
Defined in RFC 2460
IPv6 is introduced to overcome the shortage of IP address space. IPv6 is a 128 bit number with address space of 2128 (about 3.4×1038). This gives the flexibility to overcome the addressing space issues and routing traffic.
Here in IPv6 first 64 bits defines the network part and the rest of the 64 bits is host address part. IPv4 is represented in 4 blocks of 8 bit binary whereas IPv6 is represented by 8 groups of 16 bit hexadecimal values separated by colons.
Further for easy use, it can be abbreviated with the following rules
(1) Leading zeroes within a 16-bit value may be omitted
(2) Single occurrence of consecutive groups of zeroes within an address may be replaced by a double colon
So 2607:f0d0:1002:0051:0000:0000:0202:0004 can be written as follows
Main features of IPv6
(1) Large address space, since it’s 128 bit
(2) Enhanced supports to Multicast
(3) Support for Network Layer Security
(4) Mobility Supported
(5) Extensible header if necessary
(6) Bigger Size payloads supported in IPv6 if network supports bigger MTU. (Jumbograms)
(1) IPv4 is 32bit address space where as IPv6 has 128bit address space.
(2) CIDR was introduced for optimized usage of IPv4
(3) IPv4 format is four Octect and IPv6 is 8 block Hexadecimal.
(4) Even though IPv4 supports limited multicast, IPv6 is extensively supporting Multicast
(5) IPv6 avoid triangular routing, since it supports Mobility
(6) IPv6 supports bigger payload than IPv4
(7) IP tunneling is used for IPv4 and IPv6 interconnection at the moment.