网络丢包现象分析处理指导书4

人为攻击/广播泛滥
xiong2127 51cto技术博客


xiong2127 51cto技术博客
问题描述:如上图所示,交换机端口1:1-1:12、2:1-2:8在同一个VLAN中,网关指向CISCO7206的下行端口FA0/0的IP。另外1:13下接一个大客户,1:14下接一个大客户,他们的网关指向BIG400上本VLAN的IP,也就是说这两个大客户是在BIG400上作三层转发,所以他们的ARP广播是不会影响CISCO7206的。铁通运维工程师向我们反映一下问题:
xiong2127 51cto技术博客
问题一:在用户侧PC执行ping指令到BIG400上的VLAN的IP,出现ping几个包就会出现一个延时比较大的ICMP REPLY的报文。改ping上端CISCO路由器的IP有时也如此。
xiong2127 51cto技术博客
问题二:如图所示,在港湾BIG400上端连接的是CISCO7206路由器。一段时间以来先后两次发现下面的用户上网时出现丢包的情况,此时查看CISCO7206的ARP表发现ARP表满,他们清空ARP表后用户上网出现正常。
xiong2127 51cto技术博客
问题解释:问题的排障及详细分析过程见附录。在排障中我们发现大量的扫描报文在攻击网络,而该网络没有任何防范措施,对整个本地网段的扫描必然使得路由器不断地解析大量不存在地MAC地址,从而占用了router的cpu资源及arp表出现溢出而无法正常解析。
xiong2127 51cto技术博客
问题解决:对该网络进行重新规划,将网络进行层次化的规划并增强网络的安全性,使得网络具有良好的扩展性和抗攻击能力。
xiong2127 51cto技术博客
备注:像恶意攻击、病毒等对网络性能的影响甚至导致网络瘫痪的案例已屡有发生,需要引起我们的高度重视。在做故障处理时注意数据的收集,给局方提供确凿的证据,避免我司产品蒙冤。
xiong2127 51cto技术博客
 
xiong2127 51cto技术博客
网络环境因素 高温
xiong2127 51cto技术博客
问题描述:两台u2叠放在小区楼道的小机柜,作为小区用户的接入。用户反映上网速度慢,有时甚至上不了网。
xiong2127 51cto技术博客
问题解释:查看现场情况,楼道机柜通风不好,而且经常设备叠放在一块,产生的热量散发不出去。出现问题时,用手感觉设备外表温度,发现比较烫手。显然,设备的所在环境温度过高,导致交换机工作异常,出现丢包,用户侧上网速度慢。严重情况下,交换机无法工作。
xiong2127 51cto技术博客
问题解决:一开始做更换设备处理无效。由于目前使用的交换机端口数比较少,将机柜的设备抽减一台。设备运行稳定,故障不再重现。
xiong2127 51cto技术博客
备注:网络设备要特别注意其工作温度,一般正常的工作温度为0℃-55℃,该温度指的是机壳内部的温度。如果机壳外表温度达到40℃以上,那么内部的温度就可能太高了,需要采取降温措施。
xiong2127 51cto技术博客
网络环境因素 电源系统
xiong2127 51cto技术博客


xiong2127 51cto技术博客
问题描述:该网络为电信营业点,通过hub接入营业终端,上行链路采用以太口接入到机房的cisco2513路由器上。营业终端在每天晚上7:00点钟左右,出现业务终端,ping网关时断时通。在其他的营业时间则很正常。
xiong2127 51cto技术博客
问题解释:该案例的详细分析见附录。问题的定位通过在HUB上接协议分析仪,出现故障时对网络报文进行捕获并分析。终端ping网关进行测试,发现有时候sniffer不能捕获到终端发出的报文,有时候未能收到路由器的相应。显然HUB出现问题的可能性比较大,更换HUB无效。进一步分析,该故障比较有规律,每天均出现在同一时段(跟时段的相关性较大),因此应该是网络环境的影响大些。查看hub供电,采用稳压电源,考虑到出故障时段刚好是用电高峰,大量电器的开启,使电源存在大量尖峰脉冲,会对逻辑门电路造成影响,最终导致线路信号崎变,而出现丢包。
xiong2127 51cto技术博客
问题解决:将稳压电源更换成具有过滤电源与浪涌吸收的能力UPS,故障不再复现。
xiong2127 51cto技术博客
备注:该案例提示我们要特别留意网络的周边环境,电磁干扰、超高温/低温、不纯净电源均影响到网络的正常运行。
xiong2127 51cto技术博客
网络丢包问题剖析总结
xiong2127 51cto技术博客
从上一章节我们看到,网络丢包的成因确实是复杂多样的,不过,纷繁复杂的事务背后均有一定的规律性,丢包问题也不例外。我们可以从报文本身、承载链路、负责中转的设备等方面去考察,丢包不外乎属于下列几种情况:报文比特位畸变、报文的格式被篡改、链路时通时断、链路拥塞、设备负载过重、报文被转发到不当接口、报文超时。
xiong2127 51cto技术博客
报文比特位畸变的情况往往由于网络周围环境的干扰、设备使用器件品质差等造成,比如电磁、高温、电流浪涌使得传输链路不可靠和设备产生信号不正常。
xiong2127 51cto技术博客
报文格式被篡改只能是设备异常所为,比如在某种条件下,网络设备修改报文的VID或去除VID,那么该报文则不能到达预定目的地。
xiong2127 51cto技术博客
链路时通时断的情况最常见的有链路两端设备的端口自协商不匹配、一端设备PHY芯片寄存器不稳定引起。
链路拥塞、设备负载过重的情况则一般是网络的设计、配置不合理,人为恶意攻击所造成,链路的拥塞也经常伴随着设备过载。
xiong2127 51cto技术博客
报文被转发到不当接口一般的现象是网络不通,在特殊情况下,比如网络存在环路、设备硬件结构原因使得交换机FDB表发生振荡、摆动也引发丢包。
xiong2127 51cto技术博客
报文超时属于“特殊的丢包”,报文并未真正被丢弃,而是报文从信源到信宿所花的时间太多,已失去时效性,不被信宿所认可。
xiong2127 51cto技术博客
应该说丢包问题的处理最难之处在于问题的定位,在我们了解丢包的各种成因之后,丢包问题的定位也有规律可寻。下面将进一步阐述丢包的处理步骤。
xiong2127 51cto技术博客
出自 51CTO.COM博客

缩小故障范围及确定故障点
xiong2127 51cto技术博客
 
xiong2127 51cto技术博客
缩小故障范围及定位故障点,通常是测试从信源到信宿的每一段的健康情况从而有利于问题的集中处理,即所谓的逐段分析法。可以说ping和traceroute工具为我们提供了极大的便利。为了简化问题,我们先考察一个全路由式网络如何缩小故障范围。
xiong2127 51cto技术博客
如下拓扑图:
xiong2127 51cto技术博客


xiong2127 51cto技术博客

 
假设从A点ping H点出现丢包,那么我想我们每个人都会从A点去检测B、C、D、E、F、G是否有丢包现象。假定ping B、C未出现丢包,ping D有丢包现象。那么大家都会将目光盯在链路L2和R3的D接口上。对L2、D点的检测,往往可以通过查看R2的C接口和R3的D接口状态来判断。比如:
R2# sh int e0/0
Interface eth0/0 is up, Line protocol is up
  Internet address is 210.12.114.42/29 Broadcast 210.12.114.47
  mtu 1500 <UP,BROADCAST,MULTICAST>
  Physical layer is Ethernet, hardware address is 00:50:77:88:CC:DF
  Auto-Negotiation is enabled, Half-duplex, 10Mb/s
  Queueing strategy: 3-BAND fast fifo (default)
  Output queue (size/max/drops) : 0/100/0
  5 minutes input rate 303.02 bytes/sec, 0.37 packets/sec
  5 minutes output rate 42.04 bytes/sec, 0.31 packets/sec
  249785 packets input,  366307962 bytes, 0 no buffers
  168866 packets output, 10403563 bytes, 0 no buffers
  0 input errors, 0 CRC, 0 frame errors
  0 overrunners, 0 aborted sequences, 0 input no buffers
  0 packets throwed(tx)
首先要注意端口的工作状态:“Auto-Negotiation is enabled, Half-duplex, 10Mb/s”,确认R2和R3互连接口状态是否一致。 xiong2127 51cto技术博客
另外查看接口错误帧、缓冲区统计情况:“0 input errors, 0 CRC, 0 frame errors
  0 overrunners, 0 aborted sequences, 0 input no buffers
  0 packets throwed(tx) ”,路由器的接口有物理故障、DSU/CSU、modem或线路传输质量差,在这里都能体现出来。
xiong2127 51cto技术博客
如果有input errors的话,只能到R2端去进一步查看了。DSU/CSU、modem灯状态,连线接头都需要我们留心观察。当然最终确认某个部件是否有问题,还需要更换该部件来做判断。如果链路出现故障,那么不同的链路要求的判断方法就有很大不同了。Ethernet、DDN、FR、E1、POS、ADSL等,简单的判断是更换链路协助判断。为了准确定位问题,还需要我们掌握各种链路的理论知识。建议大家认真学习部门FTP上BBS目录的《常用网络协议原理》,里面链路协议的介绍很不错。
xiong2127 51cto技术博客
举个判断DDN链路传输质量的例子,在cisco路由器上debug serial interface便能查看路由器之间链路的同步状态,如果myseq(本端序列号)与mineseen(对端看到的我的序列号)不一致,则说明DDN链路失步。
xiong2127 51cto技术博客
全路由式网络丢包的故障点,其实是最好判断的,因为每台路由器实际上提供了一个有力的检测工具,通过逐跳检测路由器接口很容易将丢包故障缩小在某一段链路上。对于全交换式的网络或路由交换式网络又如何去定位故障点呢?
看如下全交换式网络拓扑图:
xiong2127 51cto技术博客


xiong2127 51cto技术博客

假如pc ping 骨干网出现丢包,那么我们不再可能像全路由式网络那样去检测A、B、C、D、E点的连通状况了。一般情况下,pc的网关在E点,中间的L2交换机不具有路由接口。Ping L2的管理IP能否作出判断呢?可以肯定的说,对于一个运营的网络,十有八九十不行的。考虑到网络设备的安全性,设备的管理IP与用户的IP不会处于一个网段。当你去ping L2交换机的IP时,通常报文会透传到L3设备在转发回来给L2信宿,因此,无助于故障范围的缩小。象上图拓扑,如果pc ping E点仍出现丢包,那么问题可能出现在A、B、C、D点上。由于L2没有路由接口作为检测点,此时我们不得不变换一下思维方式。
为了检测报文是否被L2_1所丢弃,在允许的条件下,我们人为地在B处设置一个检测点B’。如下图:
xiong2127 51cto技术博客


xiong2127 51cto技术博客

 
Test pc与用户pc在一个网段,pc去ping Test pc,如果出现丢包,那么问题就可能出现在L2_1或者pc连L2_1的链路上;如果未出现丢包,那么我们需要将检测点后移如下:
xiong2127 51cto技术博客


xiong2127 51cto技术博客

 
如果ping test pc出现丢包,那么我们需要怀疑是BC链路或L2_2的问题了;如果不出现丢包,还需要将检测点进一步后移。假设是出现丢包,那么到底是BC链路还是L2_2二层转发有问题呢?为了确定L2_2的二层转发情况,此时你不妨用Test pc去ping L3的E点,如果出现丢包,那么说明L2_2的二层转发有问题,如果不丢包,可能需要将确认BC链路的传输质量了。
上面所讲的都是宽松测试环境下的一般分析方法,在实际的环境中或许做不到,这是我们就不得不考虑变通的手法了。
假设Test pc不允许你配用户网段的IP(用户的IP地址采用30位掩码时,用户和网关各占用一个IP,没有剩余IP可用),有该如何检测网络的丢包点呢?
见如下示意图:
xiong2127 51cto技术博客


xiong2127 51cto技术博客

B’、C’、D’点分别为B、C、D的镜像端口,我们可以让pc ping E点100个包,我们在B’点用协议分析仪sniffer定义捕获pc所发送的报文。注意pc上显示丢失了几个报文(比如n个),假如sniffer能捕获到100个pc发给L3 E接口的icmp echo request报文和L3回应给pc的(100-n)个icmp echo reply报文,则说明L2_1交换机工作良好,需要将检测点移到C’。如果L2_1只转发出(100-n)个pc所发的icmp echo request报文,那么说明故障出现在L2_1上了。当然,捕获报文的的数目可能存在小的偏差,这可能是sniffer所在网卡的过滤能力有限等因素造成,可以忽略。检测点后移的分析情况类似,不再罗嗦了。
xiong2127 51cto技术博客
这上面的分析可以看出,全交换式的丢包问题故障点的定位,不外乎是在信源和新宿之间人为插入检测点,使之类似于全router网络,便于运用分段分析法。对于路由交换混合网络,则需要在交换部分加入检测点即可。
xiong2127 51cto技术博客
需要提醒的是,网络丢包有时候不只是一个故障点,所以我们在排除完一个故障点后,需要确认问题是否存在。有多处丢包的故障,分析起来可能麻烦些,但是,只要我们头脑里有此意识,单故障点的分析手法同样适用。
xiong2127 51cto技术博客
分析故障原因
xiong2127 51cto技术博客
 
xiong2127 51cto技术博客
在我们缩小了丢包的故障范围、确定了丢包的故障点后,下一步的工作就是分析故障成因了。从上一章节可以看到故障成因的多样性,因此分析故障要求我们具备三方面的素质:
xiong2127 51cto技术博客
1、扎实掌握网络的基本理论,特别是TCP/IP协议、路由协议、交换理论,并能够自如运用理论知识分析解决问题;
xiong2127 51cto技术博客
2、熟悉产品特性,要求我们尽可能多的了解掌握设备供应商提供得网络产品特性、性能指标等,在复杂的网络环境中,存在着多个厂家的设备,不同厂家的产品特性也不尽相同,只有充分掌握网络中的每个产品特性,才能深入地剖析故障;
xiong2127 51cto技术博客
3、注意多积累经验,包括别人的经验,此所谓他山之石,可以攻玉。下面我们分别举例说明。
xiong2127 51cto技术博客
从XX油田的案例看,当从Big400与NetScreen互连的链路捕获到不断循环的报文后,我们完全有理由去怀疑两设备之间的路由配合问题。通过仔细地分析了Big400和NetScreen100的路由表后,不难发现交换机和防火墙确实按路由表如实转发报文。那么我们可以根据路由最长匹配原理,将问题给予消除。这就要求我们熟悉理论知识。IP寻址原理、ping应用程序的理解、IP报文路由过程、交换机的二三层转发原理是我们分析丢包问题的最基本、最重要的知识,相关内容在三季度培训中已给大家做过详细的讲解,想必大家已熟练掌握。事实上,我们可以看到附录上的案例,都是从基本原理出发,通过逐步分析问题,最终定位、解决问题的。
xiong2127 51cto技术博客
熟悉产品特性,有助于你快速切入问题。二层交换机产品FDB表的特殊性(u设备双链路连接到同一台L3设备上采用同一MAC地址的两个接口)而引起的网络丢包问题,在全国多次发生过。这也给我们重要教训,一定要深入掌握产品特性,要求我们平时注意对比某个产品线与其他产品线某个特性的区别、与其他厂家产品特性的区别。
xiong2127 51cto技术博客
聪明的人善于借鉴已往的经验。在上一章节,我们罗列了大量的丢包案例,这些案例就是我们的经验总结的一部分,希望大家能够理解消化,并在碰到类似问题时,做到心中有数,少走弯路。同时也希望大家能够提供自己处理过的案例与他人分享。
xiong2127 51cto技术博客
扎实掌握网络理论知识、熟悉产品特性和注意积累经验,是快速、准确定位故障的基本要求,也是我们技术方面努力的目标。
xiong2127 51cto技术博客
解决问题
xiong2127 51cto技术博客
在定位出故障的原因后,是否下一步理所当然是排除故障呢?不一定。与其说是排除故障,倒不如说是解决问题。很简单,或许故障是由其他厂家的产品引起的,而且我们又无能力去排除它,此时不必强求自己。我们只需要将一份有理有据的故障分析报告提交给客户,耐心跟客户解释,并得到客户认可就可以了。如果故障确实是由于我方产品缺陷、网络设计、设备配置不合理引起的,需要我们谨慎处理。在对业务没有造成较大影响的情况下,有时客户更看中我们解决问题的态度和行动。如果是产品缺陷引起,要求我们及时反馈问题,配合研发人员准确了解网络环境,有利于问题的快速解决。如果是网络设计、设备配置等原因引起的,那么积极与客户交流、博得客户的理解和支持是最重要的。
xiong2127 51cto技术博客
总之,网络故障的解决,除了根据定位出的故障原因从技术角度去解决问题外,还需要我们耐心与客户做好沟通工作。特别是碰到“非我方原因”引起的网络问题时,最好主动向客户提交分析报告,并要求客户在纸质报告上签名确认,作为备忘录。

你可能感兴趣的:(职场,休闲,网络丢包)