Articles of tcp

与一个简单的路由器共享一个IP地址

我们刚刚进入一个新的办公室,并以下列forms给予我们的“互联网连接”: 一个以太网电缆在房间的angular落 子网掩码为255.255.255.0的IP地址 我们有几台电脑,想要build立一个简单的局域网,都可以上网。 鉴于我们的“wan”电缆是RJ45以太网电缆,是否可以使用普通的家庭路由器,并将所有计算机与“internet”电缆一起插入路由器的交换机端口? 交换机需要在与我们分配的IP不同的子网上有机器,因为我们只被授予一个IP地址。 我们必须以某种方式使用NAT来立即让所有人上网。 一个普通的路由器能处理这个吗

为什么是三方握手而不是更多?

TCP使用3路握手机制。 我明白它是如何工作的很好,但我想知道为什么它不是4,甚至5路? 是因为这是太多的开销,不需要?

在一个自写的tcp服务器上使用哪个端口

我即将为我公司正在开发的一个项目编写tcp-server。 服务器将使用多个端口来执行不同的任务。 在开发过程中,我们只使用我们喜欢的一些端口号: 1400, 1500, 1600-1650 。 我们可以在生产服务器上使用这个端口吗? 还是有一些安全和/或兼容性问题,我们必须考虑?

我应该使用TCP还是UDP来运行Web服务器

我刚刚在我的电脑上安装了Apache Web服务器。 我设法在本地使用它(我可以使用我的networking浏览器从我的电脑打开index.php)。 但是我想让我的网站公开。 我发现,因为我需要打开端口80.我开始这样做,现在我必须指定我需要应用这些规则(TCP或UDP)的协议。 任何人,请求帮助我吗?

如何计算来自二进制TCPDUMP文件的丢包

我们通过互联网连接到端口80上的一台远程服务器无法正常工作。 (不时有它工作,有时不) 这肯定是某种丢包,因为从其他客户端没有问题。 这只是从一个客户端到远程服务器。 通常,我用ping消息丢包,但是远程服务器阻塞ICMP。 我做了一个二进制TCPDUMP文件。 我怎样才能看到是否有包丢失? 捕获是在客户端完成的。 我们没有ssh访问远程服务器。

如何检查当前打开了多less个HTTP连接?

我想知道有多less人连接到我的服务器。 因为我正在做彗星应用,所以这很重要

距离服务器距离页面加载速度的影响

我测量了从我的服务器(使用pingdom服务)由nginx切断的静态图像文件的加载速度。 服务器通常应该在几秒钟内处理这个请求。 我的服务器位于达拉斯,TX。 当我使用pingdom达拉斯服务器时,需要200ms来加载文件。 这包括DNSparsing和数据传输。 很显然,如果转移时间较长,则需要较长的时间。 但令人惊讶的是,这个数值在纽约为800ms,在阿姆斯特丹为1.5s。 从服务器到客户机的数据传输距离的作用是显而易见的,没有任何东西与我的服务器性能相关。 但是,当我查看谷歌和冰等主要网站的差异, 差距只有50%(例如美国为200ms,欧洲为300s)。 服务器到服务器的远程请求有什么需要改进吗?

如何使用linux netfilter / iptables在一定条件下立即在两端重置TCP连接?

亲爱的Serverfault社区, 我有以下问题:如果在数据包数据中遇到某个string,我需要立即重置(断开)两个networking端的tcp连接。 我没有控制双方的应用程序,只能使用Linux的iptables(或类似的工具)做连接中止。 我的第一个想法是使用下面的iptables规则来实现我正在寻找的东西: /usr/sbin/iptables -A INPUT -p tcp –dport 1234 -m string –algo bm –string 'BAD STRING' -j REJECT –reject-with tcp-reset 这在远程方面完美地工作,发送一个TCP RST数据包给客户端,因此会立即断开连接。 不幸的是,本地方不会被强制断开连接和服务器进程(连接)通知永远挂起。 我认为要求在一定条件下立即断开双方已经build立的连接(这种情况下,IP包中的string匹配)并不是非常不寻常的。 所以我做了一个谷歌search,但令我惊讶的是在合理的时间内找不到任何可用的东西。 有没有办法使用iptables实现networking两端的tcp断开连接? 如果没有,我可以使用哪些其他工具(请记住,我无法控制客户机/服务器应用程序)? 非常感谢您的宝贵答案! 最好的祝福, 延

netstat -s中的“由于意外数据导致的连接重置”是什么意思

我在多个Web服务器的负载下运行一个memcached服务器。 在调查一些奇怪的应用程序级别的行为时,我们发现memcached盒子上的netstat -s显示了很多“由于意外数据而重置的连接”。 在负载下,数值每秒上升数百次。 这是什么意思,我能做些什么呢? 示例输出: Ip: 147533037 total packets received 2 with invalid addresses 0 forwarded 0 incoming packets discarded 147533033 incoming packets delivered 154883954 requests sent out 5 outgoing packets dropped Icmp: 27 ICMP messages received 4 input ICMP message failed. ICMP input histogram: destination unreachable: 27 0 ICMP messages sent 0 ICMP […]

TCP拥塞崩溃

在连接到RDS实例的E​​C2实例上,我遇到了性能不理想的情况。 这个特定的实例是在VPC存在之前build立的,所以所有的stream量都stream经一个虚拟网卡。 stream量configuration文件保持在200mbit / s左右,并突发到演出线的全部容量5-10秒,这是所有入站MYSQLstream量(突发)。 相比之下,HTTP前端stream量相当轻。 直到最近,爆发导致TCP拥塞崩溃。 我相信已经解决了,但是我相信还有很多调整的机会。 我很乐意投入工作,但我希望有一个具有良好的networking/塑造知识的人将指向我接下来的目标。 这是我迄今为止所做的: 我改变了TCP拥塞和接收窗口是10(从3 – Linux服务器) 我用静态路由做了这个: ip route show 10.xxx/26 dev eth0 proto kernel scope link src 10.xxx 169.xxx/16 dev eth0 scope link metric 1002 default via 10.xxx dev eth0 initcwnd 10 initrwnd 10 这似乎可能缓解了最严重的TCP拥塞崩溃。 我也优先使用tc MYSQLstream量出站: tc qdisc add dev eth0 root handle 1: prio tc […]