由网络环路引发的思考
2020-11-11山东何钰
■ 山东 何钰
编者按:本文通过笔者实际遇到的网络环路故障经历,对该故障问题进行了进一步延伸和探讨,以提醒网络管理人员对类似问题处理方法的总结。
网络环路在日常网络运维中比较常见,它的出现通常会给整个网络带来极大的危害。在出现环路后,我们多采用断开部分网络连接,查看交换机设备告警信息等方法来解决。这些处理问题的思路都挺好,对解决问题、排除故障都有很大的帮助。
那么故障出现一次后,我们是不是需要做点什么,来预防环路的产生?或者在环路未出现时是否能够采取行动,以避免出现网络震荡?回答是肯定的。接下来我们将通过一个案例来详细介绍一下如何给网络打“预防针”。
故障现象
近期笔者单位频繁有同事报修,反映网络不正常,主要表现在网络时好时坏。
故障分析
得知基本的网络故障后,我们立刻着手开始排查。首先我们通过Ping命令发现电脑主机到网关(BRAS)出现间断性丢包现象,然后登录到楼层的交换机查看日志告警,出现loopback关键字,这就提示我们,网络中出现了环路。
故障解决
对于网络环路根据以往的网络经验,我们通常先根据交换机的日志告警信息,从出现环路的端口往下查。基本的思路就是先断开出现告警的端口,然后将有嫌疑的端口逐个恢复,通过这样一番排查,网络就会恢复正常。
故障总结
通常情况下,这个时候就可以总结一下网络故障。但是作为网络运维人员,我们是不是应该根据这个故障的出现和解决,来引发自己的一番思考呢?也就说是网络故障出现并不可怕,可怕的是你不知道对手的套路,需要做到“知己知彼,方能百战不殆”。
接下来我们先了解下环路是怎么产生的。环路的产生有很多原因,最常见的就是错误地将一根网线的两个水晶头连接到了同一台交换机的两个端口上,或者两台交换机互联出现了物理的环。这样往往会导致数据来回转发出现网络拥塞,进而出现网络故障。
对于此类故障,通常出现在网络调整或者重新组网的时候。这样就需要我们特别留意,在网络新建、调试和涉及到传输介质(网线、尾纤)调整时需要贴好标签。贴上标签看似一个很简单的举动,它不但是网络规范的要求,还为日后故障的排除提供了很好的便利条件,同时在一定程度上也能避免因为网线的错误连接而引起的环路故障。
除了上面贴好标签的办法外,我们还可以使用VLAN来划分不同广播域,来最大程度减小环路带来的危害,同时也有利于故障的排查。最后我们还可以通过在交换机上做好日常预配置来预防环路的发生。目前的二层交换机大多支持环路检测功能,下面我们以市面上的某品牌交换机为例,讲解一下交换机环路检测功能的配置方法。
首先需要在全局模式下开启环路监测功能,具体命令为:
loopback-detect enable
//全局开启环路检测
接下来在每个端口下开启环路检测功能,同时定义一下出现环路的动作。通常该动作有关闭和阻塞两种选择,这里我们选择的是关闭端口,具体的配置命令是:
interface Gigabit Eth ernet0/0/1
//进入端口
loopback-detect ena ble
//使能环路检测功能
loopback-detect act ion shutdown
//设置发生环路后采取关闭端口的动作
这里值得一提的是,环路检测的命令通常在access端口下生效,那么在trunk端口下怎么办呢?
在trunk口下也有办法,即检测每一个通过该端口的vlan,命令如下:
loopback-detection per-vlan enable
//使能环路检测每一个VLAN功能
通过上面的配置,我们可以很好地依靠交换机自身的功能来预防环路,并且依靠上面的命令,我们可以将某一个端口进行关闭。那我们怎么才能提前知道故障端口呢?
这里就需要交换机的网管软件来告诉我们,以便通过告警信息的浏览或者告警声音来提醒网管人员尽快处理。
这里还有一点需要补充一下,在日常网络运维中,我们经常为了节约成本购买集线器来使用。其实笔者认为集线器可以在网络末端接入层使用,不建议将它使用在汇聚层,而应当使用二层交换机。
退一步讲,最起码在某一个汇聚层有一台可网管且支持二层协议的交换机,这样才能配置一些命令来实现环路的监测,以利于我们尽早发现故障。
以上我们通过一个网络故障的处理,引发了我们对网络环路的思考。作为网络运维人员就是要为网络多想一点,从整个网络架构的安全稳定出发,充分利用设备的功能,加以可执行的命令,开启设备的网络环路监测功能。这样就可以给网络提前打上“预防针”,以避免网络出现故障进而引发网络震荡。