[comp.protocols.tcp-ip] ip/icmp/echo messages

larry@pdn.UUCP (Larry Swift) (01/07/88)

While waiting for 4.3 BSD source code, I have been reading rfc's, etc, 
trying to figure out:

	 1)  whether icmp echo/reply messages can be sent with ip headers 
		 that specify strict source routing (via raw sockets only?),
	 2)  whether this would be useful in creating a looptest tool for 
		 customer service to check out specific serial links, and
	 3)  who has already implemented such an animal (probably only
		 about 50,000 people or so?).  I understand there's a program
		 called "ping" which uses echo.  Is it what I'm looking for?
		 Where can I get it?

Thanks in advance.

Larry Swift                     UUCP: {codas,usfvax2}!pdn!larry
Paradyne Corp., LF-207          Phone: (813) 530-8605
P. O. Box 2826           
Largo, FL, 34649-9981   

BILLW@MATHOM.CISCO.COM (William Westfield) (01/09/88)

I don't know about 4.3 unix, but I can answer your questions in a more
general sense.

	 3)  who has already implemented such an animal (probably only
		 about 50,000 people or so?).  I understand there's a program
		 called "ping" which uses echo.  Is it what I'm looking for?

  Cisco systems gateways and terminal severs have a ping command that
fully supports (both loose and strict) source routes, timestamps, and
record route.  A number of design decisions were made so that these
would be maximally useful.

	 1) Can icmp echo/reply messages can be sent with ip headers 
		 that specify strict source routing.

Yes, of course you can send ICMP messages with source routes.  However,
it is not clearly defined what should happen when, say, and ICMP echo
request with options is received.  The ICMP spec says that you should
just swap the IP source and destination addresses and send the packet.
However, if the packet has a source route, you might want to use the
reverse route for the echo reply, and this requires more processing.
In the cisco products, source routes are reversed, but record route
and timestamp pointers are left unchanged (so you can see both paths).
4.3 bsd sends out the echo reply with no options whatsoever...

Another problem is that very many systems, including gateways, do not
fully (or correctly) support IP options.  In the case of a source routed
packet, it will probably just get dropped along the way, even if the path
is good.  Record route and timestamps just won't get filled in.

An additional problems is that the IP header really isn't quite big enough.
It could be really useful to have a loose source route and a record route
in the same packet, but they would only be able to hold a total of 8 hops,
which is not enough to be useful.


	 2)  whether this would be useful in creating a looptest tool for 
		 customer service to check out specific serial links, and

Well, the PING command all by itself is about the single most useful
network debugging tool we have found.  It isn't clear how useful
adding option support to it is.  I guess potentially this would allow
you to debug more of a network from some specific site, especially if
you have gateways that cannot be remotely logged into.  And yes, it is
especially useful for debugging serial links.  Cisco's ping process
wont reply to a ping addressed to a 'down' interface, even if the ping
arrives and would be sent out on an 'up' interface.  This is a useful
feature, as it potentially lets you tell which side of a link is down,
but I think that it is not common.

Bill Westfield
cisco Systems.
-------