zweig@brutus.cs.uiuc.edu (Johnny Zweig) (09/09/89)
I was just thinking about what would happen if I had a relatively slow controller routing packets between two nets with lots of excess bandwidth, and decided to punt a few things. For example, how about if the router just checked the checksum, looked at the destination IP-address, and forwarded the packet out the appropriate interface without checking that the options are all acceptable, etc., etc. Basically, I would trade the possibility of wasting bandwidth on brain-damaged packets and other garbage off against wasting controller cycles checking things over and over again. Would this violate any extant or soon-to-be-released conformance criteria (i.e. RFCs, or other documents)? It seems dumb to check the correctness of the packets over and over again if it has to go through several hops on not-too- loaded nets, but I know RFC792 (etc.) often say "if <such-and-such is messed up> the packet MUST be dropped". -Johnny Speculative
pprindev@wellfleet.com (Philip Prindeville) (09/10/89)
> Would this violate any extant or soon-to-be-released conformance criteria > (i.e. RFCs, or other documents)? It seems dumb to check the correctness of the > packets over and over again if it has to go through several hops on not-too- > loaded nets, but I know RFC792 (etc.) often say "if <such-and-such is > messed up> the packet MUST be dropped". You can start with the TTL. That's the biggest waste of time. Butterflies got this right... -Philip
CERF@A.ISI.EDU (09/11/89)
Johnny, The temptation is clear, but even Jon Postel's dictum: "Be liberal in what you accept and strict about what you generate" has its limits. The propagation of malformed packets is not helpful - especially if somewhere down the line there is a limited capacity channel through which the damaged packets must travel. I would move very cautiously in the direction you seem to be heading. Vint
mcc@WLV.IMSD.CONTEL.COM (Merton Campbell Crockett) (09/11/89)
Have you seen the Internet's answer to Center Court at Wimbleton? CAMBRIDGE RESTON CAMBRIDGE RESTON CAMBRIDGE RESTON CAMBRIDGE RESTON
almquist@JESSICA.STANFORD.EDU (Philip Almquist) (09/12/89)
Johnny, > ...how about if the router just checked the checksum, looked at the > destination IP-address, and forwarded the packet out the appropriate > interface without checking that the options are all acceptable, etc... If you're going to play fast and loose with the rules, I don't understand why you're bothering to verify the checksum... But seriously: although your scheme may save some programming effort, I doubt it it would save very many instructions. A router has to do route lookup. It may have to do an additional lookup to obtain a link layer address to send the packet to. It has to strip off the link layer headers when the packet arrives and add new ones before sending it back out. It has to decrement the TTL if you don't like to have packets live forever in your network (or want to be compliant with RFC1009). Routers must process certain IP options (RFC1009 requires source route, record route, and timestamp), and must therefore parse all IP options sufficiently to determine their type and length. Last but not least, routers have to take interrupts and massage their network interface cards. There may be a few instructions you can save here and there by skipping validity checks, but the the real determinants of router performance are the network interface cards, the bus bandwidth, and the choices of data structures and algorithms used in performing the tasks listed in the previous paragraph. Philip