An IP address, commonly referred to as just an 'IP', is a unique address that identifies devices connected to a network. There are 2 iterations of an IP address, each ultimately providing the same outcome, however, are quite different to each other. Each IP version is detailed below.

IPv4

IPv4 was the first public and mass utilised version of the IP protocol. IPv4 was specifically designed to send data packets to both single and multiple destinations. An IPv4 address is comprised of four 3 digit numbers formatted like the following: xxx : xxx : xxx : xxx, where each 'xxx' is a numerical value between 0 and 255, giving a total of 256 possible values in each block.

Although they are not defined or often spoken of in the modern era of the internet, there were originally 3 classes of IP address, as detailed below.

Class C: Originally, this was the smallest group of IPv4 addresses available, with a total of 256 unique IP addresses as shown below:
123 : 123 : 123: XXX (Where XXX is a value between 0 and 255). Also note that only the value 'XXX' can be changed in this group of addresses.

You would most commonly find this bank of IP's on a small private network, typically of small to medium sized business where there are only around 100 users connected to the network using PCs, laptops or other network capable devices.

Class B: Class B is a larger bank of IPs, with a total of 65,536 unique addresses: 123 : 123 : XXX : XXX (Where XXX is a value between 0 and 255).
This class of IP addresses would most commonly be deployed across a wide area network, typical of a large organisation.

Class A: This is the largest bank of available IP addresses, with 16,777,216 unique IP addresses:
123 : XXX : XXX : XXX (Where XXX is a value between 0 and 255).
This class of IP addresses was typically reserved for ISPs (Internet Service Providers). This allowed them to adequately provide their service to customers by having a large enough bank of IP addresses they could use.

Deployed in 1983, IPv4 was a revolutionary advancement in what we all know as the internet today. At its time, the Decimal based system allowed for a staggering 4,294,967,296 (Nearly 4.3 Billion) unique IP addresses, which its designers estimated to be a valid and reasonable number of IP address as many people never had an internet capable device. However, as technology advanced, became cheaper and the internet became more widespread, it was soon apparent that this bank of 4.3 billion addresses would not be adequate to supply the current demand, let alone further expansion in the future. An alternative solution was needed and thus IPv6 was created.

IPv6

Released in December 1999, IPv6 was designed as a direct replacement of IPv4 and with it brought a new wave of technological advancements. Unlike IPv4 which used the Decimal system to represent numbers, IPv6 utilised a new system called Hexadecimal. In comparison to Decimal which uses the following values: 0,1,2,3,4,5,6,7,8 and 9, Hexadecimal uses both these existing values of decimal (hence 'decimal' in its name) but also includes: A,B,C,D,E and F. By introducing letters, designers of IPv6 where able to create a new IP address system which was formatted as the following:

2602:0045:0000:0000:A93E:57A7:81E2:5F9D

Every IPv6 address is comprised of eight 4 digit hexadecimal "Sets" with a total of 32 characters in each address, unlike IPv4's much lower 12 characters. By utilising both larger and more "sets", IPv6 created a new bank of 3.4 x 1038 or 340 Undecillion unique IP addresses. Unlike IPv4, it is highly unlikely that we will use this amount of IP addresses within our lifetime.