*BSD News Article 65246


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!newshost.telstra.net!act.news.telstra.net!psgrain!usenet.eel.ufl.edu!gatech!newsfeed.internetmci.com!DMZ.teir.com!r2d2.teir.com!usenet
From: cwilliam@teir.com (Curtis Williams)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: FreeBSD Losing to Linux - Please Help
Date: Fri, 05 Apr 1996 14:06:03 GMT
Organization: Thomson Electronic Infomation Resources
Lines: 48
Message-ID: <316524bc.175490932@news.teir.com>
References: <4ju4rb$67q@post.gsfc.nasa.gov> <SCOTTE.96Apr4083440@odie.center.uscs.com>
NNTP-Posting-Host: cwilliam-pc.teir.com
X-Newsreader: Forte Agent .99d/32.182

On 04 Apr 1996 16:34:39 GMT, scotte@center.uscs.com (L. Scott Emmons)
wrote:

>In article <4ju4rb$67q@post.gsfc.nasa.gov> kjeffers@nastg.gsfc.nasa.gov (Karen Jefferson x2857) writes:
>
>> Although our preference had been to use FreeBSD, the UDP performance
>> was terrible (200 Kbps over Ethernet), and we kept getting ENOBUF
>> errors which makes FreeBSD an unacceptable choice.
>


Another item to check is your tcp retransmit rate. Since udp is a
datagram service it doesn't guarantee delivery. tcp will guarantee
delivery and will retransmit any lost packets. tcp should lose packets
at the link layer at the same rate udp does; consequently if you are
losing a lot of udp packets you should also see a correspondingly high
tcp retransmit rate. Unless something else is going on that is. There
are many factors contributing to udp packet loss including
transmission rate, line quality, router congestion etc. With the
exception of transmission rate (tcp has a max packets outstanding
sliding window) all of these factors effect both udp and tcp packets
at the link level. At the link layer the only difference between tcp
and udp is the packet type field (can't remember any more but tcp has
a value of 7 and udp is 15 or something link that). The difference is
that tcp retansmits so the user never sees "lost" tcp packets. udp, by
design, doesn't retransmit so you do see the lost packets.

I once wrote a udp based error reporting system for a satellite based
communicatons system (used udp against my better judgement because I
was told to). During testing I managed to put about ten million
packets originating from 50 nodes through the system without a lost
packet. It worked fine in production also until programmers discovered
that it made a powerful debuggin tool (don't know why they needed to
debug production systems :-( ) Once that was discovered they started
pumping extremely large udp messgaes through at very high rates. The
server was running on an HP9000-350 which I think had a motorola 68020
processor in those days-- which immediately became overloaded and
started dropping udp packets (buffers filled up while processor was
busy doing other things). When the complaints started coming in I was
unable to reprodcue the problems in the lab until I understood how
they were using (misusing) the system. Switched over to tcp which
fixed things immediately.

Hope this helps. 
Curt Williams
VP, Technology
Thomson Electronic Information Resources (TEIR)
cwilliam@teir.com