Analyzing Classful Networks and My Dear Aunt Sally

 In 200-301 V1 Ch12: Classful IPv4 Networks, 200-301 V1 Part 4: IPv4 Addressing, CCENT-OLD, IPv4 Network Analysis

No, I don’t really have an Aunt Sally. Some of you may have recognized the mnemonic device for multiplication and division (My Dear), and for addition and subtraction (Aunt Sally), as taught to so many school kids in the USA.  Today’s post is about the subnetting equivalent to Aunt Sally: the basic building blocks of how to analyze an IP address to discover the classful IP network in which it resides, as well as other key facts about that network. Easy? Sure, once you know how, but you have to know the rules.

This post summarizes the rules, as a reference for some future drills to let you get some more practice. And for those of you with my ICND1 book, Chapter 13 spells out the details as well.

Easy, but Way Important

The concepts mentioned in this post require you to memorize some numbers, and apply some basic rules. The rules are as basic as addition and subtraction with non-negative integers. But if you don’t master these simple tasks, subnetting becomes much more difficult. In that case, it would be like trying to do algebra problems when you’re unsure of your multiplication tables – it just takes you longer, and you’ll make more mistakes.

So, what is it that this post covers? Starting with one Dotted Decimal Notation (DDN) number that looks like an IPv4 address, determine the following:

  1. Is the address a class A, B, C, D, or E address, or none of these?
  2. If A, B, or C, determine the classful IP network number.
  3. If A, B, or C, determine the classful IP network broadcast address.
  4. List the range of IP addresses that can be assigned for use by hosts in this classful network.

If you can do the above already, move on. If not, then it’s worth the time to memorize the number ranges, get the process down, and practice until it is automatic. And it really should be automatic before you head off to take the ICND1 or CCNA exams – all the analysis mentioned here should pretty much pop into your head the second you see an IP address.

The rest of the post focuses on the details of how to determine the items in the earlier list.

 

Item 1: From IP Address to Class (A, B, C, D, or E)

To start with a DDN number, and identify the class, all you need to do is memorize the information in Table 1, and compare the first octet of the DDN number to the first column. The second column lists the class. If the first octet of the DDN number is not in any of the (inclusive) ranges shown in the table, then the DDN number is not in any of the five classes.

Table 1: Key Facts about Classful IPv4 Networks

First Octet Range (Inclusive) Class Number of Network Octets Number of Host Octets
1 – 126 A 1 3
128 – 191 B 2 2
192 – 223 C 3 1
224 – 239 D N/A N/A
240 – 255 E N/A N/A

(Note: You might get some argument that addresses that begin with 0 in the first octet are also class A, but are reserved and not assigned. Feel free to go with that stance as well.)

 

Item 2: Finding the Classful IP Network ID

For class A, B, and C addresses, the address exists or resides inside a class A, B, or C network. That network, also called a classful IP network (to emphasize that we’re talking about the entire network, and not a subnet inside that classful IP network), has an identifying number. That number goes by the name network number, network address, and network identifier (network ID).

Finding the network ID uses this process:

  • Copy the first 1, 2, or 3 octets, the network octets, of the original DDN number
  • Write 0’s for the remaining octets

For instance, with DDN number 1.2.3.4, the first octet is 1, so it exists as a class A address. To find the network ID, copy the first octet, because per Table 1, class A networks have 1 network octet. To complete the number, write down 0’s, for a network ID of 1.0.0.0.

 

Item 3: Finding the Classful IP Network Broadcast Address

To find the broadcast address for the network, use the same process as for finding the classful network ID. However, when writing those final 0’s, write 255’s instead. Here’s the formal process to be complete:

  • Copy the first 1, 2, or 3 octets, the network octets, of the original DDN number
  • Write 255’s for the remaining octets

For instance, with DDN number 1.2.3.4, the first octet is 1, so it exists as a class A address. To find the network broadcast address, copy the first octet, because per Table 1, class A networks have 1 network octet. To complete the number, write down 255’s, for a network broadcast address of 1.255.255.255.

 

Item 4: Finding the Range of Host Addresses

Each classful IP network, when used as one entity instead of being divided through subnetting, can use all the DDN numbers between the network ID and the network broadcast address as host IP addresses. To find the range of these numbers, all you have to do is call on dear old Aunt Sally, as follows:

  • To find the numerically lowest IP address in the range, add 1 to the 4th octet of the network ID.
  • To find the numerically highest IP address in the range, subtract 1 from the 4th octet of the network broadcast address.

For instance, again with DDN number 1.2.3.4, the network ID is 1.0.0.0, and the network broadcast address is 1.255.255.255. So, the low end of the range of IP addresses usable by hosts is 1.0.0.0, +1, for 1.0.0.1. The high end is 1.255.255.255, -1, for 1.255.255.254.

 

Conclusion

That’s it. I’ll get some exercises posted. If you have my ICND1 book, you already have some in Chapter 13.

Convert Masks, Drill 1: Answers
Analyzing IP Networks Exercise 1
Subscribe
Notify of
guest

15 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

[…] Post about how to find the answers […]

Anik

it says class B has 192. Is that a mistake? Or is it something I never knew before?

lyjo

It was my mistake – thanks for the heads up. I edited the post so others would more easily avoid misinformation. Thanks Anik!
Wendell

[…] Post about how to find the answers […]

[…] Post about how to find the answers […]

[…] Post about how to find the answers […]

CyberGeekUS

At the end of the explanation on Item 3 it says: ‘…, for a network ID of 1.255.255.255.’ and I think it should be: …, for a network broadcast address of 1.255.255.255.

lyjo

Howdy,
Yep, you are right. I edited the text to fix it, rather than make people notice these comments. Thanks for the edit!
Wendell

[…] Post about how to find the answers […]

[…] Post about how to find the answers […]

Morgan

I hate to bother you with this, feel free to ignore or delete.
I say that an address of 192.168.0.1/16 is not a Class C address. I also say that 192.168.1.1/25 is not a class C address but a subnet of the Class C network 192.168.1.0. I say these things with a willingness to except I might be wrong, but here is my thinking.

Classes would not exist if we were not routing before the advent of subnet masks, so therefore, if you are discussing a class, you are discussing the number of network bits the class defined? What do you say, do the first 4 bits really define the class if you’re applying a subnet mask to it that isn’t consistent with the class definition?

Wendell Odom

Hi Morgan,
Great attitude. Even after working in networking over 40 years, I still learn things most weeks.

On your point, I was a bit unsure how to best help you understand. So, starting with your 2nd paragraph:
If discussing a class, the class defines a number of network bits: 8, 16, or 24, based on the class.
Those classes use default masks of /8, /16, /24, respectively. The default mask mathematically represents the separation of network bits with mask bits of binary 1 versus host bits with mask bits of binary 0. EG, class C default mask of /24 has 24 1’s aka 24 network bits.
On a point of terminology, when you end with “that isn’t consistent with the class definition”, I’d call that a subnet mask. So in any network, if you use a mask other than the default mask, it’s a subnet mask.

So, take the number 192.168.1.1/25. You say it is not a class C address. So, what could “192.168.1.1/25” represent?
The 192.168.1.1 could represent an address, or a reserved number like a subnet ID or subnet broadcast address. The /25 is the subnet mask in prefix format.
Then you have to do the math to know. In this case, the literal “192.168.1.1/25”, if you take that and apply some subnetting math, you find the following facts about the numbers in the subnet it’s a part of:
subnet ID: 192.168.1.0
first address: 192.168.1.1
last address: 192.168.1.126
subnet broadcast address: 192.168.1.127

So, I would disagree with your first paragraph claim that “192.168.1.1/25 is not a class C address but instead a subnet….”. Instead, it’s an address.

Finally, on your first 4 bits comment, the first 4 bits are unique for addresses in the class A, B, C, D, E ranges, but that’s a coincidence of the address range choices. Those bits/values have nothing to do with the structure of IP addresses (number of network, subnet, host bits), if subnetting is used, etc.

I think I hit your points. Hope this helps!
Wendell

Morgan

I guess my real question is, is it accurate to say that 192.168.0.1/16 is an address from the class C range. I would have said no, its a Classless Inter-Domain Routing address, or an address that uses CIDR architecture, and I would have a hard time calling it a classless address, (or an address that uses a classless architecture), from the class C range, but I may have to get use to it when others do that.
Thank you for your response and your valuable time

Wendell Odom

You’re quiet welcome, Morgan.
So, numbers that begin with an octet between 192-223 are in the class C range. Whether the number is an address or not depends on the mask. In the example you give, without more context, it looks like an address. So it is an address in the class C range.

However, the number 192.168.0.1/16 implies another topic about routing called route summarization, or supernetting, as described in the CIDR RFC. Let’s say we were discussing the route in an Internet router for 192.168.0.0/16. That route matches all addresses that begin 192.168.0.0, including packets sent to address 192.168.0.1. Whether you call 192.168.0.1 an address in the class C range, or an address that matches the route to 192.168.0.0/16, packets destined to that address still match that route. But 192.168.0.1 is for sure an address. But it’s a class C address by definition, and its an address that parts of a supernet route/summary route/aggregate route in an Internet router’s routing table. Depends on what conversation you’re having.
I think your prior knowledge might be getting in the way of a fundamental hurdle about classless and classful addressing. Those terms, like CIDR, define ways to think about and talk about addresses, but they do not change the nature or processing of the addresses. Classless addressing being the view of the address as two parts (prefix and host), versus classful viewing the address as three parts (network, subnet, and host). But addresses are not one or the other – it’s just two different ways to think about an address for different tasks in networking. If you have my current books, you can see a little more about it in Chapter 13 of volume 1.
So, to get used to the terminology, assuming you’re heading towards CCNA and having to get used to an approach you’re not used to, then maybe try this. At least in my CCNA products, you won’t see any route summaries/supernets like 192.168.0.0/16, leaving that for CCNP. You’ll see lots of subnets of class A, B, and C networks, of course. Stick with that, learn how to think about addresses in three parts (classful view) when useful, how to think about them as two parts (classless view) when useful, get good at the math. Differentiate between addresses vs. the subnet ID and subnet broadcast address. Try to not let the terms bother you til you’re great at the math. Second, you started this with a claim that 192.168.0.1/16 and 192.168.0.1/25 were not addresses – but subnetting math says they are. Overcome that hurdle. Then circle back on the terminology to find a happy medium on how you personally would describe it, depending on the context, in the case above. You can even hit me here again.

W

Morgan

I do appreciate it, and I have to concede that I have lost this debate with others. Your answer clearly shows me that the first 4 bits do define the address range, which we refer to as Class A, B, C, D, and E, regardless of whether cidr masking has been attached or not, and regardless of what that mask might be, and I do appreciate it. I did make a faux-pas in my initial question, that 192.168.0.1/25 is not a Class C address but a subnet of a class C network, would have been more correctly stated as it’s an address in a subnet of a Class C network, but regardless, I can see and agree that it’s an address within the Class C range regardless of the masking. Thank you again, much appreciated, and I will not take up any more of your valuable time with this, you have set me straight 🙂

15
0
Would love your thoughts, please comment.x
()
x