Re: Lost UDP packets
Re: Lost UDP packets
- Subject: Re: Lost UDP packets
- From: Justin Walker <email@hidden>
- Date: Sat, 25 Sep 2004 14:23:24 -0700
On Sep 25, 2004, at 13:43, Mark Hunt wrote:
The problem exists in even the simplest network - 2 Macs joined by a
cat 5 cable, and my multi-receiver setup uses a single switch.
What is the speed of the two Macs, and what speed is the network at
each end?
Also, there is no other traffic on the wire - this network was
implemented solely to transfer my data, and all nodes have fixed IP
addresses, so there's not even any DHCP traffic, and I have only 1
transmitter. tcpdump shows only my packets.
Since for any given lost packet, another receiver gets it, I think I
can rule out collisions.
Given your setup, you can rule out collisions because they are quite
unlikely to occur. But what happens in the two-Mac case? If you
appear to lose a packet, and there's only one reciever, then perhaps it
did not get sent. Here is where 'tcpdump' may help (one on sender, one
on receiver).
I'm still waiting on a meaningful netstat from my beta-tester, but I'm
pretty sure the problem is in my receiving application. It's pretty
busy, so maybe my network thread (blocked in recvfrom) needs higher
priority?
Perhaps. Make sure you are looking at the correct information.
"netstat -s" will tell you what is happening at protocol layers (IP and
above), while "netstat -i" will tell you what is happening at the
device layer. In addition, for the latter, '-d' may tell you about
dropped packets (all of the "netstat -i" information depends on the
kindness of driver writers, of course).
Also, check stats on both sender and receiver(s). You haven't ruled
out the sender yet, and at high packet generation rates, the CPU can
easily overwhelm the driver send-queue limits (usually fairly small).
For UDP, when this happens, the packets are dropped on the sending end
(without error indications; only the counters are updated).
FWIW, you can check the Info.plist for the driver you are using. There
may be info therein about the send/transmit queue length, and you may
be able to increase that queue depth (no guarantees; this depends on
the driver and its reading of the Info.plist file; for example, it may
not allow arbitrarily large queues).
Cheers,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | "Weaseling out of things is
what
| separates us from the animals.
| Well, except the weasel."
| - Homer J Simpson
*--------------------------------------*-------------------------------*
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden