Chinaunix

标题: 奇怪的抓包,请教内核牛人 [打印本页]

作者: lims_xlh    时间: 2015-01-08 15:33
标题: 奇怪的抓包,请教内核牛人
本帖最后由 lims_xlh 于 2015-06-09 14:29 编辑



没有丢包,什么情况下,会出现第二个包,ack 号对不上。


已经解决:cat /proc/sys/net/ipv4/ip_conntrack_max

作者: gaojl0728    时间: 2015-01-08 18:05
这应该是发送端kernel 的bug吧, 也有可能是被中间路由设备给改坏了,

不过第二个重发的那个就正常了。
作者: lims_xlh    时间: 2015-01-08 18:09
是的,发现了好多这种情况的,不同的客户端主机都存在这种情况
作者: lims_xlh    时间: 2015-01-08 18:11
回复 2# gaojl0728


    我们网络是客户端主机发送到lvs主机,然后转发到server,是不是有可能lvs**了
作者: gaojl0728    时间: 2015-01-09 10:34
回复 4# lims_xlh


    恩, 有可能是LVS的问题, 要想确认原因, 得同时在客户端和服务器段抓包, 然后对比,如果确定客户端发的没问题但服务器收到的报文有问题,那就基本确定是LVS的问题。
作者: lims_xlh    时间: 2015-01-09 10:44
现在三方抓包一致,从lvs client server抓包都是一样的
作者: gaojl0728    时间: 2015-01-09 11:02
本帖最后由 gaojl0728 于 2015-01-09 11:05 编辑

回复 6# lims_xlh


    刚说反了, 是server端回的报文有问题啊, server端是什么系统?
作者: gaojl0728    时间: 2015-01-09 11:12
回复 6# lims_xlh


    如果三方抓的包都是这样, 那应该就是server端发的报文有问题, server 端是什么系统?
作者: lims_xlh    时间: 2015-01-09 12:53
已经确定问题,出问题的系统内核2.6.32-440.29.2.el6.x86_64,换到2.6.18没有问题了,具体问题还没分析,2.6.32的内核不是发行版的,是
自己编译过的
作者: gaojl0728    时间: 2015-01-09 13:20
回复 9# lims_xlh


    linux 内核还有这个幼稚的bug? 不应该啊。
作者: gaojl0728    时间: 2015-01-09 13:30
回复 9# lims_xlh


    我刚注意到一个问题,截图的第二个包, 并不是SYN/ACK,  而只是一个普通ACK, 这个ACK很可能是在ACK前面的一个数据包, 所以他带的ACK号跟第一个SYN报文的sequence不匹配。

如果这样,那客户端就不应该通过同一个四元组发送新的SYN报文啊,客户端的应用程序是不是强制绑定端口号?
作者: lims_xlh    时间: 2015-01-09 13:52
应该不是,从服务端判断,出现这种包的端口很随机
作者: lims_xlh    时间: 2015-01-09 13:52
应该不是,从服务端判断,出现这种包的端口很随机
作者: gaojl0728    时间: 2015-01-09 14:15
根源应该处在客户端上, 他不应该在前一个四元组还没有关闭的情况下重新发起连接。
抓的包还有吗,传上来一起研究研究。
作者: lims_xlh    时间: 2015-01-09 15:13
这个端口的只有这些
作者: lims_xlh    时间: 2015-01-15 10:11
我感觉是内核参数配置的问题,有时间看看源码
作者: Godbach    时间: 2015-01-15 10:40
本帖最后由 Godbach 于 2015-01-15 10:44 编辑

回复 1# lims_xlh

有一种可能,就是之前你的 client 曾经用过这个源端口向 server 发送过请求。因为某些原因异常断开了,网络中还残留着 server 发送的报文。现在收到了。

不过感觉概率比较小。

   
作者: lims_xlh    时间: 2015-01-15 13:10
回复 17# Godbach

我之前也是这样认为的,但是发现应该不是这样。
我是用1000个并发不停的connect 到某个端口A,然后close,并用tcpdump抓所有的包,客户端这个端口B到A的所有的包都抓到了,就是上面的截图
之前没发现有发包
作者: Godbach    时间: 2015-01-15 13:15
回复 18# lims_xlh

server 和 client 之间是什么链路,是LAN,还是 WAN 啊。



   
作者: lims_xlh    时间: 2015-01-15 15:07
同一台机器上面的部署的
作者: lims_xlh    时间: 2015-01-15 15:10
回复 19# Godbach


    我在同一台机器上面用客户端连接任何open的端口都有这样的情况出现
作者: gaojl0728    时间: 2015-01-15 15:45
回复 18# lims_xlh


    这就有意思了, 你上传个抓包上来看看。
作者: lims_xlh    时间: 2015-01-26 14:36
上面已经是所有这个端口的包了,是在大并发的时候才会出现




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2