Public bug reported: Sometimes ago I found a problem in tcp connections between my home computer (connected to Internet through an ADSL-router) and the lab computer (connected through a broadband Ethernet cable), both running Ubuntu 8.04 (kernel 2.6.24-19-generic).
When I tried to upload/download any not very small file (a few megabytes) using scp or wget, the tcp connection hung up after a few seconds. When I tried to use vncviewer from the home computer to see the desktop of the lab computer, the connection hangs too. My home computer is connected to Internet through an ADSL-router. I tried using directly a PPPoE connection, change the MTU value, but nothing gave result. Wiresharking shows that after a 400K downloading some incoming packets get lost. My home computer send an ACK, asking to retransmit the lost packet, but the lab computer continue transmitting next packets. After about 10 duplicated ACK-s, the lab computer send a necessary packet, but then continue sending new packets. The situation replays and the speed of communicating falls to negligible values. The lab computer transmit packets, but the home computer could not accept them, because he waits for a earlier packet. I found out that this situation is preserved by common TCP mechanisms: SACK, Window-scaling and TCP-timestamps that are controlled in linux by kernel variables: /proc/sys/net/ipv4/tcp_sack /proc/sys/net/ipv4/tcp_window_scaling /proc/sys/net/ipv4/tcp_timestamps I checked these variables and found out that in my Ubuntu 8.04 they all were "0"! I didn't know why there were disabled but when I have done this: [EMAIL PROTECTED]:~# echo 1 > /proc/sys/net/ipv4/tcp_window_scaling [EMAIL PROTECTED]:~# echo 1 > /proc/sys/net/ipv4/tcp_sack [EMAIL PROTECTED]:~# echo 1 > /proc/sys/net/ipv4/tcp_timestamps and this [EMAIL PROTECTED]:~# echo 1 > /proc/sys/net/ipv4/tcp_window_scaling [EMAIL PROTECTED]:~# echo 1 > /proc/sys/net/ipv4/tcp_sack [EMAIL PROTECTED]:~# echo 1 > /proc/sys/net/ipv4/tcp_timestamps the problem is solved. Scp and wget copy files, vncviewer shows remote desktop and I am happy :) I think that many users can have the same problem when they are using communication between two computers, running Ubuntu, and when some packets are lost (for example, when an Internet provider adjusts а user's bandwidth by dropping some packets). Moreover, I have noticed that this leads to hanging up of uploading files to some other servers, in particular, to gmail.com. So I think that in Ubuntu these variables must be set to "1" by default. ** Affects: linux (Ubuntu) Importance: Undecided Status: New -- TCP-connection between two Ubuntu desktops hangs up (possible due to tcp_sack, tcp_window_scaling and tcp_timestamps are disabled by default) https://bugs.launchpad.net/bugs/258863 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs