What is IP and IP addresses?

The Internet Protocol is basically the set of rules that allow messages, or chunks of data, known as "packets" to be conveyed between end-devices (computers), even if they cross different IP networks. The IP mainly dictates how headers, which top each packet, should be. The key pieces of the header, such as the addresses, dictate routing (delivery) and how the packet should be handled, by both IP routers and end-user applications or computer programs. IP addresses work like phone numbers, uniquely identifying end-clients for end-to-end communication, although this isn't always quite the case.

There are currently two IP versions in use: IPv4 and IPv6. Version 6 is the newest and was developed mostly to address the foreseeable problem of address shortage during the 90's, as the former was designed at a time when the internet wasn't envisioned to be used by so many users. The v6 header, while still longer, is also more simplified, even removing a few fields now deemed redundant.

IPv4 addresses are 32-bit (4 byte) numbers, expressed (for humans at least) with four numbers ranging from 0 to 255 and three periods, such as "". That example is within a private/local area network range, so cannot be used for cross-network or public, globally routable addresses. The number of unique addresses v4 supports is 4,294,967,296 (4 billion), but many of these cannot be assigned as globally unique identifiers, and so there's not even half enough for every person, let alone every device.

IPv6 address are 128-bit (16 byte) numbers, but expressed with hexadecimal digits (0 to 9 and A to F) and colons (:). The human-friendly expression also supports abbreviations too, removing leading zeros and redundant colons. Basically, v6 addresses can be:

2001:0db8:85a3:0000:0000:0000:0000:d0e5 or abbreviated to 2001:db8:85a3::d0e5

2001:0db8:85a3:0001:0001:0001:0001:d0e5 or abbreviated to 2001:db8:85a3:1:1:1:1:d0e5

0000:0000:0000:0000:0000:0000:0000:0001 or abbreviated to ::1 (All-zeros can be just "::")

(The first two are documentation/demonstration ranged address while the third is "loop-back", meaning "me, this host". All-zeros "::" is reserved for "listening on all/any addresses" or "unspecified")

The number of unique addresses v6 supports is (brace yourself) 340,282,366,920,938,463,463,374,607,431,768,211,456! Or rather, over 340 undecillion, which is enough in theory to give trillions of Earths, each with trillions of devices, trillions of addresses each, even though some are also reserved or for special use. However, the way IPv6 is allocated and designated means that only a portion of the first half is used for end-sites or subscribers, while the latter half is for end devices. Version 6 addressing allows end-users to pick a from a large pool of addresses in the latter part. Nevertheless, IPv6 gives enough, if not more than enough, addresses for all likely subscribers for the foreseeable future, if not forever.

Last update on 2023-04-06 by DNC admin.

Go back