[mod.protocols.tcp-ip] IP Record Route in core?

mike@BRL.ARPA.UUCP (02/12/87)

Phil Dykstra at BRL has just instrumented a version of my PING
program for BSD UNIX to optionally issue the ICMP ECHO REQUEST
packets with IP Record Route enabled.  This has brought up
several important issues:

*)  The core gateways do not record any route information, although
they don't choke on the IP option.  Is there any chance that they
can be induced to store their address in the record route record,
or is this another "wait for the Butterfly gateway" issue?
In the BRL gateway, the IP Record Route code is about 20 lines of C...

*)  There is some ambiguity as to how to interpret the combination
of ICMP ECHO REQUEST and IP Record Route together.  The Mills Fuzzball
software seems to regard the ICMP ECHO REPLY as a separate transaction,
and resets the Record Route pointer to the beginning of the log area,
while the BRL Gateway presently continues recording, so you see
the full route, round trip.  There is merit to both, is one considered
"right"?

*)  4.2 BSD UNIX, alas, can't handle the Record Route at all.

*)  4.3 BSD UNIX answers, but strips off the Record Route when answering.
(Actually, it strips all options except source routing).  This is sub-
optimal, and we will be working on a fix.

*)  Checksum fixes to the BRL Gateway IP Options code were needed too.

If you want the code, (a) please wait a few weeks before asking, and
(b) don't ask me, ask <Phil@BRL.ARPA>.
	Best,
	 -Mike

brescia@CCV.BBN.COM.UUCP (02/12/87)

     *)  The core gateways do not record any route information,

This was a conscious design decision, not to look at any packets which do not
have the IP destination = 'the gateway'.  Well, that's not the whole case,
because the lsi11 gateways will do IP header checksum and other validity
checks, but they will not examine the options unless fragmentation is needed.

The tradeoff was between speed and functionality.  At that time, probably 4
years ago, we went for speed.  At this time, the answer is, "wait for the next
generation".  When faced with the same decision in the butterfly, I lost the
argument, so that will (does?) do record route, but at the expense (for
packets with record route option only) of extra processing at each hop,
because no shortcuts are taken past the full IP network routing.

Note that Source route does have a record route trailer.

     In the BRL gateway, the IP Record Route code is about 20 lines of C...

I expect the 11 could do it with 40 lines of macn11 ... (but it would be wrong).

     *)  There is some ambiguity as to how to interpret the combination
     of ICMP ECHO REQUEST and IP Record Route together.  The Mills Fuzzball
     software seems to regard the ICMP ECHO REPLY as a separate transaction,
     and resets the Record Route pointer to the beginning of the log area,
     while the BRL Gateway presently continues recording, so you see
     the full route, round trip.  There is merit to both, is one considered
     "right"?

This could become an emotional issue of 'right vs. wrong' but I think that
more information is provided by NOT resetting the pointer.  By the way, should
the echoing host also do a record route?  Remember it's a host, not a gateway
function.

Mike B.

Mills@UDEL.EDU.UUCP (02/13/87)

Mike,

Yes, this is an old entry on my punch list: should an ICMP echo reply
recompute the route (fuzzball), go back the way it came (TOPS-20),
continue the route (?) or whatever. It may be time to reconsider
these issues carefully, since the recent congestion problems may well
be resolved using these tools. Onceuponatime I thought the cleverest
way to do this was to copy the inbound ICMP request into the data portion
of the requrst, then construct a new ICMP reply header, but only if the
request had a data portion large enough for the purpose. Then, Jerry
Saltzer at MIT beat me up, because he expected the data portions to
be returned unmodified. And so it goes.

Ahem, the fuzzies don't do the record route thing to spec anyway, since
they record the inbound address, not the return address of the outbound
packet. Finally, I thought the record route magic did in fact work for
the LSIways. At least the source route spells do.

Dave