An Internet Protocol (IP) address is a numerical logical
address that is assigned to devices participating in a
computer network.
The Internet Protocol (IP) has two versions currently in
use, IPv4 and IPv6. Each version has its own definition of
an IP address. Because of its prevalence, the generic term
IP address typically still refers to the addresses defined
by IPv4.
IP version 4 addresses
IPv4 uses 32-bit (4-byte) addresses, which limits the
address space to 4,294,967,296 (232) possible unique
addresses. However, IPv4 reserves some addresses for special
purposes such as private networks (~18 million addresses) or
multicast addresses (~270 million addresses).
IPv4 addresses are usually represented in dot-decimal
notation (four numbers, each ranging from 0 to 255,
separated by dots, e.g. 208.77.188.166). Each part
represents 8 bits of the address, and is therefore called an
octet. In less common cases of technical writing, IPv4
addresses may be presented in hexadecimal, octal, or binary
representations. When converting, each octet is usually
treated as a separate number.
IP version 6 addresses
The rapid exhaustion of IPv4 address space prompted the
Internet Engineering Task Force (IETF) to explore new
technologies to expand the Internet's addressing capability.
The permanent solution was deemed to be a redesign of the
Internet Protocol itself. This next generation of the
Internet Protocol, aimed to replace IPv4 on the Internet,
was eventually named Internet Protocol Version 6 (IPv6) in
1995. The address size was increased from 32 to 128 bits or
16 octets, which, even with a generous assignment of network
blocks, is deemed sufficient for the foreseeable future.
Mathematically, the new address space provides the potential
for a maximum of 2128, or about 3.403 × 1038 unique
addresses.