IP Address (IP)
An IP address is a device’s home address on a network. Just like a mailing address tells the postal service where to deliver a letter, an IP address tells the network where to send data. Every device that connects to the internet or a local network gets one. Without IP addresses, devices would have no way to find each other.
An Internet Protocol (IP) address is a numerical identifier assigned to each device participating in a network that uses the Internet Protocol for communication. It serves two functions: host identification and location addressing.
IPv4 (RFC 791): 32-bit address written as four decimal octets (e.g., 192.168.1.10). Provides approximately 4.3 billion unique addresses. Exhausted globally; IANA allocated the last /8 blocks in 2011.
IPv6 (RFC 8200): 128-bit address written as eight groups of four hexadecimal digits (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334). Provides 3.4 x 10^38 addresses, effectively unlimited.
Address classes and ranges (IPv4):
| Range | Type | Use |
|---|---|---|
| 10.0.0.0/8 | Private (RFC 1918) | Large internal networks |
| 172.16.0.0/12 | Private (RFC 1918) | Medium internal networks |
| 192.168.0.0/16 | Private (RFC 1918) | Home/small office networks |
| 169.254.0.0/16 | Link-local (APIPA) | Auto-assigned when DHCP fails |
| 127.0.0.0/8 | Loopback | Local machine (localhost) |
| 100.64.0.0/10 | CGNAT (RFC 6598) | ISP shared address space |
Assignment methods:
- Dynamic (DHCP): address assigned automatically from a pool, may change on renewal
- Static: manually configured, does not change. Used for servers, printers, infrastructure devices
- SLAAC (IPv6): stateless autoconfiguration using router advertisements
Viewing and managing IP addresses
# View all IP addresses (Linux)
$ ip addr show
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
inet6 fe80::1a2b:3c4d:5e6f:7a8b/64 scope link
# View on macOS
$ ifconfig en0 | grep inet
inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::1a2b:3c4d:5e6f:7a8b%en0 prefixlen 64 scopeid 0x6
# View on Windows
> ipconfig
IPv4 Address. . . . . . . . . : 192.168.1.10
Subnet Mask . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . : 192.168.1.1
# Find your public IP
$ curl -s ifconfig.me
203.0.113.42 IP addresses are the most fundamental concept in networking. Every firewall rule, DNS record, routing table entry, and network diagram references IP addresses. The distinction between private IPs (used inside your network) and public IPs (used on the internet) is critical: your devices use private addresses internally, and NAT translates them to a public address for internet access. In cloud environments, you manage IP addressing through VPC/VNet configuration, assigning subnets and controlling which instances get public IPs. Static IPs are reserved for servers and infrastructure; dynamic IPs (via DHCP) are standard for workstations and mobile devices. The IPv4 exhaustion problem is real but slow-moving; most networks still run dual-stack (IPv4 + IPv6) or IPv4-only with NAT.