STP——生成树协议

STP——生成树协议

STP--spanning tree protocol--生成树协议,是IEEE定义的一个802.1d标准,用于解决交换机中得人一系列环路问题。网络

为何要使用STP?
在大型的网络当中,为了不单点故障和实现网络的高可用性以及负载均衡,一般会在两台交换机之间以网线相连,造成冗余的链路环境。可是冗余的链路环境为造成环路,会对整个网络中的资源消耗和设备损耗形成很大的负担。因此提出了STP来解决这一系列问题。负载均衡

冗余的链路会引起什么问题?
①会造成广播风暴(环路)
②帧的多个副本
③形成MAC地址表的不稳定ide

交换机之间一开始互相发送BPDU,相似于OSPF的hello包
BPDU:网桥协议数据单元 每隔2s发送一次。

几个参数:
①桥ID:优先级+背板MAC地址 优先级默认是32768
②本身认为到到达根桥的开销
③本身认为根桥的ID

生成树的开销:是经过链路速度来衡量
10G=2 1G=4 100M=19 10M=100学习

背板MAC地址:每台设备惟一,出厂前就记录在设备上。
Switch#show version ——能够用来查看背板MAC地址spa

几个重要角色和端口code

根桥:二层网络的一个核心,网络中的阻塞端口是以根桥为核心来进行选举的。(是在交换机之间进行选举的)
注意:是经过选举获得,在网络一开始的时候,全部的交换机都认为本身是根桥,都会向网路中发送BPDU,而且都会接收到对方发送的BPDU。此时,双方就会进行相应参数的对比,选择出网络中的根桥。
一旦网络中选举出新的根桥,那么整个网络中就只有根桥会发送BPDU,其余交换机只能转发来自根桥的BPDU
选举规则:
①首先比较优先级大小,优先级小的成为根桥。
②若是优先级一致,就比较背板MAC地址的大小,一样是越小越好blog

指定端口:在网络中的每条链路上都须要选举出一个指定端口。指定端口到达根桥的开销必定是最小,指定端口对应的桥ID必定最小。(注意:根桥上的全部端口都是指定端口)
做用:用于发送BPDU和转发来自根桥的BPDU
选举规则:
①到达根桥的开销最小
②桥ID越小越优
③端口ID,一样是越小越好接口

端口ID:端口优先级+端口号(默认的端口优先级是128)
e0/0 128.5
e0/1 128.6
f0/0 128.3
f0/1 128.4
g0/0 128.1
g0/1 128.2资源

根端口:一台交换机上只有一个根端口,根端口到达根桥的开销 必定是最小的。因此根端口到达根桥的路径必定是最优路径。
做用:接收来自根桥的BPDU
选举规则
①到达根桥的开销最小
②桥ID越小越优
③端口ID,一样是越小越好it

阻塞端口:逻辑的阻塞一个端口,该端口并非真正的关闭,一旦最优路径出现故障后,阻塞端口就会自动开启。

Switch#show spanning-tree——查看STP生成树

生成树的端口状态:
①阻塞状态:处于阻塞状态的端口,不会转发来自根桥的BPDU,可是会接收BPDU,以此来避免环路。
最大老化时间:20s,网络中的BPDU每隔两秒发送一次,一样的阻塞端口也是每隔2秒接受一次BPDU,若是阻塞端口在20s内没有接收到BPDU的话,那么就会跳出阻塞状态,进入侦听状态。

②侦听状态:处于侦听状态的接口,会侦听网络中的BPDU,而且进行MAC地址的学习。
最大转发延迟时间:15s,15s内没有接收到来自对方的BPDU,就会跳出侦听状态,进入学习状态。

③学习状态:处于学习状态的接口,会进行MAC地址的学习,而且准备转发数据帧。
最大转发延迟时间:15s,15s内没有接收到来自对方的BPDU,就会跳出学习状态,进入转发状态。

④转发状态:已经进行了MAC地址的学习,而且开始转发数据。

注意:端口从阻塞状态到达正常转发数据的学习状态须要多久---30-50s
①若是出现问题端口是在本台设备上:30s
②若是出现问题端口再也不本台设备上:50s

Portfast--快速端口
在网络中,交换机和PC等终端设备相连的接口,因为不须要进行冗余备份处理,因此不会产生环路问题,所以通常状况下,取消交换机之间端口切换的50s时间,此时就能够经过配置快速端口来实现。
注意:快速端口只能使用在交换和pc等终端设备的接口上,而且快速端口默认状况下只能配置在access口,不能配置在trunk口。
①将某一个接口配置成快速端口

Switch(config)#int f0/4--
Switch(config-if)#spanning-tree portfast

②同时将多个接口配置成快速的端口

Switch(config)#in range f0/1-3
Switch(config-if-range)#spanning-tree portfast

③将交换机上的全部接口都配置成快速端口

Switch(config)#spanning-tree portfast default

④在某些特殊状况下,须要将trunk配置成快速端口

Switch(config-if)#spanning-tree portfast trunk

PVST--per-VLAN spanning tree
在网络中,能够针对某一个特定的vlan,设置一个特定根桥
①经过更改优先级来选举成为根桥,若是网络中加入优先级更高级别发,会被抢夺根桥地位。

Switch(config)#spanning-tree vlan 10 priority  28672

②直接指定

Switch(config)#spanning-tree vlan 10 root primary --

使得vlan成为绝对根桥,不会随着网络拓扑的变化而发生改变

Switch(config)#spanning-tree vlan 10 root secondary --成为绝对的备份根桥


快速生成树:

传统的生成树虽然可以解决冗余链路所带来的的环路问题,可是传统生成树的做用是基于4个状态和时间的,这样所须要的时间比较久。可是快速生成树彻底避免了这一个问题。
端口角色:指定端口、根端口、替换端口
端口做用:发送、接收、丢弃

STP——生成树协议

相关文章
相关标签/搜索