IPv4 addresses are 32-bit identifiers for hosts on the Internet, typically written in dotted-decimal notation (e.g., 192.168.1.1). Classful addressing (now obsolete) divided addresses into Classes A–E; modern networking uses Classless Inter-Domain Routing (CIDR) for more flexible address allocation.
Convert IPv4 addresses between decimal and binary; practice identifying address classes and private address ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
You already know from the TCP/IP model that the Network layer is responsible for delivering packets from one machine to another across multiple networks. IPv4 addressing is the mechanism that makes this possible: every device on an IP network is assigned a 32-bit address that uniquely identifies it, and routers use these addresses to decide where to forward each packet.
IPv4 addresses are written in dotted-decimal notation — four groups of decimal numbers separated by dots, such as 192.168.1.1. Each group (called an octet) represents 8 bits, so the full address is 32 bits. Because you've seen binary, you can see how each octet maps to binary: 192 = 11000000, 168 = 10101000, and so on. This binary representation matters when you later study subnetting and CIDR notation, where you split the address into a network portion and a host portion using a bitmask.
Early IPv4 design used "classful" addressing: Class A addresses started with a 0 bit and used the first octet as the network ID (supporting 16 million hosts per network); Class B used the first two octets; Class C used the first three. This rigid scheme wasted enormous amounts of address space — a company needing 300 addresses had to get a Class B block of 65,536. CIDR (Classless Inter-Domain Routing) replaced classful addressing by allowing any prefix length, written as an address followed by a slash and the number of network bits (e.g., 192.168.1.0/24 for a 24-bit network prefix).
A critical concept is private versus public addresses. RFC 1918 reserves three ranges — 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 — as private. These are not routed on the public Internet; backbone routers simply drop packets destined for them. This lets millions of home networks all use 192.168.1.x without conflict. Network Address Translation (NAT) then allows devices with private addresses to communicate with the public Internet by sharing one public IP.
With only 2^32 ≈ 4.3 billion addresses and billions of Internet-connected devices, IPv4 exhaustion became real (IANA ran out in 2011). IPv6 addresses this by expanding to 128 bits, providing 2^128 addresses — effectively unlimited. Understanding IPv4 fully — its addressing, classes, and limitations — provides the essential foundation for understanding why IPv6 is structured the way it is.