Linux dmesg中关于TCP: Treason uncloaked!信息

简介: 在debian Linux服务器的日志中,dmesg出现类似的信息:TCP: Treason uncloaked! Peer 202.
在debian Linux服务器的日志中,dmesg出现类似的信息:

TCP: Treason uncloaked! Peer 202.106.38.7:57824/80 shrinks window 3573023813:3573023814. Repaired.
TCP: Treason uncloaked! Peer 202.106.38.7:57824/80 shrinks window 3573023813:3573023814. Repaired.
TCP: Treason uncloaked! Peer 202.99.99.211:3760/80 shrinks window 1828242657:1828242673. Repaired.
TCP: Treason uncloaked! Peer 210.76.114.42:2544/80 shrinks window 504374393:504375853. Repaired.
..........


查了资料,求助了google:
That comes from the kernel tcp code below.   Looks like the DLink has returned information yielding a transmit window smaller than it previously did; specifically it returned a window of zero plus an ack of up to byte 3957222360, thus indicating that it can accept nothing after that byte.   Previously it had sent ome ack+wnd values indicating that it would accept up to byte 3957222379.

The Linux side is now supposed to send a packet every now and then forever until the returned window is nonzero.   It does.

However, the dlink is apparently not responding in a timely manner. Any response would either open the window or update the rcv timestamp such that the thing will retransmit forever.   It may be responding very slowly, or just not responding at all.

The kernel prints the message after it expected but did not see a response to the probe packet it sent to check for a nonzero window. The kernel implements exponential backoff retransmissions until it hasn't seen any response in 2m, then it will bail and close the connection.   This is reasonable.   It's unclear from your report if the connections are failing outright or just sometimes having to retransmit a probe against a peer that shrank the window.

结论:

The remote host decided to shrink the TCP window size without negotiating such with your Linux box. The message is of the informational level, meaning Linux doesn't like what it is seeing but will cope with it and carry on.

意思是:在远程client和服务器通信的过程中,由于client没有和服务器协商,就减少了 TCP window的长度,也就是包的大小变小了,因此有这类的提示信息,此时服务器依然处理该类请求,但是处理的速度会比之前较差。

出现这种情况的时候,最好看看你的服务器流量监控情况,看看是否有流量异常,如果带宽被占满,有可能被电信或者联通进行了带宽限制,最好的方法是花费银子买带宽,或者看看你的web服务器有没有可优化的地方,例如gzip是否开启,响应时间是合适等等,这些手段比被电信限制你的龟速访问的体验好一些,是没钱人的垂死挣扎的手段,不是最终的方法。

此类问题,增加带宽或许是最好的方式。

 

目录
打赏
0
0
0
0
680
分享
相关文章
|
5月前
|
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
584 8
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
1056 23
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
727 1
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
Linux C/C++之TCP / UDP通信
这篇文章详细介绍了Linux下C/C++语言实现TCP和UDP通信的方法,包括网络基础、通信模型、编程示例以及TCP和UDP的优缺点比较。
321 0
Linux C/C++之TCP / UDP通信
Linux基础-socket详解、TCP/UDP
综上所述,Linux下的Socket编程是网络通信的重要组成部分,通过灵活运用TCP和UDP协议,开发者能够构建出满足不同需求的网络应用程序。掌握这些基础知识,是进行更复杂网络编程任务的基石。
358 1
Linux内核开发流程指南 - 8. 获取更多信息【ChatGPT】
Linux内核开发流程指南 - 8. 获取更多信息【ChatGPT】
Linux dmesg命令详解
dmesg是Linux内核自检命令(判断当前服务器的硬件信息),例如要查看LinuxCPU的信息,则: dmesg | grep CPU
1526 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问