Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!JESSICA.STANFORD.EDU!almquist From: almquist@JESSICA.STANFORD.EDU (Philip Almquist) Newsgroups: comp.protocols.tcp-ip Subject: Re: Router/Gateway laziness question Message-ID: <8909121150.AA10548@ucbvax.Berkeley.EDU> Date: 12 Sep 89 10:48:00 GMT References: <1989Sep8.190943.9450@brutus.cs.uiuc.edu> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 27 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