ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

STP——生成树协议

2019-07-13 16:00:10  阅读:300  来源: 互联网

标签:协议 BPDU 根桥 端口 tree 生成 Switch STP spanning


STP——生成树协议

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

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

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

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

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

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

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

几个重要角色和端口

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

指定端口:在网络中的每条链路上都需要选举出一个指定端口。指定端口到达根桥的开销一定是最小,指定端口对应的桥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,同样是越小越好

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

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——生成树协议

标签:协议,BPDU,根桥,端口,tree,生成,Switch,STP,spanning
来源: https://blog.51cto.com/14367225/2419924

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有