Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!NNSC.NSF.NET!craig From: craig@NNSC.NSF.NET (Craig Partridge) Newsgroups: comp.protocols.tcp-ip Subject: re: Number of TCP retries Message-ID: <8910131633.AA12633@ucbvax.Berkeley.EDU> Date: 13 Oct 89 12:22:16 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 40 > A friend is implementing TCP/IP and has a couple of simple questions > which someone out there in netland could help him with. He has looked > through the RFC's but doesn't see his answers there. The environment > is a common Ethernet lan. No gateways, routers, bridges, brouters, > long-haul networks, beer, knockwurst or oompah bands are involved. Uh... first a pushy question. Is your friend implementing TCP, or something to run over an Ethernet? If he's running something over an Ethernet, fine, but don't call it TCP. Otherwise some poor soul will try sometime later to run it through a gateway, and will get badly flamed.... On a second point, doing the right thing (i.e. real TCP) for each question raised, isn't very hard. I don't know what your friend feels he's saving. > 1) If a packet is not acknowledged, how many times should TCP retry > sending the packet before giving up? 10 is a nice number, *iff* you do exponential backoff. > 2) What is a reasonable time for a SYN packet to time out? start with 1/2 second or so, and exponentially back off. > 3) What is a reasonable fixed TCP/IP timeout for an Ethernet lan when > you don't want to do fancy retry timing ala Karn's work? Phooey -- Karn's algorithm and Jacobson's algorithm are both very simple. Jacobson even gives the C code in his paper. Furthermore, if your Ethernet saturates, fixed timeouts will make the situation worse.... > 4) When programming an Ethernet controller (e.g. Lance chip), how many > times should the controller retransmit the packet when it detects > collisions and other errors before giving up and reporting an error > to the driver? Dunno... any Lance experts? Craig