I was always taught that a network address (eg. 192.168.1.0) cannot be the IP address of a host? Is there a reason for this? After all it isn't used anywhere else like a broadcast address.
-
1Looks like your question is answered here: http://serverfault.com/questions/135267/what-is-the-network-address-x-x-x-0-used-for. TL;DR: There's an RFC that says it should not be routed but may be used as a broadcast address. Apparently Unix derived OSes often will treat it as a broadcast address. – Todd Wilcox Apr 23 '15 at 02:49
-
4192.168.1.0 can be a host address with the right subnet mask. ;-) – generalnetworkerror Apr 23 '15 at 11:19
-
I believe this could be a duplicate of http://networkengineering.stackexchange.com/q/11200/33 - however I won't mod close it myself unless others vote first as the mask isn't clear from the OP's question. – YLearn Jul 07 '15 at 02:40
-
Did any of the answers help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively you can answer your own question and accept the answer. – Ron Maupin Aug 06 '17 at 03:02
4 Answers
From RFC 1812:
" o { <Network-prefix>, 0 } is an obsolete form of a network-prefix- directed broadcast address.
As was described in that section, packets addressed to any of these addresses SHOULD be silently discarded, but if they are not, they MUST be treated according to the same rules that apply to packets addressed to the non-obsolete forms of the broadcast addresses"
It gives some historical reason in order to NOT use network address. Another possible reason is that network address will be used internally by routers to build routing tables.
Sparing network and broadcast address could be very useful in point-to-point link (/30) but with IPv6 the question is no longer relevant.

- 309
- 1
- 11

- 151
- 4
If you are referring the address containing a zero, there's nothing explicitly prohibiting it. The netmask defines what the "network" (all-zeros) and "broadcast" (all-ones) addresses are. And those addresses (which aren't necessarily zero, btw) are, in fact, reserved for other purposes -- that being subnet broadcasts.
Consult THIS for more on the subject.
What you were taught is right or wrong, depending on the network mask.
192.168.1.0 is a valid host address for:
- 192.0.0.0/8 (and smaller masks)
- 192.0.0.0/9
- 192.0.0.0/10
- 192.0.0.0/11
- 192.0.0.0/12
- 192.0.0.0/13
- 192.0.0.0/14
- 192.0.0.0/15
- 192.168.0.0/16
- 192.168.0.0/17
- 192.168.0.0/18
- 192.168.0.0/19
- 192.168.0.0/20
- 192.168.0.0/21
- 192.168.0.0/22
- 192.168.0.0/23
- 192.168.1.0/31
- 192.168.1.0/32
192.168.1.0 is not a valid host address for:
- 192.168.1.0/24
- 192.168.1.0/25
- 192.168.1.0/26
- 192.168.1.0/27
- 192.168.1.0/28
- 192.168.1.0/29
- 192.168.1.0/30

- 98,218
- 26
- 115
- 191
It cannot be assigned to a host if the subnet is /24. In that case 192.168.1.0 will be network address, 192.168.1.255 will be broadcast address, and usable addresses that can be assigned to hosts will be 192.168.1.1 to 192.168.1.254.