1,问题描述

在某局点使用S5700作为接入交换机连接同网段的客户端以及服务器,在使用过程中突然出现传输某种协议的时候比较慢,产生卡顿的现象,传输该业务延迟有的时候能够达到3分钟以上。现场工程师反馈之前使用HUB测试正常,只要换为S5700后就会产生卡顿现象。

2,处理过程

1. 获取客户的详细组网信息,由于客户的组网相对简单,客户端与服务器是直连在交换机上,并且同网段,客户端地址192.168.1.20,服务器192.168.1.101;从客户端ping服务器正常,大包ping正常,上网访问其他业务正常;

2. 查看交换机的配置信息以及设备的DIAG诊断信息,交换机为出厂的默认配置,DIAG中无任何异常;

3. 尝试关闭交换机的生成树STP功能,仍然存在传输慢的现象;

4. 获取客户的业务传输的详细信息,使用的TCP协议,目的端口5888,再进一步查看交换机display tcp status,此端口并没有被占用,并且目的地址也没有配置在交换机上,交换机只做二层转发;

5. 在交换机连接客户端和服务器的两个端口上同时抓包,进行报文比对分析,相关信息如下:

左为客户端发出报文抓包,右边为服务器端抓包。报文的延迟主要出现在最后红框中的部分,前面的都正常,延迟都是ms级别;左边124个报文显示服务器May 23, 2016 15:05:46.906303000的时候回应了报文,而第488个报文的时候15:10:46.909455000才发起后续的报文,间隔了大约5分钟,在右边的设备上也可以看到收到时间间隔为约5分钟,注意由于是在两台电脑上抓的包,时间上稍有差异(约30S,该差异可以忽略,因为所有的报文都相差30S,这是因为抓包的电脑本地时间有差异)。

从上面的分析可知交换机对报文做了MS级别的转发,不应该出现现场两三分钟的延迟,建议可以携带其他的交换机进一步进行交叉测试。另外,注意上面报文中倒数第二个报文有大约5分钟的延迟,该报文并不是首包,也就是前面报文的后续报文,为什么后续报文会延迟发送,这个与之前抓到的报文现象一致,需要检查一下该软件的设置等问题。

通过多次抓包进行报文比较现象都是一致,可以确认交换机并没有出现大的转发延迟,而是客户端在发起后续TCP请求的时候已经较前面的报文出现了大的延迟。

6. 通过以上的分析,再次使用其他交换机进行多次测试,发现仍然存在卡顿的现象,因此证明交换机不存在转发异常的问题。

7. 协调客户进行软件排查发现软件本身的错误设置导致后续报文的请求较前面报文的延迟较大。

3,根因

软件本身的错误设置导致后续报文的请求较前面报文的延迟较大。

4,解决方案

由于交换机进行的无延时转发,通过抓包进行对比说明此问题与中间设备交换机无关,需要客户修改客户端软件的设置。

备注:客户自身的软件,与我司无关,无法提供具体的修改办法。本案例主要是提供了如何在这类问题中对华为交换机进行排查、定位、故障排除的思路。

5,建议与总结

1. 对于交换机而言,交换机只进行数据包的快速转发,不会对业务数据进行处理,因此理论上讲不会导致业务出现大的延迟。本案例中提供的一种处理此类问题的思路,可以通过抓包进行对比,对比报文进入、转发出交换机的延时进行排除;

2. 本案例的抓包是在两台电脑上进行的,为了防止电脑的时间不相同,可以通过将交换机的上下行接口全部镜像到同一台电脑上进行抓包比对,这样就更有说服力。

查看原文 >>
相关文章