STP基本概念:
STP是一个用于局域网中消除环路协议。
IEEE 802.1D 就是生成树的学名
由于局域网规模的不断增长,生成树协议已经成为了当前最重要的局域网协议之一。
作用:
1、运行该协议的设备通过彼此交互信息而发现网络中的环路,并对这些接口进行阻塞以消除环路。
2、STP在网络中运行后会继续监听网络的状态,当网络出现拓扑变更时,STP能够感知并且进行自动相应,从而使得网络状态适应新的拓扑结构,保证网络可靠性。
3、消除广播风暴,物理链路冗余,网络变成层次化结构的网络
4、通过阻塞端口来消除数据环路,实现了物理链路的备份
广播风暴:
物理上存在环路
交换机不能拒绝广播,当收到广播的时候,交换机会进行泛洪(泛洪是指出去收到信息的端口,其余端口都会复制该信息)
危害:
影响网络的效率
占用了大量的网络带宽
MAC地址会出现震荡(漂移)
数据无法正常传递
STP生成树中的角色:
根桥:生成树里的“老大”(在参与生成树选举的网络里面,桥id肯定是最小的)
备份根桥:生成树里面的“二当家”,老大挂了的时候,二当家做老大
非根交换机:炮灰、干活的小弟,每个非根交换机都有一个根端口
根端口:非根交换机连接到根桥的最近端口
指定端口:传输数据的端口
非根非指定端口:被阻塞的端口----备用链路的端口
桥ID:优先级和MAC地址的组合
注意:
指定端口:根桥身上的端口一定是指定端口
根端口:一定是连接根桥最近的交换机接口
根端口、指定端口、阻塞端口的选举方法:
根端口:
1、优先比较路径开销
2、比较本端的桥ID,以小为优
3、比较对端port ID(优先级+端口编号)
指定端口:
1、优先比较路径开销
2、比较本端的桥ID,以小为优
根桥的基本概念:
STP的主要作用之一实在整个交换网络中计算出一棵无环路的“树”(STP树)。
根桥是一个STP交换网络的“树根”。
STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出无环拓扑的“树根”。
在STP网络中,桥ID最小的设备会被选举为根桥。
桥ID:
1、桥ID作用就是在生成树协议中表示不同的交换机的,桥ID并不是管理员手动配置上去的,而是交换机出厂的时候都会有一个BID。
2、生成树选举都会产生桥ID,桥ID由优先级和MAC地址组成,并且桥ID越小越优先。
BID:
BID=桥优先级+MAC地址
1、BID是由16位的桥优先级(Bride Priority)与桥MAC地址构成。每一台运行STP的交换机都拥有一个唯一的BID。
2、BID桥优先级占据高16bit,其余的48位都是桥MAC地址。
3、在STP网络中,BID最小的设备会被选举成为根桥
注:根桥(网桥 Bridge),就是交换机。------根桥(root bride),根交换机,都是同个意思。
根桥选举规则:
首先比对各交换机的优先级,优先级最小的会被选举为根桥、如果最小的优先级一样,那么就会对比MAC地址,优先级一样小,那么就选把MAC地址最小的交换机选举成为根桥。
也就是说,桥优先级最小的成为根桥,优先级相同,MAC地址最小的成为根桥。
根桥具备抢夺性
根桥选举动作:
1、刚启动STP的时候,每台交换机都认为自己是根桥
2、影响根桥选举的因素:优先级(交换机默认的优先级是32768)[优先级越小越优先,优先级是0的话就是最优先,取值范围是0~61440]
3、如果优先级一样,那就用MAC地址判断优先级(MAC地址越小越优先)
注:根桥所有参与生成树选举的端口,一定是指定端口。
STP操作:
选举一个根桥
每个非根交换机选举一个根端口
每个网段选举一个指定端口
阻塞非根、非指定端口
希望一个交换机一定为根桥。怎么办?
修改优先级,优先级改小,优先级为0,优先级最小的为根桥。
希望一个交换机不能成为根桥,那就将优先级改大。
修改交换机生成树的优先级:
stp priority +优先级数值(必须是4096的倍数,可选区间0~200000000)
32768 交换机默认优先级 *2 B类地址总数
65536 B类地址总数 /2 得到交换机默认优先级
查看开启stp后的交换机接口的接口情况:
display stp brief
ROOT--根接口 ALTE--阻塞接口 DEST---指定接口
修改交换机路径开销:
开销值最小的是根接口,开销值最大的会被堵塞
需进入接口:
stp cost +开销值(可选区间 1-200000000)
查看交换机的BID:
查看交换机的BID
dis stp
第一行就是桥ID ,32768是优先级,后面的就是出厂分配的MAC地址
优先级默认是32768,但是可以修改。多个交换机存在时,优先级相同,则对比MAC地址,MAC地址最小的则是根桥
Cost基本概念:
开销(Cost)------从该接口发出的信息到达根的开销
1、每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。
2、接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STP Cost计算方法有关。
3、接口宽带越大,Cost值越小。
4、用户也可以根据需要通过命令调整接口的Cost。(可以通过命令修改)
Cost计算方法:
dot1t=802.1t
dot1q=802.1Q(802等同于dot1)
华为设备默认的标准是IEEE 802.1t标准,思科设备默认的标准是IEEE 802.1d标准(标准可用命令更换)
Cost三种标准
接口Cost是已经激活了STP的接口所维护的一个开销值,该值存在默认值,与接口的速率有关联,并且设备使用不同的算法时,相同的接口速率对应不同的cost值。
例:
该交换机使用的是Dot1T标准,也就是IEEE802.1标准。
在该标准和千兆全双工接口带宽的情况下,计算出带宽是20000
根换交换机接口Cost计算标准命令:
修改的前提:所有交换机的Cost计算标准必须是同类,必须一致,否则无法正常对比各交换机开销,所以,若要修改Cost计算标准,则所有交换机都要修改。
(所有交换机保持一样的Cost计算标准)修改了一个接口,该接口连接的接口建议一起修改。
stp pathcost-standard +需要修改的cost计算标准类型
例:
修改成dot1t的标准类型
stp pathcost-standard dot1t
[Huawei]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998 #思科计算标准
dot1t IEEE 802.1T #华为设备默认计算标准
legacy Legacy #华为设备独有计算标准