华为网络设备—-交换机(六)STP生成树协议 学习笔记
如图所示LSW1和LSW2之间有两条线路相连,它们之间任何一条链路出现故障另外一条线路可以马上顶替出现故障的那条链路,这样可以很好的解决单链路故障引起的网络中断,但在此之前有下面三个问题需要考虑。
广播风暴
以太网交换机传送的第二层数据帧不像路由器传送的第三层数据包有TTL(Time To Live),如果有环路存在第二层帧不能被适当的终止,他们将在交换机之间永无止境的传递下去。结合交换机的工作原理,来看一下上面这张拓扑中广播风暴是如何形成的:
1、PC1发出一个广播帧(可能是一个ARP查询),LSW1收到这个广播帧,LSW1将这个广播帧从除接收端口的其他端口转发出去(即发往G0/0/2、G0/0/3、G0/0/4)。
2、LSW2从自己的G0/0/1和G0/0/2都会收到SW1发过来的相同的广播帧,LSW2再将这个广播帧从除接收端口外的所有其他接口发送出去(LSW2将从G0/0/2接收的广播帧发往其他三个端口G0/0/1、G0/0/3、G0/0/4,从fa0/24接收到的也会发往其他三个端口G0/0/1、G0/0/3、G0/0/4)。
3、这样这个广播帧又从G0/0/1以及G0/0/2传回了LSW1,LSW1再用相同的方法传回LSW2,除非物理线路被破坏,否则PC1-4将不停的接收到广播帧,最终造成网络的拥塞甚至瘫痪。
MAC地址表不稳定
广播风暴除了会产生大量的流量外,还会造成MAC地址表的不稳定,在广播风暴形成过程中:
1、PC1发出的广播帧到达LSW1,LSW1将根据源MAC进行学习,LSW1将PC1的MAC和对应端口G0/0/1写入MAC缓存表中。
2、LSW1将这个广播帧从除接收端口之外的其他端口转发出去,LSW2接收到两个来自LSW1的广播(从G0/0/1和G0/0/2),假设G0/0/2首先收到这个广播帧,LSW2根据源MAC进行学习,将PC1的MAC和接收端口G0/0/2存入自己的MAC缓存表,但是这时候又从G0/0/1收到了这个广播帧,LSW1将PC1的MAC和对应的G0/0/1接口存入自己的MAC缓存表。
重复帧拷贝
冗余拓扑除了会带来广播风暴以及MAC地址的不稳定,还会造成重复的帧拷贝:
1、假设PC1发送一个单播帧给PC3,这个单播帧到达LSW1,假设LSW1上还没有PC3的MAC地址,根据交换机的原理,对未知单播帧进行泛洪转发,即发往除接收端口外的所有其他端口(fa0/2、fa0/23、fa0/24)。
2、LSW2分从自己的G0/0/1和G0/0/2接收到这个单播帧,LSW2知道PC3连接在自己的G0/0/4接口上,所以LSW1将这两个单播帧都转发给PC3。
3、PC1只发送了一个单播帧,PC3却收到了两个单播帧,这会给某些网络环境比如流量统计带来不精确计算等问题。
————————————————
STP:生成树协议
功能
消除环路:通过阻塞冗余链路来消除二层环路
链路备份:当活动链路发生故障时,激活备份链路。
基本术语
BID(桥ID):用于标识一台交换机,由16位的优先级+48位的MAC地址组成;优先级范围:0-65535,默认为32768。
PID(端口ID):用于标识交换机的一个接口,由8位优先级+8位端口编号组成;优先级范围:0-255,默认为128。
路径开销(Path Cost):用于衡量交换机之间路径的优劣,越低越好。
链路速度 开销
10G/s 2
1G/s 4
100M/s 19
10M/s 100
根路径开销:交换机到达根桥所经过的最短路径开销。
BPDU:桥协议数据单元。是运行STP交换机相互协商STP协议的数据报文。包括BID,PID,开销等等
配置BPDU
1.选举根交换机以及确定每个交换机端口的角色和状态
2.初始过程中,每个交换机都会发送配置BPDU
3.在网络拓扑稳定后,只有根桥会主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
拓扑变更通告BPDU
1.下游交换机感知到拓扑发生变化后,向上游发送的拓扑变化通知
比较原则:越小越优先
1.选举根桥:比较交换机的BID(先比较优先级,后比较MAC地址)根桥的所有端口都为指定端口。
2.选举根端口:比较交换机的各个端口的根路径开销 → 比较对端的BID → 对端PID → 本端PID
3.选举指定端口:比较交换机的根路径开销(stp表中记录着该交换机到达根桥的最小根路径开销) → 本端BID → 本端PID
4.阻塞非根,非指定端口
STP状态机制
STP有五种状态:
状态机制 作用
Disabled(禁止) 不转发数据流量也不学习MAC地址强制关闭
Blocking(阻塞) 不转发数据流量也不学习MAC地址只接受BPDU
Listening(侦听) 不转发数据流量也不学习MAC地址构建“活动”拓扑
Learning (学习) 不转发数据流量但学习MAC地址构建网桥表
Forwarding(转发) 既转发数据流量也学习MAC地址发送/接收用户数据
1.Helo报文:2s发送一次,根桥发送配置BPDU
2.Forward Delay:30s,从阻塞状态到转发状态的持续时间
3.Max Age:20s,若一个接口down掉,默认20s没有收到对端发来的BPDU,开始由阻塞状态启用为转发状态。一共需要50s。
————————————————
[S1] Stp mode stp/rstp/mstp 配置STP模式 缺省为MSTP
[S1] Stp priority 4096 配置优先级 必须为4096的整数倍 0-61440
[S1] Stp root primary/secondary 自动修改优先级 指定主/备根桥
[S1] Stp pathcost-stangard dot1d-1998/dot1t/legacy 配置路径开销标准
Lagacy cost=1-200000 华为私有
Dot1d cost=1-65535
Dot1t cost=1-200000000 默认
Stp cost 10 修改STP开销
[S1] Display stp brief 显示STP配置信息和参数
[S1] Stp mode stp
[S1] Stp root primary
[S2] Stp mode stp
[S2] Stp root secondary
[S1] Display stp brief
[S2] Display stp brief