[comp.protocols.tcp-ip] Redirects, and multiple subnets on a cable

kre@cs.mu.OZ.AU (Robert Elz) (01/21/91)

I sent a comment to Paul Tsuchiya wrt his internet draft
(draft-tsuchiya-subnetnos-00.txt) on subnet number allocation
policies.

This doesn't touch on the main subject of his draft, but a
side issue he mentions.

Paul says (in mail to me) ...

	Could you put your message on all of tcp-ip, so we can see what
	other people have to say about it?

So, here it is ...

	In there you say (wrt two subnets on one cable) ...

	   In fact, this is not such a bad solution,
	   because assuming that the gateway is capable of recognizing multiple
	   subnet numbers on the same subnet, the gateway will simply send the
	   host an ICMP Redirect [4], and subsequent packets will go directly to
	   the host [1].

	I don't think that can be true can it?  That would require the ICMP
	redirect to contain an ethernet address.  The sending host is in no
	doubt of the destination's IP address, sending a redirect that contains
	that address can do no more than confuse it, if its routing table has
	it believe that to reach that address it must route through a gateway.

	Oh - do you mean send the host a redirect, containing its own address
	as the gateway?  I guess that might work, assuming that the host's
	software understands the BSD type convention "if I am the gateway,
	I send directly out on my ethernet", if not, almost anything might
	happen.

	If that's it, I think I'd be more explicit about it.

To provide a little context - this is related to a cable being used
to carry two subnets, with a router somewhere on the cable configured
to forward between the two - and perhaps send redirects to hosts sending
through the router, when, with a little more intelligence, the host would
be able to send directly to the destination.

In a reply to that message, Paul indicated that the first of my two
scenarios was the one he intended, with the idea that on receiving a
redirect, (containing the hosts IP address as the gateway to send
through) the host receiving the redirect would not look inside it (much),
but would simply ARP for the "gateway" address drom the ICMP, and
end up sending directly to the destination.

Personally, I would expect that a host receiving a redirect like that
(if any gateway sent one) would simply ignore it - as a defence against
bogus redirects.

Anyway - comments?

kre

ejm@ejmmips.NOC.Vitalink.COM (Erik J. Murrey) (01/22/91)

In article <6490@munnari.oz.au>, kre@cs.mu.OZ.AU (Robert Elz) writes:
> 	In there you say (wrt two subnets on one cable) ...
> 
> 	   In fact, this is not such a bad solution,
> 	   because assuming that the gateway is capable of recognizing multiple
> 	   subnet numbers on the same subnet, the gateway will simply send the
> 	   host an ICMP Redirect [4], and subsequent packets will go directly to
> 	   the host [1].
> 
> 	I don't think that can be true can it?  That would require the ICMP
> 	redirect to contain an ethernet address.  The sending host is in no
> 	doubt of the destination's IP address, sending a redirect that contains
> 	that address can do no more than confuse it, if its routing table has
> 	it believe that to reach that address it must route through a gateway.
> 
> 	Oh - do you mean send the host a redirect, containing its own address
> 	as the gateway?  I guess that might work, assuming that the host's
> 	software understands the BSD type convention "if I am the gateway,
> 	I send directly out on my ethernet", if not, almost anything might
> 	happen.
> 
> 	If that's it, I think I'd be more explicit about it.
> 


Actually, using two subnets on a cable is very common when more than
one link-layer protocol is being used.  (i.e. Ethernet v2 and
802.3/SNAP)  In this case, an ICMP isn't even practical since we don't
have a way to specify link-layer information in an ICMP message.

In cases where the subnets share the same frame type, it is still
impractical to send ICMP's since the "offending" host will know
nothing about host specified in the ICMP redirect.  Most IP
implementations based on the 4.3Tahoe stack only allow one IP address
per interface.  Maybe the interface handling code could be extended to
support multiple addresses per protocol?

---
Erik J. Murrey
Vitalink Communications NOC
ejm@NOC.Vitalink.COM	...!uunet!NOC.Vitalink.COM!ejm

raj@hpindwa.cup.hp.com (Rick Jones) (01/23/91)

Instead of relying on redirects, why not use proxy-ARP? It would
probably be more robust in the face of various implementations. 

If those hosts that can use it, and the router routes for those who
can't, then all should be well. Or have I missed something?

rick jones
___   _  ___
|__) /_\  |    Richard Anders Jones   | This space undergoing
| \_/   \_/    Hewlett-Packard  Co.   | renovations - results soon ;-)
------------------------------------------------------------------------
Being an employee of a Standards Company, all Standard Disclaimers Apply

jbvb@FTP.COM (James B. Van Bokkelen) (01/23/91)

To work efficiently in "multiple IP nets or subnets on one cable"
situations, you can't be discriminating about ICMP redirects.  This
opens up the possibility of bogus redirects taking a host off the
net.  Currently the world seems willing to accept the risk to get the
convenience.

James B. VanBokkelen		26 Princess St., Wakefield, MA  01880
FTP Software Inc.		voice: (617) 246-0900  fax: (617) 246-0901