Re: Checklist (sub-thread of: "Slow file sharing performance: lostpidgeons")
James Knott <[email protected]>
| Newsgroups | gmane.comp.encryption.cipe |
|---|---|
| Message-ID | <[email protected]> |
Les Mikesell wrote: > On Tue, 2003-09-09 at 07:06, James Knott wrote: > > >>I am aware the UDP is best effort and that the services using it are >>supposed to provide flow control if necessary. Given that FTP, which >>uses TCP works fine and Samba and NFS, which use UDP have problems, what >>observations would you make? >> > > > A) The 'flow control' mechanism when going between a fast medium to > a much slower one is to buffer some, then discard packets when the > buffer is filled. TCP has a window size mechanism that will > limit the unacked packets sent on a single connection. CIPE > doesn't change this by using UDP - it just wraps the packets > already being sent with another header during delivery. Things that > use UDP natively for reliable transfers (NFS, etc.) normally > have their own windowing and error correction mechanism that > can differ in size and backoff strategy from TCP's. I suspect this may be the cause of the problem. > > B) Samba uses TCP for file transfer, so any conclusions > you made about UDP by observing samba are incorrect. I don't know enough about SMB, but that's what I also thought. However, there are some UDP packets as well. > > C) If you want to diagnose where the problem is you will have > to use tcpdump or some other protocol analyzer to see where the > packets are being discarded. If you watch a tcp stream like > samba going into the cipe interface you will see the tcp sequence > numbers repeat as tcp's error recovery fixes things. On the > other end you will only see one instance come out. Then you > have to figure out which hardware interface dropped the cipe > packet between them. I posted some tcpdump files to the list yesterday. I had sent them to Allan earlier. > > D) Wild guess here - I haven't checked but it is possible that > samba sets the DF (don't fragment) bit where ftp doesn't (Microsoft > likes to do that for no particular reason...). That means if > the medium can't accept the whole packet it has to discard it > instead of fragmenting so it will be rebuilt at the other end. Shouldn't I be seeing some ICMP messages about that? Also, I tried using some small MTU values and it didn't help. Also, I looked at some of the packets captured with Ethereal. They don't show the DF flag set. -- Message sent by the [email protected] mailing list. Unsubscribe: mail [email protected], "unsubscribe cipe-l" in body Other commands available with "help" in body to the same address. CIPE info and list archive: <URL:http://sites.inka.de/~bigred/devel/cipe.html>