Dealing with IPv4 addresses is part of the day in and day out job of network and system administrators. Unfortunately, when the words "netmasks" and "subnet" jump in... ouch... For simple home networks, you generally pick up a network address coming from the reserved ranges (10.0.0.0, 172.16.0.0 or 192.168.0.0) and use it to assign addresses to your hosts letting the black magic of networking do the rest for you. For corporate networks the problem is more complex, even ways more complex, because they involves dozens of servers, desktop computers, network printer, mobile devices not counting IP voice devices, guests access, addresses to reserve for management ports of your various routers / switches and so on with all that devices spread on several departments (even campus through WAN links) making likely to run out of IP addresses when the network becomes big enough. Designing networks is far beyond the scope of this article, what you will learn here is some basic principles to feed your cookie monster with parsimony at the basis :-)
Having a good comprehension of what happens and how do calculations is a requirement of your daily job, misassignments of IP addresses and masks can lead to hard-to-troubleshoot problems. If you intend to pass an IT certification in a domain related to network administration you are required to know the gory details lying there and do your calculations both in a fast and accurate manner (do not even think to take your exam if you 1. spend more than 30 seconds on a network address calculation and 2. have less than 100% accuracy). System administrators : your destiny is a bit more comfortable but you are required to master subjects related to networks and addressing is one of those.
Classfull and classless networks
The engineers who created the Internet Protocol nearly four decades ago (RFC 791 dates back to september 1981) used a 32 bits numbering scheme for network addresses (who will ever need millions of addresses afterall?). Those addresses follows the thereafter logic:
| Network part (variable length of N bits )
|| Host part (length : N - 32 bits)
- The network address : this part is uniquely assigned amongst all of the organizations in the world
- The host address : unique within a given network part
Is the network part assigned by each organization to itself? Of course not! Assignment are coordinated at the worldwide levels by what we call Regional Internet Registries or RIRs which, in turn, can delegate assignments to third-parties located within their geographic jurisdiction. Those latter are called Local Internet Registries or LIRs (the system is detailed in RFC 7020). All of those RIRs are themselves put under the responsibility of now now well-known Internet Assigned Numbers Authority or IANA. As of 2014 five RIR exists :
- ARIN (American Registry for Internet Numbers) : covers North America
- LACNIC (Latin America and Caribbean Network Information Centre): covers South America and the Caribbean
- RIPE-NCC (Réseaux IP Européens / or RIPE Network Coordination Centre): covers Europe, Russia and middle east
- Afrinic (Africa Network Information Center) : covers the whole Africa
- APNIC (Asian and Pacific Network Information Centre) : covers oceania and far east.