Yup.

Your available addresses are:
(2 ^ (32 - netmask) ) - 2

Example for a 29:
2^3 - 2

Example for a /28:
2^4 - 2



On 11 Aug 2013, at 06:39, saeedeh motlagh <saeedeh.motl...@gmail.com> wrote:

> thank you all guys for your answers.
> Peter, of course it's not my homework!!!!!! in fact, i have a program which 
> manages dhcp. i want to limit the number of ip address which can be assigned 
> by dhcp server. in order to do that, i should know how many ip addresses are 
> available in the range that is defined for server and if the number of 
> available ip addresses are greater than valid threshold, it's error. so as 
> you said, i should know the math for calculate this number.
> 
> thank you again guys for your answers but they do not solve my problem. any 
> body knows what is the formula to calculate the valid ip addresses for any 
> desired ranges?
> Thanks 
> 
> 
> On Sat, Aug 10, 2013 at 5:19 AM, Damien Fleuriot <m...@my.gd> wrote:
>> 
>> 
>> On 10 Aug 2013, at 01:07, Kimmo Paasiala <kpaas...@gmail.com> wrote:
>> 
>> > On Sat, Aug 10, 2013 at 1:44 AM, Peter Wemm <pe...@wemm.org> wrote:
>> >> On Fri, Aug 9, 2013 at 9:34 AM, Fleuriot Damien <m...@my.gd> wrote:
>> >>>
>> >>> On Aug 8, 2013, at 10:27 AM, Peter Wemm <pe...@wemm.org> wrote:
>> >>>
>> >>>> On Thu, Aug 8, 2013 at 12:04 AM, s m <sam.gh1...@gmail.com> wrote:
>> >>>>> hello guys,
>> >>>>>
>> >>>>> i have a question about ip addresses. i know my question is not 
>> >>>>> related to
>> >>>>> freebsd but i googled a lot and found nothing useful and don't know 
>> >>>>> where i
>> >>>>> should ask my question.
>> >>>>>
>> >>>>> i want to know how can i calculate the number of ip addresses in a 
>> >>>>> range?
>> >>>>> for example if i have 192.0.0.1 192.100.255.254 with mask 8, how many 
>> >>>>> ip
>> >>>>> addresses are available in this range? is there any formula to 
>> >>>>> calculate
>> >>>>> the number of ip addresses for any range?
>> >>>>>
>> >>>>> i'm confusing about it. please help me to clear my mind.
>> >>>>> thanks in advance,
>> >>>>
>> >>>> My immediate reaction is.. is this a homework / classwork / assignment?
>> >>>>
>> >>>> Anyway, you can think of it by converting your start and end addresses
>> >>>> to an integer.  Over simplified:
>> >>>>
>> >>>> $ cat homework.c
>> >>>> main()
>> >>>> {
>> >>>> int start =  (192 << 24) | (0 << 16) | (0 << 8) | 1;
>> >>>> int end =  (192 << 24) | (100 << 16) | (255 << 8) | 254;
>> >>>> printf("start %d end %d range %d\n", start, end, (end - start) + 1);
>> >>>> }
>> >>>> $ ./homework
>> >>>> start -1073741823 end -1067122690 range 6619134
>> >>>>
>> >>>> The +1 is correcting for base zero. 192.0.0.1 - 192.0.0.2 is two
>> >>>> usable addresses.
>> >>>>
>> >>>> I'm not sure what you want to do with the mask of 8.
>> >>>>
>> >>>> You can also do it with ntohl(inet_addr("address")) as well and a
>> >>>> multitude of other ways.
>> >>>
>> >>>
>> >>> Hold on a second, why would you correct the base zero ?
>> >>> It can be a valid IP address.
>> >>
>> >> There is one usable address in a range of 10.0.0.1 - 10.0.0.1.
>> >> Converting to an integer and subtracting would be zero.  Hence +1.
>> >>
>> >> --
>> >
>> > To elaborate on this, for every subnet regardless of the address/mask
>> > combination there are two unusable addresses: The first address aka
>> > the "network address" and the last address aka the "broadcast
>> > address". There may be usable address in between the two that end in
>> > one of more zeros but those addresses are still valid. Some operating
>> > systems got this horribly wrong and marked any address ending with a
>> > single zero as invalid, windows 2000 was one of them.
>> >
>> > -Kimmo
>> 
>> 
>> Kimmo,
>> 
>> That is untrue regarding /31 netmasks where you theoretically have 2^1 -2 
>> addresses.
>> 
>> With such a short netmask the only 2 addresses are usable.
>> _______________________________________________
>> freebsd-net@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
> 
> 
> 
> -- 
> Sa.M
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to