生成树线路冗余带来的问题:
1.广播风暴
2.mac地址flapping
3.多点帧拷贝
三层防止环路方法:
1.IP报文中包含TTL值的字段,默认为255,每经过一个路由器TTL值减去1,等于0时丢弃
二层帧中没有防环字段
所以引入了STP协议来进行防环
BPDU类型两种:
1.配置BPDU :用于生成树的选举
2.TCN 拓扑变更通告:只有当拓扑发生变化的时候,才会产生TCN
生成树有三种模式:
1.stp —802.1D 所有的vlan对应一棵树,所有的vlan都在实例0里面
2.rstp —802.1W 所有的vlan对应一棵树
3.mstp —802.1s 一个实例可以关联多个vlan,一个实例一棵树
华为设备默认stp模式为MSTP多实例生成树
[SW1]undo stp enable //关闭生成树,不推荐
stp enable //开启生成树协议
[SW1]stp mode ?
mstp Multiple Spanning Tree Protocol (MSTP) mode
rstp Rapid Spanning Tree Protocol (RSTP) mode
stp Spanning Tree Protocol (STP) mode
[SW1]dis stp
生成树选举过程:
1.每个广播域选举一个根交换机(总统)
2.在非根交换机上,选举一个根端口RP root port(州长)
负责接收最优的BPDU
3.在每个段segment选举一个指定端口DP desinagted port (白宫办公室)
负责转发最优的BPDU
4.既不是根端口,又不是指定端口,成为预备端口AP alternated port,
该端口处于blocking状态,不转发任何的数据报文
1.每个广播域选举一个根交换机(总统)
根桥ID=优先级+ mac地址
先比较优先级,优先越小越优先 默认优先级为32768
如果优先级相同,则比较MAC地址,MAC地址越小越优先
注意:
根桥一定要是设备性能高
根桥在网络架构中属于高层 核心层
配置:
SW1: SW1成为根
stp priority 0
SW2:
stp priority 4096
[SW1]dis stp
2.在非根交换机上,选举一个根端口RP root port(州长)
负责接收最优的BPDU
根端口选举原则:
(1)最小的根桥ID
(2)到达根桥的最低的路径成本cost
(3)最小的发送方的网桥ID
(4)最小的发送方的端口ID
cost值,是到根网桥路径上所有出端口的端口开销总和
PC ----端口cost
RPC ----到达根桥的最低的路径成本的cost值
端口ID=端口优先级+ 端口序号
先比较端口优先级,优先级越小越优先 默认端口优先级128
如果优先级相同,则比较端口序号,端口序号越小越优先
需求:SW2上的G0/0/4接口成为RP
两种方法:
1.在非根桥,修改接口cost值
interface GigabitEthernet0/0/4
stp instance 0 cost 100 //修改接口的cost值为100
2.在根桥上,修改接口端口优先级
interface GigabitEthernet0/0/4
stp instance 0 port priority 0
[SW2]dis stp int g0/0/3
3.在每个段segment选举一个指定端口DP desinagted port (白宫办公室)
负责转发最优的BPDU
指定端口选举原则:
(1)最小的根桥ID
(2)到达根桥的最低的路径成本cost
(3)最小的发送方的网桥ID
(4)最小的发送方的端口ID
(5)最小的接收方的端口ID
根交换机上所有端口都是指定端口,根端口的对端一定是指定端口,指定端口所处的交换机称为指定交换机
4.既不是根端口,又不是指定端口,成为预备端口AP alternated port,该端口处于blocking状态,不转发任何的数据报文
stp
1.端口角色
RP即去往根桥路径最近的端口。根端口负责向根桥方向转发数据,根端口同时还负责接收上游设备的BPDU报文和用户流量转发
DR对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口。
AP 由于学习到其它设备发送的配置BPDU报文而阻塞的端口,作为根端口的备份端口,提供了从指定桥到根的另一条可切换路径。
2.端口状态
3.BPDU的报文类型
配置BPDU type=0x00
TCN拓扑变更通告 type=0x80
message 默认是0,每经过一台交换机加1,最大等于max age 20s,此配置BPDU被认为已经过期
stp timer hello 100 //修改hello时间为1s
stp timer forward-delay 1200 //修改转发时延12s
stp timer max-age 1000 //修改max-age为10s
mac-address aging-time 150 //修改aging-time时间为150s
4.泛洪拓扑改变信息
拓扑改变确认配置BPDU和拓扑改变配置BPDU都是配置BPDU的一种,和普通的配置BPDU不同的是:
普通的配置BPDU中Flag字段全部设置为0;
拓扑改变确认配置BPDU将Flag字段的第8位设置为1;
拓扑改变配置BPDU将Flag字段的第1位设置为1。
STP拓扑改变:
如果非根桥上发生拓扑变化,向根桥发送TCN BPDU包,通告根桥拓扑已改变。
上联的非根桥从指定端口收到TCN BPDU包后,会向发送者回复TCA flag位置位的配置BPDU包,同时继续向根桥发送TCN BPDU包。
根桥收到TCN BPDU包后,向发送者回复TCA Flag位置位的配置BPDU包,同时向所有指定端口发送TC Flag位置位的配置BPDU包。TC置位的配置BPDU包会连续发送35s,同时将自己的MAC aging 设置为15s。
其他非根桥收到TC置位的配置BPDU包后,将自己的MAC地址的老化时间设置为15s,加速老化。
STP触发拓扑改变条件:
一个端口从forwarding状态过渡到disable或blocking状态。
一个非根桥如果从指定端口接收到TCN BPDU包,需要向根桥装发TCN BPDU包。
一个端口进入转发状态,并且本地已存在一个指端端口。