理解 RSTP
交换机MAC学习
拓扑,两台终端连接至同一台交换机,交换机为2层交换机,默认VLAN1 。使用PC1 ping PC2
查看交换机mac地址表
dis mac-address
PC1的MAC(5489-9821-0EA9)映射在交换机的G0/0/24端口
PC2的MAC(5489-98e1-0a25)映射在交换机的G0/0/23端口
有了这个映射条目 ,交换机就可以把接收的帧相互进行转发
此处还涉及到两个概念,一个叫广播,一个叫单播。所谓广播,既广而播之,单播为定向。
交换机加电,加载IOS后,MAC条目都为空。当PC1 ping PC2 时,交换机端口接收到包后就会发起广播,寻找PC2的MAC地址。我们在PC2就会看到广播包,PC2将信息返给交换机。通过这样一个问寻,就建立起了MAC地址列表。PC1 与 PC2 在以后的通信过程中就可以直接看到对方,而无需再进行广播。
环路
二层交换中会涉及到一个非常通用的概念,环路。即交换机产生了环路,环路会导致MAC学习混乱以及广播风暴产生 ,导致网络不可用。终其原理就是会在不同的端口学习到同一个MAC地址,导致交换机无法正常处理,就会反复的学习。无法到达终态,非常吃资源。
拓扑
两台交换机关闭STP,模拟环路。
sys stp diable
在console界面,最显著特征就是会有mac flapping提示,表示有环路存在
开启RSTP
RSTP 是STP的加版 ,需要设置主根。将SW01设置为主根
sw1配置如下:
stp enable stp mode rstp stp root primary
sw2 sw3都开启生成树
stp enable stp mode rstp
sw01 为主根
sw01,02,03 的端口状态如下,sw02端口有阻塞,如果环路中其它端口发生了变化 ,down掉,sw02的端口就会放开,保证链路的畅通。
STP 原理
概念
1、BPDU,桥接协议数据单元 ,用于存储生成树信息,并通过组播在交换机之间传递。BPDU传递的时间间隔默认为2S
2、Bridge ID,用于选举根交换机,由桥优先级和MAC组成。可配范围:0-65535
-------[CIST Global Info][Mode RSTP]------- CIST Bridge :0 .4c1f-cc05-4633
BID的规则 ,优先比较桥ID,桥ID越小优先级越高。如果优先级相同,则次比MAC地址,值越小优先级越高。
Port Cost,端口开销,华为说法,数据从端口发出时的开销,接收无开销。带宽越高,开销越小,带宽与开销成反比。开销值可以自定义(实验可以,但实际环境不建议,根据实际情况来决定)
3、Root Port,根端口,离根交换机最近的端口,到根路径开销最小。
根路径开销(root path cost),非根交换机到根交换机最小开销路径
4、Desinged Port,转发根交换机数据的端口
5、Alternate Port, 预备后补端口,实际上就是已经没有实际数据转发的端口,阻塞端口
端口状态
Forwarding 转发状态 ,正常学习MAC,正常的端口状态
Learning 只处理bpdu,不转发流量,但正常学习MAC
Discarding 丢弃状态,不转发数据流量 ,只接收bpdu信息
stp现在没有用的,5种端口状态基本了解即可
根桥选举
前提: 所有交换机的链路都相同,链路的带宽一致。
1>根桥选举
在SW01上执行了,stp root primary ,根优先级便设置为了0。优先级最高,那必定产生两个DP端口。
2>RP端口选举
根据RP端口定义,到根路径开销最小非根交换机的端口为root port。通过拓扑,我们可以查看到SW02的G0/0/1到根交换机的开销最小(直连) SW03的G0/0/2到根交换机的开销最小,选举为根端口。
3>选举指定端口、阻塞端口
现在只剩下最后一段链路,SW2和SW3。端口抓包ROOT PATH COST都一样,此处使用了20000的值。那比较桥ID,SW3的梆ID最小。优先级高选举为DP端口,另一侧则为ALER端口(discarding)
技巧:
根端口的选择:把自己放到非根桥交换机的位置,沿着每个端口可到达根桥,累加途经的带宽开销,开销最小的那个端口胜出,即是根端口。
指定端口的选择:把自己放在链路的中点,从链路的中点开始沿着两个不同方向的端口到达根桥,累计途经的带宽开销,开销最小的那个端口胜出,即是指定端口。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
数据结构与算法必知基础知识
原创公众号:bigsai 文章已收录在 全网都在关注的数据结构与算法学习仓库 欢迎star 前言 数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有程序=数据结构+算法这个等式存在。各个中间件开发者,架构师他们都在努力的优化中间件、项目结构以及算法提高运行效率和降低内存占用,在这里数据结构起到相当重要的作用。此外数据结构也蕴含一些面向对象的思想,故学好掌握数据结构对逻辑思维处理抽象能力有很大提升。 为什么学习数据结构与算法?如果你还是学生,那么这门课程是必修的,考研基本也是必考科目。工作在内卷严重的大厂中找工作数据结构与算法也是面试、笔试必备的非常重要的考察点。如果工作了数据结构和算法也是内功提升一个非常重要的体现,对于程序员来说,想要得到满意的结果,数据结构与算法是必备功力! 数据结构 概念 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 简言之,数据结构是一系列的存储结构按照一定执行规则、配合一定执行算法所形成的高效的存储结构。在我们所熟...
- 下一篇
利用bootstrap模态框+ajax对数据进行增删改
接上篇:1.数据库改动,添加外键,多对多model.py from django.db import models # Create your models here. GENDER = { ('male', '男'), ('female', '女'), } class User(models.Model): username=models.CharField(max_length=32,null=False) password=models.CharField(max_length=32,null=False) email = models.EmailField(null=True) name = models.CharField(max_length=20, null=True) tel = models.CharField(max_length=20, null=True) gender = models.CharField(max_length=20, choices=GENDER) birthday = models.DateTimeField(null=True) clas...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作