Linux kernel 2.6.x sometimes doesn't send TCP ACK for no apparent reason

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi to all:

In the last couple of months I have been having a problem trying to
access just one web site of the many I usually browse from my home PC,
with Linux kernels 2.6.x. The only site I have been experiencing
problems with is:
http://gestiona.madrid.org/nomecalles/

It is an on-line street map and aerial photo server for the region I
live (Madrid, Spain). From the HTTP headers it seems clear they are
using some kind of Oracle Application Server, but this should not be an
issue. The fact that they say "we are making changes to the web site"
should have nothing to do with my problem, because it started much before.

The problem is easy to describe: I try to load the page from _any_ web
"browser" available at my PC (including several versions of Mozilla,
Konqueror, Opera, wget, netcat, even telnet) and while some URL get
loaded OK, some others just stall after a couple of data packets
exchanged between the end points. For example:
http://gestiona.madrid.org/nomecalles/jsp/mapaMunic.jsp

What is most disturbing, I have accesed the web site from _any_ other
computer I have access to, with a very wide selection of operating
systems, versions, web browsers and ISP, and in all cases the web worked
OK. But I have tried with some older 2.6.x Linux kernel releases
(2.6.8-rc2-mm2, 2.6.8-rc2, 2.6.7, and some other) from my own box 
with no success. However, booting the box with a Knoppix 3.3 CD, the web
page loaded fine (linux kernel 2.4.x).

With my current Linux kernel version (2.6.8-rc2-mm2) I have taken a
"tcpdump" of the traffic (to be honest, I used "ethereal" rather than
"tcpdump" :-) generated from the following command:

$ wget http://gestiona.madrid.org/nomecalles/jsp/mapaMunic.jsp

I was just trying to isolate the problem, not trying to get anything
useful from the URL above. I have attached the capture to this email, in
the ususal "tcpdump" format. What I have observed is that everything
seems to go well up to the third to last package in the capture. This
and the second to last packages are HTTP continuation messages that hold
the remaining of the HTML page being downloaded from the server.

In fact, the last HTTP message (TCP segment) from the segment comes with
a FIN flag set, so it is telling my Linux box it has nothing more to
send. But the last TCP segment going out from my box (inmediately after
the last packet from the server) just acknowledges a segment correctly
received _and_ acknowledged before, but not the last two (correctly) 
received. The capture went on for more than five minutes, but no more
traffic belonging to the session was seen in any direction.

I have done some other captures, and when the problem shows the traffic
pattern is exactly the same, but sometimes I can see up to three
duplicate ACK from my Linux box to the web server for previous segments.

So now I am quite confused, because from what I know from TCP/IP
networking it seems Linux 2.6.x networking (at least in my specific
setup) is not doing what it should. Remember that this is the only site
which is giving me problems.

As some days ago was some debate about window scaling problems in recent
2.6.x kernels I tried to disable (or at least alter) TCP (advanced)
window scaling, but nothing changed. I also tried to lower the MTU of my
Internet connection (dial-up POTS modem) from 1500 bytes to something
lower, but the problem persisted.

Apart from compiling and trying to check which kernel version started
showing this problem (it at all a kernel networking issue), is there any
other test I can make to help identify (and hopefully) solve this issue?

Any help from the networking gurus would be greatly appreciated.

Greetings.

-- 
Jose Luis Domingo Lopez
Linux Registered User #189436     Debian Linux Sid (Linux 2.6.8-rc2-mm2)
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux