收藏 分销(赏)

生成树的优化防护教学文稿.doc

上传人:快乐****生活 文档编号:3853768 上传时间:2024-07-22 格式:DOC 页数:14 大小:238KB 下载积分:8 金币
下载 相关 举报
生成树的优化防护教学文稿.doc_第1页
第1页 / 共14页
生成树的优化防护教学文稿.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
生成树的优化防护 精品资料 第一章:二层交换:生成树的增强(BPDU防护过滤,根防护)  (2014-09-26 09:33:57) 转载▼ 标签:  ccie   cisco 分类: 网络技术 以下提到的STP代表了所有生成树协议。 STP用于防环,但是有一个基础,就是软件硬件都没有问题。软件一般就是指配置错误、bug,而硬件一般是指双向通讯故障,比如光纤两根线路,一根上行一根下行,如果断了一根就变成了单向通讯了。 简单来说,这些问题引起的后果,就是不该收到BPDU收到了,该收到BPDU的接口没有收到 ===================================================================== 如果本该是接着终端,并启用了portfast的端口,被误接了交换机,就会引起了二层的环路。 有两个工具可以防止这种情况 · BPDU GUARD · BPDU FILTER ==================================================================== 先来说BPDU GUARD(下简称BG) 当配置了BG后,在portfast的接入接口收到BPDU,立即置为err_disabled。 两种配置方法 全局配置: sw4(config)#spanning-tree portfast bpduguard default 默认所有portfast的接口,都启用BG。 接口配置:sw4(config-if)#spanning-tree bpduguard enable 无论接口是否启用了portfast,都启用BGP 如果需要把err_disable恢复过来,可以shutdown再no shutdown接口,但如果配置仍是错误,接口还是会被err_disabled 实验: sw4(config-if)#spanning-tree bpduguard enable 6d01h: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port FastEthernet0/8 with BPDU Guard enabled. Disabling port. 6d01h: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/8, putting Fa0/8 in err-disable state 6d01h: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/8, changed state to down 6d01h: %LINK-3-UPDOWN: Interface FastEthernet0/8, changed state to down 查看端口状态 sw4#show interfaces status err-disabled Port Name Status Reason Fa0/8 err-disabled bpduguard 设置自动恢复 sw4(config)#errdisable recovery cause bpduguard 默认300秒后自动恢复,但如果问题依旧,还是会err_disabled。 ===================================================================== BPDU FILTER(下简称BF) 不同的配置方式,有不同的作用 如果在全局模式下配置,所有启用了portfast的端口如果接收到了BPDU,会立即禁用portfast,并使端口参与STP运算,成为STP端口; 如果在接口模式下配置,那么接口将不会发送BPDU,而如果接收到BPDU,会无视掉,不会改变接入端口的角色。 全局配置命令:sw4(config)#spanning-tree portfast bpdufilter default 接口配置命令:sw4(config-if)#spanning-tree bpdufilter enable 注意,两种配置方式的作用差异很大,我一般建议在接入接口上启用第二种。 ===================================================================== 根防护(ROOT GUARD,下称RG) 当在一个稳定的交换网络中,加入一台新的交换机,而这台新交换机有可能抢夺根桥位置。 设置了根防护的接口,可以防止成为根端口。回想一下什么是根端口,就是去往根桥并处于转发状态的接口。如上图,那么新交换机D接入网络后,如果它并没有抢夺到根桥位置,则相安无事,正常转发;如果它抢夺根桥,发出更优的BPDU,C将接着D的接口block掉,但只会block掉根桥所在vlan,举例,D并不打算成为VLAN1的根桥,而要成为VLAN99的根桥,那么C就会在VLAN99的生成树中,把那个端口置为blocking,注意不是err_disabled,因为其他vlan的生成树里它可能是正常的,如VLAN1。 只要D不再发出更优的BPDU,SW C会立即停止阻塞这个端口上的相应VLAN的BPDU。 实验: 拓扑 在SW3的对应接口上设置root guard,并开启debug sw3(config)#int f0/7 sw3(config-if)#spanning-tree guard root sw3#debug spanning-tree events Spanning Tree event debugging is on   在SW4上修改优先级,使SW4抢夺根桥位置 sw4(config)#spanning-tree vlan 1 root primary   看SW3的debug和生成树信息 *Mar  7 18:47:39.759: STP: VLAN0001 heard root 24577-001a.a10b.7a00 on Fa0/7 *Mar  7 18:47:39.759:     supersedes 32769-0015.630d.7080 6d18h: %SPANTREE-2-ROOTGUARD_BLOCK: Root guard blocking port FastEthernet0/7 on VLAN0001. sw3# *Mar  7 18:47:39.763: STP: VLAN0001 Fa0/7 -> blocking sw3# *Mar  7 18:47:41.763: STP: VLAN0001 heard root 24577-001a.a10b.7a00 on Fa0/7 *Mar  7 18:47:41.763:     supersedes 32769-0015.630d.7080 ........   sw3#show spanning-tree vlan 1 VLAN0001   Spanning tree enabled protocol ieee   Root ID    Priority    32769              Address     0015.630d.7080              This bridge is the root              Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec   Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)              Address     0015.630d.7080              Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec              Aging Time 300 Interface        Role Sts Cost      Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/7            Desg BKN*19        128.7    P2p *ROOT_Inc       sw3#show spanning-tree inconsistentports Name                 Interface              Inconsistency -------------------- ---------------------- ------------------ VLAN0001             FastEthernet0/7        Root Inconsistent Number of inconsistent ports (segments) in the system : 1         将SW4改回去 sw4(config)#no spanning-tree vlan 1 root primary   再看SW3的debug信息,可以见到sw3不再收到SW4的更优BPDU后自动恢复接口的状态。 sw3# 6d18h: %SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard unblocking port FastEthernet0/7 on VLAN0001. sw3# *Mar  7 18:54:22.723: STP: VLAN0001 Fa0/7 -> listening *Mar  7 18:54:37.723: STP: VLAN0001 Fa0/7 -> learning *Mar  7 18:54:52.723: STP: VLAN0001 Fa0/7 -> forwarding   注意,root guard不能只针对特定VLAN启用,而是对全部VLAN,不过在RG工作中,只会block掉尝试成为根端口的那个VLAN的BPDU和流量。 第二章:生成树的优化 我们都知道一个网络优化的好坏,影响整个网络的性能,所以生成树协议的优化在网络中是十分重要的,下面我们说说生成树的优化及其增强特性。 工具/原料 · STP相关资料 方法/步骤 1. 1 由于生成树也有许多不能解决的问题:比如 1.802.1d不能阻止有问题的交换机成为根网桥 2.不具备从特定端口过滤BPDU的特性 3.网络设备故障会使网络中产生桥接环路和黑洞 4.某些故障会干扰生成树 所以生成树的优化是必须做的。 2. 2 BPDU防护: 防止交换机意外连接到了启用了PORTFAST特性的端口。如果接口启用了PORTFAST特性,那么当该接口收到BPDU的时候,BPDU防护功能就会使其进入“err-disable”状态,而不是将其blocking,以防产生桥接环路。直到管理员手动打开该端口。管理员也可以设置超时时间间隔,当端口进入“err-disable”状态之后,超过时间间隔,端口会再次打开,如果这时候仍旧接收到BPDU,BPDU防护特性会再次将其关闭 BPDU防护有两种启用方式: 1)全局启用:(no)spanning-tree portfast edge bpduguard default,这个是在所有开启了PORTFAST的端口上启用BPDU防护,前提是,已经开启了PORTFAST 2)端口启用:spanning-tree bpduguard enable,这个只在当前端口启用,这个无需先配置PORTFAST 3. 3 BPDU过滤(不 发): 当交换机直接与主机相连的时候,这个时候是不需要向主机发送BPDU的,因为主机不参与拓扑的计算,所以发过去还是会丢弃,白白的浪费资源,因此还不如不发。 1)全局启用:(no)spanning-tree portfast bpdufilter default。全局启用会作用于交换机上所有处于工作状态,且没有单独在接口底下配置BPDU过滤特性的PORTFAST端口(也就是说要想全局启用生效,端口必须先配置PORTFAST属性)。如果这个端口收到了BPDU,那么他们就不再处于PortFast状态,BPDU过滤特性也将被禁用,然后开始和其他STP接口一样收发BPDU。在启动的时候,端口会传输10个BPDU数据包,如果这个端口在这个时间内收到了BPDU数据包,那么同样会退出PortFast状态并且禁用BPDU过滤特性。 2)端口启用:spanning-tree bpdufilter enable。端口会忽略收到的BPDU数据包,也不会发送任何BPDU数据包,这个不需要预先开启portfast特性。 BPDU过滤优先级高于BPDU防护,当有BPDU过滤的时候,BPDU防护将不生效 4. 4 根防护(不建立):当一个具有更高优先级的网桥接入当前网络的时候,会造成当前网络拓扑的变化,导致一系列事情的发生。根保护的目的是确保根保护的端口成为指定端口,如果启用了根防护的端口上收到了一个更优的BPDU,则这个端口会进入不一致根的状态(等效于blocking状态),这时候不会处理BPDU,也就是说新的BPDU不会得到传播,也就不会竞选根网桥,这样就保证了原有拓扑的稳定性。这个时候,处于不一致根状态的的端口还会继续监听,如果不再收到更优BPDU的时候,端口就会取消阻塞,依次进行STP的状态过渡,最终进入转发状态 5. 5 对于根防护:我们来举个例子 如下图: A和B为分布层SW,C为接入层SW,根为A。当在C下面再接一台SW时,由于D的优先级或MAC地址可能比其它要低,可能会使D成为Root SW,从而使得从A到达B的流量不能直接发送到B,而得使用C来转发,这样很不合理(A和B之间为千兆)。为了避免这种情况,可以在C的下联端口上使用Root Guard,以防止该端口成为Root Port,从而防止D成为Root SW,确保A永远为Root SW。使用Root Guard后,当SW D接入网络后,C的下联D的端口会收到一个更新的BPDU(前提是D的优先级最高)后,C将该端口转为Block状态,直到D不在发送新的BPDU或更改D的优先级。 关于根防护的一个建议:在所有接入端口上启用根防护特性 启用方式:Spanning-tree guard root 6. 6 检查配置的命令: 1.BPDU防护 Show spanning-tree summary totals 2.BPDU过滤 Show spanning-tree summary(查看过滤的启用状态,默认的) Show spanning-tree interface f0/1 datails(查看特定端口的启用状态) 3.根防护 Show spanning-tree inconsistentports END 注意事项 · 生成树BPDU 防护和BPDU过滤中全局模式下必须 配portfast 仅供学习与交流,如有侵权请联系网站删除 谢谢14
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服