CCNA3 第三册5 STP王秀静.docx
- 文档编号:8808526
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:16
- 大小:27.28KB
CCNA3 第三册5 STP王秀静.docx
《CCNA3 第三册5 STP王秀静.docx》由会员分享,可在线阅读,更多相关《CCNA3 第三册5 STP王秀静.docx(16页珍藏版)》请在冰点文库上搜索。
CCNA3第三册5STP王秀静
5STP
重点:
为了减少网络的故障时间,经常会采用冗余拓扑。
STP可以让具有冗余结构的网络在故障时自动调整网络的数据转发路径。
STP重新收敛时间较长,通常需要30—50s,为了减少这个时间,引入了一些补充技术,例如,uplinkfast,baakbonefast和portfast等。
RSTP则在协议上对STP作了根本的改进形成新的协议,从而减少收敛时间。
STP还有许多改进,PVST、MST协议,以及安全措施。
在本章中,您将学习生成树协议(STP)如何防止网络中的环路问题,以及STP协议的发展过程,了解其如何通过快速计算应阻塞的端口来确保基于VLAN的网络不会产生通信环路。
目标:
说明冗余功能对融合网络的作用。
概要说明STP如何在融合网络中消除第2层环路。
说明STP算法如何通过三个步骤收敛于无环拓扑。
在LAN中采用快速PVST+来防止冗余交换机之间出现环路。
5.1具备冗余功能的第2层拓扑
5.1.1冗余功能
分层网络中的冗余功能
第1章已介绍了分层设计模型,此模型可解决平面型网络拓扑中存在的问题,其中一点就是冗余功能。
第2层冗余功能通过添加设备和电缆来实现备用网络路径,从而提升网络可用性。
当有多条网络路径可用于数据传输时,即使一条路径失效,也不会影响网络上设备的连通性。
5.1.2冗余功能存在的问题
第2层环路
冗余功能是分层设计的一个重要组成部分。
尽管这是确保可用性的关键要素,但在网络中部署冗余功能之前,必须先解决其存在的一些隐患。
1如果其间的交换机上禁用了STP,则可能出现第2层环路。
如果交换机上启用了STP(这是默认设置),则不会发生第2层环路。
2与通过路由器传递的IP数据包不同,以太网帧不含生存时间(TTL)。
因此,如果交换网络中的帧没有正确终止,它们就会在交换机之间无休止的传输,直到链路断开或环路解除为止。
讲解5.1.2图例
广播风暴
当卷入第2层环路的广播帧过多,导致所有可用带宽都被耗尽时,便形成了广播风暴。
此时没有带宽可供正常流量使用,网络无法支持数据通信。
重复的单播帧
广播帧并不是会受环路影响的唯一一种帧。
发送到环路网络的单播帧也可能造成目的设备收到重复的帧。
图例重复的单播帧
5.1.3现实中的冗余问题
可使用生成树协议(STP)来防止环路。
但是,如果架设冗余拓扑时没有采用STP,就可能意外生成环路。
中小型企业的网络布线有时候相当复杂。
配线间内接入层交换机之间的网络电缆埋藏在墙壁、地板和天花板中,电缆穿过这些位置连接到网络的分布层交换机。
当网络电缆端接到配线间内的配线面板上时,如果没有进行正确标记,那么很难确定配线面板端口的目的网络。
配线间内很容易出现因意外重复连接而导致的网络环路情况。
工作室内的环路
由于网络数据连接不足,有些最终用户在自己的工作环境中使用个人集线器或交换机。
这样做的优点是可通过个人集线器或交换机连接到现有的网络数据连接,从而将其所连接的所有设备都接入网络,无需耗资为工作区添加额外的网络数据连接。
配线间一般都设有防护,阻止XX的人员进入。
因此通常只有网络管理员一人才能完全掌控哪些设备可接入网络以及设备接入网络的方式。
与配线间不同的是,管理员无法控制个人集线器和交换机的使用或连接方式,因此最终用户可能会不小心将交换机或集线器相互连接在一起。
5.2STP简介
5.2.1生成树算法
STP拓扑
STP会特意阻塞可能导致环路的冗余路径,以确保网络中所有目的地之间只有一条逻辑路径。
当一个端口阻止流量进入或离开时,该端口便视为处于阻塞状态。
不过STP用来防止环路的网桥协议数据单元(BPDU)帧仍可继续通行。
阻塞冗余路径对于防止网络环路非常关键。
为了提供冗余功能,这些物理路径实际依然存在,只是被禁用以免产生环路。
一旦需要启用此类路径来抵消网络电缆或交换机故障的影响时,STP就会重新计算路径,将必要的端口解除阻塞,使冗余路径进入活动状态。
讲解图例STP拓扑
STP算法
STP使用生成树算法(STA)计算网络中的哪些交换机端口应配置为阻塞才能防止环路形成。
STA会将一台交换机指定为根桥,然后将其用作所有路径计算的参考点。
交换机S1在选举过程中被选为根桥。
所有参与STP的交换机互相交换BPDU帧,以确定网络中哪台交换机的网桥ID(BID)最小。
BID最小的交换机将自动成为STA计算中的根桥。
BPDU是运行STP的交换机之间交换的消息帧。
每个BPDU都包含一个BID,用于标识发送该BPDU的交换机。
BID内含有优先级值、发送方交换机的MAC地址以及可选的扩展系统ID。
BID值的大小由这三个字段共同决定。
确定根桥后,STA会计算到根桥的最短路径。
每台交换机都使用STA来确定要阻塞的端口。
当STA为广播域中的所有目的地确定到达根桥的最佳路径时,网络中的所有流量都会停止转发。
STA在确定要开放的路径时,会同时考虑路径开销和端口开销。
路径开销是根据端口开销值计算出来的,而端口开销值与给定路径上的每个交换机端口的端口速度相关联。
端口开销值的总和决定了到达根桥的路径总开销。
如果可供选择的路径不止一条,STA会选择路径开销最低的路径。
根端口-最靠近根桥的交换机端口。
在示例中,交换机S2的根端口是F0/1,该端口位于交换机S2与S1之间的中继链路上。
交换机S3的根端口是F0/1,该端口位于交换机S3与S1之间的中继链路上。
指定端口-网络中获准转发流量的、除根端口之外的所有端口。
在示例中,交换机S1上的端口F0/1和F0/2都是指定端口。
交换机S2的F0/2端口也是指定端口。
非指定端口-为防止环路而被置于阻塞状态的所有端口。
1根桥
每个生成树实例(交换LAN或广播域)都有一台交换机被指定为根桥。
根桥是所有生成树计算的参考点,用以确定哪些冗余路径应被阻塞。
根桥通过选举来确定。
2到根桥的最佳路径
为生成树实例指定根桥后,STA便开始确定从广播域内所有目的地到根桥的最佳路径。
将从目的地到根桥的路径上沿途的每个端口开销加在一起便可得到路径信息。
默认情况下,端口开销由端口的运行速度决定。
注:
STP使用的端口开销值由IEEE定义。
随着更新、更快的以太网技术面世,路径开销值也可能进行相应的改变,以满足各种可用速度的要求。
这些非线性值可以适应对以太网标准的某些改进,不过需注意的是,IEEE可以根据需要更改这些数字。
为了满足更新的10-Gb/s以太网标准的要求,右表中的值已进行相应的更改。
尽管交换机端口关联有默认的端口开销,但端口开销是可以配置的。
通过单独配置各个端口开销,管理员便能灵活控制到根桥的生成树路径。
要配置接口的端口开销,在接口配置模式下输入spanning-treecostvalue命令。
value的范围介于1到200,000,000之间。
通过在交换机端口F0/1上使用spanning-treecost25接口配置命令,该端口的端口开销已配置为25。
要将该端口开销恢复为默认值,可输入nospanning-treecost接口配置命令。
路径开销是到根桥的路径上所有端口开销的总和。
路径开销最低的路径会成为首选路径,所有其它冗余路径都会被阻塞。
要检验到根桥的端口和路径开销,输入特权执行模式命令showspanning-tree。
输出中的Cost(开销)字段显示了到根桥的总路径开销。
此值取决于到达根桥的过程中要经过多少个交换机端口。
输出显示,每个接口的单端口开销是19。
另一个可用来检验这些信息的命令是特权执行模式命令showspanning-treedetail。
5.2.2STPBPDU
BPDU(网桥协议数据单元)字段
BPDU帧包含12个不同的字段,这些字段涵盖了所需的路径和优先级信息,STP便利用这些信息来确定根桥以及到根桥的路径。
前四个字段标识协议、版本、消息类型和状态标志。
在捕获到的BPDU帧中,根ID及BID两者相同。
这表明该帧捕获自根桥交换机。
所有计时器都设置为默认值。
BPDU过程
广播域中的每台交换机最初都会将自己视为生成树实例中的根桥,因此其送出的BPDU帧中将自己的BID作为根ID。
默认情况下,BPDU帧是在交换机启动后每2秒发送一次,也就是说BPDU帧中hello计时器的默认值是2秒。
每台交换机都维护着有关其BID、根ID以及到根桥的路径开销的本地信息。
当邻接交换机收到BPDU帧时,它们会将BPDU帧内的根ID与本地根ID比较。
如果BPDU中的根ID比本地根ID更小,交换机便更新本地根ID以及它送出的BPDU消息内的根ID。
这些消息的作用是告诉网络新的根桥。
此外,路径开销也会更新,以指出到根桥的距离。
例如,如果交换机的快速以太网端口收到BPDU,其路径开销会被设置为19。
如果本地根ID小于BPDU帧内的根ID,该BPDU帧将被丢弃。
交换机的根ID更新后,其送出的所有后续BPDU帧都会包含新的根ID以及更新后的路径开销。
通过这种方式,所有其它邻接交换机就能始终看到最小的根ID。
随着BPDU帧在其它邻接交换机之间传递,路径开销也不断更新,以指示到根桥的总路径开销。
生成树中的每台交换机使用其路径开销来指示到根桥的最佳可能路径。
5.2.3网桥ID
BID字段
BPDU帧的BID包含三个不同的字段:
网桥优先级、扩展系统ID、MAC地址。
根桥选举时会用到这些字段。
网桥优先级
网桥优先级是一个可自定义的值,您可使用它来影响哪台交换机能成为根桥。
优先级最低的交换机具有最小的BID,因此其会成为根桥(优先级值越低,优先级越高)。
例如,要确保某台交换机始终是根桥,可将其优先级设置为比网络中的其它交换机更低。
所有Cisco交换机的默认优先级值是32768。
优先级值的范围是1至65536;因此,1是最高优先级。
扩展系统ID
如示例所示,在特定配置下,BPDU帧可能不含扩展系统ID。
早期的STP用于不使用VLAN的网络中。
所有交换机构成一颗简单的生成树。
当VLAN逐渐成为常见的网络体系结构分段方式时,人们对STP进行了改进,加入了对VLAN的支持。
因此,扩展系统ID字段包含的是BPDU关联的VLAN的ID。
使用扩展系统ID时,网桥优先级值的可用位数会随之改变,因此网桥优先级值的增量从1更改为4096。
所以网桥优先级值只能是4096的倍数。
扩展系统ID值与网桥优先级值一并可标识BPDU帧的优先级及其所属的VLAN。
MAC地址
当两台交换机配置有相同的优先级和相同的扩展系统ID时,MAC地址所含的十六进制值最低的交换机具有较小的BID。
一开始,所有交换机都具有相同的默认优先级值。
随后MAC地址成为确定哪台交换机能成为根桥的决定因素。
这会导致根桥选举无法预测。
配置并检验BID
如果要将特定交换机作为根桥,必须对其网桥优先级值加以调整,以确保该值低于网络中所有其它交换机的网桥优先级值。
要对CiscoCatalyst交换机配置网桥优先级值,可通过两种配置方法来实现。
方法1-为确保该交换机具有最低的网桥优先级值,在全局配置模式下使用spanning-treevlanvlan-idrootprimary命令。
该交换机的优先级即被设置为预定义的值24576,或者是比网络中检测到的最低网桥优先级低4096的值。
如果需要设置一台备用根桥,可使用全局配置模式命令spanning-treevlanvlan-idrootsecondary。
此命令将交换机的优先级设置为预定义的值28672。
这可确保在主根桥失败的情况下,该交换机能在新一轮的根桥选举中成为根桥(假设网络中的所有其它交换机均使用默认的优先级值32768)。
在示例中,交换机S1被全局配置模式命令spanning-treevlan1rootprimary指定为主根桥,交换机S2被全局配置模式命令spanning-treevlan1rootsecondary配置为次根桥。
方法2-另一种配置网桥优先级值的方法是使用全局配置模式命令spanning-treevlanvlan-idpriorityvalue。
此命令可更为精确的控制网桥优先级值。
优先级值介于0和65536之间,增量为4096。
要检验交换机的网桥优先级,可使用特权执行模式命令showspanning-tree。
5.2.4端口角色
STA会确定每个交换机端口分配的角色。
当确定交换机上的根端口时,交换机会比较参与生成树的所有交换机端口的路径开销。
到根桥的路径总开销最低的交换机端口自动被指派根端口角色,因为它最靠近根桥。
在网络拓扑中,使用生成树的所有交换机(根桥除外)都拥有一个根端口。
如果两个交换机端口到根桥的路径开销相同而且都是最低开销,交换机需要确定哪一个成为根端口。
此时,交换机通过可自定义的端口优先级值来加以确定;如果两个端口的优先级值相同,则通过最低端口ID来确定。
端口ID是交换机端口的接口ID。
例如,右图包含四台交换机。
交换机S2上的端口F0/1和F0/2回到根桥的路径开销值相等。
不过,交换机S2上的端口F0/1是首选端口,因为它的端口ID值较低。
端口ID附加在端口优先级之后。
例如,交换机端口F0/1的默认端口优先级值是128.1,其中128是可配置的端口优先级值,.1是端口ID。
交换机端口F0/2默认的端口优先级值是128.2。
配置端口优先级
可使用接口配置模式命令spanning-treeport-priorityvalue来配置端口优先级值。
端口优先级值的范围为0-240(增量为16)。
默认的端口优先级值是128。
与网桥优先级一样,端口优先级值越低代表优先级越高。
在本例中,端口F0/1的端口优先级设置为112,低于默认端口优先级128。
这可确保该端口在与其它端口竞争特定端口角色时,能够成为首选端口。
当交换机将两个端口中的一个选为根端口时,落选端口会被配置为非指定端口,以防止形成环路。
端口角色确定
在示例中,交换机S1是根桥。
交换机S2和S3上连接回S1的端口都被配置为根端口。
在交换机确定担任根端口角色的端口后,它还需要确定哪些端口成为指定端口,哪些成为非指定端口。
根桥自动将其所有交换机端口配置为指定端口角色。
拓扑中的其它交换机将自己的非根端口配置为指定或非指定端口。
所有LAN网段都会配置指定端口。
当两台交换机连接到同一LAN网段并且根端口都已确定时,这两台交换机需要决定哪个端口应配置为指定端口,哪个应保留为非指定端口。
LAN网段中对此有疑问的交换机会交换BPDU帧,其中含有交换机的BID。
一般而言,BID较低的交换机会将其端口配置为指定端口,BID较大的交换机则将其端口配置为非指定端口。
不过,请记住首要条件是具有到根桥的最低路径开销。
只有当端口开销相等时,才考虑发送方的BID。
检查端口的角色和端口优先级
在生成树确定逻辑无环网络拓扑后,您可能想要确认网络中各个交换机端口所扮演的角色及其具备的端口优先级。
要检查交换机端口的端口角色和端口优先级,可使用特权执行模式命令showspanning-tree。
在示例中,showspanning-tree的输出显示了所有交换机端口及其定义的角色。
交换机端口F0/1和F0/2被配置为指定端口。
输出还显示了每个交换机端口的端口优先级。
交换机端口F0/1的端口优先级是128.1。
最后,每台交换机都确定出自己每个端口的具体端口角色,创建出无环的生成树。
5.2.5STP端口状态和BPDU计数器
端口状态
STP用于为整个广播域确定逻辑无环路径。
互连的交换机通过交换BPDU帧来获知信息,生成树即是根据这些信息而确定的。
为了方便逻辑生成树的学习,每个交换机端口都会经过五种可能的端口状态并用到三个BPDU计时器。
交换机完成启动后,生成树便立即确定。
如果交换机端口直接从阻塞转换到转发状态,而交换机此时并不了解所有拓扑信息时,该端口可能会暂时造成数据环路。
为此,STP引入了五种端口状态。
阻塞-该端口是非指定端口,不参与帧转发。
此类端口接收BPDU帧来确定根桥交换机的位置和根ID,以及最终的活动STP拓扑中每个交换机端口扮演的端口角色。
侦听-STP根据交换机迄今收到的BPDU帧,确定该端口可参与帧转发。
此时,该交换机端口不仅会接收BPDU帧,它还会发送自己的BPDU帧,通知邻接交换机此交换机端口正准备参与活动拓扑。
学习-端口准备参与帧转发,并开始填充MAC地址表。
转发-该端口是活动拓扑的一部分,它会转发帧,也会发送和接收BPDU帧。
禁用-该第2层端口不参与生成树,不会转发帧。
当管理性关闭交换机端口时,端口即进入禁用状态。
BPDU计时器
端口处于各种端口状态的时间长短取决于BPDU计时器。
只有角色是根桥的交换机可以通过生成树发送信息来调整计时器。
以下计时器决定了STP的性能和状态转换:
Hello时间
转发延迟
最大老化时间
启用STP后,网络中的每个交换机端口在通电时都会经过阻塞状态以及短暂的侦听和学习状态。
然后端口稳定在转发状态或阻塞状态,当拓扑发生改变时,端口会临时进入侦听与学习状态一段时间,该时间称为“转发延迟间隔”。
通过上述三个计时器,交换机直径为7的网络便能有充足的时间达到收敛。
交换机直径是指广播域中相距最远的两个端点之间传送帧时,该帧需要经过的交换机数。
由于收敛时间的缘故,STP最多只支持直径为7台交换机的网络。
生成树收敛是指在发生交换机或链路故障时,重新计算生成树所花费的时间。
建议不要直接调整BPDU计时器,因为这些值已针对七交换机直径的网络进行优化。
如果将根桥上的生成树直径值调整为较低的值,那么转发延迟和最大老化时间计时器也会针对新的直径自动进行适当调整。
通常我们不调整BPDU计时器,也不重新配置网络直径。
不过,如果经过调查后,网络管理员认为网络的收敛时间可进一步优化,那么可以通过重新配置网络直径(而不是BPDU计时器)来进行优化。
要为STP配置不同的网络直径,可在根桥交换机上使用全局配置模式命令spanning-treevlanvlanidrootprimarydiametervalue。
在示例中,我们输入了全局配置模式命令spanning-treevlan1rootprimarydiameter5,将生成树直径调整为五台交换机。
CiscoPortFast技术
PortFast是Cisco独有的技术。
使用PortFast的交换机端口如果被配置为接入端口,该端口会直接从阻塞状态转换到转发状态,绕过常规的STP侦听和学习状态。
您可以在连接到单个工作站或服务器的接入端口上使用PortFast,以便这些设备立即接入网络,而不必等待生成树收敛。
当配置了PortFast的接口收到BPDU帧时,生成树可以使用一种称为“BPDU防护”的功能将该端口置于阻塞状态。
注:
CiscoPortFast技术可用来支持DHCP。
如果没有配置PortFast,PC可能在端口进入转发状态之前发送DHCP请求,导致主机无法获得可用的IP地址和其它信息。
由于PortFast立即将状态更改为转发,PC就始终能获得可用的IP地址。
注:
由于PortFast的目的是将接入端口等待生成树收敛的时间降至最低,因此该技术只能用于接入端口上。
如果在连接到其它交换机的端口上启用PortFast,则会增加形成生成树环路的风险。
要在交换机端口上配置PortFast,可对要启用PortFast的每个接口输入接口配置模式命令spanning-treeportfast。
要禁用PortFast,可对要禁用PortFast的每个接口上输入接口配置模式命令nospanning-treeportfast。
要检查交换机端口上是否启用了PortFast,可使用特权执行模式命令showrunning-config。
如果接口的运行配置中没有spanning-treeportfast命令,则表示该接口禁用了PortFast。
默认情况下,所有接口均禁用了PortFast。
5.3STP收敛
STP收敛的步骤
收敛是生成树过程的一个重要环节。
收敛是指网络在一段时间内确定作为根桥的交换机、经过所有不同的端口状态,并且将所有交换机端口设置为其最终的生成树端口角色,而所有潜在的环路都被消除。
收敛过程需要耗费一定时间,这是因为其使用各种不同的计时器来协调整个过程。
STP:
为了增加局域网的冗余性,我们常常会在网络中引入冗余链路,然而这样却会引起交换环路。
交换环路会带来3个问题:
广播风暴、同一帧的多个拷贝和交换机MAC表不稳定。
STP可以解决这些问题,STP基本思路是阻断一些交换机接口,构建一颗没有环路的转发树。
STP利用BPDU(BridgeProtocolDataUnit)和其他交换机进行通信,从而确定哪个交换机该阻断哪个接口。
在BPDU中有几个关键的字段,例如,根桥ID、路径代价和端口ID等。
为了在网络中形成一个没有环路的拓扑,网络中的交换机要进行以下3个步骤:
步骤1:
选举根桥;步骤2:
选举根端口;步骤3:
选举指定端口和非指定端口。
在这些步骤中,哪个交换机能获胜将取决于以下因素(按顺序进行):
1最低的根桥ID;2最低的根路径代价;3最低发送者桥ID;4最低发送者端口ID。
当网络的拓扑发生变化时,网络会从一个状态向另一个过渡,重新打开或者阻断某些接口。
交换机的端口要经过几种状态:
禁用、阻塞、监听状态、学习状态和最后是转发状态。
端口处于各种端口状态的时间长短取决于BPDU计时器。
只有角色是根桥的交换机可以发送信息来调整计数器。
以下计时器决定了STP的性能和状态转换:
HELLO时间、转发延迟和最大老化时间。
当转发端口关闭或者某端口在交换机已具有指定端口的情况下转换为转发状态时,交换机会认为自己检测到了拓扑更改。
如果检测到更改,交换机会通知生成树的根桥,根桥将该信息广播到整个网络。
5.3.2步骤1.选举根桥
步骤1.选举根桥
生成树收敛的第一个步骤是选举根桥。
根桥是所有生成树路径开销计算的基础,用于防止环路的各种端口角色也是基于根桥而分配的。
根桥选举在交换机完成启动时或者网络中检测到路径故障时触发。
一开始,所有交换机端口都配置为阻塞状态,此状态默认情况下会持续20秒。
这样做可以确保STP有时间来计算最佳根路径并将所有交换机端口配置为特定的角色,避免在完成这一切之前形成环路。
当交换机端口处于阻塞状态时,它们仍可以发送和接收BPDU帧,以便继续执行生成树根选举。
生成树允许网络的端与端之间最多有七台交换机。
这样整个根桥选举过程能够在14秒内完成,此时间短于交换机端口处于阻塞状态的时间。
一旦交换机启动完成,它们便立即开始发送BPDU帧来通告自己的BID,试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CCNA3 第三册 STP王秀静 第三 STP 王秀静