Questions tagged «tcp»

TCP代表传输控制协议,并且是Internet协议套件的核心协议之一。TCP是Internet协议(IP)的补充,因此整个套件通常称为TCP / IP。

2
最新版本的Linux中更高的TCP延迟
在我的研究小组中,我们最近将机器上的操作系统从Red Hat 6.2升级到Debian 8.3,并观察到机器之间通过集成的Intel 1G NIC进行的TCP往返时间从大约110µs翻了一番,达到了220µs。 最初,我认为这是一个配置问题,因此我将所有sysctl配置(例如tcp_low_latency=1)从未升级的Red Hat计算机复制到了Debian计算机,但这并不能解决问题。接下来,我认为这可能是Linux发行问题,并在计算机上安装了Red Hat 7.2,但是往返时间保持在220µs左右。 最后,我发现问题可能出在Linux内核版本上,因为Debian 8.3和Red Hat 7.2都使用了内核3.x,而Red Hat 6.2使用了内核2.6。因此,要进行测试,我安装了带有Linux内核2.6和Bingo的Debian 6.0!时间再次很快达到110µs。 其他人是否在最新版本的Linux中也经历了这些更高的延迟,是否有已知的解决方法? 最低工作实例 下面是一个可用于基准测试延迟的C ++应用程序。它通过发送一条消息,等待响应,然后发送下一条消息来测量延迟。它对100字节的消息执行100,000次。因此,我们可以将客户端的执行时间除以100,000,以获得往返延迟。要使用此方法首先编译程序: g++ -o socketpingpong -O3 -std=c++0x Server.cpp 接下来,在主机上运行应用程序的服务器端版本(例如192.168.0.101)。我们指定IP以确保我们托管在众所周知的接口上。 socketpingpong 192.168.0.101 然后使用Unix实用程序time测量客户端的执行时间。 time socketpingpong 192.168.0.101 client 在具有相同硬件的两台Debian 8.3主机之间运行该实验可获得以下结果。 real 0m22.743s user 0m0.124s sys 0m1.992s Debian 6.0的结果是 real 0m11.448s user 0m0.716s sys …

2
Squid可以用作“ TLS终止代理”来使用客户端证书加密TCP连接吗?
抽象 我需要从多个客户端到Internet上单个端口的加密TCP连接。鱿鱼可以实现吗? 具体情况 我们在公司中使用监视和客户端管理解决方案,该解决方案可通过LAN和VPN访问。现在应该可以从不使用公司VPN的外部笔记本上访问它。通信必须是加密的(TLS)。客户端身份验证必须使用客户端证书。通信由客户端启动,并使用单个TCP端口。 我的调查结果 NGINX Plus似乎提供了此功能,但我们的管理员更喜欢乌贼或apache。在鱿鱼Wiki上,我发现:功能:HTTPS(HTTP安全或SSL / TLS上的HTTP)提到了TCP加密。但是我也发现了这个警告: 重要的是要注意,通过CONNECT传递的协议不仅限于Squid通常处理的协议。实际上,使用双向TCP连接的所有内容都可以通过CONNECT隧道传递。这就是为什么Squid默认ACL以deny CONNECT!SSL_Ports开头的原因,并且您必须有充分的理由在其上方放置任何类型的允许规则。 类似问题 这个问题使用SSL加密与鱿鱼正向代理的客户端连接是类似的,但是不处理反向代理/ TLS终止代理。 我需要知道的 我对该技术只有基本知识,我们的管理员要求我提供一般可行性。 Squid可以用于保存TCP连接的加密吗? 可以使用客户端证书的身份验证来实现吗? 还是应该仅将其用于HTTPS连接?

1
窗口缩小
我运行了一个主要的媒体上传/下载网站,我注意到了这些: 这是由于文件大而引起的严重噪音还是背景噪音?我可以对/etc/sysctl.conf进行任何调整以改善和预防问题吗? [8822139.804040] TCP: Peer 177.47.116.196:53829/80 unexpectedly shrunk window 2513116350:2513136117 (repaired) [8822140.944041] TCP: Peer 177.47.116.196:53829/80 unexpectedly shrunk window 2513116350:2513136117 (repaired) [8822143.224052] TCP: Peer 177.47.116.196:53829/80 unexpectedly shrunk window 2513116350:2513136117 (repaired) [8822147.776079] TCP: Peer 177.47.116.196:53829/80 unexpectedly shrunk window 2513116350:2513136117 (repaired) [8822156.896049] TCP: Peer 177.47.116.196:53829/80 unexpectedly shrunk window 2513116350:2513136117 (repaired) [8822175.136049] TCP: Peer …

2
清漆用尽开放端口,大量SYN_SENT连接
最近,我们的Varnish(3x)-> Apache(3x)设置遇到了问题,导致SYN_SENT连接数量激增。 高峰本身是由于到达站点的新流量(不是任何类型的DDOS)造成的,并且似乎我们的Varnish机器在将流量转发到后端服务器时遇到问题(Apache流量下降与清漆的峰值相关),从而使可用端口池拥塞SYN_SENT。 在Apache(15s)上启用了保持活动状态。 故障在哪一边?流量很大,但绝不会导致此类设置(3台Varnish前端计算机,3台后端Apache服务器)停顿。 请帮忙。 通过防火墙的Munin屏幕截图在这里。 漆 ~$ netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c 9 CLOSE_WAIT 12 CLOSING 718 ESTABLISHED 39 FIN_WAIT1 1714 FIN_WAIT2 76 LAST_ACK 12 LISTEN 256 SYN_RECV 6124 TIME_WAIT /etc/sysctl.conf(消失) net.ipv4.netfilter.ip_conntrack_max = 262144 net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60 net.ipv4.ip_local_port_range = 1024 65536 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 …

1
HTTP,TCP,UDP和无连接
最近我对HTTP有点困惑。 据我了解,TCP可以运行面向连接或无连接的一些事实。虽然TCP是面向连接的,而UDP是无连接的,但当消息本身可以放入一条消息时,将使用UDP。 题: 如果HTTP使用TCP,并且TCP为多个消息交换提供可靠的连接,而HTTP被称为无连接,那么这怎么可能呢? TCP是面向连接的吗?那么HTTP如何无连接呢?
8 http  tcp  tcpip  udp 


5
用TCP / IP术语来说,办公室中的下载速度限制器如何工作?
假设有一个办公室,他们希望将HTTP下载限制为互联网连接速度的最大40%带宽,以免阻止其他流量。 我们说“您的防火墙不支持它”,并且他们说不可避免的话“我们过去能够通过Netgear / DLink / DrayTek做到这一点”。 考虑一下,下载是这样的: HTTP GET request Server sends file data as TCP packets Client acknowledges receipt of TCP packets Repeat until download finished. 速度取决于服务器向您发送数据的速度以及您确认数据的速度。 因此,要限制下载速度,您有两种选择: 1)指示服务器更慢地向您发送数据-我认为没有任何协议功能可以在TCP或HTTP中请求它。 2)通过限制您的上传速度来更慢地确认数据包,并且还会破坏您的上传速度。 设备如何进行此限制?有没有标准的方法?
8 networking  tcp 

1
如何利用内核2.6.33中的IW10?
我读过2.6.33+允许设置自定义cwnd。 如果默认情况下IW为10(对于所有发行版,仅某些发行版?) 如何看待特定编译内核上的当前IW? 参考资料: http://monolight.cc/2010/12/increasing-tcp-initial-congestion-window/ http://www.igvita.com/2011/10/20/faster-web-vs-tcp-slow-start/
8 linux  http  tcp  kernel 

2
修复Linux TCP的窗口缩放问题
我正在尝试提高我的一台服务器在国外的吞吐量,并在使用Wireshark监视服务器与家用计算机之间的传输之后,我确定我的窗口大小有问题。 对于ftp传输,接收窗口大小为14720。 Window size value: 115 Calculated window size: 14720 Window size scaling factor: 128 我的发送窗口看起来像我设置为: Window size value: 65335 Calculated window size: 261340 Window size scaling factor: 4 那我该如何修复窗口呢?我已经检查了服务器上的linux tcp设置,一切似乎都很正常。时间戳打开,syncookie关闭,缩放打开,麻袋打开,三次是拥塞控制方法,最大接收和发送窗口大小为3mb。我尝试更改默认的tcp_wmem和tcp_rmem值,但是它什么也没做。 编辑: 当我关闭服务器上的自动调整和/或窗口缩放时,窗口缩小到14600,这基本上是MSS的10倍。 5337 4.268584 2.2.2.2 1.1.1.1 FTP 106 Response: 227 Entering Passive Mode (2,2,2,2,240,15). 5338 4.268640 1.1.1.1 2.2.2.2 TCP …

5
在“高延迟网络”上具有更好的TCP性能
我正在尝试通过Linux机器之间的“高延迟网络”改善TCP吞吐量。 我设置tcp_mem,tcp_wmem并tcp_rmem以“8192 7061504 7061504”。 我设置rmem_max,wmem_max,rmem_default并wmem_default为“7061504”。 我将netdev_max_backlog和设置txqueuelen为10000。 我将其设置tcp_congestion_control为“可缩放”。 我正在使用“ nist”(cnistnet)来模拟100ms的延迟,而我达到的带宽约为200mbps(无延迟时,我达到790mbps)。 我正在使用iperf进行测试,并使用TCPTrace分析结果,这就是我得到的: 在接收方: 最大获胜副词:5294720字节 平均获胜副词:5273959字节 发送的麻袋数:0 在发送方: 实际数据字节:3085179704 rexmt数据字节:9018144 最大值:5294577字节 平均值:3317125字节 RTT最小值:19.2 ms RTT最大值:218.2 ms RTT平均值:98.0 ms 为什么我只能达到200mbps?我怀疑“ owin”与它有关,但是我不确定(这些结果是2分钟的测试。1分钟的测试中的“平均”是1552900)… 我是否期望即使延迟为100ms,吞吐量也将接近790mbps? (我尝试在窗口配置中使用更大的数字,但似乎没有效果)

3
我可以使TCP / IP会话运行少于60秒吗?
我们的服务器上TCP / IP会话超载,我们有1200-1500个会话。他们大多数人都挂在TIME_OUT状态。事实证明,处于TIME_OUT状态的连接会占用一个套接字,直到60秒超时为止。 问题在于服务器变得无响应,并且许多客户端没有得到服务。 我做了一个简单的测试:使用Internet Explorer 8.0从服务器下载XML文件。下载完成仅需不到一秒钟的时间。但是然后我看到TCP / IP连接在TIME_OUT状态下挂了60秒。 有什么方法可以摆脱TIME_OUT等待,或者减少释放套接字以进行新连接的时间? 我知道为什么TCP / IP连接进入TIME_OUT状态,但是我不明白为什么XML文件下载结束后Internet Explorer无法关闭连接。 细节。 我们的服务器运行以Perl(mod-perl)编写的Web服务。该服务向客户提供天气数据。客户端是Flash应用程序(实际上是Windows应用程序中嵌入的Flash ActiveX控件)。 操作系统:Ubuntu Apache“ Keep Alive”选项设置为0

1
如何在Windows 2008 Server中增加最大连接积压限制
我有Windows 2008 Server。它的最大连接积压限制(TCP)是200。是否有任何方法可以将此限制增加到更高的值(例如1000或2000)? 在本文中,您将在此注册表项下找到要更改的参数说明: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ AFD \ Parameters 相对值应为: EnableDynamicBacklog(DWORD) MinimumDynamicBacklog(DWORD) MaximumDynamicBacklog(DWORD) DynamicBacklogGrowthDelta(DWORD) 我尝试使用不同的值集,例如 EnableDynamicBacklog = 1 MinimumDynamicBacklog = 250 MaximumDynamicBacklog = 20000 DynamicBacklogGrowthDelta = 100 和 EnableDynamicBacklog = 1 MinimumDynamicBacklog = 20 MaximumDynamicBacklog = 1000 DynamicBacklogGrowthDelta = 10 但是无论我做什么,我仍然只能积压200个连接。(是的,我在配置更改之间重新引导了服务器。) 有任何想法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.