[sage] IP Stack Reset

Johannes Hubertz johannes at hubertz.de
Sun Sep 14 11:01:15 CEST 2008


Am Saturday 13 September 2008 schrieb Erwin Hoffmann:
> TCP: Treason uncloaked! Peer 87.157.161.245:63005/80 shrinks window
> 1812961173:1812974241. Repaired.
>...>
> D.h. IP Pakete an meinen Apache Server führen (früher oder später) 
> zu einem Reset des Link !

Nein. Nur die tcp-session! Link ist was anderes. Kommt hierher:
Zitat start:
static void tcp_retransmit_timer(struct sock *sk)
{
        struct tcp_sock *tp = tcp_sk(sk);
        struct inet_connection_sock *icsk = inet_csk(sk);

        if (!tp->packets_out)
                goto out;

        BUG_TRAP(!tcp_write_queue_empty(sk));

        if (!tp->snd_wnd && !sock_flag(sk, SOCK_DEAD) &&
            !((1 << sk->sk_state) & (TCPF_SYN_SENT | TCPF_SYN_RECV))) 
{
                /* Receiver dastardly shrinks window. Our retransmits
                 * become zero probes, but we should not timeout this
                 * connection. If the socket is an orphan, time it 
out,
                 * we cannot allow such beasts to hang infinitely.
                 */
#ifdef TCP_DEBUG
                if (1) {
                        struct inet_sock *inet = inet_sk(sk);
                        LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason 
uncloaked! Peer %u.%u.%u.%u:%u/%u shrinks window %u:%u. Repaired.\n",
usw. usw. usw.
Zitat ende

Also wenn überhaut nur diese eine tcp-session. (beast)

> Leider habe zeichner das blöde System keinen Time-Stamp auf. 

??? Sollte das sein:
Leider aber zeichnet ...?
Soll das evtl. heißen, im syslog sind keine time_stamps? Das würd mir 
zu denken geben...

> Ich 
> habe das nur mitbekommen, weil mich die Kiste in letzter Zeit
> während einer Session rausgeschmissen hat.

Der Apache?

> Das Verhalten ist total beknackt.
>
> Weiss jemand Rat, wie man den Reset abstellen kann ?

o.a. Funktion steht in: /usr/src/linux/net/ipv4/tcp_timer.c, Zeile 286 
ff. Da könnte man das abstellen. Am besten aber nur die Meldung, 
sonst sollte man eher mal sehen, wozu das ganze gut ist...

> (Wer sowas programmiert, sollte in die tiefste Hölle kommen)

Das finde ich nun wirklich nicht. Die Fehlermeldung ist doch im Source 
zu finden. Also hat sich doch vermutlich jemand was dabei gedacht, 
sie da reinzumachen, oder?

Frohes Schaffen
Johannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 481 bytes
Desc: This is a digitally signed message part.
Url : http://lists.guug.de/pipermail/sage/attachments/20080914/d66a68f9/attachment.pgp 


More information about the SAGE mailing list