From owner-freebsd-questions Tue Apr 15 12:58:48 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA07007 for questions-outgoing; Tue, 15 Apr 1997 12:58:48 -0700 (PDT) Received: from enst.enst.fr (enst.enst.fr [137.194.2.16]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA06999 for ; Tue, 15 Apr 1997 12:58:37 -0700 (PDT) Received: from email.enst.fr (email.enst.fr [137.194.168.17]) by enst.enst.fr (8.8.4/8.8.4) with ESMTP id VAA22537; Tue, 15 Apr 1997 21:57:48 +0200 (MET DST) Received: from nikopol.enst.fr (nikopol.enst.fr [137.194.168.105]) by email.enst.fr (8.8.4/8.8.4) with ESMTP id VAA14624; Tue, 15 Apr 1997 21:57:42 +0200 (MET DST) Received: (from fenyo@localhost) by nikopol.enst.fr (8.8.4/8.8.4) id VAA06391; Tue, 15 Apr 1997 21:57:37 +0200 (MET DST) To: Alec Kloss Cc: ghelmer@cs.iastate.edu (Guy Helmer), freebsd-questions@FreeBSD.ORG X-WWW: http://home.eowyn.fr.eu.org/~fenyo/documents/axel.html X-PGP-Key: finger alex@eowyn.fr.eu.org X-NIC-Handle: AF713 X-Whois: whois -h whois.internic.net fenyo X-Pager: 06-04-30-75-94 (for emergency only) Organization: Ecole Nationale Superieure des Telecommunications de Paris Subject: Re: Subnets of all 0's/all 1's References: <199704151739.MAA25341@d2si.com> From: fenyo@email.enst.fr (Alex Fenyo (eowyn)) Date: 15 Apr 1997 21:57:32 +0200 In-Reply-To: Alec Kloss's message of Tue, 15 Apr 1997 12:39:16 -0500 (CDT) Message-ID: Lines: 49 X-Mailer: Red Gnus v0.50/XEmacs 19.14 Sender: owner-questions@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Alec Kloss 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