Routing to internet addresses ending with 255

Manolis Kiagias sonicy at otenet.gr
Fri May 16 10:45:15 UTC 2008


Nikos Vassiliadis wrote:
> On Friday 16 May 2008 12:32:35 Manolis Kiagias wrote:
>   
>> I had this weird problem today, and I would like to know what caused it:
>>
>> I have two home servers, on different locations, on two ADSL lines using
>> dynamic DNS. One is running Debian, the other FreeBSD 7.0-RELEASE.
>>
>> I usually ssh from one to the other. Today, the debian server had a
>> public (internet) IP ending in 255. The FreeBSD 7.0 system refused to
>> communicate with it. Another 6.3 system had no problem. The 6.3 and 7.0
>> system have identical adsl routers.
>>
>> Trying a traceroute from 7.0, it would seem the debian system was one
>> hop away, which is of course incorrect.
>>
>> I understand that x.x.x.255 is ethernet's broadcast address. 
>>     
>
> No, it's not. Since these days IP is classless, a network
> (and thus its broadcast address) is completely local information,
> not known to remote hosts. What might look to an external observer
> as a /24 network, may be something else. For example 213.0.0.255/24
> may be the broadcast address for net 213.0.0.0/24, but it's not the
> broadcast address for net 213.0.0.0/23, which would be 213.0.1.255.
>
> Also, regadless of being the broadcast address or not, to the external
> observer that address is just an IP address. The router of the network
> will handle specially(will broadcast) the packet if it's destined for the
> broadcast address.
>
>   

I guessed it would be like this. Thank you for clarifying it.

>> However 6.3 
>> had no problem connecting to it, while 7.0 would not. Has something
>> changed in FreeBSD, is this the intended behaviour or a bug?
>>     
>
> This looks like a bug. Can you post more info about it?
>
>   

Problem is I've already reset the router that had the .255 address.  All 
other actions had no effect:

- Restarting the network interface in 7.0
- Restarting routing / erasing and reconfiguring routing table in 7.0
- Trying the IP address directly instead of the dyndns.org name (clearly 
not any type of DNS problem)
- Restarting the router connected to 7.0

Traceroute gave a result like:

traceroute xxx.dyndns.org
traceroute to xxx.dyndns.org (xxx.xxx.xxx.255), 64 hops max, 40 byte packets
 1  xxx.dyndns.org (xxx.xxx.xxx.255)  1.008 ms  1.084 ms  0.928 ms

Clearly wrong, since everything goes through my router:

traceroute www.otenet.gr
traceroute to www.otenet.gr (62.103.128.215), 64 hops max, 40 byte packets
 1  router (192.168.0.55)  1.014 ms  0.948 ms  0.941 ms
 2  athe10kt-l1.otenet.net (62.103.129.42)  19.399 ms  20.362 ms  19.892 ms
...



More information about the freebsd-questions mailing list