CCIE试验备考交换STP.docx
- 文档编号:25346762
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:43
- 大小:46.91KB
CCIE试验备考交换STP.docx
《CCIE试验备考交换STP.docx》由会员分享,可在线阅读,更多相关《CCIE试验备考交换STP.docx(43页珍藏版)》请在冰豆网上搜索。
CCIE试验备考交换STP
CCIE试验备考---交换STP
第一部分STP基础
STP概述
生成树协议(STP,Spanning-TreeProtocol)是一种2层协议,通过一种专用的算法来发现网络中的物理环路并产生一个逻辑的无环(loop-free)拓扑结构。
STP生成了一个无环的树形结构,包括可以在整个2层网络范围内扩展的叶和枝。
如上图这样一个高冗余度的网络,如果没有STP的存在,将会产生大量的广播环路,严重影响性能。
生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。
在生成树协议发展过程中,老的缺陷不断被克服,新的特性不断被开发出来。
l 广播环路
当主机A发送一个目的地址为FF-FF-FF-FF-FF-FF的广播帧时,该frame将传至CAT-1和CAT-2,当达到CAT-1的端口1/1时,CAT-1按照标准透明桥接算法将数据帧从除去入端口,将其泛洪到其他每个端口,包括CAT-1的1/2端口,从端口1/2发出的数据帧会到达下方以太网中的所有节点,包括CAT-2的端口1/2。
同样CAT-2也做这样的处理,此后广播报文就会在CAT-1和CAT-2之间的链路成几何级数的增长。
广播环路比路由环路更危险,在以太网帧结构只包含两个MAC地址、一个类型字段和一个循环冗余校验(CRC),并将网络层的包作为数据部分的内容,它没有像路由器那样,存在一个TTL域,对于一个路由环路而言,一个报文跳过255条后,就会被丢弃。
而广播路由环路的报文将永远不会被丢弃。
同时反复广播,其报文数量呈几何级数增长。
*桥接表受损
除了广播风暴外,单播帧也会引起网络瓶颈。
当主机A此前已经拥有一条主机B的ARP条目,希望ping主机B,但主机B临时从网络移除,并且交换机上相应于B的桥接表项已经被删除。
假定任何一个交换机都没有运行STP,则当帧到达CAT-11/1后,CAT-1找不到目的地址,则CAT-11/2产生泛洪,同时CAT-2收到后,将主机A的位置改变到一个错误的端口上。
此后帧还沿反方向循环。
在端口1/1和1/2之间反复改变,导致CPU负载极大。
生成树算法
算法(algorithm)就是一个公式或者解决特定问题的一组步骤。
算法通常依赖于一组规则,有明确的开始和结束。
l*网桥ID
STP的特征就是生成树算法。
生成树算法是根据一组参数来进行判别。
网桥ID(BID,BridgeID)是一个8字节的字段,包含一个数字有序对,如图,头2个字节的十进制数成为网桥优先级(BridgePriority),后6字节是MAC地址(16进制)。
网桥优先级是一个用来衡量网桥在生成树算法中优先权的十进制数,2的16次方,取值为0-65535。
缺省值为32768。
BID的MAC地址是交换机的MAC地址之一。
每个交换机都有一个MAC地址池,每个STP实例使用一个,作为按VLAN生成树实例(每个VLAN一棵)的BID。
具体算法:
BID的比较方式如下,假设(s,t)和(u,v)分别为两个BID,数对中的第一个值为优先级,第二个为MAC地址,则比较规则如下:
If s
If (s=u)&&(t BID值越小的网桥,其优先级越高 *路径开销 路径开销用来衡量网桥之间距离的一种方式。 路径开销是两个网桥间某条路径上所有链路开销的总和,IEEE802.1D最初定义链路开销是使用1000Mbit/s除以Mbit/s为单位的链路带宽。 例如10BASE-T链路的开销为100,快速以太网和FDDI为10。 随着Gbit/s以太网和其它高速技术的出现,反映了该定义的一些缺陷。 链路开销使用整数存储,为了解决高带宽网络按原有标准计算出现小数的问题(10Gbit/s 按原标准为0.1)。 IEEE改变了原有的反比例模型,按如下2种方式定义新的链路开销。 1Gbit/s的CatOS系统使用短整型,10Gbit/s带宽以上的CatOS和新版的IOS使用长整形 *端口ID 端口ID(PID,PortID),用来确定到根交换机的路径。 由16bit的子串决定,其中包括6bit的端口优先级和10bit的端口号。 基于IOS交换机,两部分都是8位。 端口优先级是一个可配置的STP参数。 在CatOS交换机上,端口优先级的十进制取值范围是0-63,默认为32。 基于IOS的交换机上,端口优先级的十进制取值范围是0-255,默认值为128。 具体算法: PortID的比较方式如下,假设(s,t)和(u,v)分别为两个PortID,数对中的第一个值为端口优先级, 第二个值为MAC地址,则比较规则如下 If s If (s=u)&&(t PID越小的端口优先级越高 案例: sw2#showspanning-treeinterfacefa0/3detail Port23(FastEthernet0/23)ofVLAN0001isforwarding Portpathcost100,Portpriority128,PortIdentifier128.23. Designatedroothaspriority32769,address0008.2059.9e40 Designatedbridgehaspriority32769,address0009.4376.2300 Designatedportidis128.3,designatedpathcost19 Timers: messageage0,forwarddelay0,hold0 Numberoftransitionstoforwardingstate: 1 Linktypeissharedbydefault BPDU: sent238527,received0 PID中端口号定义采用数字编号的方式,一般基于IOS的交换机上端口号空间为256个端口。 例如slot0上的23号口,其端口号为23,则PortID如上所示为 128.23 STP过程 * STP判定和BPDU交换 Spanning-tree算法主要依靠BID,路径开销和端口ID,在创建一个无环路的拓扑时,STP执行如下4个步骤: 1.选取根交换机 2.计算到根交换机的最小路径开销 3.确定最小发送者BID 4.确定最小的端口ID 为做出最佳判决,STP需要保证所有参与的网桥都获得正确的信息,网桥间的信息交互采用网桥协议数据单元(BPDU)的基于2层的frame来传递STP信息。 网桥通过如上4步来选择每个端口上所看到的“最佳BPDU”网桥会村除从每个端口收到的最佳BPDU。 在判定最优时,网桥会比较在此端口上收到的所有BPDU,以及会此端口上发送的BPDU。 每收到一个BPDU,网桥都会根据4步过程进行检查,以判定是否比目前保存的此端口的最佳BPDU更好,如果有新的BPDU(或者本地生成的BPDU)更好,就会替换旧值。 当一个网桥被激活后,其所有的端口每隔2s(默认hello时间)发送一次BPDU报文。 如果收到其它端口比自己更好的BPDU,则本BPDU。 如果20s(默认最大时间MaxAge)的时间没有从邻居收到更好的BPDU,则本地端口将重新发送BPDU。 最大生存时间是最佳BPDU超时的时间。 *STP收敛的步骤 生成树算法比较复杂,其收敛于一个无拓扑的初始过程包含 1.选举根交换机(RootBridge) 2.选举根端口(RootPorts) 3.选举指定端口(DesignatedPorts) 在网络第1次“初始”的时候,所有的网桥都会泛洪混合的BPDU信息。 网桥开始执行前面讨论过的STP4个判断过程。 使得网桥追踪到一组BPDU,形成整个网络(Cisco是一个vlan一个STP实例,故cisco的生成树范围定义在一个vlan中)。 I. 选举根桥 STP要求每个网桥分配一个唯一的标识(BID),BID通常由优先级(2bytes)和网桥MAC地址(6bytes)构成。 根据IEEE802.1d规定,优先级值为0-65535,缺省的优先级为32768(0x8000)。 当交换机最初启动时,它假定自己就是根交换机,并发送次优的BPDU,当交换机接收到一个更低的BID时,它会把自己正在发送的BPDU的根BDI替换为这个最低的根BID,所有的网桥都会接收到这些BPDU,并且判定具有最小BID值的网桥作为根网桥。 如下图所示,假定A,B的优先级均为32,768,C的优先级为40,000。 各个交换机如何知道哪个交换机的BID最小呢? 这是通过交换BPDU实现的。 BPDU是网桥之间用于交换生成树信息的一种特殊的数据帧。 根据选举规则,选择较小的优先级的交换机,则选择出Cat-A和Cat-B。 在A,B优先级相同的时候,查找最小的MAC地址AA-AA-AA-AA-AA-AA.于是Cat-A被选举成为根交换机. BPDU的结构: II. 选择根端口 在选举根桥结束后,将选举根端口,一个网桥的根端口是按照路径开销最靠近根交换机的端口。 每一个非根交换机都将选出一个根端口。 根交换机每个接口均为根端口。 网桥还是使用开销(cost)的概念来衡量接近程度。 与某些路由协议的度量一样,STP对接近程度的度量也不使用跳数,而是通过“根路径开销”---到达根桥的链路开销之和来衡量。 其选择过程如下: 1) 根交换机Cat-A发送BPDU,他们所包含的根路径开销为0,当Cat-B收到这些BPDU后,迅速将端口1/1的路径开销累加到所收到BPDU的根路径开销。 假定为FastEthernet,则加上端口1/1的开销19,Cat-B1/1 到根路径的开销为 19。 2) Cat-B使用内部值19 ,并从端口1/2发送一个根路径开销为19的BPDU 3) 当Cat-C从Cat-B收到这些BPDU将计算自己到根网桥的开销为38(19+19)。 4) Cat-C也在1/1上收到来自A的BPDU。 同时计算1/1到根网桥的开销为19。 5) 根据最靠近根桥原则,C选出根端口为1/1。 6) Cat-C将继续向下游交换机公布其到根端口的开销为19 III. 选择指定端口 在桥接式的网络中,每个网段都有一个指定端口。 一个网段的指定端口(DesignatedPort)是连接到网段中的一个桥接端口,它既向根桥发送数据,也通过此网段从根桥接收数据。 在选举根端口的同时,基于到根网桥的的根路径成本的累加值的指定端口选择过程也在进行。 包含某一网段的指定端口的网桥称为该网段的指定网根网桥的所有活动端口都成为指定端口,指定端口的选择也是基于到根桥的根路径开销。 这条规则的例外是: 当根网桥自身存在第一层物理环路的情况,例如: 根网桥的两个端口连接到了同一台集线器上,或者两个端口通过交叉线连接到了一起。 Segment 1中,根交换机Cat-A上1/1的路径开销为0,Cat-B上1/1的开销为19。 故Cat-A的1/1为指定端口。 Segment 2中,同样Cat-A上的1/2被选举为指定端口。 在Segment 3中。 Cat-B和Cat-C上的1/2口,端口路径开销均为19。 此时将根据最小发送者的BID来确定,此时确定B的端口为指定端口,在某些情况下,例如Cisco的交换机每个vlan一个生成树实例,此时,将会出现BID相同的情况,则最后比较端口ID,端口ID在同一台交换机上定义是必定不相同的,最小端口ID的端口被定义为指定端口。 STP状态 在确定根端口,指定端口和非指定端口后,STP准备创建一个无环路拓扑。 STP配置根端口和指定端口来转发流量,非指定端口阻塞流量。 STP一共有5种状态: 阻塞、监听、学习、转发和禁用。 STP状态可以看作是等级制的,网桥端口从阻塞状态开始并按照顺序到转发状态。 禁用状态是管理性的关闭STP状态。 它不是正常STP端口过程的一部分。 在交换机初始化之后,所有端口由阻塞状态开始。 5种状态: 状态转换过程: * 阻塞状态(Blocking) 一个端口处于阻塞状态将会有如下特征: # 丢弃所有连接的网段上收到的数据帧,或者通过交换而来内部转发的帧。 #接收到的BPDU直接传给系统模块。 #没有地址数据库。 #不传递从系统模块收到的BPDU #接收响应网络管理消息,但不传递他们 #需时20s *侦听状态(Listening) 如果一个网桥在启动或者在一定时间没有收到BPDU后立即认为自己是根交换机,端口进入侦听状态,侦听状态是一种不传用户数据的STP状态,仅在端口发送和接收BPDU报文。 努力确定一个活动的拓扑,该状态有如下特征: # 丢弃所有连接的网段上收到的数据帧,或者通过交换而来内部转发的帧。 # 接收到的BPDU直接传给系统模块。 # 没有地址数据库。 # 不传递从系统模块收到的BPDU # 接收响应网络管理消息 # 需时15s 选举根桥,根端口和指定端口发生在侦听状态期间。 在指定端口选举中失败的端口成为非指定端口,并回到阻塞状态,剩下的指定端口或者根端口在15s后进入学习状态。 *学习状态(Learning) 学习状态是网桥不传递用户数据帧但构建桥接表并收集诸如数据帧源vlan等信息的一种STP状态。 当网桥收到一个帧,他将源MAC地址和端口放入桥接表,当数据转发开始后学习状态减少了所需的泛洪次数需求。 学习状态的生存时间同样受转发延迟定时器的控制,默认为15s一个处于学习状态的端口特性: #丢弃所有连接的网段上收到的数据帧。 # 丢弃从其它端口交换来的需要转发的帧 #接收到的BPDU直接传给系统模块。 #接收,处理传递从系统模块收到的BPDU # 接收响应网络管理消息 #需时15s *转发状态(Forwarding) 处于一个学习状态端口在转发延迟定时器超时后仍然是根端口或者指定端口,则将进入转发状态,转发状态特性如下: # 转发所有连接的网段上收到的数据帧。 # 转发从其它端口交换来的需要转发的帧 # 将位置状态信息包含进自己的地址数据库 # 接收到的BPDU直接传给系统模块。 # 处理从系统模块收到的BPDU # 接收响应网络管理消息 案例: sw1#debugspanning-treeevents (打开调试生成树状态信息) 我们将交换机1的fa0/24端口的开销调整为8,使得fa0/24为指定端口 sw1(config)#interfacef0/24 sw1(config-if)#spanning-treevlan200cost8 sw1(config-if)#end ---------------------------------------------------------- 03: 51: 32: STP: VLAN0200newrootportFa0/24,cost8 03: 51: 32: STP: VLAN0200Fa0/24->listening (f0/24原来处于blocking状态) 03: 51: 32: STP: VLAN0200sentTopologyChangeNoticeonFa0/24 03: 51: 32: STP: VLAN0200Fa0/23->blocking 03: 51: 47: STP: VLAN0200Fa0/24->learning (listening->learning15s时间) 03: 52: 02: STP: VLAN0200Fa0/24->forwarding (learning时间为15s) STP时间 STP运作受3个定时器的控制: · HELLO时间(根网桥发送配置BPDU的时间间隔)缺省2s这个值实际上只控制配置BPDU在根网桥上生成的时间,其他网桥则把它们从根网桥接收到的BPDU向外通告。 换言之,如果在2-20秒内由于网络故障而没有收到新的BPDU,非根网桥在这段时间内就停止发送周期BPDU。 如果这种情况持续超过20s,也就是超过最大存活期,非根网桥就使原来存储的BPDU无效,并开始寻找新的根端口。 · 转发延迟(侦听状态或学习状态的持续时间)缺省15s网桥在侦听状态和学习状态所花费的时间。 只用转发延迟就控制了转发和学习两个状态。 15秒这个值是假定网络的最大规模为7段网桥跳数;BPDU的最大丢失个数为3以及HELLO时间间隔为2秒的情况下得到的。 这个转发延迟计时器同样可以用来控制网桥表在网络拓扑发生变化后的生存时间。 · 最大存活期(存储BPDU的时间)缺省20s就是网桥在丢弃BPDU前用来备份存储它的时间。 STP的BPDU格式 STPBPDU帧格式随着所使用的协议类型变化。 下图显示了IEEE802.1D生成树协议的BPDU帧格式。 Cisco专有的BPDU帧格式: 标准帧格式 n 帧控制域总是01 n 目的地址域指定了在桥街租地址表中所规定的目的地址,在IEEESTPBPDU帧中,这个 n 地址为0x800143000000 n 原地址域指明了交换机所使用的基本MAC地址 n 路由选择信息域仅在CiscoSTPBPDU中有,RIF必须为0x0200 n 逻辑链路控制域控制所有STPBPDU的帧类型,这个域被设置为0x424203 BPDU内各域的格式。 除端口ID域外,两种STP的BPDU内所有的域都是共同的。 在IEEE和CiscoSTPBPDU帧中,端口ID域定义了起源网桥的传送端口。 协议标志 (2) 版本 (1) 消息类型 (1) 标志 (1) 根ID(8) 根路径开销(4) 网桥ID(8) 端口ID (2) 消息生存时间 (2) 最大生存时间 (2) Hello周期 (2) 转发延迟 (2) 协议标志、版本和消息类型域总是被置为0 标志域包括下列的一种: n 拓扑变化(TC)位,该信号指示拓扑变化并指明该BPDU是一个拓扑变化通告(TCN)BPDU。 该位没有置位,则说明BPDU是一个配置BPDU。 n 拓扑变化确认(TCA)位,该位被置位表示确认收到一个TC位被置位的配置信息 其他域包括: n 根ID域通过列出2字节的优先级和紧跟的6字节ID指明根交换机 n 根路经开销域指明从网桥发送该配置消息的网桥到跟交换机的路径开销 n BID域指明发送该消息的网桥的优先级和ID n 端口ID域表明该配置消息的发送端口号(IEEE或者Cisco)。 该域使得由于多个网桥相连而产生的环路可以被检测并纠正 n 消息生存时间域指示自从根发送完当前配置消息已经过了多长时间 n 最大生存时间指示当前配置消息何时被删除 n hello时间域指示根网桥配置消息的时间间隔 n 转发延迟域指示在拓扑变化后网桥在转到新状态之前需要等待多长时间。 如果网桥转换的过快,可能并非所有网络链路都已经准备好了改变状态,于是会导致环路。 拓扑变化和STP STP通过使用一组定时器来避免在网络中出现桥接环路,如果一个稳定的STP进程出现变化可能需要30~50s的时间才能收敛到新的拓扑(MaxAge20s+2次forwarddelay15s)。 当网络在收敛过程时,那些已经不可达的物理地址仍旧存在于交换表中,交换机仍然会尝试向无法达到的设备转发数据帧。 STP在拓扑变化的机制中,要求迅速清空交换表以删除不可达的物理地址。 防止交换机将一些数据帧转发到那些不可达的设备。 下图为一个拓扑变化过程: 1. 交换机D注意到拓扑变化 2. 交换机D从根端口发出一个拓扑变化通知(TCN,TopologyChangeNotice)BPDU,最终目的地为根交换机。 TCNBPDU通过BPDU中值为0x80的一个字节类型域表明。 网桥持续发送TCN BPDU直到该网段的指定网桥响应一个TCA“拓扑变更响应(TopologyChangeAcknoledgment)”配置BPDU,类型TCA是通过1字节标志域中的最高比特位指明的。 3. 该网段的指定网桥(Cat-B)发送一个TCA配置BPDU到源网桥(Cat-D)。 交换机B也从根端口发送一个目的地为根交换机的TCNBPDU 4. 当根交换机收到(上游)TCNBPDU,就发送配置BPDU通告发生了一个拓扑变化。 根交换机在配置中保持拓扑变化的时间等于转发延迟加最大生存时间.(15s+15s+20s) 5. 一个网桥收到(下游)从根交换机发出的拓扑变化配置消息,用转发延迟定时器(15s)使全部地址表项超时。 这使得比默认设备通常需要5分钟更快的时间来使整张表超时快了很多。 网桥将持续这一个过程知道不再从根交换机收到拓扑变化配置消息 * 备份根交换机 通常拓扑变化中,如果根桥出现问题,将会极大地影响网络的STP收敛时间,此时,cisco采用了一种备份根桥的策略。 如下图: 其实质上是根据根网桥选举规则进行处理的,配置命令为: Spaning-treevlanvlan-idroot primay Spaning-treevlanvlan-idroot secondary 这2条命令的作用是修改BID中的Priority值,该命令仅在Catalyst6500,4500,3750,3550,2950上支持 配置STP l 默认配置: 特性 默认设置 --------------------------------------------------------------------------- 使能状态 只有vlan1 生成树模式 PVST+(RSTP和MSTP不启动) 交换机优先级 32768 生成树端口优先级(基于每个端口) 128 生成树端口开销 1000Mbps: 4 100Mbps: 19
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CCIE 试验 备考 交换 STP