通信人家园

标题: 生成树协议(STP)  [查看完整版帖子] [打印本页]

时间:  2010-11-15 22:43
作者: asinzy     标题: 生成树协议(STP)

生成树协议---STP的作用
STP的全称是spanning-tree protocol,STP协议是一个二层的链路管理协议,它在提供链路冗余的同时防止网络产生环路。STP协议(Spanningtree protocol)的本质就是实现在交换网络中链路的备份和负载的分担.stp是生成树协议,主要功能是从拓扑中清除第2层环路

生成树(STP)的作用:
  在实际的网络环境中,物理环路可以提高网络的可靠性,当一条物理线路断掉的 时候,另外一条线路仍然可以传输数据。但是,在交换的网络中,当交换机接收到一个目的地址未知的数据帧时,交换机会将这个数据帧广播出去,这样,在存在物理环路的交换网络中,就会产生双向的广播环,甚至产生广播风暴,导致交换机资源耗尽而宕机。这样就产生了一个矛盾,需要物理环路来提高网络的可靠性,而环 路又有可能产生广播风暴,怎样才能两全其美呢? STP(Spanning Tree Protocol,生成树协议),就是用来解决这个矛盾的。STP协议在逻辑上断开网络的环路,防止广播风暴产生,而一旦正在使用的线路出现故障,被逻辑上断开的线路又会恢复畅通,继续传输数据。

生成树STD.jpg
.STP增强特性:
传统的802.1d标准的STP,有一些缺陷,比如当一个交换机检测到链路发生故障,再到网络重新收敛的时候,至少要等50秒的时间(转发延迟+BPDU最大生存周期).当一个端工作站,比如PC或服务器,插到交换机某个端口后,该端口同样会经历STP的一些状态,比如监听和学习.但是端工作站不会引起层2环路,因此,对于接端工做站的端口,没必要经历这相对漫长的STP收敛时间.因此 CISCO提出了Port Fast这一特性.启用该特性的端口无需经历转发延迟可以直接进入转发状态,减少收敛时间.该特性类似802.1w标准里的边缘端口(EP):


在启用这种特性的时候,必须保证该端口连接的是端工作站,而不是交换机或者集线器等网络设备,否则会引起环路问题.另外,如果在该端口启用了语音VLAN,那么Port /---全局启用Port Fast特性---/
Switch(config-if)#spanning-tree portfast [trunk] /---基于接口的启用PortFast特性---/
Switch(config-if)#spanning-tree portfast disable /---禁用Port Fast特性---/
注意,如果要在trunk端口启用该特性,先要确保该trunk端口不会引起环路.


另外一种减少STP收敛时间的技术是UplinkFast特性:
当交换机A检测到链路L2出故障后,会立刻切换到L3,从而跳过STP的监听和学习阶段(转发延迟),节约近30秒的时间达到快速收敛.另外要注意的是,如果配置了VLAN的优先级,那么不能启用该特性.因为该特性是对所有VLAN生效而不是针对某一个VLAN生效.一旦启用该特性后,交换机的网桥优先级自动被设置为49152;如果你的链路开销小于3000,那么开销将自动增大为3000(如果大于3000则不会).该举动的意图是防止交换机(如上图里的交换机A)成为根桥.
配置方式如下:
Switch(config)#spanning-tree uplinkfast [max-update-rate pps] /---全局启用Uplink Fast---/
可选参数值的范围是0-32000,默认每秒150个包,值越低收敛越慢.


如果照上图里,当链路L1出故障后,Uplink Fast特性就不能弥补该缺点.因此出现了Backbone Fast特性:


当交换机C通过下级BPDU信息(inferior BPDU)检测到L1出故障后,由于L1不是它到根桥的直连链路.因此,交换机C会发送根链路查询信息(RLQ).当收到RLQ的应答后,交换机C将自己原本处于堵塞状态的端口立即设置为转发状态(把最大生存周期的20秒给老化掉),B提供一条到根桥的替代路径.但要经过转发延迟,也就是大约30的时间.一旦启用该特性,必须在所有的交换几上都使用.但如果此时新增加一个交换机进来,该交换机也会发送下级BPDU信息声称自己想成为根桥(野心够大啊).不过其他交换机会忽略该下级BPDU,并且交换机B会告诉它A才是根桥:


配置方式:
Switch(config)#spanning-tree backbonefast /---全局启用Backbone /---在启用了PortFast特性的端口上启用BPDU Guard---/
Switch(config-if)#spanning-tree bpduguard enable /---在不启用PortFast特性的情况下启用BPDU Guard---/


BPDU Filtering特性和BPDU Guard特性非常类似.通过使用BPDU Filtering,将能够防止交换机在启用了PortFast特性的端口上发送BPDU给主机:
如果全局配置了BPDU /---在启用了PortFast特性的端口上启用BPDU Filtering---/
Switch(config-if)#spanning-tree bpdufilter enable /---在不启用PortFast特性的情况下启用BPDU Filtering---/


一般层2网络的SP可能会有多条达到客户网络的连接.为了防止客户交换机偶然成为根桥,可以在连接到客户交换机的端口上使用Root Guard特性来避免这一问题的发生.如果STP偶然选出客户交换机的某个端口做为根端口(RP),那么Root Guard特性将把该端口设置为root-inconsistent状态(堵塞)来防止客户交换机成为根桥:


配置Root /---启用RootGuard特性---/
注意,Root GuardLoop Guard特性不可同时使用,也不要在启用了Uplink Fast特性的端口上启用该特性.该特性一旦配置后,对所有VLAN都生效.


另外,也可以使用LoopGuard技术替代端口(AP)RP由于单向链路的故障问题成为指定端口(DP):


交换机A做为根桥,由于交换机BC之间发生单向链路故障,C将不能从B那里接收到BPDU.如果没有启用该特性,那么交换机C在最大生存周期(Max Age)计时器超时之后,交换机C上的堵塞端口将转换到监听状态,并最终会在30秒之后转换到转发状态.当交换机C的原先处于堵塞状态的端口进入到转发状态的时候,交换机B上原先的DP还处于转发状态,而一个桥接网段上只能有一个DP,因此就产生了环路.如果启用了Loop Guard特性之后,当最大生存周期超时之后,交换机C上的堵塞端口将过渡到loop-inconsistent状态(堵塞),处于该状态的端口不能传递任何流量.因此就不会产生层2环路.
配置Loop Guard:
Switch(config)#spanning-tree loopguard default /---启用LoopGuard特性---/
注意,Loop GuardRoot Guard特性不可同时使用.


NAT——NetworkAddress Translation(地址转换)

地址转换,又称地址代理,用来实现私有网络地址与公有网络地址之间的转换。内部网络的主机可以通过该功能访问网外资源;为内部主机提供了隐私privacy)保护。

附件: 生成树STD.jpg (2010-11-15 22:43, 32.12 KB) / 下载次数 2
https://www.txrjy.com/forum.php?mod=attachment&aid=MTE1MzY2fDQ5MjE4NjFjfDE3MzI2NTQyMTR8MHww
时间:  2010-11-16 10:51
作者: hzpasj

谢谢LZ分享,希望可以分享更多的资料,加油
时间:  2010-11-16 16:44
作者: lance7340

分支树协议是CCNA中重要的考点呢




通信人家园 (https://www.txrjy.com/) Powered by C114