Solved

Posted on 2007-11-26
Medium Priority
729 Views
I'm trying to figure out how many addresses fit into a range.  For example, how many addresses are in the range 128.100.0.0 - 128.100.255.255?  Is there a formula I can use to figure out the number of possible addresses from range1 - range 2?
0
Question by:npinfotech
• 3
• 3
• 2
• +3

LVL 7

Expert Comment

ID: 20350549
A.B.C.D -> P.Q.R.S

(P*256^3 + Q*256^2 + R*256 + S) - (A*256^3 + B*256^2 + C*256 + D) + 1
0

LVL 46

Expert Comment

ID: 20350558
Hi npinfotech,

Sure.  :)

Think of the IP address for exactly what it is.  4 bytes.

128.100.0.0 is 0x80 64 00 00
128.100.255.255 is 0x80 64 FF FF

Just convert the IP addreses to integers in hex and subtract them.  Convert the values to decimal before or after the subtraction to get the number of values in the range.

In your example, there are 0x00 00 FF FF values in the range (plus 1) for 65,536 values.

Good Luck,
Kent
0

LVL 53

Expert Comment

ID: 20350564
The subnet mask for that range is 0x0000FFFF, so there are 2^16 (= 65536) addresses in the range.
0

LVL 53

Expert Comment

ID: 20350574
>> The subnet mask for that range is 0x0000FFFF

I should have said 0xFFFF0000 of course ;)
0

LVL 71

Expert Comment

ID: 20350577

Hey :)

There are a couple of ways.

Number of Hosts per Subnet = 2^(Number of Host Bits) - 2

In the example above you would have a mask of 255.255.0.0. That means we have 16 bits available to Hosts (32 bits - 16 masked bits).

That means we can have this many addresses for hosts:

(2^16) - 2 = 65536 - 2 = 655534

Where the 2 is for the Network and Broadcast address which are unusable by hosts.

HTH

Chris
0

LVL 22

Expert Comment

ID: 20350594

For your example, the third octet can have the values 0-255, and the fourth is the same.  There are 256*256 different combinations of these values, or 65536.  If the netmask is such that 128.100.0.0 is at the beginning of the subnet range, then subtract 1.  If the netmask is such that 128.100.255.255 is at the end of the subnet range, subtract 1.

So, if you're calculating the number of valid addresses in the 128.100.0.0/16 subnet, there are 65534 valid IP addresses.
0

LVL 7

Accepted Solution

UrosVidojevic earned 2000 total points
ID: 20350598
In this case:

128.100.0.0 -> 128.100.255.255

(128*256^3 + 100*256^2 + 255*256 + 255) - (128*256^3 + 100*256^2 + 0*255 + 0)
= 65536,

Pay attention that, in this subnet 128.100.0.0 and 128.100.255.255 can be used...
0

LVL 7

Expert Comment

ID: 20350615
I should have said can't be used...
0

LVL 8

Author Closing Comment

ID: 31410993
Great answers guys, but Uros' answer was more of what I was looking for.
0

LVL 8

Author Comment

ID: 20351113
Thanks to everyone for responding to the post!  While all the answers were good, Uros had the method I was looking for.
0

LVL 53

Expert Comment

ID: 20351431
>> Uros had the method I was looking for.

It's more complicated than the other suggested ways though ...
0

## Featured Post

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.