STP生成树协议在二层环境中的应用
一 STP简介
1、单词:
rstp快速生成树协议
filter过滤
protection保护
2、作用:
通过阻塞特定接口来防止二层交换环路,从而做到既可以提高网络可靠性的同时又能避免环路带来的问题
3、和TTL的区别:
TTL是经过三层设备减一,二层设备是不减的。如果为了避免二层交换机环路需要使用STP技术,来阻塞特定接口防止环路。
4、交换机环路带来的问题
1、广播风暴——导致资源大量转发广播包,降低了转发用户数据的效率
2、mac地址表不稳定——影响网络稳定性
5、注意
1、在华为的智能交换机,开机默认自动运行stp,运行stp的升级版mstp技术,默认就开启了
2、undo stp enable禁用stp。目的实验观察广播风暴
3、ping 192.168.1.255就是发送广播包
4、如果环路,只有通过断开链路才能停止arp一直发送广播
5、mac地址表震荡。
交换机会对源mac地址进行映射,当二层产生环路时,携带mac地址的便会映射到其他接口,一直循环,所有mac地址的映射表一直在变。
二、stp种类介绍
STP :传统STP
RSTP :快速生成树协议 rapid stp
MSTP : 多生成树协议 multi stp(真对多vlan)
注意:rstp向下兼容stp。如果交换机中有stp和rstp,那么将使用stp。
三、STP的工作原理
1、整体思路
先选出哪些接口不被阻塞,然后剩下的接口全部被阻塞。
2、规则
2.1、
首先整个网络(广播域)选举根桥(根交换机),桥ID较小的交换机当选为根桥。桥ID=桥优先级 + 桥mac
注意:桥优先级默认是32768,mac地址是16进制的a相当于10,根桥上的接口多少DP(designated ports指定端口)
2.2、
非根桥上选择根端口,到达根桥最近的端口选为根端口RP(root port)
2.3、
每条链路,有且只有一个指定端口,桥ID较小的交换机端口当选为指定端口,例如下图有三条链路,那么每条链路得有一个指定端口,而且只能有一条。
2.4、
剩下的端口将全部被阻塞,阻塞端口称block port

3、stp查看指令
1、dis stp查看桥ID

2、dis stp brief 查看stp端口的状态

端口角色(role):
RP(根端口) DP(指定端口) block(阻塞端口)
端口状态(state):
discarding(丢弃) forwarding(转发)
4、修改桥ID优先级:
方法一:stp priority 4096(必须是4096的倍数)
priority优先级

方法二:stp root primary
primary(主要的)
交换机会自动降低优先级shi自己成为根桥。通常企业里面将核心交换机优先级设为最低。
stp报文(BPDU:bridge protocol data unit):每隔两秒自动发送,携带优先级和桥mac地址。
四、RSTP对STP的改进
改进原因:STP收敛时间较慢,通常是30秒,特殊情况下要到50秒,难以适应网络中业务的需要,(例如:PC断电后重新启动需要等待大概30秒左右才能发包,这就是STP收敛慢造成的,所以可以让连PC的接口不参与生成树计算)为了提高STP收敛速度,IEEE提出了RSTP,改进如下
1、简化了端口状态
由五种disable、blocking、listenning、learning、forwarding简化为三种discarding——learning——forwarding
2、细化了端口的角色
DP和RP和和传统STP一样,对于阻塞端口,细分为alternate(预备端口)和backup(备份端口),分别是对RP和DP的备份。另外引入了一类特殊Designed端口——edge边缘端口(可以立即forwarding),和主机或其他终端设备相连的端口。
五 、STP edge-port
1、
[] stp edged-port enable将所有接口配置成边缘端口
[] stp edged-port disable将所有接口配置成非边缘端口
也可以进入接口下进行配置,只将本接口配置成边缘或非边缘端口
2、边缘端口与主机和其他终端设备相连。配置边缘端口后,该端口便不再参与生成树计算,从而加快网络拓扑收敛时间提高网络稳定性
3、注意:当前端口配置成边缘端口后,如果收到BPDU报文,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算
六 、stp bpdu-protection
注意:只对边缘端口起作用
作用:
1、防止边缘端口私自接交换机
2、防止恶意BPDU报文将边缘端口失效
原理:
如果边缘端口收到bpdu报文,那么边缘端口会立即down掉(关闭接口)
配置
[] stp bpdu-protection 启动bpdu保护
[] error-down auto-recovery cause bpdu-protection interval 30 由于BPDU保护引起的接口down,在30s后自动UP
七、stp root-protection
1、简介
由于维护人员的错误配置或网络中的恶意攻击,根桥收到优先级更高的BPDU,会失去根桥的地位,重新进行生成树计算。由于拓扑结构的变化,可能造成高速流量迁移到低速链路上,引起网络拥塞。
2、作用
保护根桥的地位。对于使用根保护功能的指定端口,其端口角色只能保持为制定端口。一旦收到优先级更高的BPDU报文,端口状态将进入Discarding状态,不再转发报文,如果一段时间(通常为两倍的Forward Dekay)没有收到优先级更高的BPDU报文,端口将恢复到正常的转发状态。
注意:根保护功能只对指定端口生效,而且只能在指定端口下配置
八、stp bpdu-filter
1、使用stp bpdu-filter 的原因
配置了边缘端口后就不再参与生成树计算,提高了网络收敛时间加强了网络稳定性。可是端口仍然会发送BPDU报文,导致BPDU报文发送到其他网络,引起其他网络产生的震荡。
2、配置stp bpdu-filter enable
使边缘端口不处理发送BPDU报文。建议只在边缘端口上配置该命令
3、作用
3.1、强制将某端口固定为边缘端口
3.2、禁止stp报文(BPDU报文)从边缘端口发出
九、stp缺点和新型大二层环境
STP和RSTP缺点:
1、收敛慢,反应慢
2、对于超过50个节点(50台交换机)的环境运行卡顿
新型放环技术:vxlan和trill
STP生成树协议在二层环境中的应用的更多相关文章
- CCNA 之 九 STP生成树协议
STP生成树 在上一次实验中,使用了单臂路由是两个不同的VLAN之间进行通信,而单臂路由的这种网络拓扑,当一条链路或者路由设备出现故障的时候,整个网络就会瘫痪. 称此网络为:不健壮的,无冗余的网络环境 ...
- STP 生成树协议 RSTP 快速生成树
STP(Spanning Tree Protocol)是生成树协议的英文缩写 该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余,但不是一定可以实现路径冗余.生成 ...
- STP生成树协议
STP主要作用 1.消除环路:通过阻断冗余链路来消除网络中可能存在的链路 2.链路备份:当活动那个路径发生故障时,激活备份链路,及时恢复网络连通性. 根桥选举 每个交换机启动STP后,都认为自己是根桥 ...
- 交换机广播风暴,STP生成树协议,端口聚合
交换机(工作在数据链路层)具有学习功能: 一台刚重启的交换机上的mac地址表为空,根据数据包的来源,目的地来学习MAC地址与端口的映射关系映射关系,对于MAC地址表之中已有的就不管了,对未知端 ...
- STP生成树协议原理与算法解析
转:https://wenku.baidu.com/view/2e52b91d866fb84ae45c8d34.html
- CISCO交换机STP实验(生成树协议)
目录 一.前言:生成树协议(STP) 二.CISCO交换机STP命令汇总 三.运用STP搭建简单拓扑 四.实战:STP综合实验 五.结语 一.前言:生成树协议(STP) 计算机网络中,我们为了减少网络 ...
- 生成树协议(STP)的精髓知识
STP生成树协议 1.STP介绍 2.STP生成树算法 1.STP - Spanning tree protocol (生成树协议)是逻辑上断开环路,防止广播风暴的产生.当线路故障,阻塞接口 ...
- STP生成树的一些笔记
一.STP概述 1.1.STP简介 交换网络环路主要由广播风暴.多帧复制和MAC地址表紊乱造成. 广播风暴:一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播:由于网络拓扑的设计和连 ...
- 生成树协议stp
生成树协议应用的原因是从逻辑上阻塞交换机在物理上形成的环路.大家都知道交换机工作在二层,也就是数据链路层,根据mac地址识别主机,对三层网络无法识别,因此交换机不能隔离广播.但是在日常的工作中,为了达 ...
随机推荐
- 为什么要设置GOROOT/GOPATH
设置GOROOT的原因 编译器的位置指定的时候,需要指定GO开发包的安装位置,然后设置环境变量PATH的时候,需要指定到安装包下的bin目录,其中就有以下的编译/执行器.所以GOROOT指定了前面的路 ...
- 制作nginx+php的docker镜像方法
制作nginx+php的docker镜像方法一.准备安装的工具工具:docker-17.06.0-ce.nginx-1.13.2.PHP-5.5.38 .supervisor配置思路:1.安装dock ...
- C++快读讲解
C++快读讲解 inline int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') ...
- Docker系列(27)- 容器互联--link
思考 思考一个场景,我们编写了一个微服务,database url=IP:,项目不重启,数据库ip换掉了,我们希望可以处理这个问题,可以使用名字来进行访问容器吗 实践 [root@localhost ...
- Jmeter扩展组件开发(10) - 自定义扩展函数助手的开发
CODE package com.functions;import org.apache.jmeter.engine.util.CompoundVariable;import org.apache.j ...
- Apache AB(1) - 快速使用
前言 Apache AB的优缺点 十分快捷.简单 只适用HTTP协议 该工具更加适用于单接口性能压测 参数化实现麻烦:被测接口没有太多参数化 不支持场景化,不能将上下文串联起来 适用于快速开发小的场景 ...
- Docker 配置国内镜像加速器
Docker 默认是从官方镜像地址 Docker Hub 下下载镜像,由于服务器在国外的缘故,导致经常下载速度非常慢.为了提升镜像的下载速度,我们可以手动配置国内镜像加速器,让下载速度飚起来. 国内的 ...
- Python实现Telnet连接
import loggingimport telnetlibimport timeclass TelnetClient(): def __init__(self,): self.tn = telnet ...
- Loj#143-[模板]质数判定【Miller-Rabin】
正题 题目链接:https://loj.ac/p/143 题目大意 给出一个数\(p\),让你判定是否为质数. 解题思路 \(Miller-Rabin\)是一种基于费马小定理和二次探测定理的具有较高正 ...
- 解决报错:Unable to process Jar entry [org/springframework/jmx/export/annotation/*****]
情况说明:从gitub上clone的maven项目,pox.xml配置中的依赖,自己的repository都有,所以正常update project ,正常clean,install,整个过程无报错 ...