- STP是什么?
- spanning-tree Protocol 简称STP,生成树协议,被广泛部署在二层交换网络中,用于防止网络出现环路,同时增加网络的冗余性。
- 交换机之间通过生成树协议数据的交互来完成所需信息的搜索,在此基础上交换机进行响应的计算,最终将交换机的某个(或某些)接口阻塞从而打破环路
- 生成树有多个标准,传统的生成树是802.1D标准。
- cisco基于IEEE802.1D开发了增强的生成树协议PVST+
- STP的计算(STP怎么用?)
- 1每个交换网络选举一个根桥RB (Root Bridge)
- Bridge Identifier 交换机的STP标识符
- 拥有最小BID的交换机成为根桥
- 桥优先级 (2B)桥MAC地址(6B)
- 2每个非根桥上选举一个根端口RB (Root Port) (比较顺序(比小))
- 根桥ID、
- 到根桥的路径开销(路径开销是接口cost累加,而接口cost是基于接口带宽的)、
- 网桥ID、
- 端口ID
- 非根桥某个接口到RB的路径开销扽与该接口的cost加上这个接口收到的BPDU中包含的path cost值
- 3每个段选举一个指定端口DP (Designated Port)
- 根桥ID 、到根桥的路径开销、网桥ID、端口ID
- 4阻塞非指定端口NDP
- 1每个交换网络选举一个根桥RB (Root Bridge)
- STP用在哪里?
- 二层及三层环路
- 二层
- 通常是由于网络有二层冗余的需求或人为的误 接线缆导致;需借助特定的协议或机制防环;二层数据帧头部中并没有任何信息可用于防止 数据帧被无止尽地转发。
- 三层
- 通常是由于路由环路导致网络中出现三层环路;动态路由协议有一定的防环能力;IP数据报文头部中的TTL值亦可用于防止报文 被无止尽地转发。
- 网络存在单点/单线路故障 二层链路没有冗余
- 多添加一台交换机 网络的冗余性增强了,但是却出现了二层环路 环路会导致广播风暴、mac表紊乱。所以出现了生成树协议
- 二层及三层环路
- 概念性的知识点
- BPDU Bridge Protocol Data Unit网桥协议数据单元
- 字节 字段 描述
- 8 根桥ID 根网桥的桥ID
- 4 路径开销 到达根桥的STP cost
- 8 网桥ID BPDU发送桥的ID
- 2 端口ID BPDU发送网桥的端口ID(优先级+端口号)
- port ID
- port identifier 接口标识符,共有2个字节
- port ID (2字节)=接口优先级(1字节)+接口编号 (1字节)
- 缺省情况下接口优先级为128 范围是0-255
- STP的端口状态
- STP端口5种模式
- disable 关闭 不收发任何报文
- blocking 阻塞 不接收也不转发帧,接受并发送BPDU,不学习MAC地址
- listening 侦听 不接收也不转发帧,接受并发送BPDU,不学习MAC地址
- learning 学习 不接收也不转发帧,接受并发送BPDU,学习MAC地址
- forwarding 转发 接收并转发帧,接受并且发送BPDU,学习MAC地址
- STP的端口状态
- 交换机开机需要等待30秒时间开始转发数据
- 当某个正在使用的链路断掉,阻塞的端口需要50秒时间开始转发数据
- 标准的生成树协议(CST)不考虑vlan,只在网络中生成和维护单个生成树 (每交换机生成树协议)所有CST的BPDU作为不带标记的帧通过本地VLAN进行传输
- CST优点:计算STP时的CPU的负载
- CST缺点:
- 1.网络中的STP无法按照vlan的特殊需求,为vlan创建最优的STP路径,可能导致某些vlan存在次优路径。
- 2.冗余的端口被阻塞掉之后,在每个vlan中就无法转发数据,会导致无法实现网络流量的负载均衡。
- PVST 是思科私有协议,为每个vlan构造一棵生成树 (每个vlan生成树协议)只能通过cisco的中继链路ISL中继封装发送,这样协议的兼容性就差
- PVST+ 是思科私有协议
- PVST+的诞生就是为了兼容其他版本的BPDU而产生的,它可以通过ISL封装与PVST互通,也可以不给BPDU封装与802.1Q互通。
- 可以与CST互操作,用来连接PVST与CST区域
- PVST的实际应用
- 配置网络中比较稳定的交换机为根网桥
- 利用PVST实现网络的负载分担
- PVST+、pvst 、CST的区别
- CST成为公共生成树,在生成树收敛的时候,不考虑网络中vlan的存在,只在网络中生成和维护单个生成树;还有一个要注意的是:所有CST的BPDU作为不带标记的帧通过本地vlan进行传输。
- 这样的工作模式有它自己的优点,就是计算STP时的CPU的负载。然而,也会带来问题:1.网络中的STP无法按照vlan的特殊需求,为vlan创建最优的STP路径,可能导致某些vlan存在次优路径。2.冗余的端口被阻塞掉之后,在每个vlan中就无法转发数据,会导致无法实现网络流量的负载均衡。
- PVST是cisco私有的技术,per-vlan即给网络中的每个vlan都创建一颗生成树,这样可以解决CST的问题,为不同vlan通过冗余连接进行负载平衡。但是,是cisco的私有技术,只能通过cisco的中继链路ISL中继封装发送,这样协议的兼容性就差。
- PVST+是cisco的另一个STP专利,但是与PVST不同,PVST+的诞生就是为了兼容其他版本的BPDU而产生的,它可以通过ISL封装与PVST互通,也可以不给BPDU封装与802.1Q互通。
- 速端口(快速端口)
- portfast是用于接入口的,一个正常的交换接口从down到up要经过4个状态 Down,listening,learning,fowarding 一共耗时50秒。速端口可以直接让交换接口从down到fowarding 状态 也是交换机的防止环路的机制
- 命令
- PVST配置命令
- 启用生成树
- Switch(config)#spanning-tree vlan vlan-list
- 设置根网桥
- Switch(config)#spanning-tree vlan vlan-list root primary | secondary
- 修改网桥的优先级
- Switch(config)#spanning-tree vlan vlan-list priority Bridge-priority
- 修改端口成本
- Switch(config-if)#spanning-tree vlan vlan-list cost cost
- 修改端口优先级
- Switch(config-if)#spanning-tree vlan vlan-list port-priority priority
- 配置上行速链路(非根桥上)
- Switch(config)#spanning-tree uplinkfast
- 配置端口速链路(阻塞端口上)
- Switch(config-if)#spanning-tree portfast
- PVST配置的查看
- 查看生成树的配置
- Switch#show spanning-tree
- 查看某个VLAN的生成树详细信息
- Switch#show spanning-tree vlan vlan-id detail
- 华为STP
- STP根保护功能
- 作用:防止另加一个根桥的保护功能
- 原理:
- 一旦根保护功能的指定端口收到优先级更低BPDU时,端口状态将进入Discarding<丢弃>状态,不再转发报文;经过一段时间,通常是两倍的Forward Delay<转发延迟>,如果端口一直没有收到优先级较高的BPDU,端口会自动恢复到正常的Forwarding状态。建议到根桥的接口配置。
- stp root-protection <开启根网桥接口保护功能>
- BPDU防护功能
- 开启BPDU保护功能,如果收到从边缘端口收到STP报文,交换机会自动将该接口shutdown。从而确保根网桥不被抢占,同时确保不会出现环路。
- 命令配置
- 边缘端口<类似Cisco的速端>,配置在接PC的端口
- [SW1-GigabitEthernet0/0/X]stp edged-port enable
- [SW-1]stp bpdu-protection <开启保护功能>
- [SW-1]error-down auto-recovery cause bpdu-protection interval 300
- <300秒后自动UP,自动恢复机制>
- 默认是已经启动STP,开机默认运行
- stp mode stp <stp工作模式>
- stp root primary <设置根桥>
- stp root secondary <设置备份根桥>
- display stp brief <查看STP>
- stp disable <关闭STP功能>
- stp enable <开启STP功能>
spanning-tree Protocol 简称STP,生成树协议,被广泛部署在二层交换网络中,用于防止网络出现环路,同时增加网络的冗余性
最新推荐文章于 2024-05-08 22:59:31 发布