Wireshark-users: [Wireshark-users] Nasty problem on slow connection over OpenVPN with Samba
Hello!
I'm running openvpn (latest stable with UDP) between 2 internet
connections (A:4MBit download, 512kBit upload and B:3MBit download and
384kBit Upload). A is Linux (Fedora 7) and B is Windows XP SP2.
Openvpn normally runs without any problem for years.
Running netio (with some self written flushing patches for slow speed
connections for more accurate values) it gives the following performance:
TCP connection established.
Packet size 1k bytes: 33833 Byte/s Tx, 57856 Byte/s Rx.
Packet size 2k bytes: 38690 Byte/s Tx, 57802 Byte/s Rx.
Packet size 4k bytes: 37098 Byte/s Tx, 57936 Byte/s Rx.
Packet size 8k bytes: 37923 Byte/s Tx, 58022 Byte/s Rx.
Packet size 16k bytes: 37028 Byte/s Tx, 58070 Byte/s Rx.
Packet size 32k bytes: 36081 Byte/s Tx, 58003 Byte/s Rx.
Done.
So this is quite a good performance from A to B with a downstream of
around 57kB/s. (At least sufficient for 320kBit/s downstream)
I'm running Winamp to play MP3 files up to 320kBit/s (40kB/s). When
Bitrate gets high up to 320kBit I get very often some buffer underuns. (It
doesn't happen with 128kBit files). Stream is from A to B.
So I tracked down the problem with wireshark and tcpdump to:
TCP MSS size is ok (1343 Bytes)
Captured on the Linux/Samba side:
1.) Linux Samba Server sends a SMB Read Andx Response
2.) 44ms later the correct tcp acknowledge is received (wireshark has no
error here)
3.) 312ms later Linux sends out the packet (1) again. Why?
4.) Afterwards a dup ack is received.
Why does Linux resend packet 1 at 3?
The dropouts happen when the retransmissions occour.
Samba (3.0.25a) configuration looks like (relevant I think so):
socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=8192
In general I would say that windows shares are slow over openvpn.
If you need any further information please let me know.
Any ideas?
Thank you for the answer.
Ciao,
Gerhard
--
http://www.wiesinger.com/