Understanding IP Addresses
A foundational guide to the addresses that power the internet.
An Internet Protocol (IP) address is a unique numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication. It serves two primary functions: identifying the host or network interface and providing the location of the host in the network.
IPv4 vs. IPv6
There are two versions of IP addresses in common use today:
- IPv4 (Internet Protocol version 4): This is the most common version. An IPv4 address is a 32-bit number, typically expressed in "dotted-decimal" notation, like
172.16.254.1
. The 32-bit address space allows for approximately 4.3 billion unique addresses. While that sounds like a lot, the rapid growth of the internet has led to the exhaustion of available IPv4 addresses. You can play with these addresses using our IP Address Converter. - IPv6 (Internet Protocol version 6): Developed to solve the address exhaustion problem of IPv4, IPv6 uses a 128-bit address space. This provides a virtually limitless number of addresses (2128, which is about 340 undecillion). An IPv6 address is represented as eight groups of four hexadecimal digits, separated by colons, for example:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
. Our IPv6 Subnet Calculator is in development to help you work with these.
Structure of an IPv4 Address
An IPv4 address isn't just a random number; it's structured into two parts:
- The Network Part: The first part of the address identifies the specific network the device is on. All devices on the same network share the same network address.
- The Host Part: The second part identifies the specific device (the "host") on that network. This part must be unique for each device on the network.
The subnet mask is what separates these two parts. For example, with the address 192.168.1.100
and a subnet mask of 255.255.255.0
, the network part is 192.168.1
and the host part is 100
. Learn more about this in our Subnetting Fundamentals guide.
Special Addresses
Within any given network, two addresses are reserved and cannot be assigned to hosts:
- Network Address: The address where all host bits are '0'. It represents the network itself (e.g.,
192.168.1.0
). - Broadcast Address: The address where all host bits are '1'. A packet sent to this address is delivered to all hosts on the network (e.g.,
192.168.1.255
).