Articles of tcp

TCP会话如何在DSR负载平衡器(L4)解决scheme中工作?

让我们设想一个客户端正A观看一个带有keep-alive标题的实时stream(它翻译成一堆HTTP请求)。 A -r-> LB—–> R1 –| /|\ |—–> R2 –| | ——> R3 –| |—R—————-| 这个DSR(直接服务器返回)负载平衡器(L4)是否可能提供least-conn方法? 如果是,那么实际上如何处理TCP序列号? (并保持连接)因为对于每个新的客户端连接,LB可以将您路由到不同的real server 。 负载均衡dsr http://blog.haproxy.com/wp-content/uploads/2011/07/layer4_dsr_data_flow.png

一个奇怪的TCP会话脚本

我遇到了一个很奇怪的问题,我想和大家分享一下。 也许你会帮我提出一些想法。 KVM驱动的主机上有3个虚拟机。 其实大概有50个虚拟机,但是他们都工作的很好,虽然这3个虚拟机的行为有点不同寻常。 下面是一个图表,说明这三个虚拟机和它们之间的两个链接: 当一切正常时,这两个之间的TCP会话(“GET / HTTP / 1.0” – “HTTP 200 OK”)如下所示: 00:58:43.885118 IP 192.168.111.2.55480 > 192.168.113.2.http: Flags [S], seq 926382744, win 14600, options [mss 1460,sackOK,TS val 277997 ecr 0,nop,wscale 7], length 0 00:58:43.885380 IP 192.168.113.2.http > 192.168.111.2.55480: Flags [S.], seq 1849545379, ack 926382745, win 14480, options [mss 1460,sackOK,TS val 3702103 ecr 277997,nop,wscale […]

思科路由器和ACL以最小的中断

我有一个Cisco 1921路由器,我在其中configuration了以下访问控制列表: 编辑访问列表199拒绝192.168.1.24 access-list 199 permit any any 我希望能够随时删除和添加新的访问列表条目,以阻止我不想访问互联网的IP,有时会阻止所有的IP访问。 我怎样才能做到这一点,而不中断互联网stream量或所有IPstream量的其他IP地址不应该受到变化的影响? 例如,当我删除第一个访问列表条目时,许可选项将消失,所有的互联网访问都将丢失,直到重新进入系统。

来自外部主机的mysql上的TIME_WAIT连接太多

我的netstat显示超过2000个连接的状态TIME_WAIT,似乎卡住,不会消失。 就是这样几个小时,许多连接来自一个IP地址,没有我的数据库服务器的特权。 这似乎是悬挂,我怎么清除这个? 这是蛮力攻击吗? 我所有的用户权限都有特定的主机,我不使用任何通配符。 这是一个netstat的片段: tcp 0 0 server:mysql static.98.17.76.1:45222 TIME_WAIT tcp 0 0 server:mysql static.98.17.76.1:34341 TIME_WAIT tcp 0 0 server:mysql static.98.17.76.1:51888 TIME_WAIT tcp 0 0 server:mysql static.98.17.76.1:54459 TIME_WAIT tcp 0 0 server:mysql static.98.17.76.1:49599 TIME_WAIT tcp 0 0 server:mysql static.98.17.76.1:50751 TIME_WAIT tcp 0 0 server:mysql static.98.17.76.1:50731 TIME_WAIT tcp 0 0 server:mysql static.98.17.76.1:54658 TIME_WAIT tcp […]

如何在linux内核中设置nagle timeout?

我们知道Nagle的algorithm 。 不知道如何改变默认的200ms超时。 有没有在Linux的方式来设置此设置?

如何将networking软件包转发到Mikrotik的界面?

我想转发所有的TCP数据包到一个接口(一个专用的Internet连接只用于下载)和所有的UDP数据包到另一个(一个专用的互联网连接只为stream和电子游戏)。 我怎样才能做到这一点? 我的路由器是Mikrotik RB750。

Linux服务器有时不会回答TCP连接或者延迟

我有Linux服务器(Ubuntu 16.04),其中每个服务器似乎都很好,除了它有时候非常慢地(例如,10-20秒)回答TCP连接或根本不回答。 服务器没有负载,这发生在所有的TCP服务(HTTP,SMTP,VOIP)上。 大多数连接的回答都很快,而且在发生这种减速的时候,似乎是随机的。 我的猜测是,这是在networking堆栈。 任何想法如何debugging呢? 我做了2个TCP转储。 不工作: 15:10:07.281993 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0 15:10:10.281742 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0 15:10:16.282033 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss […]

本地端口50721上使用tcp https协议的svchost.exe?

我注意到从一台特定的计算机上运行在我的networking上的大量系统进程,并且正在发送TCP https数据包。 以下是我注意到的几个IP。 这是正常的吗? 乌克兰的地址跟踪他们ip地址查找时没有回来的结果 我被告知来这里发帖,因为这是这个问题所属的地方? 我被告知我的电脑感染了病毒,现在断开连接,尽pipe这台电脑已经在networking上很长一段时间了。 用户报告说游戏中的冲突造成骚扰,并且遇到问题并受到威胁。 自从看到这台受感染的计算机,我把它从networking上取下来,用一个全新的Windows 10使用Rufus和一个来自微软下载页面的ISO副本来清除它,然后安装卡巴斯基开始更新机器。 这些截图张贴大约1小时左右的正常运行时间。 显然我的安全措施还不够强大我想也许路由器被感染或networking上的另一台计算机,所以它会自动感染这个有针对性的PC一旦上线?

TCP活动连接重新启动后5分钟TCP TSVal重置

我们正在与位于思科ASA防火墙后面的中央服务器交谈的RHEL7盒子上遇到问题。 这些机器启动并启动代理,该代理build立并保持与中央服务器的连接。 然后中央服务器周期性地将stream量发送到客户端。 在5分钟的时间里,我们看到代理断开连接,并且无法通过连接发送stream量,除非我们重新启动连接,在此之后它工作正常。 进一步的研究表明,这不仅仅是这个应用程序/代理,实际上我们可以用“nc”来复制它,而不会失败。 我们做了数据包捕获,发现在5分钟的时间内,ASA丢弃了从客户端服务器发送的ACK数据包。 中央服务器将看不到数据包,并继续尝试重新传输。 客户端将得到重发,发送一个ACK,ASA会放弃它 – 冲洗/重复。 在调查捕获时,我们发现在5分钟的时间内,客户端服务器将ACK数据包上的TSVal重置为某个较低的数字。 您可以在下面的数据包捕获中看到数据包101,客户端发送一个TSVal为4294962488的ACK。然后服务器推送更多的数据(数据包102),但是在数据包103上,客户端现在用TSVal设置为196。 No. Time Timestamp Source Destination Protocol Length Info 96 2017-07-11 15:16:04.717785 22:16:04.717785 10.158.35.162 10.153.195.227 TCP 101 4506 → 38208 [PSH, ACK] Seq=3089107029 Ack=2031069343 Win=29056 Len=35 TSval=1400815609 TSecr=4294947477 97 2017-07-11 15:16:04.717802 22:16:04.717802 10.153.195.227 10.158.35.162 TCP 66 38208 → 4506 [ACK] Seq=2031069343 Ack=3089107064 Win=29312 Len=0 […]

无法连接到exim4 SMTP服务器

我有问题,我不能连接到我的家庭networking的exim4 SMTP服务器: $ telnet -4 example.com 25 Trying 1.2.3.4… telnet: connect to address 1.2.3.4: Connection refused telnet: Unable to connect to remote host 服务器上的netstat告诉我,exim4正在侦听端口25,包括IPv4和IPv6。 我在我的服务器上启动tcpdump来检查请求是否到达服务器,它什么也没有显示。 我感到困惑,并作为最后一个testing,删除所有这些iptables规则。 不过,我得到了连接被拒绝的错误。 Wireshark告诉我,服务器响应我的telnet请求与RST / ACK,这意味着该端口被closures。 但是,如果我从家庭networking的任何地方连接到服务器,它的工作没有问题。 我检查了请求离开我的本地网关,它确实。 所以现在我没有想法了。 什么可能导致这个要求被拒绝? 由于tcpdump没有显示任何内容,我得到一个RST / ACK,它必须在一个非常低的水平,但我无法想象超越iptables可以阻止传入的请求 – 尤其是因为这似乎只发生在我家的IP包。