Articles of tcp

TCP下的OpenVPN是非常缓慢(TSG附加)

我有OpenVPN的一个非常奇怪的问题。 大多数VPN工作正常,除了这一个。 在这里,我从TCP连接性能非常低,但CPU负载很低(所以,不是CPU问题)。 OpenVPNconfiguration了UDP,AES-256-CBC密码,SHA256authentication和不压缩。 这里是我用iperf做的一些测量: 没有VPN的networking连接: iperf -c external.ip result:300 – 500mbps (good) iperf -c vpn.int.ip result: 20-30mbps (not good) 两端的CPU使用率很低。 好的,也许一些ISP形状或过滤UDP数据包。 iperf -c external.ip -b 500M result: no packet loss 嗯…如果我强迫UDPstream槽VPN iperf -c vpn.int.ip -b 100M result: no packet loss iperf -c vpn.int.ip -b 180M result: packet loss ~0.1% 所以,根据UDP的结果,我的VPN连接应该达到180mbps,但是不会。 我也用tcptrace得到很奇怪的图。 这是好的testing(不使用VPN,使用外部IP)的方式: 如您所见,发送的数据包保持在黄线附近,这意味着接收窗口几乎保持满。 这部分graphics接近连接的开始,稍后,发送的数据包实际上位于黄线之上。 […]

SYN洪水仍然是一个威胁?

那么最近我一直在阅读有关不同的拒绝服务方法。 一种突出的方法是SYN泛滥。 我是一些不那么好的论坛的成员,有人卖了一个python脚本,它会使用带有伪造IP地址的SYN数据包来拒绝服务器。 但是,如果您向服务器发送了一个SYN数据包(具有欺骗IP地址),则目标服务器会将SYN / ACK数据包返回给被欺骗的主机。 在这种情况下,欺骗主机是不是会返回一个RST数据包,从而否定了75秒的等待,并最终尝试拒绝服务器? 编辑:而如果我不使用SYN Cookie?

Linux中“Treason Uncloaked”的含义是什么?

在Linux的Apache服务器上,有时会有消息说TCP: Treason uncloaked! 。 ServerFault上有以前的问题,解释了这个问题的修复。 但是,有没有人知道这个错误信息的含义? 为什么错误匹配的TCP消息会引起这样一个不明确的错误消息? 这个消息是否有一些背后的历史?

如何优化HTTP服务器的TCP堆栈?

我有一个只服务于两种页面的HTTP服务器:大约10 KB和大约16 KB(都是压缩的,其他文件来自CDN)。 由于延迟非常高( ping时间超过300毫秒),我想优化TCP堆栈,以便客户端尽快收到整个页面。 因此,我有一个双重的问题: 我必须更改哪个参数(TCP窗口的哪个值)? 如何更改(Debian框和FYI,在HTTP服务器之前有一个清漆)。

奇怪的TCP终止序列

在排除其他问题的同时,我注意到TCPclosures了一个奇怪的模式。 数据包: http : //www.cloudshark.org/captures/7590ec4e6bef 发生什么事是因为一些奇怪的原因,closures序列的最后几个数据包被重新传输。 这个模式是在云端链接,但为了后代这里是一个总结: 来源 – >同步 Dest – > Ack 来源 – > SynAck 数据 数据 源代码 – > Fin / Ack Dest – > Psh / Ack(6) Dest – > Fin / Ack 来源 – > Ack(7) 来源 – >确认(8) [在这一点上,连接应该closures在双方。 但事实并非如此。] [+ 200ms] Dest – > Fin / Ack […]

使用TCP转发Windows日志事件

我正在寻找一种方法来安全地集中所有的Windows和Linux日志在一个位置。 由于我处于Linux和Windows的混合环境,所以我开始在Linux上使用Syslog-ng,在Windows上使用Snare,所有这些都指向Linux上的syslog-ng。 玩这个系统的时候,我意识到任何networking故障都会导致Windows事件丢失(Snare只使用udp和syslog),所以我尝试了WinAgents,结果相同 我尝试切换到一个Kiwi系统日志服务器,在WinAgents上尝试了Syslog和SNMP协议,结果相同。 由于Kiwi和Syslog-ng都可以侦听TCP端口,因此应该有一些使用tcp的Windows系统日志客户端,对不对? 有没有人有这样的客户经验? 非常感谢 编辑:我一直在尝试Centreon E2S,它支持UDP和TCP,但似乎没有重新发送信息,当networking故障

socat:显示传入的连接

我有点生气。 即使我这样称呼社会: socat -vvvv tcp4-listen:9000 tcp4-listen:9001 它完美的工作,但不通知我传入的TCP连接! 是否有一个额外的详细选项,使socat显示这些信息,像 Connection from XYZ 不能是这样一个特殊的function,还是可以的?

TCP:太多的孤儿套接字是什么意思?

当我使用dmesg来查看Linux内核消息时,我看到了大量的…. TCP:太多的孤立的套接字 消息。 我的猜测是,这是在closures之后在TIME_WAIT中等待清除的套接字。 我很想知道这是否会影响在这些服务器上运行的服务。

(为什么)FreeBSD的“net.inet.tcp.always_keepalive”违反RFC1122?

在使用运行在FreeBSD上的服务器应用程序并使用TCP时,我注意到即使我的应用程序显式禁用TCP套接字上的SO_KEEPALIVE,TCP保持活动探测也会被发送。 根据RFC1122第4.2.3.6节 (TCP Keep-Alives): “如果包含keepalive,应用程序必须能够打开或closures每个TCP连接,并且它们必须默认closures。” 我发现可调参数net.inet.tcp.always_keepalive已被启用(设置为1),禁用它将阻止keepalive探测发送。 在FreeBSD中包含这个行为的原因是什么? 据我所知,Linux和Windows没有这样的select,但是FreeBSD和Mac OS X都这样做,所以他们违反了RFC。 更具体地说,在什么情况下忽略申请的意愿是有意义的? 在我的情况下,这是一个简单的解决方法,因为我可以禁用该选项,但我想了解为什么它在那里。 这个问题表明Linux根据RFC运行。

如何使用10Gb光纤连接微调Linux上的TCP性能

我们有2台专门为客户测速的红帽服务器。 他们都使用10Gb光纤连接,并坐在10Gb链路上。 这些服务器之间的所有networking设备完全支持10Gb / s。 使用Iperf或Iperf3,我可以得到的最好是在6.67Gb / s左右。 这就是说,一台服务器正在生产(客户正在打它),另一台服务器在线,但没有被使用。 (我们正在使用它来testingatm)6.67Gb / s也是一种方法,我应该提到。 我们将调用这些服务器A和服务器B. 当服务器A充当iperf服务器时,我们获得了6.67Gb / s的速度。 当服务器A作为服务器B的客户端时,它只能推送约20Mb / s。 我做了什么: 到目前为止,我所做的唯一的事情是将两台服务器上的TX / RX缓冲区增加到最大值。 一个被设置为512,另一个453.(仅RX,TX已经被刷新了)所以在更新之后, Server A: Ring parameters for em1: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 […]