Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Are IP addresses with a 0 in the last octet valid?

10.6.43.0

In my case, I have the the following netmask

255.255.252.0

What about a 0 for the other octets?

share|improve this question
9  
others have answered, but we run /23s in our DHCP ranges, meaning that the middle .255 and .0 addresses of the two /24s get assigned to clients. Works fine. Sometimes "knowledgeable" users freak out a little thinking they've pulled an invalid IP, but from a networking POV it works fine. –  jj33 May 21 '09 at 21:26
1  
See Also: What is the network address X.Y.Z.0 used for? –  voretaq7 Nov 19 '12 at 23:07
add comment

6 Answers

up vote 83 down vote accepted

It depends on the subnet of the IP address in question. In general, the first and last addresses in a subnet are used as the network identifier and broadcast address, respectively. All other addresses in the subnet can be assigned to hosts on that subnet.

For example, IP addresses of networks with subnet masks of at least 24 bits ending in .0 or .255 can never be assigned to hosts. Such "last" addresses of a subnet are considered "broadcast" addresses and all hosts on the corresponding subnet will respond to it.

Theoretically, there could be situations where you can assign an address ending in .0: for example, if you have a subnet like 192.168.0.0/255.255.0.0, you are allowed to assign a host the address 192.168.1.0. It could create confusion though, so it's not a very common practice.

In your example

 10.6.43.0 with subnet 255.255.252.0 (22 bit subnet mask)

means subnet ID 10.6.40.0, a host address range from 10.6.40.1 to 10.6.43.254 and a broadcast address 10.6.43.255. So in theory, your example 10.6.43.0 would be allowed as a valid host address.

share|improve this answer
    
much better ;-] –  pQd May 21 '09 at 20:51
    
nice answer...... –  jj33 May 21 '09 at 21:27
3  
One addition. In the past I have had to deal with some older software that had problems with using a .0 address in places where it was a perfectly legal thing to do. –  Zoredache May 21 '09 at 22:56
    
And no answer to this question would be complete without a reference to the CIDR RFCs: RFC1518 and RFC1519 which define all this. –  pjz May 22 '09 at 2:42
13  
RFC 1519 is obsolete for a long time. The current version is RFC 4632. –  bortzmeyer May 22 '09 at 6:11
add comment

answer to your question depends on the netmask. in general statement 'IP addresses ending in .0 or .255 is invalid' is false. take 10.0.1.0/23 - it's valid ip address.

also 10.6.43.0/255.255.252.0 aka 10.6.43.0/22 is valid.

that was the theory. most reasonable network devices [ including linux servers, windows boxes, cisco / hp / etc ] will work fine with such address, but i've seen dlink and other low-end network appliance [ routers, access points ] not accepting such addresses.

share|improve this answer
add comment

I found this, which claims that it is valid, depending on your subnet mask.

http://en.wikipedia.org/wiki/IPv4#Addresses_ending_in_0_or_255

share|improve this answer
add comment

I have run into problems with remote networks denying IP addresses from my network if they ended with 0 (or 255) and they were from the class C range, since anything ending with 0 would be an invalid class C network.

This was a few years ago; I don't know if anyone still blocks addresses like that or not.

share|improve this answer
    
That just sounds like your firewall/software is a bit daft ;) –  nixgeek Jul 4 '09 at 15:51
    
Every IP address on my network except .0 or .255 could access every site, IP addresses ending in .0 and .255 could access 95% of sites, but there were two or three completely different sites that they couldn't access. If it was my firewall/software, I sure couldn't figure out how. –  Josh Kelley Jul 4 '09 at 17:22
    
These must be using firewalls configured by the same kind of people who block all ICMP and end up breaking PMTUD, or block all "invalid" TCP flags and end up breaking ECN. –  CesarB Jul 5 '09 at 0:11
add comment

I'd like to add a bit about 0 for the other octets:

This one is easy: it's no problem at all, as the fairly common private network address 192.168.0.1 shows.

Of course an even more obvious example would be 127.0.0.1.

share|improve this answer
    
-1 for obvious... –  Jon Rhoades Aug 22 '09 at 11:36
    
+1 for pointing out the obvious –  just somebody Oct 1 '12 at 9:47
add comment

Just something I found that's probably noteworthy:

If you're running R-fx networks' APF script for iptables, it drops all traffic to 0.0.0.255

We had a BT customer with an address ending in .255 with a prefix of /21 .. Technically a valid IP address, however the guys at R-fx networks think there is cause for dropping packets for these addresses.

share|improve this answer
    
they are choosing to drop packets to 0.0.0.255 most likely for security purposes. 1) DOS attacks can happen by leveraging the power of a broadcast packet and 2) to completely privatize the network so no hosts can broadcast. see en.wikipedia.org/wiki/Broadcast_traffic#Security –  zamnuts Jul 3 '13 at 23:41
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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