• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Lost UDP packets
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


References: 
 >Re: Lost UDP packets (From: Mark Hunt <email@hidden>)

  • Prev by Date: Re: Lost UDP packets
  • Next by Date: Re: Lost UDP packets
  • Previous by thread: Re: Lost UDP packets
  • Next by thread: Re: Lost UDP packets
  • Index(es):
    • Date
    • Thread