1、STP协议原理及配置 STP协议原理及配置 一、STP概述 STP(生成树协议)是一个二层管理协议。在一个扩展的局域网中参与STP的所有交换机之间通过交换桥协议数据单元bpdu(bridge protocol data unit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为blocking,来消除网络中的环路。 IEEE 802.1d是最早关于STP的标准,它提供了网络的动态冗余切换机制。STP使您能在网络设计中部署备份线路,并且保证: * 在主线路正常工作时,备份线路是关闭的。 * 当主线路出现故障时自动使
2、能备份线路,切换数据流。 rSTP(rapid spanning tree protocol)是STP的扩展,其主要特点是增加了端口状态快速切换的机制,能够实现网络拓扑的快速转换。 1.1 设置STP模式 使用命令config spanning-tree mode可以设置STP模式为802.1d STP或者802.1w rSTP. 1.2 配置STP 交换机中默认存在一个default STP域。多域STP是扩展的802.1d,它允许在同一台交换设备上同时存在多个STP域,各个STP域都按照802.1d运行,各域之间互不影响。它提供了一种能够更为灵活和稳定网络环境
3、基本实现在vlan中计算生成树。 1.2.1 创建或删除STP 利用命令create STPd和delete STPd可以创建或删除STP. 缺省的default STP域不能手工创建和删除。 1.2.2 使能或关闭STP 交换机中STP缺省状态是关闭的。利用命令config STPd可以使能或关闭STP. 1.2.3 使能或关闭指定STP的端口 交换机中所有端口默认都是参与STP计算的。使用命令config STPd port可以使能或关闭指定的STP端口。 1.2.4 配置STP的参数 运行某个指定STP的STP协议后,可以根
4、据具体的网络结构调整该STP的一些参数。交换机中可以调整以下的STP协议参数: * bridge priority * hello time * forward delay * max age 另外每个端口上可以调整以下参数: * path cost * port priority 表1-1 配置STP参数的常用命令 1.2.5 显示STP状态 利用命令show STPd可以查看STP的状态,包括: * bridgeid * root bridgeid * STP的各种配置的参数 利用命令show STPd
5、port可以显示端口的STP状态,包括: * 端口状态 * designated port * 端口的各种配置参数 在缺省的CISCO STP模式中,每个VLAN定义一个STP. IEEE802.1Q标准是在整个交换VLAN网络中使用一个STP,但并不排除在每个VLAN中实现STP. 1 VLAN与生成树的关系 >IEEE通用生成树(CST) >CISCO PER VLAN生成树(PVST) >带CST的CISCO PER VLAN生成树(PVST+) CST是IEEE解决运行虚拟局域网VLAN生成树的方法。CST定义,整个第2层交换
6、网络所有实现了的VLAN,仅使用一个生成树实例。这个生成树实例运行在整个交换局域网上。 PVST是解决在虚拟局域网上处理生成树的CISCO特有解决方案。PVST为每个虚拟局域网运行单独的生成树实例。一般情况下PVST要求在交换机之间的中继链路上运行CISCO的ISL. PVST+是CISCO解决在虚拟局域网上处理生成树问题的另一个方案。PVST+允许CST信息传给PVST,以便与其他厂商在VLAN上运行生成树的实现方法进行操作。 2 按VLAN生成树(PVST) 为每个VLAN建立一个独立的生成树实例(PVST)。 生成树算法计算整个交换型网络的最佳无环路径。
7、PVST的优点: >生成树拓扑结构的总体规模减少。 >改进了生成树的扩展性,并减少了收敛时间。 >提供更快的收敛恢复能力和更高的可靠性。 PVST的缺点: >为了维护针对每个VLAN而生成的生树,交换机的利用率会更高 >为了支持各个VLAN的BPDU,需要占用更多的TRUNK链路带宽 生成树仅可运行在64个VLAN上。 3 公共生成树(CST) CST是IEEE在虚拟局域网上处理生成树的特有方法,这是一种VLAN解决方案,称为单一或者公共生成树。生成树协议运行在VLAN1即缺省的VLAN上。所有的交换机都举出同一个根网桥,并建立与该根网桥的
8、关系。 公共生成树不能针对每个VLAN来优化根网桥的位置。 公共生成树优点: >最小数量的BPDU通信,带宽占用少。 >交换机负载保持最小。 公共生成树的缺点如下: >只用一个根网桥,这不能为所有的VLAN做到网桥的优化放置,导致对某些设备来说可能存在次优化路径。 >为包括交换架构中的所有端口,生成树的拓扑结构较大,这就会导致较长的收敛时间和更频繁的重新配置。 4 增强型的按VLAN生成树(PVST+) PVST+有以下特征: >它是CISCO发展的,可以与802.1Q公共生成树(CST)互操作。 >通过ISL中继,PVST+与
9、现存的CISCO交换机PVST协议向后兼容,同时,PVST+也通过802.1Q中继与CST连接互操作。 >如果PVST区域和CST区域之间要互操作,一定要通过PVST+区域。 二 生成树配置 生成树配置涉及下面一些任务: >选举和维护一个根网桥。 >通过配置一些生成树的参数来优化生成树。(如端口优先级 端口成本) >通过配置上行链路来减少生成树的收敛时间。 2950交换机上生成树的缺省配置: >STP启用:缺省情况下VLAN1启用 >STP模式:PVST+ >交换机优先级:32768 >STP端口优先级:128 >STP路
10、径成本:1000M:4 100M:19 10M:100 >STP VLAN端口成本: (同上) >STP计时器:HELLO时间:2秒 转发延迟:15秒 最大老化时间:20秒 1 启用生成树: switch(config)#spanning-tree vlan vlan-list 步骤: switch#c onfig t switch(config)# spanning-tree vlan 10 switch(config)#end switch#show spanning-tree summary/detail summary摘要 detail详细 Bri
11、dge Identifier has priority 8912,address 0006.eb06.1741 (本地交换机网桥ID) desigated root has priority 8912,address 0006.eb06.1741 (根网桥ID) designated port is 7,path cost 0 (路径成本) times: hold1, topology change 35, notification 2 hello 2, max age 20, forward delay 15 (根计时器) 2 人为建立根网桥 在生成树网络中,最重要的事情就
12、是决定根网桥的位置。 可以让交换机自己根据一定的原则来选择根网桥以及备份或从(secondary)根网桥,也可使用命令人为指定根网桥。 PS:不要将接入层的交换机配置为根网桥。STP根网桥通常是汇聚层或者核心层的交换机。 通过命令直接建立根网桥: spanning-tree vlan vlan-id root primary (网桥优先级被置为24576) 步骤: switch#c onfig terminal switch(config)#spanning-tree vlan vlan-id root primary dianmeter net-d
13、iameter hello-time sec 为VLAN配置根网桥、网络半径以及HELLO间隔 ROOT关键字:指定这台交换机为根网桥 diameter netdianmeter:该关键字指定在末端口主机任意两点之间的网段的最大数量。net-diameter的值是2-7.这个直径应该从根网桥开始计算,根网桥是1 switch(config)#end switch#show spanning-tree vlan vlan-id detail 让交换机返回缺省的配置,可以使用如下命令: no spanstree vlan vlan-id root
14、2>修改网桥的优先级别: 多数情况下做如下配置: spanning -tree vlan vlan-id root primary (主ROOT网桥优先级被置为24576) spanning-tree vlan vlan-id root secondary(备份ROOT网桥优先级被置为28672) 修改网桥优先级: spanning-tree vlan vlan-id priority bridge-priority 3 确定到根网桥的路径 生成树协议依次用BPDU中这些不同域来确定根网桥的最佳路径: >根路径成本(ROOT PATH COST)
15、 >发送网桥ID(BRIDGE ID) >发送端口ID(PORT ID) 从端口发出BPDU时,它会被施加一个端口成本,所有端口成本的总和就是根路径成本。生成树首先查看根路径成本,以确定哪些端口应该转发,哪些端口应该阻塞。报告最低路径成本的端口被选为转发端口。 如果对多个端口来说,其中根路径成本相同,那么,生成树将查看网桥ID.报告有最低网桥ID的BPDU端口被允许进行转发,而其他所有端口被阻断。 如果路径成本和发送网桥ID都相同(如在平行链路中),生成树将查看发送端口ID.端口ID值小的优先级高,将作为转发端口。 4 修改端口成本 如果想要改变某台交换机
16、和根网桥之间的数据通路,就要仔细计算当前的路径成本,然后,改变所希望路径的端口成本。 我们可以更改交换机端口的成本,端口成本更低的端口更容易被选为转发帧的端口。 spanning-tree vlan vlan-id cost cost no spanning-tree vlan vlan-id cost(恢复默认成本) 配置步骤: >1 config terminal 进入配置状态 >2 interface interface-id 进入端口配置界面 >3 spanning-tree vlan vlan-id cost cost值 为某个VLAN
17、配置端口成本 >4 end >5 show spanning-tree interface interface-id detail 查看配置 >6 write 5 修改端口优先级 在根路径成本和发送网桥ID都相同的情况下,有最低优先级的端口将为vlan转发数据帧。 对应基于CLI的命令的交换机,可能的端口优先级别范围为0~63,缺省为32.基于IOS的交换机端口的优先级别范围是0~255,缺省为128. spanning-tree vlan vlan-id port-priority priority值 no spanning-tree vl
18、an vlan-id port-priority 1> config terminal (进入配置模式) 2> interface interface-id (进入端口配置模式) 3> spanning-tree vlan vlan-id port-priority 值 4> end 5>show spanning-tree interface interface-id detail 6>write 6 修改生成树计时器 使用缺省的STP计时器配置,从一条链路失效到另一条接替,需要花费50秒。这可能使网络存取被耽误,从而引起超时,不能阻止桥接回路
19、的产生,还会对某些协议的应用产生不良影响,会引起连接、会话或数据的丢失。 还有一种情况就是使用热备份路由选择协议(HSRP),将两台路由器连接到一台交换机上。某些情况下,缺省的STP的计时器值对于HSRP而言过长,会引起“活动”路由器的选择的错误。 1 修改HELLO时间 spanning-tree vlan vlan-id hello-time seconds 可以修改每一个VLAN的Hello间隔(HELLO TIME),它的取值范围是 1~10秒 2 修改转发延迟计时器 转发延迟计时器(forward delay timer)确定一个端口在转换到学习状
20、态之前处于侦听状态的时间,以及在学习状态转换到转发状态之前处于学习状态的时间。 spanning-tree vlan vlan-id forward-time seconds PS:转发时间过长,会导致生成树的收敛过慢 转发时间过短,可能会在拓扑改变的时候,引入暂时的路径回环。 3 修改最大老化时间 最大老化时间(MAX—AGE TIMER)规定了从一个具有指定端口的邻接交换机上所收到的BPDU报文的生存时间。 如果非指定端口在最大老化时间内没有收到BPDU报文,该端口将进入listening状态,并接收交换机产生配置BPDU报文。 修改命令:
21、spanning-tree vlan vlan-id max-age seconds no spanning-tree vlan vlan-id max-age (恢复默认值) 7 速端口的配置 通过速端口,可以大大减少处于侦听和学习状态的时间,速端口几乎立刻进入转发状态。速端口将工作站或者服务器连接到网络的时间减至最短。 PS:确定一个端口下面接的是终端的时候,方可启用速端口设置 switch(config-if)#spanning-tree portfast switch(config-if)#no spanning-tree portfast(关闭速端
22、口) 查看端口的速端口状态: show spanning-tree interface interface-id detail (最后一行) 8 上行速链路的配置 当检测到转发链路发生失效时,上行链路可使交换机上一个阻断的端口几乎立刻马上开始进行转发。 1>上行速链路在企业网中的应用 交换机可以分为3级: >核心层交换机 >汇聚层交换机 >接入层交换机 汇聚层和接入层的交换机上各自都至少有一条冗作链路被STP阻塞,以避免环路。 使用STP上行速链路,可以在链路或者交换机失效或者STP重新配置时,加速新的根端口的选择过程。被阻塞
23、端口会立即转换到转发状态。 上行速链路还可以通过减少参数最大更新速率(max-update-rate,IOS)来限制突发的组播通信。这些参数的缺省值是150包/秒。 在网络边缘的接入层上,上行速链路是一项最有用的功能,但它不适合用在骨干设备上。 上行速链路能在直连链路失效时实现快速收敛,并能通过上行链路组(uplink group),在多个冗余链路之间实现负载平衡。上行链路组是一组接口(属于各个VLAN) 上行链路组由一个根端口(处于转发状态)和一组阻塞状态的端口组成。 上行链路的配置: 要在配置了网桥优先级的VLAN上启动上行速链路,必须首先将VLAN上的交换机优先级恢复到缺省值。使用: no spanning-tree vlan vlan-id priority 要配置上行速链路,需要使用命令: spanning-tree uplinkfast [ max-uplink-rate pkts-per-second] pkts-per-second的取值范围是每秒0到32000个数据包。缺省值是150,通常这个值就足够了。 要检查上行速链路的配置,可以使用如下命令: show spanning-tree summary no spanning-tree uplinkfast(关闭)
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818