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. -------