STP(Spanning Tree Protocol)最早是由数字设备公司DEC(Digital Equipment Corporation)开发的,这个公司后来被收购并改名Compaq公司。IEEE后来开发了它自己的STP版本,称为802.1D。坏消息是,默认时,Cisco交换机运行STP的IEEE802.1D版本,它与DEC版本不兼容。好消息是,Cisco在其新出品的交换机上使用了另一个工业标准,称为802.1W。
根桥(Root bridge):是桥ID最低的网桥。它将成为网络中的焦点,所有其它的决定都是根据根桥的判断来做出选择的。
桥协议数据单元(BPDU/Bridge Protocol Data Unit):所有的交换机相互之间都交换信息,并利用这些信息来选出根交换机,也根据这些信息来进行网络的后续配置。默认时,每2秒发送一次BPDU。
桥ID(Bridge ID):STP利用桥ID来跟踪网络中的所有交换机。桥ID是由桥优先级(在所有的Cisco交换机上,默认的优先级为32768)和MAC地址的组合来决定的。在网络中,桥ID最小的网桥就成为根桥。
非根桥(Nonroot bridge):除了根桥外,其他所有的网桥都是非根桥。它们相互之间都交换BPDU,并在所有交换机上更新STP拓朴数据库,以防止环路并对链路失效采取补救措施。
端口开销(Port cost):当两台交换机之间有多条链路且都不是根端口时,就根据端口开销来决定最佳路径,链路的开销取决于链路带宽。
根端口(Root port):根端口是指直接连到根桥的链路所在的端口,或者到根桥的路径最短的端口。选择依次比较:开销最低的端口,如开销相同,就使用桥ID小一些的那个,如多条链路来自同一台设备,就使用端口号最低的那条链路。
指定端口(Designated port):有最低开销的端口就是指定端口,指定端口被标记为转发端口。
非指定端口(Nondesignated port):非指定端口是指开销比指定端口高的端口,非指定端口将被置为阻塞状态,它不是转发端口。
转发端口(Forwarding port):指能够转发帧的端口。
阻塞端口(Blocked port):阻塞端口是指不能转发帧的端口,这样做是为了防止产生环路。然而,被阻塞的端口将始终监听帧。
STP的任务是找到网络中的所有链路,并关闭任何冗余的链路,这样就可以防止网络环路的产生。STP首先选举一个根桥,由根桥来负责决定网络拓朴。一旦根桥选定,其它的每台交换机就必须找到其唯一的根端口。在两台交换机之间的每一条链路必须有唯一的指定端口,在那条链路上的端口提供到根桥最大的带宽(并不是路短路径)。显然,根交换机上的每个端口都是指定端口,因为根桥离自己总是最近的。在执行STP算法之后,任何既不是端口也不是指定端口的端口,这意味着它们是非根端口、非指定端口,它们将会被置为阻塞状态,从而打破交换环路。
桥ID用来选举根桥,并决定根端口。桥ID为8个字节长,其中包括了设备的优先级和MAC地址。
a、首先看优先级,优先级小的胜出;
b、看MAC地址,MAC地址最小的设备胜出。
改变默认优先级是选举根桥的最佳方式。这一点很重要,因为我们希望网络中的核心交换机成为根桥,这样STP就会快速收敛:
Switch B(config)#do show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0005.74ae.aa40
Cost 19
Port 1(FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0012.7f52.0280
Hello Time 2 sce Max Age 20 sec Forward Delay 15 sec
Aging Time 300
[output cut]
从以上显示得出,交换机B运行的是IEEE802.1d协议,第一项输出(RootID)是交换式网络中根桥的信息,但这不是交换机B的信息。交换机B到根桥的端口(根端口)是端口1。桥ID实际上是有关交换机B和VLAN1的生成树信息。交换机B的默认优先级是32768,这是每台交换机的默认优先级。它被列为32769,由于VLAN ID实际被加进来了,因此在这种情况下,对于VLAN 1,它显示32769,对于VLAN 2显示32770,以此类推。
在Catalyst交换机上改动桥的优先级的方法:
Switch B(config)#spanning-tree vlan 1 priority 4096 //改变桥优先级为4096;范围<0~61440>
阻塞(Blocking):端口将不能转发帧,它只监听BPDU。当交换机加电时,默认情况下所有的端口都处于阻塞状态。
侦听(Listining):端口都侦听BPDU,以确信在传送数据帧之前,在网络上没有环路产生。处在侦听状态的端口,在没有形成MAC地址表时,就准备转发数据帧。
学习(Learning):交换机端口侦听BPDU,并学习交换式网络中的所有路径。处在学习状态的端口形成了MAC地址表,但不能转发数据帧。转发延迟意味着将端口从侦听状态转换到学习状态所花费的时间,默认时设置为15秒,可以用命令show spanning-tree显示出来。
转发(Forwarding):在桥接的端口上,处在转发状态的端口发送并接收所有的数据帧。如果在学习状态结束时,端口仍然是指定端口或根端口,它就进入转发状态。
禁用(Disabled):从管理上讲,处于禁用状态的端口不能参与帧的转发或形成STP。处于禁用状态下的端口实质上是不工作的。
说明:只有在学习状态或转发状态下,交换机才能填写MAC地址表。大多数情况下,交换机端口都处在阻塞或转发状态。但如果网络的拓朴改变了(如:链路失效或添加了一台新的交换机),交换机端口就会处于侦听或学习状态。
收敛:
当网桥或交换机上的所有端口都转变到转发或阻塞状态时,就产生了收敛。在收敛完成之前,交换机不能转发任何数据。收敛是重要的,它用来确保所有的设备都有同样的数据库,但它确实会花一些时间。从阻塞状态转变到转发状态通常要花50秒。
生成树快速端口(PortFast)
如果你有一台服务器或其它设备连接到交换机上,而且可以保证在禁用STP时不会产生交换环路,那么就可以在这些端口上使用快速端口。使用快速端口意味着,当STP正在收敛时,端口不会花费通常的50秒才进入转发状态。在端口配置模式下:
Switch(config-if)#spanning-tree portfast
生成树上行链路快速(UplinkFast)
上行链路快速是Cisco产品特有的特性,当链路失效时,它可用来改进STP收敛时间,Cisco推荐仅当交换机典型地在接入层有被阻塞的端口时,才启用UplinkFast。允许交换机在primary link失效前,找出到根桥的可选路径。这意味着如果主链路失效,备份链路(secondary link)将更快地启用,端口将不会等待通常的50秒STP收敛时间。
生成树主干快速(Backbone Fast)
在本地交换机上,UplinkFast用来确定并快速修复链路失效。与UplinkFast不一样的是,Cisco有另外一个专用的STP扩展特性,称为主干快速,当某条链路并没有直连到失效的交换机时,就可以使用BackboneFast加速收敛。
特别重申:UplinkFast只能配置在接入层交换机上或带冗余链路的交换机上,而且至少有一条链路处于阻塞状态,而BackboneFast可以在所有的Catalyst交换机上启用,以便能够检测到非直连的链路失效。启用BackboneFast可在50秒的默认STP收敛时间中,它能节省20秒时间。
快速生成树协议(RSTP)802.1W
Cisco创建PortFast、UplinkFast、BackboneFast来“修补”IEEE802.1d标准中的漏洞和缺陷。这些特性的不足之处仅在于,它们是Cisoc专用的且需要进行额外的配置。但新的802.1w标准(RSTP)将所有这些“问题”都放在一个封包中解决了。重要的是,必须确信网络中所有的交换机都在正确地运行802.1w。当它与老的网桥交互作用时,802.1w内在的快速收敛能力将失效。
EtherChannel
将多条冗余链路捆在一起创建出逻辑聚合,这样,多条链路就可以像一条链路那样起作用。Cisco版本称为端口聚合协议(Port Aggregation Protocol ,PagP);IEEE的802.3ad标准则称为链路聚合控制协议(Link Aggregation Control Protocol ,LACP)。
上一篇:思科认证考试知识点
下一篇:配置Catalyst交换机