网络突发环路,原来可以这么解决啊

news2024/11/29 18:43:49

大家好,我是老杨。

我相信,任何一个网工都遇到过网络环路,遇到这个情况,你的应对方法是什么?

我了解到大部分的初阶网工,最开始都只能用拔插网线和重启观测法来排除回路。

简单来说,就是先给交换机断电然后再接上电源,认真观察每个端口的亮灯情况。

这个方法,你需要注意的是,一定要观察到第一个开始快速闪烁的端口,那个端口就是有环路的端口,如果没有看清楚,重新断电后再进行观察,直到找到环路端口。

这种方法经验显得尤为重要,且定位的一般都是二层环路,三层环路的问题是很难解决的,费时费力,效率不高。

网络环路问题对企业网络存在很大的威胁,它会造成网络里的广播风暴,耗尽交换资源,造成交换机瘫痪,最终导致的就是直接的经济损失。

今天我们就来聊聊,有什么高效的办法,能一键搞定环路问题。

今日文章阅读福利:《 交换机在江湖 (高清pdf)》

作为华为官方持续连载中的电子期刊,它能提供大量真实、详细的配置案例,以及丰富的维护经验和秘笈。

私信老杨,发送暗号“江湖”,即可获取该份网工交换机秘籍。

01 到底什么是网络环路?

网络环路一般分为四种,分别是物理环路、网络自环、逻辑环路和下游设备自环。

物理环路就是指,如果2台或以上的交换机用网线连接对方,那就形成了一个物理环路。

设备自环是指,比如交换机的两个端口,用一个网线连接,就形成了一个自环,这种自环spanning tree也可以破环。

逻辑环路呢,可以用一段话来描述:

A路由器想发流量给C,A的路由表显示,B可以到达C,A把流量发给B,B接收到流量,查询自己的路由表,发现到C的最优路径是A,于是把流量又发给A……

就这样你来我往,反反复复,直到TTL=0才丢弃罢休,这个就是逻辑环,虽然A与B之间只有一个物理线路,但是由于路由协议的问题,发生了环路。

总而言之,交换机因为其flooding转发机制,无法容忍任何环路的存在,所以需要借助spanning tree来进行防环路保护机制,spanning tree无法防由于网线、网卡故障,所以才会造成环路。

02 为什么要配置环路检测?

网络连接错误或配置错误,都容易导致二层网络中出现转发环路,使网络设备对广播、组播报文进行重复发送,这样就会造成网络资源和设备硬件资源的严重浪费,将会造成设备卡顿运维缓慢甚至导致网络瘫痪。

为了能够及时发现二层网络中的环路,避免对整个网络造成严重影响,需要提供一种检测机制,使网络中出现环路时能及时通知用户检查网络连接和配置情况,这种机制就是环路检测机制。

当网络中出现环路时,环路检测机制通过生成日志信息来通知用户,并可根据用户事先的配置来选择是否关闭出现环路的端口。

设备通过发送环路检测报文,并检测其是否返回本设备以确认是否存在环路,若某端口收到了本设备发出的环路检测报文,就认定该端口所在链路存在环路。

一般,不要求收端口和发端口为同一端口。

总而言之,二层环路较易产生,需要运行破环机制经过计算阻塞某些端口实现预防,且由于二层设备的处理行为导致了后果特别严重。

三层环路不容易产生,由于三层设备的处理行为及 TTL 机制,所以后果并不十分严重。

且每种路由协议都有比较完善的防环机制,三层环路比较容易发生在特殊的场景下,如双点双向路由发布。

03 当网络设备检测到有环路怎么处理?

因为网络时刻都在变化中的,所以环路检测是一个持续进行的过程。

它以一定的时间间隔发送环路检测报文,来确定各端口是否有环路以及存在环路的端口上是否已消除环路等,这个时间间隔就称为环路检测的时间间隔。

当系统检测到端口出现环路时的处理方式,有以下几种方式:

1. Block模式

当系统检测到端口出现环路时,不仅会生成日志信息,还会禁止端口学习MAC地址并将端口阻塞掉(我们知道端口不能学习MAC地址也就是这个端口无法使用了)

2. No-learning模式

当系统检测到端口出现环路时,不仅会生成日志信息,还会禁止端口学习MAC地址

3. Shutdown模式

当系统检测到端口出现环路时,不仅会生成日志信息外,还会自动关闭该端口,使其不能收发任何报文被关闭的端口将在shutdown-interval命令所配置的时间之后自动恢复。

默认情况下系统不采用上述任何一种模式(需要配置),当系统检测到端口出现环路时,只生成日志信息,不对该端口进行任何处理。

要注意的点,我也给你整理出来了:

1. 在Block模式和No-learning模式下

当设备检测到某端口出现环路后,若在三倍的环路检测时间间隔内没有再收到环路检测报文,就会认为这个端口上的环路已经消除了,会自动将该端口恢复为正常状态,并通知给用户。

2. 在Shutdown模式下

出现环路的端口直接被系统关闭,然后在shutdown-interval命令所配置的时间之后自动恢复正常。如果此时环路尚未消除,还是能接收到环路检测报文,这个端口将再次关闭,然后恢复……如此往复直至环路消除

04 环路检测功能开启及配置(以H3C为例)

system-view[H3C]loopback-detection enable

注:全局开启环路检测功能(默认是关闭的)

system-view[H3C]interface GigabitEthernet 1/0/1 #进入需要开启环路检测的端口

[H3C-GigabitEthernet1/0/1]loopback-detection enable #开启端口环路检测功能

system-view[H3C]loopback-detection interval-time 60 #配置环路检测报文的发送间隔(5-300秒)

注:间隔时间越长消耗的系统性能越就越少,间隔时间越短环路检测的灵敏度越高,是系统资源消耗也高,所以一般都不更改(默认30秒)

system-view[H3C]interface GigabitEthernet 1/0/1 #进入需要开启环路检测的端口

[H3C-GigabitEthernet1/0/1]loopback-detection action ? #no-learning No-learning modesemi-block Semi-block modeshutdown Shutdown mode[H3C-GigabitEthernet1/0/1]

注:在端口上配置端口环路处理模式(根据设备类型不同有稍微差别)

配置完环路检测的配置后,我们可以使用以下命令查看设备是否存在环路:

display loopback-detection

以上就是环路检测的内容及配置,原理比较简单,配置更简单,就几条命令。环路在网络实际环境中,尤其是规模比较大、比较复杂的网络中是很容易出现的,所以环路检测最好是配置上,一般都会直接配置发现环路直接shutdown端口。

当你发现同一个lan中的多用户网络很卡,甚至是时断时续,你就要注意了,很可能是有端口环路产生。

当你远程设备远程不上,但是设备在线时,或者通过console口登录设备,发现设备很卡,那么我们也要注意了,是不是有端口环路。

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528148.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

下一个超级生态节点openGauss ——鲲鹏开发者峰会2023 openGauss技术专题回顾

摘要 2023年5月6日,一场面向计算产业开发者的技术盛会“ 鲲鹏开发者峰会2023 ”在东莞松山湖正式拉开帷幕,在其中的“openGauss技术专场”上,openGauss相关专家和伙伴围绕openGauss社区进展、openGauss5.0版本技术创新,基于op…

前端开发之函数式编程实践 | 京东云技术团队

作者:京东科技 牛志伟 函数式编程简介 常见应用场景 1、ES6中的map、filter、reduce等函数 [1,2,3,4,5].map(x > x * 2).filter(x > x > 5).reduce((p,n) > p n);2、React类组件 -> 函数式组件hooks、Vue3中的组合式API 3、RxJS、Lodash和Ramd…

震惊!百度搜索地位崩塌,微软Bing和俄罗斯Yandex上升

我是卢松松,点点上面的头像,欢迎关注我哦! 中国的搜索引擎市场正在发生巨变。据美国一家网站流量检测机构StatCounte显示:从2022年到2023年,百度的搜索流量份额急剧下降至39.64%,而微软的Bing和俄罗斯的Ya…

Spring Boot集成ShardingSphere配合dynamic-datasource进行数据源切换 | Spring Cloud 49

一、前言 通过以下系列章节: Spring Boot集成ShardingSphere实现数据分片(一) | Spring Cloud 40 Spring Boot集成ShardingSphere实现数据分片(二) | Spring Cloud 41 Spring Boot集成ShardingSphere实现数据分片&…

沉痛悼念互联网[云原生领域]技术大牛----左耳朵耗子(陈皓老师)

陈皓老师,网名"左耳朵耗子",是一位在互联网界享有盛誉的伟大人物。他的一生充满了创造力、智慧和奉献精神,对技术领域做出了卓越的贡献。 陈皓老师 为什么网名叫 左耳朵耗子? 陈皓老师之所以取名"左耳朵耗子"&#xff…

HDMI接口说明

目录 一、概述 二、信号说明 三、信号定义 四、握手过程 五、调试步骤 一、概述 HDMI ,High-Definition Multimedia Interface,即高清晰度多媒体接口,是电脑、电视等相关显示设备的接口。 二、信号说明 HDMI分为Source,Sink.Source即信号源,为HDMI…

网络基础协议

1、网络协议/TCP/UDP/HTTP 网络协议是指在计算机网络中,不同设备之间进行通信时所使用的规则、约定和标准。常见的网络协议包括TCP协议、UDP协议、HTTP协议等。 TCP协议是一种面向连接、可靠的传输层协议,它提供了可靠的数据传输和数据包检错能力。在网…

新星计划2023【网络应用领域基础】——————Day3

常见的网络基础介绍 前言 我们系数了网络发展的历史和一些常见的协议,以下文章我将详细的讲网络层协议以及用拓扑来解释单臂路由和vlan的划分。结尾将会额外的额解释常见的抓包。 目录 常见的网络基础介绍​ 前言 我们系数了网络发展的历史和一些常见的协议&…

蓝桥杯拿到一等奖,并分享经验

昨天和群里的小伙伴在群里聊,有的小伙伴竟然说蓝桥杯一等奖没有含量,我也是醉了! 就像去年看了一个号主写的:研究生遍地都是! 放眼全国14亿人口,别说研究生了,本科生占比有多少? “蓝桥杯是我人生中得到…

移动硬盘中剪切的文件能恢复吗?可尝试这四种方法找回

在使用移动硬盘时,我们所存储的数据很容易出现意外丢失、被删除、受到病毒感染等方方面面的问题。而如果你使用的是剪切操作,而不是复制操作来移动文件,那么在操作过程中很容易因为各种原因导致数据丢失。如果你遇到了这种情况,那…

持续熬夜爆肝,炸裂的OPEN AI 快速开发平台后台管理同步上线啦 ,完全免费聊天主题也即将上线

持续几天几夜晚,不眠不休的项目开发,终于完成第一版整 OPEN AI 快速开发平台API 和大家见面了,这次包含后台管理,用户开发者入住,和完整的接口文档 OPEN AI快速开发平台这里进入 连接上一篇文章 爆肝一周&#xff0…

【JAVA程序设计】(C00134)基于SSM(非maven)的在线餐饮管理系统

基于SSM(非maven)的在线餐饮管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 ssm在线餐饮管理系统 本项目包含管理员与普通用户两种角色; 管理员角色包含以下功能: 管理员登录,查看销售报表,餐桌管理,菜式管理,菜品…

【新星计划】数据库 CTE 初识

【新星计划】数据库 CTE 初识 CTECTE 语法 CTE 递归CTE 递归语法递归示例递归机制 几个CTE 递归的示例阶乘斐波那契序列无限级分类路径 rand 函数小结 CTE CTE指的是公共表表达式(Common Table Expression) 在日常我们使用数据库的时候,通常在一些数据汇总计算的时候…

京东商品详情数据接口采集技术,支持整站数据高并发采集

一、如何通过手动方式查看京东商品详情页面的数据 1.京东商品详情 API 接口(item_get - 获得京东商品详情接口),京东API 接口代码对接可以获取到宝贝 ID,宝贝标题,价格,优惠价,掌柜名称&…

节卡率先冲刺科创板,协作机器人商业化正当时

日前,上交所新增受理节卡机器人股份有限公司科创板上市申请,该公司拟募集资金7.5亿元,国泰君安任保荐人。此前,节卡机器人共完成6轮融资,总融资额超14亿元。按照最后的一轮融资计算,公司引入软银愿景基金二…

如何在云上部署java项目

最近博主接了一波私活,由于上云的概念已经深入人心,客户要求博主也上云,本文将介绍上云的教程。 1.如何选择服务器 这里博主推荐阿里云服务器,阿里云云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,助您降低 IT…

缓存三种方式

缓存能解决的问题 提升性能 绝大多数情况下,select 是出现性能问题最大的地方。一方面,select 会有很多像 join、group、order、like 等这样丰富的语义,而这些语义是非常耗性能的;另一方面,大多 数应用都是读多写少&…

阿里出版的这份Spring Security源码手册,狂揽GitHub榜首

写在前面 自从 Spring Boot、Spring Cloud 火起来之后,Spring Security 也跟着沾了一把光! 其实我一直觉得 Spring Security 是一个比 Shiro 优秀很多的权限管理框架,但是重量级、配置繁琐、门槛高这些问题一直困扰着 Spring Security 的开…

【保姆级教程】如何用Rust编写一个ChatGPT桌面应用 | 京东云技术团队

为什么我们需要一个桌面应用 原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上“继续”,需要收藏一些很酷很实用的prompt… (首先我假设你是一名如我一样习惯用IDEA开发的java仔) 为什么是用R…

孙鑫VC++第四章 1.简单绘图-MFC消息映射机制

1. MFC消息映射机制 接下来将剖析MFC消息映射机制,探讨发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的处理函数进行响应的。另外,还将讲述“类向导”这一工具的运用,讨论设备描述表及其封装类CDC的使用&#x…