迪普交换机清空配置_交换机环路详解

c137b6e40394ef304b933809b71fe559.png

The more you know the more you know you don't know

背景

近期在交换机配置中发生了一次接线错误导致交换机环路,从而引发广播风暴的一个例子。所以特意花时间了解一下交换机产生广播风暴的原理,并整理了此篇文章,一来可以梳理自己的知识,二来也希望能通过此文章帮助到你。

01

交换机正常转发请求过程

在搞清楚广播风暴之前,需要先梳理一下在二层网络世界中,数据包是如何被转发的。

正常情况下的网络接线图

298bd1a26da30b22cff7aaf4c8301105.png

访问流程图

a4f2ea21a92b41be605d470a45e58626.png

访问流程详解

  1. Core Switch收到数据包后,首先查询目的IP是否在arp表中缓存
  2. 若被缓存,则直接将请求转发到对应端口
  3. 若未被缓存,则发起arp广播,问询全部端口
  4. 若服务器收到该请求,则查询是否为本地IP,若是则响应,若不是则直接丢弃该报文
  5. 若是其他交换机(My Switch)收到请求后,先查询是否有arp缓存,若没有,则进行泛洪(将请求转发给除接收口外的其他全部端口)
  6. My Switch连接的服务器收到请求后,同第四步
  7. 交换机收到请求后,将信息缓存后回应该请求

细节

核心交换机收到的响应请求端口为端口40(核心与接入互连在核心端的端口),mac地址为Server的网卡Mac地址

接入交换机收到的响应请求端口为端口13(接入与server互连,接入的端口),mac地址为Server的网卡Mac地址

02

交换机发生环路时细节

异常接线图

06b6b2b27a25702ff7fdd79104c83e47.png

访问流程图

70538727fc36fdee72e6967f5915b2a5.png

发生环路的细节

当核心和接入两个交换机通过两根线相连时,核心交换机发起arp广播时,先由CW1发送给接入的SW1端口,接入交换机收到请求后,又通过SW2端口泛洪回了核心交换机。于是发生了死循环,导致广播风暴。

03

QA

问题1:交换机泛洪指的是什么?

二层交换机收到广播包后,将该请求转发至除接收口外的其他全部端口,在本例中,接入交换机是不会通过SW1端口将广播请求转发给核心交换机

问题2:如何发现交换机环路?

  1. 网络延迟增大。交换机负载增高
  2. 若两交换机之间有两根线互连,则通过交换机端口信息可发现两个端口流量正好相同
  3. 通过抓包可发现大量的广播包
9256b4629df130c2a7ac2a77e5c8df15.png

问题3:如何避免交换机环路?

  1. 划分vlan(将两个互连端口分到不同的vlan下)
  2. 交换机端口聚合(将两个端口认为是一个端口)

问题4:为什么一个广播请求导致的交换机环路就能使得网络瘫痪?

因为虽然单个请求量小,但是在交换机高速运转下,也会占用非常多的局域网资源。交换机负载被迅速吃光

问题5:arp表的过期时间默认是多少?

交换机arp表过期时间正确的应答默认20分钟过期,非正常的应答默认3分钟过期(例如无人应答的情况)

问题6:如果一直有正常请求,是否还会更新ARP表?

不会,除非缓存过期,更新ARP表有以下几种情况

  1. 主动发起arp广播,收到对应主机应答时(清空arp缓存、缓存到期等情况)
  2. 收到其他人的广播请求,将源IP源Mac信息更新到本地arp表

问题7:如果mac地址发送改变,交换机如何得知?

mac地址发送改变时,需要重启网卡并通过免费arp广播的方式通知局域网内所有主机更新arp缓存,此时交换机也会更新自己的arp缓存,若该广播交换机未收到,并且该网卡从未向外界发送过数据包,则交换机会一直将数据转发到错误的端口上,导致有损

总结

导致交换机环路的原因很简单,无非就是两个交换机通过两根网线连接后导致的循环转发,但如果想要知道事情是如何发生的,则需要深入了解网络原理,以及数据转发时的细节,正是这些原理和细节的理解,才能在下一次出现相同的问题时,快速定位到问题的root cause,并能举一反三。

6d2b725d8c5b421d6b7b87ead8592871.png

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

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

相关文章

前端学习(342):进制只能介于2-36之间Uncaught RangeError: toString() radix argumen

The error is: Uncaught RangeError: toString() radix argument must be between 2 and 36 Just trying to format the date 只能介于2-36之间

1400协议是什么和28181区别_1400张拆解案例,够你PPT拆解学习好几遍了!

本文作者:执生若梦简介:「拆P教室」小伙伴、个人公众号「君梦幻灯」指导:优卡优卡大大前段时间开启了一个新栏目,图解计划。拆解一张图片,向其中学习PPT制作技巧。我一直在收集音乐banner图,现在已经达到了…

【算法设计与分析】13 分治策略的设计思想

算法中很多方法都是可以采用分治策略进行设计与优化,那么什么是分治策略?如何使用分治策略进行算法的设计与分析? 文章目录1. 分治策略的基本思想1.1 二分检索的设计思想1.2 二分归并排序的设计思想1.3 Hanoi塔的递归算法2 小结1. 分治策略的…

字段 新增hive_Hive分区表 | 每日五分钟学大数据

数据分区的一般概念存在已久。其可以有多种形式,但是通常使用分区来水平分散压力,将数据从物理上转移到和使用最频繁的用户更近的地方,以及实现其他目的。Hive中有分区表的概念。我们可以看到分区表具有重要的性能优势,而且分区表…

【算法设计与分析】14 分治算法的一般描述和分析方法

本文主要描述分治算法的一般描述和分析方法。衔接上一篇文章:【算法设计与分析】13 分治策略的设计思想 文章目录1 分治算法的一般性描述1.1 分支算法的时间分析1.2 两类常见的递推方程与求解方法2 总结1 分治算法的一般性描述 设分治算法为:Divide-and…

呼呗电销机器人_为什么企业销售电销都用电销外呼智能机器人

电销行业“痛点”明显,成为企业发展桎梏在电销企业中,运营成本占据了很大的资金比例,呼叫中心搭建和后期维护、销售人员的薪酬、培训、学习成本等都需要大量的投入,导致企业发展后劲不足。挂断、拒接常有,谁来拯救电销…

知识管理系统Data Solution研发日记之十二 网页数据抓取Fetch,呈现Render,导出Export...

这篇文章是对第四篇文章《知识管理系统Data Solution研发日记之四 片段式数据解决方案》的补充,提供一套完整的解决方案。请先阅读那一篇文章来了解它的原理。 Rule Editor抓取数据 这里,主要的工作是设定目标地址,正则表达式规则。我生活在深…

【算法设计与分析】15 分治策略:芯片测试

上一篇文章学习了【算法设计与分析】14 分治算法的一般描述和分析方法 文章目录1. 芯片测试1.1 一次测试的过程1.2 如何测试一块芯片的好坏1.3 蛮力算法1.4 分治算法设计思想1.41 分治算法的正确性证明1.42 时间复杂度分析2. 总结本篇文章借助具体的例子来学习分治策略。这个例…

批量 材质 调整_游戏图形批量渲染及优化:Unity静态合批技术

作者:枸杞忧天(本文首发于公众号“偶尔学学Unity”,文章仅为作者观点,不代表GWB立场)最近在准备公司的技术分享,主题是入门批量渲染,想着反正也总结了,不如充几篇博客吧,也算显得没有那么半途而…

【算法设计与分析】16 分治策略:快速排序(快速排序的时间复杂度计算)

上一篇文章学习了:【算法设计与分析】15 分治策略:芯片测试 文章目录1. 快速排序的基本思想1.2 时间复杂度的计算1.21 最坏情况时间复杂度计算1.22 最好情况时间复杂度1.23 平均时间复杂度计算2 总结1. 快速排序的基本思想 用首元素 x 作划分标准&#…

的run窗口不显示_「玩转deepin」如何安装VirtualBox增强功能使得deepin全屏显示?...

在Windows上通过Virtualbox安装deepin深度操作系统,安装完成后,为了让deepin可以在virtualbox中全屏显示,需要安装增强工具,但是不少同学点击安装增强工具后会出现无法安装的情况。在【设备】中点击【安装增强功能】时&#xff0c…

掘金浏览器插件安装图文教程

本文介绍如何安装掘金chrome插件: Chrome插件推荐 2018-02-27 21:53 chrome插件网近日推荐一款设计师开发人员人手必备的一款插件:掘金插件。有网友留言给笔者说希望整理出一套掘金插件详细的安装步骤。于是就有了今天的图文详解掘金插件安装步骤。第一…

【mysql技术内幕1】mysql基础架构-一条SQL查询语句是如何执行的

文章目录1 一条SQL查询语句是如何执行的2 mysql体系结构3 InnoDB存储引擎4 总结1 一条SQL查询语句是如何执行的 ​ 通常我们使用数据库,都是将数据库看成一个整体,我们的应用与数据库完全就是通过SQL语句进行交互。大多数开发者很少去了解数据库的内部实…

session实现机制_如何理解php session运行机制

php session运行机制就是客户端将session id传入到服务器中,服务器再根据session id找到对应的文件并将其反序列化得到session值,然后保存的时候先序列化再写入今天将要分享的知识点是PHP中的会话运行机制,对于熟悉PHP的开发者来说并不陌生&a…

【MySQL原理解析】01. 一条SQL查询语句是如何执行的

这是【MySQL原理解析】的第一篇文章,MySQL我看了很多的书与教程,对其原理有一定的理解,一直想写一系列的文章来把MySQL的原理给讲清楚,一直没有时间写,今天算是个开头吧。万事开头难,咱们先破了这个开头&am…

【转载】MOS开关(verilog)

MOS开关 一. MOS开关 1. NMOS 源极(d)接Gnd 一般情况下,可认为晶体管受栅极(g)电平VG的控制(control). 1). VGH,源极(s)与漏极(d)接通; 2). VGL,源极(s)与漏极(d)断开. 源极(s)与漏极(d)接通, 则漏极(d)被下拉到Gnd. 2. PMOS 源极(d)接VDD 1)…

【Linux进程、线程、任务调度】二 fork/vfork与写时拷贝 线程的本质 托孤 进程睡眠和等待队列

学习交流加(可免费帮忙下载CSDN资源):个人微信: liu1126137994学习交流资源分享qq群1(已满): 962535112学习交流资源分享qq群2(已满): 780902027学习交流资源…

用Log4Net来记录系统的日志信息

[http://www.cnblogs.com/xhwy/archive/2011/11/25/2263495.html] 几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。 经验表明…

扩展插件_Adobe扩展工具插件系列

Adobe系列软件相信大家都已了解到其功能的强大,除了软件之外Adobe系列的插件的功能也是不可忽略的。今天给大家分享的几款Adobe系列超强PS扩展工具,都是一些摄影师、设计师经常用的到的,可以提升不少工作效率,大家千万别错过哦&am…

【Linux进程、线程、任务调度】三 CPU/IO消耗型进程 吞吐率/响应 SCHED_FIFO算法与SCHED_RR算法 SCHED_NORMAL算法和CFS算法 nice与renic chrt

学习交流加(可免费帮忙下载CSDN资源):个人微信: liu1126137994学习交流资源分享qq群1(已满): 962535112学习交流资源分享qq群2(已满): 780902027学习交流资源…