Connections stall after ~4k received - TCP-IP

This is a discussion on Connections stall after ~4k received - TCP-IP ; Hello, I have a strange problem: with Linux 2.6.22 and a Broadcom 6348 ADSL modem/ router, all my downloads stall after around 4k of data is received. Smaller downloads and ssh work fine, but as soon as some limit is ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Connections stall after ~4k received

  1. Connections stall after ~4k received

    Hello,
    I have a strange problem: with Linux 2.6.22 and a Broadcom 6348 ADSL modem/
    router, all my downloads stall after around 4k of data is received. Smaller
    downloads and ssh work fine, but as soon as some limit is reached, no packet for
    that connection reaches the machine anymore, until I kill the download; then,
    after the FIN,ACK, there's always one retransmitted packet that shows in the
    trace. In the meantime the network still works, and I can talk to the machine.
    Uploads of any size work normally.
    This happens to me with two setups: in one the Linux machine is a firewall, but
    the connections going through it are fine!
    Comparing the tcpdump of the downloads initiated from the firewall and the ones
    that originate from another machine I can't see any difference, neither on the
    firewall side nor on the server; except of course that when downloading from the
    firewall it just stops receiving packets, while the server keeps retransmitting
    them.
    The second setup has the same router, same kernel, different NIC; the machine
    isn't working as a firewall there, so no iptables to blame.
    I don't have the problem with different routers; on the other side, all other
    machines don't have a problem with this router. Unfortunately, at the second
    location I can't easily change the router.
    This is driving me mad... Any ideas?
    Thanks,

    Ivan



  2. Re: Connections stall after ~4k received

    On 2008-04-01 15:08:23 -0400, Galahad Threepwood said:

    > Hello,
    > I have a strange problem: with Linux 2.6.22 and a Broadcom 6348 ADSL modem/
    > router, all my downloads stall after around 4k of data is received. Smaller
    > downloads and ssh work fine, but as soon as some limit is reached, no packet


    I'd want more information to troubleshoot, really, but from what you
    said, a quick list of suspects:

    - Your ISP is throttling / mangling some types of traffic, try another
    type and see if you get the same effects.

    - A performance problem on the ADSL line, SSH sessions, pretty much any
    interactive user session generates packet flows with smaller payloads
    and sporadic I/O, less likely to be affected by performance issues.
    Streaming data in one direction needs good Layer-2 performance, etc.

    - There's some protocol encapsulation going on like PPPoE, reduce the
    MTU of the Ethernet interfaces of the firewall to something low
    temporarily just to test, you can do this with a command like "ifconfig
    eth0 mtu 1024", etc. 1024 is fine for a test, etc.

    - The machine you're talking to has a strange TCP/IP stack or is
    damaged somehow, I've seen this problem before when one side can
    negotiate RFC1323, etc., scaling windows and the other side mangles it.

    - The NIC is a PoS(tm) and is spamming your PC's bus with interrupts
    for some strange reason, but this usually results in machine lockups,
    not just bad performance - is one of the NIC's really old hardware? If
    it's really old hardware that's using traditional oscillators, after
    8-10 years I've seen the oscillators drift to the point where Ethernet
    isn't really usable with them. (rare).

    - Even rarer, you don't have IP forwarding turned on in the Linux
    kernel, but because of a unique situation on one of your networks, your
    packets wind up getting re-directed to a router that can handle them
    because there's a second router on your network you're going to (I'll
    spare the why this happens, because it's rare and I'd be blabbing late
    at night).

    - An error in your firewall / IPCHAINS, etc. that's introducing QoS /
    queueing effects you're not seeing.

    Troubleshooting is always better one-step at a time, I'd try this:

    - Connect directly to the ADSL router to your laptop, etc. without a
    firewall and verify.

    - Disable firewall and make the Linux box that's giving you a problem
    an "open" router, or setup the rules to pass everything, test again
    from inside that firewall box.

    - Try downloading from different sites.

    - Replace each NIC one-at-a-time.

    Good luck dude.

    /dmfh

    --

    __| |_ __ / _| |_ 01100100 01101101
    / _` | ' \| _| ' \ 01100110 01101000
    \__,_|_|_|_|_| |_||_| dmfh(-2)dmfh.cx


+ Reply to Thread