天啊!看完这篇STP(思科)别在说不会生成树了 | 您所在的位置:网站首页 › 交换机端口forwarding › 天啊!看完这篇STP(思科)别在说不会生成树了 |
本系列按照思科CCNP学习教程写的,CCNP的学习PDF-----链接 文章目录 生成树生成树基础简介:生成树类型生成树简介-参数 802.1DBPDUBPDU数据格式STP端口类型STP工作原理举例分析端口角色STP端口状态计时器STP端口状态转化过程STP拓扑变化机制 生成树特性1-Port Fast2-BPDUguard:3-BPDUFilter:4-UplinkFast5-BackboneFast PVST+和RSTPPVST+简介配置PVST+ RSTP简介RSTP的端口RSTP快速转发:链路类型Link types:RSTP拓扑改变机制拓扑改变机制(检查)拓扑改变机制(传递) RSTP+配置 MSTMST简介特点MST域MST实例MST配置 生成树 生成树基础 简介: 如果接入层交换机单链路上联,任意一个汇聚设备宕机,将会直接导致下联的接入网络挂掉;与是接入层交换机采用双链路上联到两台汇聚设备,构成一个物理链路冗余的二层环境,解决了单链路故障问题。但是二层环境存在环路。STP解决方案: 生成树用于解决这个问题;通过生成树协议,在逻辑上将特定端口进行Block,从而实现物理上存在冗余环境,而二层上又阻止环路的产生;当拓扑发生变更时,生成树协议能够探测到这些变化,并且及时自动的调整接口状态,从而适应网络拓扑的变化,实现链路冗余。 生成树类型 协议范围标准描述STP公有802.1QPVST+Cisco私有Port Fast、Uplinkfast、BackboneFastRSTP公有802.1Q快速生成树,集成了一些PVST的功能特性MST公有802.1Q 生成树简介-参数 网桥ID(BID): 网桥优先级Mac地址2字节6字节网桥优先级范围为:0~65535;其中前4bit表示优先级,后12bit为扩展系统ID,其中,优先级取值为4096的倍数,网桥优先级越小越优先 端口ID(PID): 端口ID由一个字节的端口优先级和一个字节的端口组成;表示形式如:128.1、128.2端口优先级范围0~255,越小越优先,IOS交换机默认为128;Catalyst交换机默认为32;路径开销 本交换机到达根交换机路径的总开销,越小越好,开销与接口带宽有关。 端口速率开销(old)开销(new)10Gb/s121Gb/s14100Mb/s101910Mb/s100100 802.1D BPDU 网桥协议数据单元(Bridge Protocol Data Unit),是一种生成树协议数据包,它可以配置的发送的间隔,用来在网络的网桥间进行信息交换。生成树的所有信息交互都需要依靠BPDU. STP使用BPDU来交换信息,默认情况下交换机每2秒发送一次BPDU,BPDU分为两种: 配置BPDU:用来计算STPTCN BPDU:用来通告网络拓扑发生变化 BPDU与STP: 在网络运行最初,所有的交换机认为自己是根桥,并向邻居发送BPDU,其中包含自身的桥ID(BID),同时也会收到邻居发送过来的BPDU报文,这个过程为BPDU的泛洪。交换机每收到一个BPDU报文就会和自己的进行比较,如果优于自身的,交换机意识到自己不是根桥,否则它还会持续发送自己的BPDU。最后所有的交换机会选举出一台作为生成树的根桥,我们称之为Root。根桥选举出来后,根桥默认每2s发送BPDU。非根桥的交换会根据根桥的BPDU选举自己的根端口。它从自己的根端口接收BPDU,再从自己其他具有发送功能的端口转发出去。部分交换机的端口会被阻塞,阻塞端口不转发流量,但是会侦听BPDU,如果一段时间内没有收到,则认为链路出现了问题。 BPDU数据格式 字段大小(byte)描述协议2代表为BPDU,该值总为0版本1802.1D为0;RSTP为2TYPE1BPDU为0x00,TCN BPDU为0x80标志FLAG1用来响应TCN BPDU根ID8根网桥ID路径开销4到达root的STP Cost网桥ID8BPDU发送BID端口ID2BPDU发送的网桥的端口IDMessage Age2从根网桥发出BPDU后的秒数,没经过一个网桥都减1,本质上是达到根网桥的跳数。Max Age2BPDU的最大寿命,默认为20秒,在一段时间内未收到任何BPDU,生存时间到达Max时。为端口链路出现了问题Hello时间2根网桥连续发送的BPDU之间的间隔,默认为2s转发延迟2在监听和学习状态所停留的时间。默认为15s STP端口类型网络中的生成树拓扑依附于网桥的计时器,root将BPDU中的计时器传递给第二层的所有交换机。 Hello时间:根网桥发送配置BPDU的时间间隔,默认为2s;转发延迟时间:侦听到学习状态,或者学习状态所需要经过的时间,默认为15s;最大存活时间:在丢弃BPDU之前,网桥用来存储BPDU的时间,默认为20s。如果连续收不到10个BPDU开始进入listening状态;注意:当一个拥塞的端口进入到转发状态通常需要30-50秒时间。 STP端口状态转化过程STP中,当某个端口变成了转发状态或拥塞状态,意味着STP发生了变化。 拓扑改变机制(传递)交换机通过根端口发送TCN BPDU通知拓扑发生变化。 根桥收到TCN BPDU后,会先发送TCA BPDU,来确认收到了信息 根桥随后会将配置BPDU中设置TC位。并通过广播发送给其他的交换机。 收到此BPDU的交换机会将CAM表的老化时间从300s缩短到15s。 三类拓扑变更:直连拓扑变更:端口可以直接检测到的变更; **间接拓扑变更:**链路仍为UP,但是无法传输数据,因为端口检测不到,需要等20s,接收不到根桥的BPDU才能发现拓扑改变; 无意义拓扑变更:例如交换机连接的PC关机。虽然实际拓扑没有改变,但是如果大量的PC关机,会生成大量的TCN,对交换机有影响; 生成树特性 1-Port Fast 正常情况,端口从启动进入到转发默认需要30秒时间。Portfast端口一旦接了设备,接口可绕过listening和learning状态直接进入forwarding状态。Portfast不能直接配置在Trunk模式的端口上,即使配置上去了思科IOS也不会生效。注意:配置了portfast的接口,如果连的是交换机,这个接口仍然要接受生成树的计算结果。如果计算结果是block,那么这个接口仍然被block。这就是为什么你在CISCO IOS上敲入该条命令,IOS会提示你,说可能会造成短暂的桥接环路。 全局配置模式: Switch(config)#spanning-tree portfast default 全局配置命令,将所有非Trunk接口激活postfast特性 接口配置模式: Switch(config)#int f0/1 Switch(config-if)#spanning-tree portfast [trunk] 2-BPDUguard: 该接口在收到BPDU报文后,会立即切换到err-disable状态。通常与Portfast配合使用,防止交换机错误连接后产生环路。可以全局配置开启,也可以在单个端口上配置,起到的效果不同。端口进入的err-disable状态需要手动关闭在打开才能使用,但是可以使用方法让其自动恢复,默认恢复间隔为300s。 全局配置模式: Switch(config):spanning-tree portfast bpduguard default 接口配置模式: Switch(config)#int f0/1 Switch(config-if)#spanning-tree bpduguard enable 全局模式配置err-disable自动恢复 Switch(config)#errdisable recovery cause bpduguard Switch(config)#reedisable recovery interval 100 3-BPDUFilter: BPDUFilter又称为BPDU过滤。在一些情况下,可以实现阻止向外发送BPDU。开启BPDUFilter之后,对应端口接收到的配置BPDU都会被丢弃。在运营商环境中非常有用。如果为用户提供二层接入,可以过滤自身的BPDU,忽略用户的BPDU,保持内部生成树拓扑的稳定。传统生成树CST是所有的VLAN运行一个生成树实例,即所有的VLAN拥有相同的root,每台交换机对于所有的VLAN的端口角色都是一样的。 PVST+即Per VLAN Spanning-tree,是思科私有的生成树技术。它可以为每一个vlan单独配置一个生成树实例。这样就允许交换机的冗余链路对分担不同VLAN的流量。 PVST+是思科交换机默认启用的STP协议 为了实现对VLAN的配置,PVST+将桥ID中12比特的扩展系统ID字段来携带VLAN ID。 桥优先级扩展系统IDMAC地址4bit12bit6字节 注意!使用show spanning-tree命令查看交换机的生成树情况时,经常发现优先级并不是4096的倍数。这是因为现实的优先级实际为桥优先级+VLANID。 注意!这条命令实际是检测网络中其他设备的优先级,来调整自己的优先级保持最低。 默认32768的情况下,primary调整为24576;secondary调整为28672; 如果网络中存在最低优先级为4096的交换交换,则这条命令也没有效果 Switch(config-if)#sapnning-tree vlan cost 设置接口的Cost Switch(config-if)#spanning-tree vlan port-priority 设置接口的优先级,IOS默认为128;Catos默认为32 Switch(config)#spanning-tree vlan hello-time Switch(config)#spanning-tree vlan forward-time Switch(config)#spanning-tree vlan max-age 设置PVST+的计时器 RSTP简介 RSTP即为快速生成树协议,在网络拓扑变更时能显著提升STP重新计算的速度RSTP将端口状态缩短为三种: 状态描述Learning不接收也不转发帧,接收且转发BPDU,学习MAC地址Forwarding接收并转发帧,接收并且转发BPDU,学习MAC地址Discarding阻止数据帧的转发,可以理解为禁用、拥塞、侦听的合并 RSTP额外定义了两种端口角色:代替端口(alternate)、备份端口(backup)思科PVST+也有快速的版本,称为RPVST+。可以理解为每个VLAN生成树的RSTP版本。所以对于RSTP+我们不做过多的讨论 RSTP的端口传统生成树CST是所有的VLAN运行一个生成树实例,PVST+为每一个VLAN单独配置一个生成树实例。这两种方式一个无法基于物理拓扑进行区分效率太低;另一个过于极端,需要消耗较多的系统资源。 MST多实例生成树则正好介于两者之间。它可以将一个或多个VLAN放入一个生成树实例进行计算。这样减少了拓扑中生成树实例的数量,降低了交换机CPU的开销。 MST使用实例(instance)来承载STP信息。每一个实例设置编号,其实实例0用做内部生成树(IST),它包含了所有STP相关的信息。MST域内,每个实例单独进行STP计算,优先级、Cost规则等等与STP一样 MST与其他的STP协议也兼容。对于域外的交换机,IST(实例0)对外呈现出整个MST域为一台虚拟的交换机。 |
CopyRight 2018-2019 实验室设备网 版权所有 |