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地址识别主机,对三层网络无法识别,因此交换机不能隔离广播.但是在日常的工作中,为了达 ...
随机推荐
- java短信群发项目:
编写一个项目, 1. 以下手机号码段,添加到Map集合当中 2. 从控制台输入要发送信息的短信号码,如果要发送多个,请用英文逗号隔开,输入短信内容 3. 编写一个短信发送类,号码发送前,先判断号码是否 ...
- MapReduce 示例:减少 Hadoop MapReduce 中的侧连接
摘要:在排序和reducer 阶段,reduce 侧连接过程会产生巨大的网络I/O 流量,在这个阶段,相同键的值被聚集在一起. 本文分享自华为云社区<MapReduce 示例:减少 Hadoop ...
- 【JDK】分析 String str=““ 与 new String()
一.基础概念 为了讲清楚他们的差异,这里先介绍几个概念. 1.1 常量池 所谓常量池:顾名思义就是用来存放一些常量的.该常量是在编译期被确定,并被保存在已编译的.class文件中,其中包括了类,方法, ...
- 安卓使用讯飞sdk报错
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.iflytek.cloud.SpeechSy ...
- PHP中的文件系统函数(二)
这次我们来学习的是一些不是太常用,但却也非常有用的一些函数.它们中有些大家可能见过或者使用过,有一些可能就真的没什么印象了.它们都是 PHP 中文件系统相关操作函数的一部分.存在即合理,或许只是我们的 ...
- CentOS下安装libmcrypt失败
libmcrypt是什么?? 是加密算法扩展库---支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SA ...
- input竖直的输入框,文字从上到下排列
有的时候可能会有这样的需求,一个竖直的输入框,输入信息,文字也是从上到下排列: (但是在移动端或用轮播swiper时不起作用,可以用textarea代替input) <!DOCTYPE html ...
- JS高级面试题思路(装箱和拆箱、栈和堆、js中sort()方法、.js中Date对象中的getMounth() 需要注意的、开发中编码和解码使用场景有哪些)
1.装箱和拆箱: 装箱:把基本数据类型转化为对应的引用数据类型的操作: var num = 123 // num var objNum = new Num(123) // object console ...
- MySQL之索引复合索引有效性
首先这里建立一张数据表,并建立符合索引( index_A,index_B,index_C) CREATE TABLE `test_index_sequence` ( `Id` int(11) NOT ...
- 鸿蒙内核源码分析(内存管理篇) | 虚拟内存全景图是怎样的 | 百篇博客分析OpenHarmony源码 | v12.04
百篇博客系列篇.本篇为: v12.xx 鸿蒙内核源码分析(内存管理篇) | 虚拟内存全景图是怎样的 | 51.c.h .o 内存管理相关篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有 ...