What is the purpose of network address? (aka subnet address, starting address of each subnet)

For example in this network:   

Why we should leave address free?

  • 2
    by "Network Address" I do not mean IP address, I mean the starting address of each subnet which called "Network Address", (like end address of each subnet which called "broadcast address") Commented Sep 28, 2014 at 12:46
  • 3
    I think it is a good question: what was the design or historic reason to have a network address? Commented Sep 28, 2014 at 13:27
  • @sandersteffmann he asked for the purpose of a network address. Until he clarified, this question was too ambiguous; furthermore since it asks about something so fundamental, it would have quickly attracted random dart throws at his intent. I will reopen for now. Commented Sep 28, 2014 at 14:55
  • I really don't know! It's a good question. Certainly it's a unique address on a subnet. Could be applied to the default gateway, for example. However, I imagine if you tried the device would not allow it saying not a valid host address. ...Good question! Commented Dec 26, 2016 at 1:32
  • See also serverfault.com/questions/135267/…
    – mwfearnley
    Commented Sep 10, 2017 at 13:27

8 Answers 8


They are functionally identical -- all-hosts subnet broadcast. In the early days, long long ago, the all-zero's address ("Network") was used for broadcast traffic. That was later changed to the all-one's address ("Broadcast"), and that's what we use today.

This is not the same thing as "subnet-zero" (or the all-one subnet) which is the the top and bottom subnets from a larger mask. eg. broken into /28's: subnet-zero is and all-ones subnet is

"Network Address" and "Broadcast Address" are the first and last address of a subnet.

  • 2
    Could you provide any reference to this? I personally don't recall this at any point in my experience (which granted is limited) but am always looking to expand on what I know. I finally had time to research what I remembered to answer the question and didn't come across anything like this mentioned.
    – YLearn
    Commented Oct 6, 2014 at 22:48
  • Cisco configuration register bit 10 (and 14) for something that dates back to before RFC919. There have been numerous debates about this: serverfault
    – Ricky
    Commented Oct 6, 2014 at 23:38
  • And a word on "subnet zero" -- Cisco (but that's not his question, or a problem today)
    – Ricky
    Commented Oct 6, 2014 at 23:43
  • 1
    I should have clarified on my comment as I wasn't asking about the subnet-zero part. However very nice pull on the config register...I know I have read that doc many times and must have always mentally skipped that section. Will have to go through the SF link when I have more time again...
    – YLearn
    Commented Oct 6, 2014 at 23:51
  • Looking back at this because of another question, it looks like I still didn't clarify my question in the first comment. I was asking if you could provide a reference to the use of the network address for broadcast traffic. I have never come across this personally and would be interested in finding such a reference.
    – YLearn
    Commented Jul 7, 2015 at 2:51

The use of "0" in a IP addresss was defined in RFC923 and carried over in successive RFCs:

Special Addresses:

  In certain contexts, it is useful to have fixed addresses with
  functional significance rather than as identifiers of specific
  hosts.  When such usage is called for, the address zero is to be
  interpreted as meaning "this", as in "this network".  The address
  of all ones are to be interpreted as meaning "all", as in "all
  hosts".  For example, the address could be
  interpreted as meaning all hosts on the network 128.9.  Or, the
  address could be interpreted as meaning host 37 on this

This example provides for a specific host on the current network ( by using 0's in the network portions of the address, but it doesn't actually clarify the opposite case (0's in the host portion of the address). However as it did define "0" as "this."

From there, I haven't been able to find any documentation to back up my memory, but in RFC1060 the address "" was clearly documented as "this host on this network":

     (a)   {0, 0}

        This host on this network.  Can only be used as a source
        address (see note later).

Since all zeroes for the host part of the address meant "this host," it is unusable as a host address on the network.

Logically, a network was referenced by using the "network" portion of the address followed by all zeros (i.e. no host bits in use). I can't find documentation to back up my memory but I believe that this was widely accepted long before RFC1060.

Edit: Thanks to Ricky's mention of RFC919, I found the reference I had been looking for that illustrates what I recall about the general acceptance of the network address:

However, as a notational convention, we refer to
networks (as opposed to hosts) by using addresses with zero fields.
For example, means "network number 36"

As an aside, touching on Ricky's mention of subnet-zero and the all-ones subnet, I believe the first documentation of that comes from RFC950 which references RFC943 (which obsoleted RFC923 above but uses the same language for special addresses):

     It is useful to preserve and extend the interpretation of these
     special addresses in subnetted networks.  This means the values
     of all zeros and all ones in the subnet field should not be
     assigned to actual (physical) subnets.

        In the example above, the 6-bit wide subnet field may have
        any value except 0 and 63.

     Please note that there is no effect or new restriction on the
     addresses of hosts on non-subnetted networks.
  • I only mentioned it because the OP mentioned it in the rejected edit to my answer. I added it as a clarification -- all-zero/ones host vs. network address. The latter has zero meaning anymore -- no one makes assumptions about subnet sizes, the former are both handled as a subnet broadcast address, even though the all-zero broadcast address has been depreciated for 30+ years.
    – Ricky
    Commented Oct 6, 2014 at 23:54
  • A very good post. Do you also want to post this on Server Fault or can I copy part of your post and use that to completely rewite my own answer to a similar question on SF ?
    – Hennes
    Commented Dec 30, 2014 at 11:41
  • @Hennes, thank you for both your comment and pointing out the similar question on SF. I have done as you requested and posted the majority of this content there and tailored to that question.
    – YLearn
    Commented Dec 30, 2014 at 17:00
  • Thank you. I did not mind having a partially wrong answer on SF. I do mind it not fixing it or at least correcting it and this fine answer (and all it nice and old RFC references) is yours. :)
    – Hennes
    Commented Dec 30, 2014 at 17:42
  • 1
    This answer is a work of art. The primary sources and layman's explanations are extremely helpful.
    – sdc
    Commented Sep 28, 2022 at 17:09

It is used for routing purposes. When a router is told to route packets from sub-network A to sub-network B, the network address is used by the router to indicate the source and destination sub-networks as a whole.

Also there would be no way to distinguish a specific node on the sub-network from the entire subnet if we assigned a device to the network address but I believe the true purpose the the routing factor, I may be mistaken though.

further reading: http://www.techexams.net/forums/network/90005-purpose-network-id-broadcast-id.html


You can think of the network ID as the "neighborhood". Then think of the host IP addresses as the "house numbers". The subnet mask helps define the network ID.

From a big picture perspective, consider this classful address: Network ID: Subnet mask: (I realize that isn't a common example, but it is valid and helps illustrate the point.)

Valid host IP addresses in the "neighborhood" for the "house numbers" are: through The network ID is The broadcast address is

Here's what is looks like if this is not a classful address: Network ID: Subnet mask:

Valid host IP addresses in the "neighborhood" for the "house numbers" are: through The network ID is The broadcast address is

Notice that in both of these examples, the network ID (without the subnet mask) looks the same. However, the subnet mask defines them with two completely different host IP address ranges.

Using your original analogy, you can divide the neighborhood into streets with subnetting. For example, starting with and, you can divide it into two subnets:

Subnet 1 Host IP address range: through Broadcast IP:

Subnet 2 Host IP address range: through Broadcast IP:


You never can count anything by 0.Host ID one kinds of counting .so Host ID start by 1 . this expression use for router .

It means,

Subnet Mask:

Network :

Broadcast :


  • 1
    Addresses are for naming/pointing purpose, not for counting. Commented Oct 6, 2014 at 17:40
  • It's a identity of host and also count the host number .When you use C class and Subnet Mask:24 bits then you can use maximum 254 host in this network .if you have DNS then you can use Host name as Host ID otherwise Host ID number is your Host ID . Commented Oct 6, 2014 at 19:33

For the sake of basic understanding, network address is used for identifying a network, just like a group name identifies a group. In the example you took, the network address is taken as a name for the group comprising of IP addresses from to

So if the router needs to find where, for example, IP exists, it will search for its IP pool name (i.e network address) and not the individual IP addresses. This is the reason why network address in not assigned to a particular machine.


Generally this network address has total 254 usable hosts that means network is representing total 254 hosts if any another networks want to communicate to this 254 host . Route entry is configured with as destination as 192.168 .1.0 so traffic will route to all 254 hosts if not we have to write 254 route entries which make big challenge to implement even small network.network address is always logically network segmentation can be accomplished by dividing supernet in further smalls network addresses for example network address supernet can further divide this network into various segmentation by creating subsets of supernet address . . It is a numeric/symbolic address that is assigned to any device that allows access to or is part of a network.


Networks are divided into subnetworks mainly for the following reason. There is a concept called the public IP and private IP space in IPV4.

for an organisation to communicate with outside world it should have public IP , we cannot afford to have public IP for each and every system in our org. so to overcome this we have used subnetting

also used for security reasons. basically to custom restrict the access between a set of users

This is just a broader view :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.