Articles of tcp

查找传输的TCP字节数

我有rhel4和rhel6主机。 我可以使用netstat -s来查看发送/接收的段数的信息。 我可以使用ifconfig来查看给定接口上发送/接收的字节数(对于我而言,只有一个是重要的,其余的总传输less于三个数量级)。 我怎样才能find通过TCP传输的总字节数? 编辑:我没有在有问题的主机上的root访问权限。

TCP和重传

我试图了解TCP中的传输和ACK如何工作。 在这个图中,当A重新发送seq 100后,他收到三个重复ACK,B将用121 ACK或158 ACK应答?

HAProxy haproxy-1.5-dev19上的选项http-server-close将导致Connection:closures头部响应

我基本上有以下问题:每当我添加 option http-server-close 到haproxyconfiguration(在前端或后端部分),haproxy将在响应中发送一个Connection:close头部 – 这与应该做的恰恰相反。 我基本上是试图让客户端TCP连接通过保持活动,但由于这似乎并不工作,我不能有,除非我使用默认(保持活动)模式,这将为服务器 – 我不想要那个。 任何解决scheme 这是一个错误? 还是我错过了什么?

Cisco ASA 5510乱序包到Google

由于乱序,我们看到大量的数据包被丢弃。 这些数字足够大,可能会对networking性能产生影响。 我们已经把它分成了几个内部IP,并且这些连接似乎在443上触及Google的服务器。下面的Gist中显示的两台计算机都运行Chrome和环聊扩展; 就像公司里的其他人一样。 一个是Mac,一个是PC。 试图弄清楚到底发生了什么,我什么也没有做。 任何人都可以帮我解释一下这个或下一步做什么? 要点下面,用日志 : house200-fw01# sh asp drop Frame drop: No route to host (no-route) 56 Flow is denied by configured rule (acl-drop) 1459 First TCP packet not SYN (tcp-not-syn) 37 TCP failed 3 way handshake (tcp-3whs-failed) 351 TCP RST/FIN out of order (tcp-rstfin-ooo) 530 TCP packet SEQ past window […]

使用(r)syslog的dynamic文件生成

我正在将(r)syslog服务器configuration为从各种客户端接收日志的远程服务器。 我想知道是否有一个更好的方法来dynamic生成多个文件名,而不是创build一个模板的任何facility.priority其文件名应该dynamic创build。 $template FILENAME,"/var/log/%fromhost-ip%/syslog.log" kern.* ?FILENAME 除此之外,我是否必须明确地告诉服务/守护进程使用TCP以便通过使用(r)syslogd的TCP进行日志logging? 就像当我closures服务器接收UDP数据包的能力时,它会停止logging任何东西。 或者换个说法: kern.* @loghost 不起作用。

TCP rsyslogd事件显示为2000个字符的延续

我正在从一个专有的应用程序系统日志事件。 这可能是应用程序的错误,也可能是rsyslogd。 事件是这样写的: Aug 15 16:00:00 10.11.12.13 Event1 from this wonderful product using this odd Aug 15 16:01:00 10.11.12.13 format. Event2 from this wonderful product using Aug 15 16:02:00 10.11.12.13 this odd format. Event3 from this wonderful produ Aug 15 16:03:00 10.11.12.13 ct using this odd format. 你得到的照片。 系统日志中的每个logging是〜2000个字符。 我不确定这是TCP系统日志定义不清的问题吗? rsyslogd或syslog TCP上的任何专家是否有任何关于问题出现的build议? 是否有可能在rsyslogd方面可以解决这个问题? 或者这是TCP系统日志状态的正常混乱?

在Windows XP上远程login失败,但远程login在Mac上成功

我最近build立了一个Oracle数据库,在端口1561上启动了监听器,并启用了TCP访问。 然后,我打开该端口到所有传入的连接。 当我上我的Mac – 我可以使用 telnet remoteserver 1581 Connected to remoteserver Escape character is '^]'. 然而,每当我使用XP机器作为oracle客户端时 – 当我使用telnet来查看端口是否打开,它告诉我它不能访问它。 因此,我不能通过oracle远程连接。 有什么我失踪与WindowsXP的传出连接? PS(我自己从SO导航)

现有的TCP中继解决scheme

我有一个需要使用TCP中继的场景。 在开始写定制之前,我想看看有没有人知道现有的软件可以为我做这个。 我有两个设备在不同的networking上,无法连接到对方。 我们称它们为networkingA和B.这些设备需要通信,并且可以通过networkingC上的“中间人”中继来完成。A可以连接到C,B可以连接到C. C不能连接到A或B 。 A -> C <- B 这个想法如下: Abuild立一个到C的TCP连接,然后等待 B从Abuild立到C的TCP连接。 C从B读取数据,并用它响应来自A的已经打开的连接。 A处理数据并对C进行响应,C中继到B. 有没有可以做到这一点的现有工具?

客户端和服务器之间的中间人networking节点引入的TCP捎带?

当在客户端采取wireshark跟踪时,它似乎是: —SYN—> <-SYN-ACK- —ACK—> -HTTPGET-> 但是,当在服务器端采用相同stream量的wireshark跟踪时,它似乎是: —SYN—> <-SYN-ACK- -HTTPGET-> 其中HTTPGET分组看起来是SYN-ACK的ACK,因为它具有与先前的ACK分组相同的序列和ACK编号。 同样的事情稍后会以相反的方式发生: 当在服务器端采取wireshark跟踪时,它似乎是: -HTTPGET-> <—ACK— <-200-OK– 但wirehark跟踪采取相同的客户端的stream量,似乎是: -HTTPGET-> <-200-OK– 在200OK似乎是HTTPGET的ACK,因为它具有与先前的ACK分组相同的序列和确认号码。 所以我的问题是有没有已知的networking元素,作为一个中间人做TCP捎带? 我相信这会给两个同行带来一些问题,因为他们似乎永远在等待“缺失”的ACK:例如: *在服务器端200OK重复ACK,因为它正在等待TCP三次握手中的第三个ACK(已经被捎带到随后的HTTPGET中)。 *在客户端重新传输HTTPGET,因为原来的无捎带的ACK永远不会到达。 这里是示例痕迹: http : //goo.gl/7V0pah

通过LFN,TCP上传速度减慢到Internet

我有两台Linux虚拟机以50 Mbps的WAN连接分开。 在这个WAN链路上有大约70ms的RTT,所以它有一些延迟。 我一直在testing从每个虚拟机到Internet的上传吞吐量。 基本设置是站点A具有Internet连接,并且具有与站点B的WAN连接。站点B使用站点A的Internet连接。 我注意到,网站B比网站A上传了一个慢一点的互联网。我只是使用一些互联网速度testing网站来testing我的上传速度。 我使用了来自每个站点的相同的Internet速度testing站点和服务器来进行testing。 我也经常做很多次testing。 我跑了一些Wireshark的帽子,看看发生了什么事情。 我认为互联网服务器没有打开一个足够宽的TCP窗口来解释从站点B的70毫秒额外的延迟。但是,TCP窗口是开放的,它实际上是我站点B的服务器停止传输,等待ACK在发送更多数据之前进入。 我看了一堆东西:TCP时间戳,SACK和Window Scaling都已启用。 我已经增加了我的缓冲区如下: net.core.rmem_max = 67108864 net.core.wmem_max = 67108864 net.ipv4.tcp_rmem = 4096 87380 33554432 net.ipv4.tcp_wmem = 4096 65536 33554432 net.core.netdev_max_backlog = 30000 net.ipv4.tcp_congestion_control=cubic 我也增加了传输队列的长度如下: ifconfig eth0 txqueuelen 10000 最后,我禁用了虚拟机上的软件TCP段卸载(我的服务器上没有硬件TOE)。 尽pipe如此,Wireshark显示我在飞行中不会超过大约11,000字节。 在转移开始的时候,我确实有一些丢失的数据包,但是到事情真正开始的时候,我预计会有更多的数据在飞行。 任何人都可以点亮一下,为什么发送者在实际上正在运行的数据很less的时候阻止了数据?