首页 > 其他分享 >STP

STP

时间:2024-09-18 11:01:51浏览次数:8  
标签:BPDU 端口 根桥 接口 stp STP

STP

背景

传统拓扑环境,设备与设备之间只存在单条链路进行连接,就会产生单点故障的问题,为了解决单点故障问题,进行冗余环境的部署,但是冗余环境又会产生很多问题,造成环路,环路中又存在其他的问题:广播风暴、帧的多个副本、MAC地址表不稳定等

STP作用

STP:生成树协议,解决环路存在问题

在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中某些接口进行阻塞,从而打破环路

STP工作于二层交换机

BPDU

STP交换机之间会交互BPDU报文用于STP计算

BPDU分为:配置BPDU、TCN BPDU

配置BPDU:STP进行拓扑计算的关键,环境刚开始/稳定后触发

​ 环境刚开始:所有设备都会发送配置BPDU

​ 环境稳定后:只有根桥设备会发送配置的BPDU

TCN BPDU:只在网络拓扑发生变更时才触发

桥ID:优先级+MAC地址,优先级越小越优 (默认为32768)

根桥:唯一、选举

​ 选举条件:桥ID小的成为根桥,比优先级->比MAC地址

在STP中以根桥为中心进行STP拓扑计算,最终计算出无环的拓扑(阻塞哪个)

根端口(RP):在每台非根桥交换机上进行选举的,只有一个(与根桥直接相连的接口)

​ 选举条件:到达根桥的开销最小->比较设备的桥ID->比较端口ID(端口优先级(默认为128)+端口号,越小越优)

指定端口(DP):在每条链路上进行选举的(根桥上所有 都是指定端口)

​ 选举条件:到达根桥的开销最小->比较设备的桥ID->比较端口ID(端口优先级(默认为128)+端口号,越小越优)

*阻塞端口:

cost(开销):

大小 开销
100M 19
1000M 4
10G 2
40G 1

STP接口状态

状态名称 状态描述 常见状态
禁用(Disable) 该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down 接口关闭或未启用STP
阻塞(Blocking) 该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU,但是会持续侦听BPDU,而且不能收发业务数据帧,也不会进行MAC地址学习 阻塞接口所处状态
侦听(Listening) 当接口处于该状态时,标明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习 阻塞下一个状态
学习(Learning) 当接口处于该状态时,会侦听业务数据帧(但是不能转发),并且在收到业务数据帧后进行MAC地址学习 侦听下一个状态
转发(Forwarding) 处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口的 根端口、指定端口的状态

接口选举

  1. 根桥:优先级>MAC
  2. 根端口:开销>桥ID(优先级+MAC)>最小端口号
  3. 指定端口:开销>桥ID
  4. 阻塞端口:剩下的端口

快速端口(portfast)/边缘端口

1s进入转发状态,一般用于连接终端设备的接口

全局下启用portfast默认会把access接口都置为portfast

思科配置

接口下启用portfast
int e0/1
spanning-tree port
全局启用portfast
spanning-tree portfast edge default

华为配置

接口下启用/关闭边缘端口
int g0/0/1
stp edged-port enable/disable
全局启用边缘端口
stp edged-port default

PVST/VBST

生成树拓展协议,实现一个vlan一颗生成树

思科配置
spanning-tree mode pvst 开启PVST(默认开启)
spanning-tree vlan 10 root primary/secondary 修改vlan10的主/次根桥为本台设备
spanning-tree vlan 10 priority 4096 修改优先级(必须是4096的倍数)
show spanning-tree (vlan 10) 查看所有生成树(vlan10)命令
华为配置
stp mode stp 设置stp模式
stp enable 开启stp
stp priority 0 设置优先级
display stp brief 查看stp

标签:BPDU,端口,根桥,接口,stp,STP
From: https://www.cnblogs.com/Iwakura-Lain/p/18418104

相关文章

  • DiscardOldestPolicy
    特点:当任务无法被线程池执行时,线程池会丢弃队列中最旧的未处理任务,然后尝试重新提交当前任务。使用场景:适用于对新任务优先级较高的场景,当线程池无法接受新任务时,会丢弃一些等待时间较长的旧任务,以便接受新任务。示例代码:importjava.util.concurrent.*;publicclassDiscardOldest......
  • 打造完美海报,从未如此简单——FastPoster 海报生成器助力您的创意之旅
    ......
  • 生成树协议(STP)
    一、目的与意义    当我们搭建网络的时候,如果仅采用单条链路进行数据传输,会存在单点故障。所以我们在工业网络中,为了提高网络的稳定性,会进行冗余设计,形成环网。它的好处是环网中的任何一处出现故障,网络仍然能够正常传输。但于此同时也产生一个问题,那就是会产生环路,因......
  • RustPython简单使用
    RustPython介绍同CPython,Jpython,PyPy一样,RustPython,是使用Rust语言实现的Python解释器,支持Python3语法。项目地址:https://github.com/RustPython/RustPythonRustPython真正方便的是可以编译成Wasm文件,可以直接在浏览器中使用,示例网站:https://rustpython.github.io/demo/RustP......
  • bestphp‘s revenge1
    进入这个页面又是令人激动的代码审计环节.不过再次之前呢先补充一些弥足珍贵的知识点. 前置知识点:call_user_func()call_user_func() 是PHP中的一个非常有用的函数,它允许你调用一个回调函数。回调函数可以是一个匿名函数(也称为闭包),或者是一个已经定义好的函数名(字符......
  • 掌握生成树 (STP、RSTP、MSTP) 最详细配置,轻松优化网络
    目录一.实验内容STP配置实验RSTP配置实验MSTP配置实验二.1)STP配置实验实验拓扑​编辑实验配置实验结果2)RSTP配置实验实验拓扑实验配置实验结果3)MSTP配置实验实验拓扑实验配置​编辑实验结果三实验总结一.实验内容1)STP配置实验2)RSTP......
  • vrrp+mstp
    1、网络拓扑图2、核心:vrrp知识点1)虚拟ip地址vrrpvrid1virtual-IP10.1.1.254虚拟地址为:10.1.1.254虚拟mac:0000-5e00-01xxxx表示组号,此实例中为012)虚拟默认优先级为100,范围在0-255vrrpvrid1priority120需改优先级为1203)延时切换,默认时间为0vrrpvrid1preempt-modetimerde......
  • restful @RequestParam 可选,服务中的mock方法使用
    @RequestParam是一个SpringMVC注解,用于将请求参数绑定到你的方法参数上。当你标记一个参数为可选的时候,你可以不提供这个参数,在这种情况下,Spring将会使用这个参数的默认值,或者如果你没有设置默认值,它会使用参数的类型的默认值(例如,对于一个int类型的参数,默认值为0)。要将@......
  • 生成树协议(STP:802.1D、RSTP:802.1w、MSTP:802.1s)
    在二层网络中,如果没有生成树协议,会带来哪些问题:1、广播风暴2、MAC地址表飘移3、重复数据帧接收回顾生成树有哪些术语:1、根桥为了破除环路,生成树网络首先要选举出一个首脑,头脑,首领。叫做根桥,也叫作根交换机2、桥IDbridge-id:由桥优先级(默认取值为32768,必须为4096......
  • 谈谈Spring中的BeanPostProcessor接口(转)
    原文:谈谈Spring中的BeanPostProcessor接口作者:特务依昂 一.前言  这几天正在复习Spring的相关内容,在了解bean的生命周期的时候,发现其中涉及到一个特殊的接口——BeanPostProcessor接口。由于网上没有找到比较好的博客,所有最后花了好几个小时,通过Spring的官方文档对它做了......