前两天,有一个同事跑来找我帮忙。说他们项目现场出现了一个奇怪的事情。在做性能测试的时候,发现偶尔会出现消息延迟增大的问题,有时候一条消息发出去,需要5秒钟才能够被对方收到。如此长的延迟已经严重影响了性能测试的结果。由于负责现场测试的同事对网络不是十分的熟悉,所以想让我帮忙排查一下。事情紧急,二话不说,动手。

首先看了一下他们的日志,发现并不是所有的消息延迟都很大,只有一小部分会出现这种情况。而且出现延迟的消息从业务功能上来讲没有什么关联性。再加上他们之前在实验室进行性能测试的时候,并没有出现这种问题。因此排除了是软件的原因。那么终点需要怀疑的就是网络的问题了。

于是,第一感觉,可能有网络丢包,于是ping了一下对方服务器,果然,在长ping之下,有大约30%的包丢失了。那么问题的解决就有了方向。下一步就是看为什么会出现丢包了。

紧接着按照原则分段定位。现场的网络结构大致是这样的,我方服务器->我方交换机->客户交换机->客户服务器。 于是,分段ping一下,发现从我方服务器到对端服务器丢包,从我方服务器到我方交换机不丢包。 从我方交换机到对端服务器也不丢包。 这下基本可以确定问题出现在我方服务器到我方交换机这一段了。 丢包的原因有很多,有简单的有复杂的。 自然先从简单的开始排查了。 先排除硬件问题。 换端口,换交换机,换网线,换网卡,换换换换能换的统统换了一遍。结果呢,问题依旧。那么就排除了硬件问题了。

下一步考虑网络配置的问题,由于现场采用了两台交换机堆叠成一台交换机的技术,以前堆叠交换机都是专门的三方网络工程师配置的,而这次是自己人配置的,这位同事是新学的网络配置,新手按照手册配置的。 因此怀疑这里可能有问题。于是关闭了堆叠交换机中的一台,问题依旧。

原本想按照最小化原则,把交换机上的其他东西都拔掉,但是考虑到现场还有其他系统再测试,再加上主要怀疑对象是在交换机配置上,所以就没有动手拔线。

这个时候想到了检测一下服务器的路由信息是不是有问题,于是用traceroute 命令探测了一下到对端服务器的地址。多次运行后发现,tranceroute居然给出了2中不同的路由。 第一跳有时候是网关,有时候不是网关而是一个未知的 * * *.  这就怪了,网关有问题?

ping了一下网关,发现到网关却没有丢包。由于网关是配置在交换机上的,所以还是怀疑交换机的配置有问题。于是想看一下网关的MAC地址,看看网关是怎么配置的。于是在服务器上用arp 命令查看了网关,我晕,这一看不要紧,发现网关的MAC地址居然在不断的变化,一会儿是交换机管理地址的MAC一会儿是另外一个MAC.  同一个IP MAC居然会变,难道是ARP攻击? 可这是客户内网啊,而且是新建系统,arp共计的可能性不大。 那么最大的可能就是 IP地址冲突!!!

我们的设备都是我们自己配置的IP自然不可能是我们自己导致的。于是又回到了先前的路上,最小化原则。 通知了其他测试系统暂停一下。 先拔掉了和客户交换机连接的网线,问题依旧。然后拔掉了和下面一个设备厂商的子网对接的网线,果然,问题消失了。 然后呢?然后再插上,问题又出现了。 就是他们呀,总算是逮到他们了。于是赶紧找他们的负责人一问,无语呀无语,他们为了自己方便,没有按照我们的网络规划,自己在下面接了一个路由器,还配了一个和网关一模一样的地址。于是乎,麻烦就出现了。

其实本次解决问题没有什么特别的技术含量。只是网络丢包这种常见的问题,真的要算起来,原因太多,查起来比较麻烦。所以把这次的排查过程记录一下,留个纪念,也给需要的人一点参考。

总结一下,基本的排查原则:首先是定位,分段去查找,找到问题存在的那一段。然后是最小化(这个应该先做的,这次被其他因素影响后做了,不然早就就决问题了),这两步的目的呢,都是把问题减少到最小的范围,然后再去检查。就比较容易了。定位到最小范围后,首先考虑硬件(因为这个容易查),然后呢就是配置部分的问题了。

一次网络丢包问题排查的经历相关推荐

  1. 网络丢包问题排查总结

    问题描述 发送端以UDP的方式向服务器发送数据包,但是一直没有接收完全,导致发送端一直发送数据. 排查步骤 对于网络发包的这种问题,首先需要确认的2件事情,1是发送端数据是否发送完全,2是接收端数据是 ...

  2. 计算机网络丢包排查,ping命令图文教程,电脑测试网络丢包延迟,检测网络故障通不通...

    原标题:ping命令图文教程,电脑测试网络丢包延迟,检测网络故障通不通 你好,我是老盖,首先感谢你观看本文,本篇文章我做的有视频,视频讲述的比较详细,也可以看我发布的视频. 这里演示一下ping的命令 ...

  3. 云网络丢包故障定位全景指南

    作者简介:冯荣,腾讯云网络高级工程师,腾讯云网络核心开发人员. 万字长文  建议收藏 引言 本期分享一个比较常见的⽹络问题--丢包.例如我们去ping⼀个⽹站,如果能ping通,且⽹站返回信息全⾯,则 ...

  4. 深度好文:云网络丢包故障定位,看这一篇就够了~

    深度好文:云网络丢包故障定位,看这一篇就够了~ https://mp.weixin.qq.com/s/-Q1AkxUr9xzGKwUMV-FQhQ Alex 高效运维 今天 来源:本文经授权转自公众号 ...

  5. Linux丢包问题排查思路

    Linux丢包问题排查思路 判断问题与网络丢包有关 通过抓tcpdump,通过wireshark提示查看数据包状态.比如客户端重传多次失败,服务端提示丢包等错误,均是可能由于丢包导致的异常. 丢包可能 ...

  6. Linux下网络丢包故障定位

    Linux下网络丢包故障定位 | syxdevcode博客转载: 云网络丢包故障定位全景指南 硬件网卡丢包Ring Buffer溢出 如图所示,物理介质上的数据帧到达后首先由NIC(网络适配器)读取, ...

  7. 【分享】网络丢包故障处理方案

    一.网络丢包的定位与处理 出现网络丢包现象时,第一步需要确定丢包的网络位置,其次是确定丢包的故障原因,然后依据定位的故障原因再进行解决.定位流程大致如图8-1. 图8-1 网络丢包的定位与处理 本文采 ...

  8. 【网络】MTU相关网络丢包问题分析处理

    一. MTU MSS 概念 什么是MTU? MTU是数据链路层的概念,限制的是数据链路层payload的大小,即上层协议大小(包括上层协议头) 例如设置主机接口mtu为1450.则在一个TCP报文中, ...

  9. 网络分流器-网络丢包原因以及修复方法

    戎腾网络分流器作为专业的流量监控采集设备,具有丢包率低,性能可靠,高速率等优势,是整个网络安全领域网络监控前端重要的基础装备! 正交架构,支持1000以上10G和200以上100G,可根据需求进行调整 ...

  10. 网络编程之网络丢包故障如何定位?如何解决?

    引言 本期分享一个比较常见的网络问题--丢包.例如我们去ping一个网站,如果能ping通,且网站返回信息全面,则说明与网站服务器的通信是畅通的,如果ping不通,或者网站返回的信息不全等,则很可能是 ...

最新文章

  1. Chat Ban 二分,等差数列(1300)
  2. 基于Verilog的按键控制LED灯
  3. Java垃圾收集机制
  4. 了解如何使用Yii2 PHP框架创建YouTube克隆
  5. 【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址
  6. Win10应用商店无法连接解决方案
  7. qt绘制运动物体_手写QT贪吃蛇,小白高薪捷径-Qt开发
  8. 手机python文本编辑器下载_python写的一个文本编辑器
  9. MAC编译freetype
  10. 中文语音识别数据集总结
  11. oracle字段Varchar2长度问题
  12. 电脑怎么让图片颜色反转?怎么调图片反色效果?
  13. Pandas中,使用reindex方法报错:index must be monotonic increasing or decreasing的分析
  14. [SSL_CHX][2021-12-11]奖学金
  15. C++中按名次排序的两个实现方式
  16. Python的mpl_finance模块从2020年已经提醒弃用,新mplfinance模块详解(二)
  17. 常见面试题及解答|计算机网络
  18. formality的一点经验总结
  19. 论文写作之查找中文对应的英文标题引用格式
  20. Chromium for mac(谷歌浏览器)V89.0.4336.0官方最新版

热门文章

  1. 02组团队项目-Alpha冲刺-3/6
  2. 小米 win10 android 双系统,PC平板二合一 运行win10/安卓双系统
  3. R语言使用median函数计算dataframe数据中特定数据列的中位数、如果包含NA值则需要设置na.rm参数为TRUE
  4. python汇率转换代码中美_如何实现python汇率转换代码
  5. 《嵌入式 – GD32开发实战指南》第9章 呼吸灯
  6. 戴尔r410服务器raid装系统,Dell R410 Raid磁盘阵列驱动
  7. Ubuntu系统死机解决办法
  8. Sqlserver过滤数据
  9. 中国智慧消防产业需求现状及十四五发展趋向分析报告2021-2027年版
  10. ARTS打卡10-抓住海森堡Bug