Articles of tcp

在300Mbit(14%)的极端UDP数据包丢失,但TCP> 800Mbit w / o重新传输

我有一个我用作iperf3客户端的linux系统,testing了2个与Broadcom BCM5721,1Gb适配器(2个端口,但只有1个用于testing)相同的Windows 2012 R2服务器盒。 所有机器都通过一个1Gb交换机连接。 在例如300MbittestingUDP iperf3 -uZVc 192.168.30.161 -b300m -t5 –get-server-output -l8192 导致所有数据包丢失的14%(对于硬件完全相同的其他服务器机箱,但较旧的NIC驱动程序,损失大约为2%),但即使在50Mbit的时候也会出现丢失,尽pipe不太严重。 使用等效设置的TCP性能: iperf3 -ZVc 192.168.30.161 -t5 –get-server-output -l8192 产生800Mbit以北的传输速度,没有报告重传。 服务器始终使用以下选项启动: iperf3 -sB192.168.30.161 谁应该责怪? 在Linux客户端框(硬件?驱动程序?设置?)? 编辑:我刚刚从一个Windows服务器框到另一个testing,在300Mbit的UDP数据包丢失更高,在22% Windows服务器盒(硬件?驱动程序?设置?)? 连接所有testing机器的(单个)开关? 电缆? 编辑: 现在我尝试了另一个方向:Windows – > Linux。 结果:数据包丢失始终为0 ,吞吐量最大值为零 840Mbit为-l8192 ,即分段的IP数据包 250Mbit为-l1472 ,未分片的IP数据包 我想stream量控制上限吞吐量,并防止数据包丢失。 特别是后者,没有碎片的数字远远没有达到TCP吞吐量(不分片的TCP产生与碎片化的TCP类似的数字),但是在数据包丢失方面,它比Linux – > Windows有了无限的巨大改进。 以及如何找出? 我确实按照服务器上的驱动程序设置的通常build议来最大限度地提高性能,并尝试启用/禁用/最大化/最小化/更改 中断审核 stream量控制 接收缓冲区 RSS networking唤醒 所有卸载function都已启用。 […]

许多丢弃我的网卡的数据包

我有一台服务器在CentOS 5.3上运行(一个彗星聊天服务器,将有很多的TCP连接)。 最近我发现它很慢(http服务和SSH),所以我使用“ifconfig”命令来弄清楚发生了什么事情。 eth0 Link encap:Ethernet HWaddr 00:1C:C0:B5:D5:EA inet addr:10.0.0.61 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::21c:c0ff:feb5:d5ea/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:871861 errors:0 dropped:489662344145 overruns:0 frame:0 TX packets:639044 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:207239658 (197.6 MiB) TX bytes:169416201 (161.5 MiB) Interrupt:225 Base address:0x6000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 […]

确定当前打开的TCP连接何时创build?

我怎样才能知道在Linux上什么时候build立了一个当前打开的TCP连接?

如何直接通过TCP公开一个UNIX域套接字

我想有一个UNIX域套接字,例如说/var/program/program.cmd,通过TCP公开,可以说在端口12345.我也想这是全职在后台运行。 什么是最好的方法来做到这一点? 如果其相关的系统运行Ubuntu 12.04.2。 此外,提出的解决scheme,它将存活的域套接字被删除和重新创build? 编辑 以下是以脚本forms接受的答案的结果: https : //github.com/Wirehive/haproxy-remote

模拟两个Ubuntu服务器机器之间的慢速连接

我想模拟下面的情况:考虑到我有4个Ubuntu的服务器机器A,B,C和D.我想在机器A和机器C之间减less20%的networking带宽,在A和B之间减less10%使用networking模拟/节stream工具来做到这一点?

将tcp_tw_recycle / reuse重新设置为1的后果是什么?

我在我的configuration文件中将tcp_tw_recycle / reuse重新设置为1。 这样做的后果是什么? 如果一个TCP套接字被重新使用,是否构成安全风险? 即两个不同的连接都有可能发送数据? 是否适合短暂的连接与重新连接的机会?

TCP服务器中保存了多less碎片化的TCP碎片

假设给定的TCP片段被分割成两个IP数据报,并且第一个数据报到达TCP服务器,但是第二个数据报不会到达。 TCP服务器经过一段时间后发送一个Keepalive,并确定客户端是活着的。 TCP服务器接下来做什么第一个数据报? 是等待第二个数据报到达,还是丢弃第一个数据报?

请问tcpdump能看到被iptables丢弃的数据包吗?

我有一个防火墙这些简单的规则: iptables -A INPUT -p tcp -s 127.0.0.1/32 –dport 6000 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.16.20/32 –dport 6000 -j ACCEPT iptables -A INPUT -p tcp –dport 6000 -j REJECT 现在,假设我正在使用TCPDUMP : tcpdump port 6000 我有主机192.168.16.21试图连接到端口6000 。 请问/应该tcpdump输出一些来自192.168.16.21数据包?

如何在WireShark中search信息栏?

WireShark | 视窗 我想search特定地址/消息的SMTPstream量的数据包捕获。 通常情况下,我只是对信息列进行sorting,然后浏览,但是如果我可以针对特定的string运行search或筛选器,​​那就好了。 有没有办法在WireShark中做到这一点?

Linux慢启动:更改IP路由对初始窗口没有任何影响

我将我的机器中的tcp初始窗口更改为10,如下所示 [user@site etc]$ sudo ip route change default via 17.255.209.1 dev eth0 proto static initcwnd 10 并改变了tcp_slow_start_after_idle ,如下所示 [user@site etc]$ sudo sysctl -a | grep tcp_slow_start_after_idle net.ipv4.tcp_slow_start_after_idle = 0 一个IP路由显示确认如下 [user@site etc]$ ip route show default via 17.255.209.1 dev eth0 proto static initcwnd 10 169.254.0.0/16 dev eth0 scope link metric 1002 17.255.209.0/24 dev eth0 proto […]