I was fail to assign an interface of mu router an ip 192.168.10.0/24 but before i had enable the router to accept first or last ip address available on a subnet, i did that by typing the ip subnet-zero in global config. Does anyone know how i should proceed for succeed?
The ip subnet-zero is active by default in all recent IOS versions and you do not need to activate it explicitly.
Is it, according to your own description, possible that you were trying to assign precisely the IP address 192.168.10.0/24 to your interface? That would not be possible - that address is the network address itself, and you can never assign the network address to an interface. What you can do is assign an address from within that network, i.e. 192.168.10.1/24, 192.168.10.2/24, ... up to 192.168.10.254/24.
In any case, if this does not help that paste the entire output of your router - what does it say when you try to configure the IP address.
Hi Peter Paluch,
I really got you but I was thinking that the main purpose of having the ip subnet-zero command was for using the first ip address(Network Id) and the last one (Broadcast ip). Can you explain to me what is the main goal of using ip subnet-zero if you said that we can use the first and last ip address available on a range? Thanks alot
ip-subnet-zero means, that you can use "zero subnets", i.e. subnets with all 0 or all 1. Example: you can use subnet 192.168.10.0/26 - it is C-class IP 192.168.10.0/24 (24 class-full bits) with subnet part (2 bits) - all zeros and 6 bits for host (1-62) and net address 192.168.10.0 and broadcast address 192.168.10.63. It is survival of class-full world and beginning of using subnets.
So to your question - you can not use this address for addressing hosts.
Today, this term does nothing than history. In the past, in beginning of using subnets, there was problem with subnets all 1 or all 0 (i can't remember why :-) ) and these subnets were forbidden. Than you had to explicit permit using zero subnets, but today, as say Peter, its permitted by default. So, today you can use subnets as you can, you are not limited yet and in fact nobody cares about zero subnets, they are subnets like any other.
I don't get you properly when u said subnets all 1 or all 0? Did you mean for i.e an ip address like 192.168.10.1/24 (end by 1) and 192.168.10.20/24 (end by o). I am confused and i would like to understand what means subnet all 1 or all 0
So, we know networks and hosts, and with regard to subnetting we know networks (class full) and subnets.
192.168.10.0/24 is class full network "C" - 192.168.10.0; but 172.16.10.0/24 is subnetted class full "B" (with natural mask /16) - the network part (class full) is 172.16.0.0/16 and the subnetwork part is 24-16=8 bits and the host part is 8 bits. The "zero-subnet" is subnet with all zeros (or ones) in subnetwork part.
192.168.10.0/26 - subnet of class-full "C" 192.168.10.0/24 with subnetwork part 2bit - "zero-subnet" (subnet part is 00) - host part 6bits
192.168.10.64/26 - subnet of class-full "C" 192.168.10.0/24 with subnetwork part 2bit - "non-zero-subnet" (subnet part is 01) - host part 6bits
192.168.10.128/26 - subnet of class-full "C" 192.168.10.0/24 with subnetwork part 2bit - "non-zero-subnet" (subnet part is 10) - host part 6bits
192.168.10.192/26 - subnet of class-full "C" 192.168.10.0/24 with subnetwork part 2bit - "zero-subnet" (subnet part is 11) - host part 6bits
Hope this can explain you the problem with subnetting and zero-subnets (or try http://en.wikipedia.org/wiki/Subnets :-) )
The subnet zero is an ancient term indeed, having its roots in the ages of classful approach to routing, routing protocols and addressing.
Old classful protocols (RIPv1 and IGRP) did not advertise subnet masks along with the networks. Instead, the netmasks were guessed - either they were set to the netmask of the interface through which the update came in, or they were set to the appropriate netmask for the class of the network (A, B, or C). If you want to learn more about the logic of guessing, or better said, inferring the network mask under classful routing protocols, read the following document:
Now, image that you have subnetted your network 192.168.1.0/24 into four subnets of equal size, 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26 and 192.168.1.192/26. The first subnet - 192.168.1.0/26 is numerically equal to the entire network 192.168.1.0/24, just the netmask is different. However, when a classful routing protocol advertised the network 192.168.1.0, it did not advertise its netmask, so when looking at the contents of updates, what was the advertised network? Was it the original unsubnetted 192.168.1.0/24, or was it the first subnet 192.168.1.0/26? The interpretation was dependent on the receiving router. However, a network address shall not be subject to interpretation - it is a precise quantity so why should it be subject to guessing at the receiving router? Something like that is strongly inappropriate. This ambiguosity was an unwanted byproduct of the limitation in the classful routing protocols.
So, the easiest way to prevent this ambiguosity from happening in the first place was to simply disallow using the first subnet. And so it was - the IOS did not allow you to configure an interface into the first subnet unless you entered the ip subnet-zero command. Of course, this was not the solution of the real source of the problem - the limitation of classful routing protocols - but it did help prevent the problem. Later, when the problem was tackled at its root and classless routing protocols were introduced, all these problems became obsolete. Classless routing protocols advertise netmasks alongs with each route and the entire logic of guessing/inferring the mask is not necessary anymore.
I suggest also reading the following document: