Articles of tcp

TCP重传tcp会话重构

我试图编写一个程序,重buildTCP会话。 我有一个pcap文件有数据包。 问题是我不知道哪些数据包,我应该用来构build会议时,有一个重发。 http://img412.imageshack.us/img412/4655/retransmission.png 这是什么wireshark显示关于这个会议。 我应该使用哪个数据包来重build会话? 首先数据包还是重新传输的数据包? 他们哪些有有效的数据? 我couldntfind一种方法来附加pcap文件,如果你想我可以上传pcap文件到某个地方。 对不起,我不能张贴图像到这里,因为我没有足够的声誉。

集群TCP服务器,所以可以发送数据到所有的客户端

我正在开发一个实时的移动应用程序,在应用程序和服务器后端之间build立一个TCP连接。 每个用户可以发送消息给所有其他用户。 (我使用Twisted在Python中创buildTCP服务器,为应用程序/后端之间的通信创build自己的“协议”并将其托pipe在Amazon Web Services上 。) 目前我正在试图使后端可扩展(和可靠)。 据我所知,系统可以通过升级到更大的服务器(可能会变得非常有限),或者通过在集群configuration中添加新的服务器来处理更多的用户 – 即有多个服务器位于负载均衡器之后, 1数据库,他们都访问。 我已经勾勒出这个粗糙的架构: 但是,如果Red用户向所有其他连接的用户发送消息呢? Red的服务器与Red有TCP连接,但是没有与Green连接。 我可以想办法解决这个问题: 每台服务器可以有一个开放的TCP(或SSL)连接与其他服务器。 当一个服务器想要发送一条消息给所有的用户时,它只是把它传递给其他服务器。 一个logging可以保存在哪个服务器在线的数据库中(和他们的IP地址),其中一个服务器可以是一个老板 – 即决定是否其他人正在运行,如果不是,可以从数据库中删除它们(如果一台服务器上了,失去了与老板的连接,它可以检查数据库,看看是否已经被删除,如果有的话,重新启动 – 否则可以认为老板已经closures了。 显然这需要改进,但显示了一般原则。 或者,我不确定这是否可能( – 绝对看起来像我的一厢情愿的想法): 也许用户可以连接到一个盒子或路由器,所有的服务器可以通过它的所有用户信息? 如果您知道如何有效地对TCP服务器进行群集,或提供解决scheme的devise模式,或者有任何意见,那么我将非常感激。 谢谢 :-)

是重发的SYN * EXACTLY *和原来的一样吗?

如果我有一个客户端试图连接到一个TCP服务器,并且客户端发送了几次重新尝试build立连接,那么它会发送什么不同的SYN? 如果服务器在第三个数据包上发生了SYN-ACK,客户端是否有任何指示应答的是SYN数据包的哪个副本? 我已经被厂商告知,如果一台设备在重新传输了原始数据包之后收到SYN-ACK,那么我们所拥有的设备将中止连接尝试,这对我来说听起来是不可能的。 这个同样的人也被告知是一个重发的数据包将有一个不同的源端口,所以我对他告诉我的任何事情都有很低的信心!

如何减less等待连接的次数

我在Linux上运行彗星服务器(Debian)。 所有连接都由nginx代理。 而我的time_wait /build立的速度太大(50k / 15k),虽然我设置了reuse_connections。 我想在time_wait状态下减less这些大量不需要的连接。 这是我的sysctl.conf规则: net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_keepalive_time = 60 net.ipv4.tcp_fin_timeout = 3 net.ipv4.tcp_max_tw_buckets = 360000 net.ipv4.tcp_keepalive_probes=3 你能告诉我一些关于如何减lesstime_waits的线索吗?

为什么Nexenta似乎忽略我的/ etc / system设置?

我试图调整我的NFS性能,但由于某种原因,nexenta无视我在/ etc / system中指定的任何内容。 在下面的屏幕截图显然,我的手动设置没有被拿起,为什么? 我知道web gui确实给了我指定tcp_recv_hiwat和tcp_xmit_hiwat的选项,但其他variables呢?

如何利用netstat信息

我们在名为“R2DUO”的2008R2机器上安装了名为“Seamer”的应用程序,在主机文件中IP地址设置为192.61.247.37,而172.26.127.40是以太网卡的IP地址。我们在局域网中有两个系统,称为R2TMBER, R2LEAF。 一个function应该实现时,与端口5009连接。截至目前,function没有达到,当我检查netstat -a我可以看到这些条目, TCP 0.0.0.0:5009 R2DUO:0 LISTENING TCP 127.0.0.1:445 R2DUO:64181 ESTABLISHED TCP 127.0.0.1:5009 R2DUO:49519 ESTABLISHED TCP 127.0.0.1:49156 R2DUO:5009 TIME_WAIT around 50 entries are there now TCP 127.0.0.1:49519 R2DUO:5009 ESTABLISHED TCP 127.0.0.1:64181 R2DUO:microsoft-ds ESTABLISHED TCP 127.0.0.1:65190 R2DUO:5009 TIME_WAIT again 50 entries are there TCP 172.26.127.42:5009 R2DUO:64445 ESTABLISHED TCP 172.26.127.42:64445 R2DUO:5009 ESTABLISHED TCP 192.61.247.37:5009 R2TMBER:50334 ESTABLISHED […]

TCP握手确定,那么客户端没有收到来自服务器的任何数据包

拓扑:客户端—–中间设备—–服务器 客户端:win7 中间设备:未知 服务器:CentOS 5.8 客户端和服务器尝试build立SSL连接时会发生此问题。 它发生在一个特定的端口,2000年。我还没有能够复制与其他端口号的问题。 我捕获客户端和服务器上的数据包。 在TCP握手之后,从客户的angular度来看,它没有收到先前发送的数据包的ACK,所以它不断的重新发送它们。 然而,在服务器端,它确实收到了这些数据包并发送了ACK数据包。 奇怪的是,在服务器发送这些ACK之后,从中间设备收到它发送的每个数据包的[RST,ACK]数据包。 可能是什么原因?

IPv6连接B到A工作,A到B发生故障,B的SYN-ACK接收ICMP目标不可达

我正在testingIPv6。 A是具有原生IPv6的Cogent colo中的服务器,将其称为2001:db8:1111 :: 1。 B是位于ISP Comcast后面的Airport Extreme路由器的Mac mini; 路由器设置为使用anycast 6to4,B可以说是2002:c000:202 :: 2。 在B, ssh 2001:db8:1111::1工作得很好。 在A, ssh 2002:c000:202::2次。 (对于任何其他的TCP连接都是一样的)在B上运行tcpdump -nnvvvSs0 ,可以看到A的SYN包到达B,但是从B回到A的SYN-ACK包被告知“目的不可达,不可达” : 12:16:42.266203 IP6 (hlim 51, next-header TCP (6) payload length: 40) 2001:db8:1111::1.43263 > 2002:c000:201::2.22: Flags [S], cksum 0x6c79 (correct), seq 102729844, win 5760, options [mss 1440,sackOK,TS val 749393277 ecr 0,nop,wscale 7], length 0 […]

保护TCPstream

我们在客户端有设备连接到我们服务器上的进程,并提供多个TCP数据stream。 我们目前使用VPN来获得安全性,并且能够连接到运行embedded式Linux的设备来pipe理它们。 我们希望探索其他更lessconfiguration密集的方式来连接它们。 SSH是一个很好的select? 有其他人吗? 有没有办法设置启用SSL连接,如pop,imap和smtp? 还有其他的select吗? 谢谢。

从ip-stealing保护软件默认网关

我们有一个由以下内容组成的公司networking: 因特网电缆(墙)< – >(ext接口(DHCP))(Windows Server 2008,启用TMG的Internet网关)(int interface(静态192.168.0.1)< – >具有基于Windows的DHCP服务器的内部以太网networking,DNS等等 我有一个时髦的笔记本电脑正在由一个在办公室有一个静态IP的人带来的一样,我们的网关(192.168.0.1)设置在它的以太网适配器,这会导致我们的服务器与通信有问题networking的其余部分。 如果是MacOS或Linux,我听说他们出于某种原因可以“窃取”IP,即使已经存在于networking中。 这是真的吗?我怎样才能保护我们的服务器免受“外部人员使用相同的IP”?