本帖最后由 KYLE_K 于 2020-6-4 20:55 编辑
有些小伙伴私信过来说,前段时间发的一些关于数据分析的帖子有点复杂,希望可以发一些稍微简单的入门帖子,从入门开始了解,慢慢深入到数据分析里面。基于小伙伴提出的意见,这张帖子就从TCP会话建立开始讲起。
分析TCP会话建立情况,能定位什么问题? 1.某个业务访问出现问题,能定位故障点是客户端还是服务器; 2.某个业务访问出现问题,能定位是网络故障还是业务故障;
如何定位故障点是源还是目的? 看客户端和服务器“发包”与“回包”的情况。 分析: 1.如下图所示,截图中有8个网络数据包,客户端在间隔了1.1秒后才收到服务器ACK的回包(第2个数据包), 2.客户端收到ACK的回包后,在0.0001秒,给服务器发送了ACK回包(第3个数据包)。
结论:客户端访问服务器出现访问慢的情况,故障点是服务器 另外三种情况分析: 1.如果服务器没有给客户端回包(第2个数据包不是服务器发出的),故障点仍然在服务器; 2.如果客户端没有给服务器回包(第3个数据包不是客户端发出的),故障点在客户端; 3.如果客户端给服务器回包(第3个数据包)时间间隔长,故障点在客户端。
如何定位是网络故障还是业务故障? 看客户端和服务器建立TCP连接的情况 分析: 1.如下图所示,截图中有8个网络数据包,前3个数据包是TCP会话建立部分,TCP会话建部分反映当前网络质量情况; 2.后5个数据包是数据传输部分,数据传输部分反映当前的业务数据包交付情况; 3.从截图中看,在TCP会话建立时,服务器回包出现了较大的网络延迟。 结论:客户端访问服务器出现访问慢的情况,判断是服务器网络出现问题 另外两种情况分析: 1.如果客户端或者服务器,在TCP建立阶段(前3个数据包)没有回包,或者回包延迟大,可以判断网络出现故障; 2.如果客户端或者服务器,在数据传输阶段(后5个数据包)没有回包,或者回包延迟大,可以判断业务系统出现故障。
适用场景: 1.当网络环境中,由于防火墙策略限制,某个业务系统不允许ping或者telnet的情况下,可以通过数据包分析,判断是网络故障还是业务故障; 2.当ping某个业务系统出现网络延迟大的情况下,可以通过数据包分析,判断网络延迟是出现在客户端网络还是服务器网络; 3.当ping某个业务系统网络延迟很小,但访问起来缓慢的情况下,可以通过数据包分析,判断是客户端回包缓慢还是服务器回包缓慢;
附上帖子里面使用的抓包工具: 科来网络分析系统11 提取码:lpdg 纯国产软件,界面比wirrshark友好,刚打开时会有几个页面报错,报错是因为科来官网消息页面无法推送过来,不影响正常使用
|