Date: 15 Apr 1997 21:57:32 +0200 From: fenyo@email.enst.fr (Alex Fenyo (eowyn)) To: Alec Kloss <alec@d2si.com> Cc: ghelmer@cs.iastate.edu (Guy Helmer), freebsd-questions@FreeBSD.ORG Subject: Re: Subnets of all 0's/all 1's Message-ID: <d06hgh883f7.fsf@nikopol.enst.fr> In-Reply-To: Alec Kloss's message of Tue, 15 Apr 1997 12:39:16 -0500 (CDT) References: <199704151739.MAA25341@d2si.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Alec Kloss <alec@d2si.com> writes: > Well, I already use hosts on the "reserved" subnet in the range 1-31 > without any problems. Anyone out there have a definitive answer? It is due to RIPv1 : a router that announces a sub network to another has to send the address of the sub network to its peers. It doesn't send the subnet mask in the announcement datagram (no field for this in RIPv1 !). Then, suppose your network is 192.160.30.0 and you have 4 subnets of size 64 : 192.160.30.{0,64,128,192}. Suppose too that the nodes connected to one of your Ethernet are in the subnet 192.160.30.0. The router that connects this Ethernet to the other networks announces 192.160.30.0 to its peers. But the other routers that receive this annoucement think it's the whole class C network 192.160.30.0 that is announced, not only hosts from 192.160.30.1 to 192.160.30.62. Then, they will send all packets with a destination in the class C network 192.160.30.0 to this router, even if the address is outside the first subnet of 64 addresses ! This is why RFC 1058 forbids the usage of the first subnet. It's stupid because there is a way to handle this. If all the subnets of a class C network are a connex graph, you can simply prove that, without changing RIPv1 : The routers that may receive an announce like 192.160.30.0 THAT IS NOT an announce for the whole net but only for the first subnet, have a local interface in the net 192.160.30.0. Then, there are two cases : - the router that receives this announcement has no interface in the net. It must then send all datagrams with a destination address in 192.160.30.0/24 to the router that sent the announcement. - the router that receives this announcement has one or more interfaces in the net. If the announcement came from an interface in the net, the announcement is then for the first subnet only. If it came from an interface NOT in the net, it's an announcement for the whole class C network (and it will be discarded because the routeur must has received more specific routes). Note that this method works only if the subnets of a same net are a connex graph. Alexandre Fenyo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d06hgh883f7.fsf>