On Tuesday 06 August 2002 10:06 am, you wrote:
> > UDP has a lot less overhead and is much faster over a clean/fast network.
> It just seems like they'd have to "re-invent" TCP in the implementation.
> And if you have to re-invent it, then you would have just as much or more
> overhead as TCP.
>
> I can understand UDP for short blips of information, like SNMP,
> but file transfer(you would think) would be the perfect application for
> TCP. Obviously its not that simple, and considering there is an option to
> do NFS on TCP, I'll bet it's a bit contentious a subject as well.

TCP "guarantees" two things: 
1. All packets will be delivered
2. All packets will be received in the order they were sent

To transferring a file, you only really need to make sure all the data gets 
transfered (#1). If it's out of order, that's OK. You can reorder it on the 
receiving end. Using UDP, you can spew the data at full speed (no waiting for 
acknowledgements) and just tack a counter onto the packets so the receiving 
end will know how to order them. As the receiving end is piecing the file 
together, it can easily detect when a piece is missing and ask the sender to 
resend that packet. This way, you only get "acknowledgement" traffic when a 
packet doesn't arrive, instead of sending acks for every packet.

- Jared