[linux-audio-dev] Re: Audio synchronization, MIDI API

Mario Lang mlang at delysid.org
Mon Sep 13 08:31:21 UTC 2004

Eric Dantan Rzewnicki <eric at zhevny.com> writes:

> Steve Harris wrote:
>> On Sat, Sep 11, 2004 at 10:25:53AM -0700, Andrew Burgess wrote:
>>>>In pratice people dont really demand hard realtime and it will be OK, but
>>>>the maximum time taken to transmit a UDP packet is unbounded, it uses
>>>> exponential backoff IIRC.
>>>That sounds like TCP. I think UDP is send and forget, if you want guaranteed
>>>delivery or sequencing you need a higher protocol like TCP.
>>>Or are you thinking of ethernet level collision detect and retransmit? Does
>>>that go on forever (unbounded)?
>> I dont think so, but IP (including UDP) does. There is a difference
>> between raw ethernet packets and UDP.
>> Ethernet has checksums to detect problems (maybe in;c forward correction),
>> but AFAICR it doesnt retransmit on its own, I would imagine that that is
>> why the commercial audio-over-ethernet systems work.
> So at what level in the tcp/ip stack does a collision get detected?
> From what I understand, if there is a collision on a network segment
> each end will backoff for a randomly chosen time and then
> retransmit. Is this at the ethernet, IP, or TCP level?

Ethernet. Back in the coaxial days collisions were much more liikely
than with todays topologies.  But Ethernet collision detection
doesn't retransmit forever, just for a limited amount of time.
UDP is indeed unreliable, you just inherit the ethernet collision detection
(if you are using ethernet as a lower-level protocol).
UDP doesn't guarantee arrival, nor does it guarantee order of arrival.


More information about the Linux-audio-dev mailing list