Congestion avoidance in ssh ? - SSH

This is a discussion on Congestion avoidance in ssh ? - SSH ; Hello, What happens with an ssh connection hosting multiple tunnels where one tunnel gets congested ? This would happen if one end of the tunnel stops reading data out of it. Will the underlying TCP connection be blocked and thus ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Congestion avoidance in ssh ?

  1. Congestion avoidance in ssh ?

    Hello,


    What happens with an ssh connection hosting multiple tunnels where one
    tunnel gets congested ? This would happen if one end of the tunnel stops
    reading data out of it. Will the underlying TCP connection be blocked
    and thus all other tunnels too ? Or does ssh provide a mean to keep
    tunnel traffic independent so that if one tunnel gets congested the
    others are not affected ?

    I browsed the RFC but didn't see an obvious answer to this question.

    PS: sorry if this is too technical.

    ChM

  2. Re: Congestion avoidance in ssh ?

    chm1243@meessen.net writes:
    >What happens with an ssh connection hosting multiple tunnels where one
    >tunnel gets congested ? This would happen if one end of the tunnel stops
    >reading data out of it. Will the underlying TCP connection be blocked
    >and thus all other tunnels too ? Or does ssh provide a mean to keep
    >tunnel traffic independent so that if one tunnel gets congested the
    >others are not affected ?


    The (obsolete) SSH-1 protocol does not provide per-channel flow control,
    so the only way to provide back-pressure is to throttle the whole
    session, as you've described.

    The SSH-2 protocol (documented in RFC4250 et al) provides flow control
    on individual channels, so that one channel blocking does not
    necessarily mean that the whole session is blocked (although that is of
    course still an option).

    Whether per-channel flow control is actually performed is up to
    individual implementations, of course.

+ Reply to Thread