20

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

For example in this network:

  192.168.1.0/24   

Why we should leave 192.168.1.0 address free?

  • Please consider adding more information to the question; knowing how you came up with the question and how you'll use the answers would help. Also, this part of the question is too broad: "What is the purpose of network address?" – Mike Pennington Sep 28 '14 at 12:37
  • 1
    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") – Microsoft Linux TM Sep 28 '14 at 12:46
  • 2
    I think it is a good question: what was the design or historic reason to have a network address? – Sander Steffann Sep 28 '14 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. – Mike Pennington Sep 28 '14 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! – Ronnie Royston Dec 26 '16 at 1:32
10

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.

[NOTE]
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. 192.168.1.0/24 broken into /28's: subnet-zero is 192.168.1.0/28 and all-ones subnet is 192.168.1.240/28

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

| improve this answer | |
  • 1
    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 Oct 6 '14 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 Beam Oct 6 '14 at 23:38
  • And a word on "subnet zero" -- Cisco (but that's not his question, or a problem today) – Ricky Beam Oct 6 '14 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 Oct 6 '14 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 Jul 7 '15 at 2:51
9

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 128.9.255.255 could be
  interpreted as meaning all hosts on the network 128.9.  Or, the
  address 0.0.0.37 could be interpreted as meaning host 37 on this
  network.

This example provides for a specific host on the current network (0.0.0.37) 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 "0.0.0.0" 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, 36.0.0.0 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.
| improve this answer | |
  • 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 Beam Oct 6 '14 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 Dec 30 '14 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 Dec 30 '14 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 Dec 30 '14 at 17:42
7

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

| improve this answer | |
2

You never can count anything by 0.Host ID one kinds of counting .so Host ID start by 1 .

192.168.1.0/24 this expression use for router .

It means,

Subnet Mask:255.255.255.0

Network :192.168.1.0

Broadcast :192.168.1.255

Thanks.

| improve this answer | |
  • 1
    Addresses are for naming/pointing purpose, not for counting. – Microsoft Linux TM Oct 6 '14 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 . – SM.JOBAER ALAM Oct 6 '14 at 19:33
2

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 192.168.1.0/24, the network address 192.168.1.0 is taken as a name for the group comprising of IP addresses from 192.168.1.1 to 192.168.1.254.

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

| improve this answer | |
2

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: 192.168.0.0 Subnet mask: 255.255.255.0 (I realize that 192.168.0.0 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: 192.168.0.1 through 192.168.0.254 The network ID is 192.168.0.0 The broadcast address is 192.168.0.255

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

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

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 192.168.0.0 and 255.255.255.0, you can divide it into two subnets:

Subnet 1 192.168.0.0 255.255.255.128 Host IP address range: 192.168.0.1 through 192.168.0.126 Broadcast IP: 192.168.0.127

Subnet 2 192.168.0.128 255.255.255.128 Host IP address range: 192.168.0.129 through 192.168.0.254 Broadcast IP: 192.168.0.255

| improve this answer | |
1

Generally this network address 192.168.1.0/24 has total 254 usable hosts that means network 192.169.1.0/24 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 10.225.0.0/19 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.

| improve this answer | |
-3

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 :)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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