基于网络分析的故障检测
前言
在对网络的管理和维护过程中,我们可能经常会遇到网络传输延迟导致上网连接时断时续或者出现上网速度异常缓慢的故障现象,并且,可能是一会正常,一会不正常,对于这类故障,相信是网络管理中比较难于判断和处理的。在对这类故障的处理中,通常的做法首先是采用
ping
测试,
ping
网关、
DNS
或者外网
IP
的时候,几乎都会出现丢包或较大延迟的现象。那么,我们该如何准确、有效及快速的解决这类网络故障现象?以下是我自己在遇到此类故障时的一些解决方法和一点心得,希望和广大兄弟分享交流,并希望可以对广大的网管兄弟们带来一点启发!
故障回放
我们单位是一家以机械为主的制造企业,规模不大,局域网的只有近
100
台计算机,都
同时接入到了互联网,网络结构也比较简单,外网进来接的是侠诺路由器,路由器下接的是侠诺三层交换机,在交换机上做了
VLAN
划分,
192.168.0.0/24
为服务器群,其中,
192.168.0.3
同时提供
DHCP
、
DNS
以及
AD
域控服务,其他的
VLAN
有
192.168.10.0/24
、
192.168.20.0/24
等共
5
个
VLAN
,局域网网络运行一直比较稳定。由于最近网络做了改造,采用了双
WAN
口访问,所以重新配置了路由器,网络产生了一些异常故障,具体现象为:某
VLAN
内的主机突然发生网络传输中断故障,不能连接
192.168.0.3
服务器,但是一段时间后(几分钟或几小时)又自动恢复正常,产生这种故障的主机不确定是某一台,偶尔是这台,偶尔又是另外一台,在故障发生的时候,
ping
服务器
192.168.0.3
,均能够
ping
通
IP
地址,但却不能
ping
通域名,检查
DNS
服务器,未发现任何错误。
故障排查
经过分析,初步
认为该故障多半与广播风暴、网络病毒***等因素有关。为了进一步查找和定位故障原因,于是将笔记本连接到交换机上镜像端口,并运行科来网络分析系统来捕获网络的数据包通讯,希望能够借此快速的查明原因。
大约
2
分钟后,停止捕获,现在对捕获的数据包进行详细的分析,
具体分析如下:
首先,通过科来的概要统计来看,网络的流量、广播流量、数据包大小分布以及
TCP
连接的信息均没有发现异常,随后,在诊断视图下看到,发生的网络事件全是
ICMP
主机重定向,达到了
1771
次,如下图:
查看这个事件的参考信息:“路由器向源主机发送一个主机重定向报文通知源主机有一条到达目的主机的更好的路由”。因此,从诊断视图的
ICMP
主机重定向,我们得到了一个重要的提示:网络中可能存在环路。再来到数据包视图,可以详细的查看到产生该问题的原因。打开数据包视图,数据包的概要统计如下图所示:
选择第
1
和第
2
个数据包,其详细的解码如下图所示:
从该数据包的解码中,可以看出,这是一个
ICMP
重定向数据包,大概的意思是:路由器
192.168.0.10
告诉
192.168.0.3
应该去访问
192.168.0.254
,这才是一个更好的路径。查看该
ICMP
数据包携带的数据,这个数据包是由
192.168.21.172
在访问
192.168.0.3
时造成的。
继续往下看,这是第
3
个数据包的详细解码,只有一个字段发生了变化,就是生存时间(
TTL
),我们都知道,一个
IP
数据包每经过一个路由,其
TTL
就会减
1
,当
TTL
为
0
时还没有到达目的主机,则该数据包将被丢弃,从下图看到,该数据包的
TTL
值从第
1
个数据包的
12
变成了第
3
个数据包的
10
,已经呈递减的趋势。
继续看第
4
、第
5
以及后面的数据包,
TTL
值一直在递减,直到第
13
、
14
个数据包时,
TTL
值为
0
,显示超时。所以,从第
1
个数据包到第
14
个包,
ICMP
数据包
里面的
IP
报头的
TTL
值不断递减,直到
TTL
超时,因此,明显是网络中产生了环路才会造成这种现象。而从数据包地址来看,产生
ICMP
重定向的地址全是
192.168.21
网段的主机
IP
,可能是在抓包的同时,正好是这个网段的主机与
192.168.0.3
通讯时产生了该事件。
至此,通过对科来网络分析系统捕获的数据通讯分析,我们已经可以确定,前面出现的故障现象肯定是有环路引起的,而结合前面配置路由表信息,终于找到了原因所在:原来是在配置路由表的时候,考虑不周到,由于在路由器添加了路由条目:
192.168.0.0/16
下一条
0.254
,而在
254
上的路由条目却没找到
21
网段的匹配项,于是发给默认路由
192.168.0.10
,而默认路由又去查找下一跳:
192.168.0.254
,从而造成了环路。重新配置路由表后,改问题得到解决。
其实,造成网络数据丢包现象的因素有很多,除了路由环路外,蠕虫病毒造成的***行为:如
ICMP
扫描***、
TCP
扫描***等都会造成类似的问题,在遇到这些问题时,如果采用常规的一些解决方法,可能会消耗太多的时间与精力,通过网络分析的检测手段,往往能够起到事半功倍的效果。所以,如果大家以后遇到类似的网络故障时,不妨使用网络分析的检测手段,一定能够快速的解决故障,希望这篇文章能给大家带来一些启发。
转载于:https://blog.51cto.com/lbzxy/163116