Question:At my work, we have multiple networks set up across the world and I was looking over a listing of how our networks are subnetted. Here’s an example of how we’re set up on one of our networks:

Subnet id of 150.100.204.96

Range of .97 - .110

Broadcast of .111 on a subnet mask of /28 and the next subnet is

150.100.204.112-143 /27

It does work, but it seems contradictory to what’s taught in the basic CCNA courses. Is this typical advanced subnetting that I just haven’t learned or read about?

Answer:

Based on your IP subnets there, it looks like you’re running into the logical dilemma of mixing different types of subnets all next to each other.

If we used only /28s, we would expect:

150.100.0.0 (Giving hosts from .1 through .14 with a broadcast of .15.)

150.100.0.16 (Giving hosts from .17 through .30 with a broadcast of .31.)

150.100.0.32 (You get the point, so I won’t list them all!)

150.100.0.48

150.100.0.64

150.100.0.80

150.100.0.96

150.100.0.112

150.100.0.128

150.100.0.144

150.100.0.160

150.100.0.176

150.100.0.192

150.100.0.208

150.100.0.224

150.100.0.240

Now, if we had /27s, we would expect:

150.100.0.0 (Giving hosts from .1 through .30 with a broadcast of .31.)

150.100.0.32 (Giving hosts from .33 through .62 with a broadcast of .63.)

150.100.0.64 (Again, you get the point.)

150.100.0.96

150.100.0.128

150.100.0.160

150.100.0.192

150.100.0.224

I believe that’s the way we try to learn things in the CCNA/CCENT training. Mostly, we do that in order to be able to grasp the concepts of binary and how the router looks at things without running the risk of our heads exploding. What the router really looks at is pure binary groups, and as long as there’s no overlap, we’re good to go.

So notice the groupings we can have in the two lists. We all should’ve learned why we cannot have 150.100.0.80/27 as an example. While it makes perfect sense from a counting standpoint that this would allow from .81 to .110 as host addresses, it doesn’t work because of “crossing a bit boundary” (of .96) in the middle of it.

As long as we don’t cross any bit boundaries, though, we’re able to mix and match however we’d like to see things done and in any particular order (get ready for a little headache).

On a single router, or anywhere within my network, I could have:

150.100.0.0/26 (Gives us from .1 to .62 as hosts and .63 as broadcast.)

150.100.0.64/28 (Gives us from .65 to .78 as hosts and .79 as broadcast.

150.100.0.80/29 (Gives us from .81 to .86 as hosts and .87 as broadcast.)

150.100.0.88/30 (Gives us from .89 to .90 as hosts and .91 as broadcast.)

150.100.0.92/31 (Gives us a point to point link with .92 and .93 usable.)

150.100.0.94/31 (Gives us a point to point link with .94 and .95 usable.)

150.100.0.96/27 (Gives us from .97 to .126 as hosts and .127 as broadcast.)

150.100.0.128/25 (Gives us from .129 to .254 as hosts and .255 as broadcast.)

We could have interfaces/networks with all of those subnets, all at the same time, because each and every one of them is contained within a bit boundary based on its netmask.

The router works in a purely binary world. So as long as each separate thing doesn’t violate any rule (like overlap another interface, or cross a bit boundary), then life is good!

CCNA/CCENT training gives us the building blocks by which we can make everything possible, but it’s often not the only way that we have to do things. I know that some people get very irritated by that, but think about it a different way.When you were first learning the concepts of multiplication and division, would it have been nice for your teacher to make you divide two fractions? Or give some long, heinous math problem involving parentheses and stuff? We certainly know now that it’s possible, but at that point in time, our heads would have exploded!

As you progress in networking, and certainly as you get into the world of CCIE, you’ll get to discover all sorts of things that make you go “hmm.” But I hope this at least helps give you a better understanding of the way routers think about things!