能够解决冗余链路带来的二层环路问题,具体做法是通过阻断一些端口,来保证只存在一条逻辑转发链路(基于拓扑使用生成树算法来避免环路)
1.stp:生成树
2.rstp:快速生成树
3.mstp:多实例生成树
交换机上默认开启了STP的mstp模式。
4.查看STP模式命令是:display stp
5.把mstp改成stp模式命令: stp mode stp
1.原理:
利用阻塞端口(预备端口)来解决环路问题。正常情况下,阻塞端口不转发数据,不会造成环路。当设备链路发生故障时,会开启阻塞端口,转发数据。
2.STP工作过程:
(1)选举根桥(根交换机)
(2)非根交换机选举根端口
(3)每个网段(链路)选举一个指定端口
(4)确定阻塞端口
根:根交换机(根桥)
1. 如何确定根交换机?
比较每个交换机的网桥ID
2.网桥ID的构成?
优先级+MAC地址
查看方式:
优先级可以更改:
默认优先级 32768
更改的值要为4096的倍数:0 、4096、 8192……
更改方法
[abc]stp priority stp
[abc]display stp
如何选择阻塞端口
第一步:确定根交换机(根桥)
根据优先级的大小,优先级数值越小,优先级越高。先比较优先级再比较Mac地址。
第二步:确定树干,也就是根端口。
根端口:非根交换机到达根交换机的最优端口叫做根端口。
最优端口的计算:根据根路径开销来计算,即根交换机端口到目的交换机端口的路径开销。
华为交换机使用IEEE 802.1t标准计算交换机端口开销值。
查看端口开销值方法:display stp
注意:根交换机上的端口开销默认都是0;选举每台非根桥交换机上的根端口(Root Port),比较接收到的BPDU(运行STP的交换机之间交换的消息帧)的路径开销,即根交换机发出,非根交换机接收。路径开销只计算出方向。
计算:LSW3和LSW2的根端口
根交换机到LSW3的GE 0/0/2端口的路径开销是0。到GE0/0/1端口的路径开销是20000,所以LSW3的GE0/0/2就是根端口。同理得出LSW2的根端口是GE0/0/1
LSW4交换机的哪个端口是根端口?
端口到根桥的路径开销值相同,就比较对端交换机的优先级。所以LSW4的根端口是GE0/0/2
端口路径开销相同时,对比对端网桥ID,如果对端网桥ID相同时,再比较对端端口编号。
端口路径开销相同时,对比对端网桥ID,如果对端网桥ID相同时,再比较对端端口编号。如果对端端口号如果相同,再比本端端口号。
第三步:确定叶:指定端口。指定端口:每个网段链路上到达根交换机的最优端口叫做指定端口。默认根交换机上的端口都是指定端口。
注意:指定端口链路开销是指由非根交换机发出BPDU的路径开销。
比较根路径开销,如果相同则比较本端的网桥ID
剩余的没有定义名称的端口即是阻塞端口
查看阻塞端口的命令: display stp brief
ALTE:阻塞(预备)端口
ROOT:根端口
DESI:指定端口
FORWARDING:转发
DISCARDING:丢弃
网桥协议数据单元(Bridge Protocol Data Unit)。是一种生成树协议问候数据包,它可以配置的间隔发出,用来在网络的网桥间进行信息交换。
当一个网桥开始变为活动时,它的每个端口都是每2s(使用缺省定时值时)发送一个BPDU。然而,如果一个端口收到另外一个网桥发送过来的BPDU,而这个BPDU比它正在发送的BPDU更优,则本地端口会停止发送BPDU。如果在一段时间(缺省为20s)后它不再接收到邻居的更优的BPDU,则本地端口会再次发送BPDU。
BPDU是网桥协议数据单元(Bridge Protocol Data Unit)的英文首字母缩写。BPDU消息格式包含:DMA-目的MAC地址;SMA-源MAC地址 ;L/T-帧长;LLC Header -配置消息固定的链路头;Payload : BPDU数据。
具体的BPDU数据格式:
Protocol identifier: 协议标识
Version: 协议版本
Message type: BPDU类型
Flag: 标志位
Root ID: 根桥ID,由两字节的优先级和6字节MAC地址构成
Root path cost: 根路径开销
Bridge ID: 桥ID,表示发送BPDU的桥的ID,由2字节优先级和6字节MAC地址构成
Port ID: 端口ID,标识发出BPDU的端口
Message age: BPDU生存时间
Maximum age: 当前BPDU的老化时间,即端口保存BPDU的最长时间
Hello time: 根桥发送BPDU的周期
Forward delay: 表示在拓扑改变后,交换机在发送数据包前维持在监听和学习状态的时间。
STP常见名词:
桥ID(Bridge Identifier):桥ID是桥的优先级和其MAC地址的综合数值,其中桥优先级是一个可以设定的参数。桥ID越低,则桥的优先级越高,这样可以增加其成为根桥的可能性。
根桥(Root Bridge):具有最小桥ID的交换机是根桥。请将环路中所有交换机当中最好的一台设置为根桥交换机,以保证能够提供最好的网络性能和可靠性。
指定桥(Designated Bridge):在每个网段中,到根桥的路径开销最低的桥将成为指定桥,数据包将通过它转发到该网段。当所有的交换机具有相同的根路径开销时,具有最低的桥ID的交换机会被选为指定桥。
根路径开销(Root Path Cost):一台交换机的根路径开销是根端口的路径开销与数据包经过的所有交换机的根路径开销之和。根桥的根路径开销是零。
桥优先级(Bridge Priority):是一个用户可以设定的参数,数值范围从0到32768。设定的值越小,优先级越高。交换机的桥优先级越高,才越有可能成为根桥。
根端口(Root Port):非根桥的交换机上离根桥最近的端口,负责与根桥进行通信,这个端口到根桥的路径开销最低。当多个端口具有相同的到根桥的路径开销时,具有最高端口优先级的端口会成为根端口。
指定端口(Designated Port):指定桥上向本交换机转发数据的端口。
端口优先级(Port Priority):数值范围从0到255,值越小,端口的优先级就越高。端口的优先级越高,才越有可能成为根端口。
路径开销(Path Cost):STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树型网络结构。