Designing IPv4 Networks & Subnetting

Instructor: Brandon Bass

Brandon has taught Masters and Bachelors courses in Computer Science, Security and Programming. He as a Ph.D in Digital Systems Security and Computer Science.

IPv4 is the current method for assigning numeric addresses to computers so that they can communicate over networks. While a bit dated, it is still the dominant method and it is important to understand how it works. In this lesson, we will talk about the history of IPv4, its characteristics, and how addressing works.

The History of IPv4

IPv4 (Internet Protocol version 4) came about due to an overwhelming demand by think tanks, research facilities and US Universities to allow for a nationwide consumption of computing resources for the exchange of ideas and data. Furthermore, the practical application of computing resources through the inception and deployment of network technologies was of great interest to the computer science community. The Advanced Research Project Agency or ARPA developed ARPANET (later known as DARPA due to defense contracts) and began working on networking in the late 60's. The Network Control Protocol which was the predecessor to TCP/IP v4, was created by ARPANET and first used in 1971. TCP/IP v4 was finalized in 1981 as part of RFC 791. The success of this protocol is said to be attributed to the fact that UC Berkeley used TCP/IP v4 in their BSD Unix distribution in 1983 and made the source code public so all could implement it.

IPv4 Characteristics

IPv4 represents a 32 bit integer or 4 bytes in length. In binary, this is 2^32 or 4,294,967,296 total addresses. In the 80's, they believed this was such an astronomical number that it would never be eclipsed. At that time, Steve Wozniak hadn't quite made home computing as ubiquitous as it would inevitably become in today's world. IPv4's 4 byte addresses use what is known as dotted decimal notation which has four octets. If you recall, a byte is 8 bits. An octet contains the root word 'octo' meaning 8. There are 32 bits in the address so it divided into four octets with periods as delimiters. This seemed a natural progression to computer scientists when dealing with individual addressing.

IPv4 is broken into five class domains for addressing which will be covered shortly. The numbering scheme, in dot notation, goes from all the way to and is representative of 4+ billion addresses. The class system was implemented to allow alternate lengths for identification of specific network segments. Figure 1 outlines the classes, broken down by their address blocks for a better understanding.

Figure 1 - Class Networks

IPv4 Subnetting

A subnet is a way of breaking down an IP network into logical pieces. Standard subnetting for IPv4 uses what is known as a classful subnet. For a class A subnet, that would be using the entire address space, producing the maximum number of hosts or 16,777,214. That is a very large number of addresses and it isn't necessary for the vast majority of businesses. That said, given that most organizations are smaller, classful class C ranges typically issued because they consist of 254 hosts. The subnet mask is always the number of bits used or on. So, with a class A range, the mask has 8 bits (2^8 or 256) on and 24 bits off. That produces a mask of Because we always start at 0, that is why we see 255 addresses and not 256. For a class C range, the mask has 24 bits on and 8 bits off. The resultant mask for this is range is Each network contains the maximum number of hosts minus 2, because the first address must be the network ID and the last address must be the 'broadcast ID.

This type of addressing may seem very wasteful if an organization has 10 computers, 2 printers, 1 server and a few network appliances. In order to be more 'surgical', network engineers use something known as variable length subnet masks. Essentially, they borrow up or down on a subnet mask in order to get a larger or smaller subnet. How does this work? The answer is simple. Let's take a classful class C range. We know that it has 254 host addresses that can be used. Given the above example, we need about 13 addresses. How do we get there? To do so, we use binary math and turn bits on. Since we would need 1 address for the network ID and 1 for broadcast ID, we would need 15 total addresses. 2^4 is the closest Binary number we can use to get there. 256-16 = 240. The subnet mask for this network would be and we could use the class C addressing scheme of - This is would provide the 16 addresses we requested.

Quick Facts

For a more directed understanding of classes, here's a short list of IPv4's class facts:

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account