ICMP message caching

Steve D. Miller (steve@brillig.umd.edu)
Sun, 29 Mar 87 09:28:50 EST

   Recently, I've been considering wedging some code into the 4.3 kernel
that would let me do some ICMP message caching both in individual hosts
and in gateways. It seems to me that intelligent use of such a feature
could cut down on extra packet sends, especially in terms of behavior like
the recent mess with ISIB and domain name serving. After all, if one
"connection" discovers that a host is down, there is no need for everything
else to find that information out for itself. This would also fix the
problems with getting errors back on unconnected UDP sockets; a packet
to a down site would elicit an unreachability message which would
not be reported to the user, but the next send to that site would
result in an immediate error without ever going to the net. It also
seems to me that doing this sort of caching in a gateway might not
be a bad idea, but Dave Mills' recent message seems to indicate that
people think this is an evil idea.

   It was suggested to me that ICMP messages should get delivered
(via raw ICMP socket, perhaps) to a user-level process, which has
more smarts to it than the kernel can reasonably have and which
uses ioctls to stick information into the kernel's cache. That way,
it's relatively easy to change policies to ignore, for example, single
ICMP errors (a single ICMP unreachability error might be due to routing
changes, perhaps), but to add entries to the cache if it sees the
same error a number of times. Also, it might be possible to associate
error information with routes so that a host trying to reach another
host and which has two different ways to get there can take note of
the error and try to send via a different route.

   It seems that this issue has been discussed before, and while I
don't remember what brought this idea to mind, I doubt that it is
at all original. If this has been beaten to death publicly and
someone could give me some pointers to RFCs or into the archives,
I would appreciate it. Otherwise, maybe we can discuss it here.


This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:37:46 GMT