6

I have been told that we have two devices on a network:

10.40.225.142 and 10.40.225.144

These devices both have

  • Gateway 10.40.225.129

  • Subnet mask 225.225.225.128 (note 225 is Not a typo)

These are communication intermittently with a server 10.40.224.156

So my question is: Is that a valid subnet? I have only ever seen 255 or 0 in the first one - three octets.

4
  • 8
    225.225.225.128 starts with 1 1 1 0 0 0 0 1. This must be a typo. If not yours, or rather not in your post, but a typo/thinko by the person who set up the network. Network masks are supposed to be a set of all ones. Interspersed 0's may work on some implementations. However it should never be used.
    – Hennes
    May 29, 2013 at 14:20
  • @hennes - thanks I thought so but wasn't 100% sure. It turns out the customer had typed it out incorrectly.
    – Matt Wilko
    May 29, 2013 at 14:38
  • I was not 100% sure either... At least until I tried similar setup a few years ago, convinced it should work. I was wrong and got slapped with the RFC's
    – Hennes
    May 29, 2013 at 14:45
  • 1
    It used to be allowed long ago, but was later obsoleted due to various kinds of possible confusion (regarding broadcasts) and the move to prefix-length notation. Nov 15, 2015 at 22:01

2 Answers 2

17

Basically a valid subnetmask, when written in binary, has to consist of only consecutive 1's and then 0's, but no intermittent mixing. I.e.:

255.255.255.128 -> 11111111.11111111.11111111.10000000 is valid
255.255.255.0   -> 11111111.11111111.11111111.00000000 is valid
255.255.255.144 -> 11111111.11111111.11111111.10010000 is not valid

Edit: The first bits (the nonzero bits) could also be set to match the network address, the important thing is that if you perform a logical AND operation on an IP with the subnet mask you get the network address.

Host:     10.40.225.164   -> 0000 1010 . 0010 1000 . 1110 0001 . 1010 0100
Subnet M: 255.255.225.128 -> 1111 1111 . 1111 1111 . 1110 0001 . 1000 0000
Network:  10.40.225.128   -> 0000 1010 . 0010 1000 . 1110 0001 . 1000 0000
5
  • 4
    So I have 225.225.225.128 which is 11100001.11100001.11100001.10000000 so this is invalid then?
    – Matt Wilko
    May 29, 2013 at 13:55
  • 2
    It is definitely invalid. It should stop you from doing this I would think.
    – Will
    May 29, 2013 at 14:03
  • @Will.Beninger - thanks unfortunately it is possible to input this on the device in question (a UDP clocking in terminal)
    – Matt Wilko
    May 29, 2013 at 14:07
  • 4
    RFC 4632 is the one that states subnet masks should be contiguous. superuser.com/questions/1151908/non-contiguous-subnet-mask/… Dec 2, 2016 at 23:48
  • 128.0.0.0 is a valid one?
    – Gilson PJ
    Nov 29, 2017 at 9:42
1

The Subnet you are working with is: 10.40.225.128/25

Your usable address range is from: 10.40.225.129 - 10.40.225.254

The network ID is: 10.40.225.128

The broadcast ID is: 10.40.225.255

The last octet is split in half. We can presume the address configuration is correct, as those IPs are usable in the address range for the provided subnet. The only reason they would not be valid is if there were conflicting IP addresses from other devices statically set to use those IPs in the network (unlikely).

1
  • 4
    note that it was about 225, not 255...
    – glglgl
    May 29, 2013 at 15:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .