Use the ipv4 tag ONLY if the nature of your question specifically involves IPv4 addresses or networking -- often in contrast to IPv6. Most networking currently involves IPv4 addresses, so you should NOT include this tag with every networking question.
IPv4 (Internet Protocol version 4) is the fourth version in the development of the Internet Protocol. IPv4 is a connectionless protocol for use on packet-switched networks. It works on a best effort delivery model, in that it does not guarantee delivery, nor does it assure proper sequencing or avoidance of duplicate delivery.
Addressing
IPv4 uses 32-bit (four-byte) addresses, which limits the address space to 4294967296 addresses. IPv4 reserves special address blocks for private networks (~18 million addresses) and multicast addresses (~270 million addresses). These addresses are written in the dot-decimal notation, which consists of four octets of the address expressed individually in decimal and separated by periods.
The system known as classful networking defined five classes, Class A, B, C, D, and E. The Classes A, B, and C had different bit lengths for the new network identification. The rest of an address was used as previously to identify a host within a network, which meant that each network class had a different capacity to address hosts. Class D was allocated for multicast addressing and Class E was reserved for future applications.
Based on the IETF standard RFC 1517 published in 1993, this system of classes was officially replaced with Classless Inter-Domain Routing (CIDR), which expressed the number of bits (from the most significant) as, for instance, /24, and the class-based scheme was dubbed classful, by contrast. CIDR was designed to permit repartitioning of any address space so that smaller or larger blocks of addresses could be allocated to users.
Private Networks
Three ranges of address are reserved for use in private networks. These ranges are not routable outside of private networks, and private machines cannot directly communicate with public networks. They can, however, do so through network address translation.
The following are the three ranges reserved for private networks (RFC 1918):
10.0.0.0–10.255.255.255
172.16.0.0–172.31.255.255
192.168.0.0–192.168.255.255
Space Exhaustion
Several market forces accelerated IPv4 address exhaustion:
- Rapidly growing number of Internet users
- Always-on devices — ADSL modems, cable modems
- Mobile devices
To mitigate the IPv4 address exhaustion it was developed Network address translation (NAT). This technology allows a private network to use one public IP address.
The accepted and standard long term solution is to use Internet Protocol Version 6. The address size was increased in IPv6 to 128 bits, providing a vastly increased address space that also allows improved route aggregation across the Internet and offers large subnetwork allocations of a minimum of 264 host addresses to end-users. Migration to IPv6 is in progress but completion is expected to take considerable time.