Cisco基础:STP协议原理及配置【内容摘要】一、stp概述stp(生成树协议)是一个二层管理协议。
在一个扩展的局域网中参与stp的所有交换机之间通过交换桥协议数据单元bpdu(bridgeprotocoldataunit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为blocking,来消除网络中的环路。
ieee802.1d是最早关于stp的标准,它提供了网络的动态冗余切换机制。
stp使您能……-----------------------------------------------------------------------------一、stp概述stp(生成树协议)是一个二层管理协议。
在一个扩展的局域网中参与stp的所有交换机之间通过交换桥协议数据单元bpdu(bridge protocol data unit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为blocking,来消除网络中的环路。
ieee 802.1d是最早关于stp的标准,它提供了网络的动态冗余切换机制。
stp使您能在网络设计中部署备份线路,并且保证:* 在主线路正常工作时,备份线路是关闭的。
* 当主线路出现故障时自动使能备份线路,切换数据流。
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运行,各域之间互不影响。
它提供了一种能够更为灵活和稳定网络环境,基本实现在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协议后,可以根据具体的网络结构调整该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 port可以显示端口的stp状态,包括:* 端口状态* designated port* 端口的各种配置参数在缺省的cisco stp模式中,每个vlan定义一个stp.ieee802.1q标准是在整个交换vlan网络中使用一个stp,但并不排除在每个vlan中实现stp.1vlan与生成树的关系>ieee通用生成树(cst)>cisco per vlan生成树(pvst)>带cst的cisco per vlan生成树(pvst+)cst是ieee解决运行虚拟局域网vlan生成树的方法。
cst定义,整个第2层交换网络所有实现了的vlan,仅使用一个生成树实例。
这个生成树实例运行在整个交换局域网上。
pvst是解决在虚拟局域网上处理生成树的cisco特有解决方案。
pvst为每个虚拟局域网运行单独的生成树实例。
一般情况下pvst要求在交换机之间的中继链路上运行cisco的isl.pvst+是cisco解决在虚拟局域网上处理生成树问题的另一个方案。
pvst+允许cst信息传给pvst,以便与其他厂商在vlan上运行生成树的实现方法进行操作。
2按vlan生成树(pvst)为每个vlan建立一个独立的生成树实例(pvst)。
生成树算法计算整个交换型网络的最佳无环路径。
pvst的优点:>生成树拓扑结构的总体规模减少。
>改进了生成树的扩展性,并减少了收敛时间。
>提供更快的收敛恢复能力和更高的可靠性。
pvst的缺点:>为了维护针对每个vlan而生成的生树,交换机的利用率会更高>为了支持各个vlan的bpdu,需要占用更多的trunk链路带宽生成树仅可运行在64个vlan上。
3公共生成树(cst)cst是ieee在虚拟局域网上处理生成树的特有方法,这是一种vlan解决方案,称为单一或者公共生成树。
生成树协议运行在vlan1即缺省的vlan上。
所有的交换机都举出同一个根网桥,并建立与该根网桥的关系。
公共生成树不能针对每个vlan来优化根网桥的位置。
公共生成树优点:>最小数量的bpdu通信,带宽占用少。
>交换机负载保持最小。
公共生成树的缺点如下:>只用一个根网桥,这不能为所有的vlan做到网桥的优化放置,导致对某些设备来说可能存在次优化路径。
>为包括交换架构中的所有端口,生成树的拓扑结构较大,这就会导致较长的收敛时间和更频繁的重新配置。
4增强型的按vlan生成树(pvst+)pvst+有以下特征:>它是cisco发展的,可以与802.1q公共生成树(cst)互操作。
>通过isl中继,pvst+与现存的cisco交换机pvst协议向后兼容,同时,pvst+也通过802.1q中继与cst连接互操作。
>如果pvst区域和cst区域之间要互操作,一定要通过pvst+区域。
二生成树配置生成树配置涉及下面一些任务:>选举和维护一个根网桥。
>通过配置一些生成树的参数来优化生成树。
(如端口优先级端口成本)>通过配置上行链路来减少生成树的收敛时间。
2950交换机上生成树的缺省配置:>stp启用:缺省情况下vlan1启用>stp模式:pvst+>交换机优先级:32768>stp端口优先级:128>stp路径成本:1000m:4100m:1910m:100>stp vlan端口成本:(同上)>stp计时器:hello时间:2秒转发延迟:15秒最大老化时间:20秒1启用生成树:switch(config)#spanning-tree vlan vlan-list步骤:switch#c onfig tswitch(config)# spanning-tree vlan 10switch(config)#endswitch#show spanning-tree summary/detailsummary摘要detail详细bridge 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 2hello 2, max age 20, forward delay 15 (根计时器)2人为建立根网桥在生成树网络中,最重要的事情就是决定根网桥的位置。
可以让交换机自己根据一定的原则来选择根网桥以及备份或从(secondary)根网桥,也可使用命令人为指定根网桥。
ps:不要将接入层的交换机配置为根网桥。
stp根网桥通常是汇聚层或者核心层的交换机。
通过命令直接建立根网桥:spanning-tree vlan vlan-id root primary (网桥优先级被置为24576)步骤:switch#c onfig terminalswitch(config)#spanning-tree vlan vlan-id root primary dianmeter net-diameter hello-time sec为vlan配置根网桥、网络半径以及hello间隔root关键字:指定这台交换机为根网桥diameter netdianmeter:该关键字指定在末端口主机任意两点之间的网段的最大数量。
net-diameter的值是2-7.这个直径应该从根网桥开始计算,根网桥是1switch(config)#endswitch#show spanning-tree vlan vlan-id detail让交换机返回缺省的配置,可以使用如下命令:no spanstree vlan vlan-id root2>修改网桥的优先级别:多数情况下做如下配置: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-priority3确定到根网桥的路径生成树协议依次用bpdu中这些不同域来确定根网桥的最佳路径:>根路径成本(root path cost)>发送网桥id(bridge id)>发送端口id(port id)从端口发出bpdu时,它会被施加一个端口成本,所有端口成本的总和就是根路径成本。
生成树首先查看根路径成本,以确定哪些端口应该转发,哪些端口应该阻塞。
报告最低路径成本的端口被选为转发端口。
如果对多个端口来说,其中根路径成本相同,那么,生成树将查看网桥id.报告有最低网桥id的bpdu端口被允许进行转发,而其他所有端口被阻断。
如果路径成本和发送网桥id都相同(如在平行链路中),生成树将查看发送端口id.端口id值小的优先级高,将作为转发端口。
4修改端口成本如果想要改变某台交换机和根网桥之间的数据通路,就要仔细计算当前的路径成本,然后,改变所希望路径的端口成本。
我们可以更改交换机端口的成本,端口成本更低的端口更容易被选为转发帧的端口。
spanning-tree vlan vlan-id cost costno spanning-tree vlan vlan-id cost(恢复默认成本)配置步骤:>1config terminal 进入配置状态>2interface interface-id 进入端口配置界面>3spanning-tree vlan vlan-id cost cost值为某个vlan配置端口成本>4end>5show spanning-tree interface interface-id detail查看配置>6write5修改端口优先级在根路径成本和发送网桥id都相同的情况下,有最低优先级的端口将为vlan转发数据帧。