An IP (Internet Protocol) address is a unique numerical identifier assigned to every device connected to a network. It serves two purposes: identifying the host or network interface and providing the location for routing. IPv4 addresses look like 192.168.1.1 (four octets, 32 bits), while IPv6 addresses look like 2001:0db8:85a3::8a2e:0370:7334 (128 bits), providing an astronomically larger address space.
When your device connects to the internet, your ISP assigns it a public IP address. Within your local network, your router assigns private IP addresses (typically in the 192.168.x.x or 10.x.x.x ranges). Network Address Translation (NAT) maps private addresses to the single public address when traffic leaves your network. Every data packet sent over the internet contains a source and destination IP address, which routers use to forward the packet hop by hop to its destination.
IPv4's 32-bit space supports roughly 4.3 billion addresses, which have been effectively exhausted. IPv6's 128-bit space supports 340 undecillion addresses, enough for every atom on Earth's surface to have its own. Adoption of IPv6 has been gradual but is accelerating as mobile networks and cloud providers default to it.
Understanding IP addressing is fundamental for networking, security, server administration, and debugging connectivity issues. IP addresses determine geolocation (roughly), enable IP-based access controls and rate limiting, and form the basis of every internet connection. For web developers, knowing the difference between public and private IPs, understanding DNS resolution to IP addresses, and configuring firewall rules by IP range are everyday tasks.
The WiFi Speed Test on TerminalFeed can display your connection information. The TerminalFeed Worker API uses IP-based rate limiting to protect against abuse while keeping the API free for legitimate use.