Are IP addresses where the last byte is 255 invalid?

Baldur Norddahl (bbn@dark.x.dtu.dk)
Tue, 13 Jan 1998 13:22:13 +0100


I recently discovered something strange. We got a network with the subnet
mask 255.255.252.0 (1024 ip addresses). The network address is 212.0 and the
broadcast address is 215.255. If you ping 215.255 then I all Linux box'es un
the net answers. The M$ boxes don't.

But if you ping 212.255 from a linux that has eg. ip address 215.240 nothing
happens. If you ping 212.255 from a linux box that has eg. ip address
212.10, then all other linux box'es that also has an 212.* address answers!

I found out that this is general, if you ping the *.255 address in your
class C subnet you get answers from all linux boxes in the same class C
subnet, even if the subnet mask indicates that you should not.

Do anyone have an explenation for this?

Maybe an example is good (carlsberg's primary ip address is 192.38.212.1):

[bbn@carlsberg ~] /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
carlsberg2.kamp * 255.255.255.255 UH 0 0 0
eth0:1
gw-kampsax.k-ne * 255.255.255.255 UH 0 0 0
eth0:2
carlsberg3.kamp * 255.255.255.255 UH 0 0 0
eth0:3
carlsberg4.kamp * 255.255.255.255 UH 0 0 0
eth0:4
carlsberg5.kamp * 255.255.255.255 UH 0 0 0
eth0:5
carlsberg6.kamp * 255.255.255.255 UH 0 0 0
eth0:6
255.255.255.255 * 255.255.255.255 UH 0 0 296 eth0
192.38.208.64 * 255.255.255.224 U 0 0 987
eth0:2
192.38.209.0 gw-vkr.k-net.dk 255.255.255.128 UG 0 0 1503
eth0:2
192.38.216.0 gw-ostenfeld.k- 255.255.254.0 UG 0 0 6871
eth0:2
192.38.218.0 gw-bergsoe.k-ne 255.255.254.0 UG 0 0 1130
eth0:2
192.38.212.0 * 255.255.252.0 U 0 0 77964 eth0
192.38.220.0 gw-pop.k-net.dk 255.255.252.0 UG 0 0 4106
eth0:2
130.225.64.0 k-switch.k-net. 255.255.224.0 UG 0 0 18633
eth0:2
192.38.64.0 k-switch.k-net. 255.255.224.0 UG 0 0 718
eth0:2
127.0.0.0 * 255.0.0.0 U 0 0 6 lo
default gw-k-net.k-net. 0.0.0.0 UG 0 0 33046
eth0:2

[bbn@carlsberg ~] ping 192.38.212.255
PING 192.38.212.255 (192.38.212.255): 56 data bytes
64 bytes from 192.38.212.114: icmp_seq=0 ttl=64 time=20.1 ms
64 bytes from 192.38.212.10: icmp_seq=0 ttl=64 time=20.5 ms (DUP!)
64 bytes from 192.38.208.80: icmp_seq=0 ttl=255 time=20.8 ms (DUP!)

--- 192.38.212.255 ping statistics ---
1 packets transmitted, 1 packets received, +2 duplicates, 0% packet loss
round-trip min/avg/max = 20.1/20.4/20.8 ms

One could also wonder what this 192.38.208.80 device is doing. It is a
hardware device, but I can't remember if it is a switch or a radio link.

If I do the same thing from another linux with address 192.38.215.240:

[root@ormen /root]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
192.38.212.0 * 255.255.252.0 U 0 0 783 eth0
127.0.0.0 * 255.0.0.0 U 0 0 764 lo
default carlsberg.kamps 0.0.0.0 UG 0 0 6 eth0

[root@ormen /root]# ping 192.38.212.255
PING 192.38.212.255 (192.38.212.255): 56 data bytes

--- 192.38.212.255 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

Now we have asked our DHCP server to reserve 192.38.212.255, 192.38.213.255
and 192.38.214.255 becouse the people who got these addresses had great
trouple. But I would like to know if this is a bug, or if it is in general
forbidden to use address ending in .255?

Baldur