专栏首页云技术+云运维交换机成环故障分析

交换机成环故障分析

网络环路导致网络瘫痪或中断是我们数据中心运维工作中经常遇到的问题,但是在规模较大的网络环境中,这种故障常常具有较强的隐蔽性,让我们无法快速高效地处理。

一天下午两点多钟,服务台突然接到电话,说多个业务系统无法访问虚机。到了公司机房,发现网络设备流量异常,VC控制台多台ESXI突然断开,短信告警信息频发,部分VC和EXSI设备脱管。

故障描述

登录汇聚层交换机,发现某些端口流量异常,并且有报网关地址冲突。

故障排查

通过上面的检查,初步判端故障出现在网元部分。通过查看端口登记发现,出问题的设备主要集中在网元交换机2华为S3952上,于是来到7号机房,发现它与上联的网元汇总交换机Cisco 2960的级联端口存在故障。这下故障点找到了,初步认为可能是这条网线坏了或者是端口假死了这样的小问题。于是把网线重新插拔一下,然而故障依旧,重新换了一条网线,还是不能解决故障。

分别用网线把笔记本电脑与这两个级联口接上,发现Cisco交换机的级联口一直为Down状态,而华为交换机的级联口就可以正常的UP。怀疑是Cisco这个级联口存在故障,于是在Cisco交换机上找了一个空口并作了数据,这回将两个交换机连上,端口可用了。满以为这下可以解决故障了,但谁知没过多久,端口又Down掉了。

接下来又将网线换回原来的接口,并对该接口进行shut、no shut操作,端口可用了,证明端口没有问题。通过Console口查看思科交换机的日志信息,提示网络内存在环路。又仔细观察了一下交换机的端口状态,有频闪现象,短时间内华为S3952交换机的CPU占用率达到100%,Cisco交换机的端口立刻Down了。

故障处理

故障点终于找到了,接下来操作就简单了。通过对3952交换机各端口的流量情况进行查看,发现第14、15口的流量存在异常,而该端口所连的是IMS 3328交换机。于是将这两个端口shut掉,关闭后网络恢复正常。经机房人员确认,BSC和CE均正常了,RNC设备还不好使。又到二层机房的RNC交换机3560上查看,发现级联口Down掉了。由于有了这前面的经验,且网络环路已经消除了,通过对端口重启,彻底清除了故障。

故障分析

环路到底是如何产生的呢?事后经查,是工程人员在为新增AC设备时放线后,擅自将网线接到了交换机上。而AC设备尚未进行数据配置VRRP等数据。由AC 之间的心跳线与交换机在二层构成环路,而华为等交换机默认没有开启loopback-detection和受控,造成了本次的故障。

经查阅相关资料,发现思科交换机在默认状态启用了错误检测(其中就包括环路检测),当检测到网络出现环路的时候,会自动关闭该端口。本次故障中正是由于网元汇总的思科交换机及时关闭了产生的环路接口,才没有对MSC、MGW、HLR等核心网元设备造成影响。但是当网络环路消除后,该阻塞端口无法自动开启,还需手动进行端口重启。

经验总结

现在的网络为了安全性和稳定性,普遍采用了冗余备份设计,而操作不当很容易造成环路。那么如何避免网络环路的发生和快速高效地排查环路故障呢?主要来讲有以下四点:

⒈ 开启交换机的环路检测功能。

一般情况下,正规的交换机都支持端口的环回检测功能,但是某些型号的交换机该功能默认是关闭的,需要手动开启。本故障中,如果3328交换机开启环路检测后,只对本IMS交换机下的AC设备造成影响,而使BSC、RNC等重要网元不受干扰。

⒉ 对交换机暂时不用的端口全部关闭,并对Console口配置密码

这样,不但可以提高网络的安全性,还可以避免造成误操作。

⒊ 处理故障应该沿着自下而上的步骤排查。

先从物理层查起,然后是数据链路层,以此类推。尤其注重日志信息、相关资料及其他网络工具的运用等,切记不要过分迷恋经验,有时候经验会让您步入歧途。

⒋“三分技术,七分管理”,加强机房管理。

对进入机房的工程人员,在施工前,必须严格履行申报审批制度;施工时,要由专人随工陪同,并做好防护措施和应急预案。

补充:

破环后的网络优化

1. 部署破环协议

如果当前的环路问题是由于物理环路引入,且没有配置破环协议,请按照网络规划合理部署破环协议。以太网交换机常见的破环协议为STP/RSTP/MSTP、RRPP、SEP等。

2. 提升链路质量和可靠性

如果当前环路问题是由于物理链路质量不可靠,存在协议报文拥塞丢失导致超时临时环路,请检查链路,并更换光纤光模块。如果当前问题因为带宽不足导致协议报文被丢弃,需要扩充带宽或者使用聚合链路(4条上联未捆绑,每2条连一个汇聚交换机),提升链路可靠性。

3. 部署广播抑制提升网络健壮性

为了避免再次成环,成环后再次引入广播风暴,建议在环上设备端口下,部署广播抑制,按照经验,部署1%的广播抑制可以很好的防止广播风暴。

4. 部署QoS保证协议报文优先转发

5. 优化网络设计,提升网络可靠性

复杂组网可以通过分层控制,建议合理规划设计接入层、汇聚层。单层组网内设备数量较多时,建议按照逻辑组织和地理分布,划分不同的域。

6、做端口的MAC地址绑定,虚拟化环境漂移会麻烦

7、提高网关端口的优先级

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

推荐阅读

  • 如何将设计思维应用到精益初创公司的软件开发

    我们所说的设计思维,是指由 IDEO 公司的 Tim Brown 提出,并且正在改变全世界组织的设计思维,简称 DT。(译者注:IDDO,当代最具影响力的设计公司之一)

    Aceyclee
    Serverless无服务器云函数
  • InnoDB 事务加锁分析

    一般大家对数据库事务的了解可能停留在事务的ACID特性以及事务4种不同的隔离级别层面上,而对于事务 4 种不同隔离级别如何实现了解相对较少。

    2020labs小助手
    MySQLSQL数据库MVCMVCC
  • FutureTask 核心源码解析

    研究源码,一般我们都从整体以及实例先入手,再研究细节,不至于一开始就“深陷其中而"当局者迷".

    JavaEdge
    HTTPJava
  • 200行代码落地人脸识别开锁应用

    2019年国庆,帮朋友实现了一个人脸识别进行开锁的功能,用在他的真人实景游戏业务中。几个月来运行稳定,体验良好,借着这个春节宅家的时间,整理一下这个应用的实现过程。

    高树磊
    人脸识别图像处理
  • 滑动验证码攻防对抗

        在业务安全领域,滑动验证码已经是国内继,传统字符型验证码之后的标配。众所周知,打码平台和机器学习这两种绕过验证码的方式,已经是攻击者很主流的思路,不再阐述。冷渗透介绍的是一个冷门的绕过思路和防御方案。这些积累,均来自于实战之中,希望有用。

    周俊辉
    HTTP网络安全安全网站
  • 程序员进阶必读,万字总结Mysql优化精华篇

    price decimal(8,2)有2位小数的定点数,定点数支持很大的数(甚至是超过int,bigint存储范围的数)

    程序员内点事
    全文检索缓存SQL数据库Python
  • 运维转型 | 运维人不再只是“救火英雄”

    各行各业都开启了数字化转型的进程,运维团队在这种时代的浪潮中又该何去何从?我在帮助一些企业落地了运维技术平台之后,开始反思这个问题,并将所思所想整理成本篇文章。

    嘉为科技
    企业运维自动化云计算
  • WEB开发常见的安全漏洞和解决思路

    SQL注入时web开发中最常见也是危害性最大的安全漏洞,SQL注入攻击可能会导致 服务器故障,数据泄漏,数据被恶意删除等等严重后果。

    windwei
    SQLHTTPhttps安全漏洞PHP
  • 详解Winograd变换矩阵生成原理

    文本首发知乎:https://zhuanlan.zhihu.com/p/87516875

    Ldpe2G
    编程算法
  • Linux网络性能优化相关策略

    1. rx-checksumming:校验接收报文的checksum。

    glinuxer
    Linux

扫码关注云+社区

领取腾讯云代金券