Treason uncloaked!
Bonjour à tous, depuis plusieurs années, je trouve régulièrement dans mes logs des messages d'erreur du type : kernel: TCP: Treason uncloaked! Peer x.x.x.x:x/80 shrinks window x:x. Repaired. Depuis plusieurs années j'effectue donc des recherches sur le web à ce sujet, et depuis plusieurs années, je ne trouve rien d'autre que d'autres personnes cherchant la même chose que moi... Peut-être y a t'il parmi vous quelqu'un qui connait la réponse à cette question : que veut dire ce message ? par quoi est-il causé ? Est-ce dangereux ? Si ce n'est pas le cas, pourquoi ce message est-il aussi alarmiste ? Et surtout comment se fait il que l'on ne trouve aucune documentation, ni réponse à ce sujet alors que c'est une question qui semble être récurente ? -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Treason uncloaked!
On Tue, Mar 20, 2007 at 10:59:25AM +0100, [EMAIL PROTECTED] wrote : Bonjour à tous, depuis plusieurs années, je trouve régulièrement dans mes logs des messages d'erreur du type : kernel: TCP: Treason uncloaked! Peer x.x.x.x:x/80 shrinks window x:x. Repaired. Cette sortie est présente dans net/ipv4/tcp_timer.c des sources du noyau. Par contre je n'ai pas réussi à comprendre ce qu'il se passe. 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 (net_ratelimit()) { struct inet_sock *inet = inet_sk(sk); printk(KERN_DEBUG TCP: Treason uncloaked! Peer %u.%u.%u.%u:%u/%u shrinks window %u:%u. Repaired.\n, NIPQUAD(inet-daddr), ntohs(inet-dport), inet-num, tp-snd_una, tp-snd_nxt); } #endif La fonction net_ratelimit se situe dans net/core/utils.c : /* * All net warning printk()s should be guarded by this function. */ int net_ratelimit(void) { return __printk_ratelimit(net_msg_cost, net_msg_burst); } EXPORT_SYMBOL(net_ratelimit); et __printk_ratelimit est présente dans kernel/printk.c Depuis plusieurs années j'effectue donc des recherches sur le web à ce sujet, et depuis plusieurs années, je ne trouve rien d'autre que d'autres personnes cherchant la même chose que moi... Peut-être y a t'il parmi vous quelqu'un qui connait la réponse à cette question : que veut dire ce message ? par quoi est-il causé ? Est-ce dangereux ? Si ce n'est pas le cas, pourquoi ce message est-il aussi alarmiste ? Et surtout comment se fait il que l'on ne trouve aucune documentation, ni réponse à ce sujet alors que c'est une question qui semble être récurente ? J'espère que cela pourra aider à approfondir la question. -- Rémi Demarthe -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Treason uncloaked!
On 3/20/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Bonjour à tous, Bonjour, depuis plusieurs années, je trouve régulièrement dans mes logs des messages d'erreur du type : kernel: TCP: Treason uncloaked! Peer x.x.x.x:x/80 shrinks window x:x. Repaired. J'ai eu ça pendant très longtemps avec une machine qui faisait du rsync de manière intensive. C'était apparemment normal, just informatif. Personnellement, je l'avais désactivé un enlevant la définition de TCP_DEBUG dans include/net/tcp.h. Et surtout comment se fait il que l'on ne trouve aucune documentation, ni réponse à ce sujet alors que c'est une question qui semble être récurente ? Comme l'indique Remi, Use the sources luke. ;-) Plus sérieusement: http://article.gmane.org/gmane.linux.kernel/341321/match=treason Mes 2 centimes, -- Nicolas
Re: Treason uncloaked!
-[ Tue, Mar 20, 2007 at 11:45:39AM +0100, Rémi Demarthe ] 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 (net_ratelimit()) { struct inet_sock *inet = inet_sk(sk); printk(KERN_DEBUG TCP: Treason uncloaked! Peer %u.%u.%u.%u:%u/%u shrinks window %u:%u. Repaired.\n, NIPQUAD(inet-daddr), ntohs(inet-dport), inet-num, tp-snd_una, tp-snd_nxt); } #endif En gros, si je comprend bien, le message est écrit lorsque l'autre peer d'une cnx TCP signale une fenêtre nulle. Cela doit se produire si les paquets sont envoyés beaucoup plus vite que l'application ne les lit sur l'autre machine. Donc je dirais que le problème ce se situe pas au niveau de la machine de l'OP mais dans son environnement réseau (gateway mal fichu par exemple ?). -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]