《第二章生成树协议课件》由会员分享,可在线阅读,更多相关《第二章生成树协议课件(51页珍藏版)》请在金锄头文库上搜索。
1、第2章 STPSpanning Tree Protocol 生成树协议生成树协议该协议用于环路网络,通过一定的算法实现路该协议用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的径冗余,同时将环路网络修剪成无环路的树型树型网络网络,从而避免报文在环路网络中的增生和无从而避免报文在环路网络中的增生和无限循环。限循环。 其功能可概括为其功能可概括为在冗余拓扑中防止二在冗余拓扑中防止二层环路的出现。层环路的出现。1本章学习目标了解二层环路的形成机理与危害了解二层环路的形成机理与危害掌握生成树协议消除环路的基本原理掌握生成树协议消除环路的基本原理掌握生成树协议的相关概念掌握生成树协议
2、的相关概念能熟练配置与调试生成树协议能熟练配置与调试生成树协议了解生成树协议标准相关标准了解生成树协议标准相关标准2STP基础知识基础知识STP诞生的背景网络单点故障影响可用性设计冗余拓扑引发新问题设计生成树协议加以解决STP的发展第一代:STP(802.1D)RSTP(802.1w)第二代:PVSTPVST第三代:MISTP/MSTP(802.1s)未来方向:支持隧道技术的生成树协议注:PT仅支持PVST+,RPVST+3术语名称RSTP:Rapid STP,快速生成树协议PVST:Per Vlan STP 每vlan生成树协议,cisco私有协议PVST+: 增强型PVST,cisco私有
3、协议MISTP:Multi-Instance STP,多实例生成树协议MSTP:Multiple STP,多生成树协议4冗余拓扑引发的问题基本原理回顾基本原理回顾CAM:存放MAC地址表(MAC地址和出接口,VLAN对应关系)静态配置通过学习源MAC,创建MAC地址表二层协议:IGMP,GMRP交换:依据MAC地址表转发,未命中则泛洪MAC地址老化冗余拓扑存在的问题冗余拓扑存在的问题形成二层环路广播风暴重复的单播帧交换机MAC地址表不稳定5STP使用的算法STA第一步:选举根桥无VLAN环境,一个广播域一个根桥有VLAN环境,一个VLAN一个根桥第二步:计算到根桥的路径第三步:配置端口角色根端
4、口 (Root ports ,RP)指定端口 (Designated ports,DP)非指定端口 (Non-designated ports,NP)6选举根桥确定最佳路径确定端口角色7选举根桥(Root Bridge)每个生成树实例(交换 LAN 或广播域)都有一台交换机被指定为根桥。根桥是所有生成树计算的参考点,用以确定哪些冗余路径应被阻塞。选举方法:交换BPDU(网桥协议数据单元,STP产生)BID (Bridge ID,桥桥ID)最小者当选为根桥)最小者当选为根桥8BPDU封装封装的是802.3帧,而非以太网型帧目的MAC为01:80:C2:00:00:00(组播)BPDU包含12个字
5、段,这些字段涵盖了所需的路径和优先级信息,STP 便利用这些信息来确定根桥以及到根桥的路径。MAC帧首部LLC首部BPDUFCS9BPDU(RID,BID)前四个字段标识协议、版本、消息类型和状态标志。接下来的四个字段用于标识根桥以及到根桥的路径开销。最后四个字段全是计时器字段,用于确定 BPDU 消息的发送频率和保持时间。10在wireshark中观察BPDU11BID组成BID和RID格式一样,都由3个域组成即 优先级+扩展系统ID+MAC地址上面是根网桥的ID,下面是网桥自己的ID12BID (带/不带扩展系统ID)13选组长游戏每个人每分钟和自己的左右两边的人交换一次卡片,两每个人每分
6、钟和自己的左右两边的人交换一次卡片,两行都要填写,第一次把自己当组长。行都要填写,第一次把自己当组长。每次收到别人给自己的卡片时,比较新旧卡片中组长的每次收到别人给自己的卡片时,比较新旧卡片中组长的RID,用更小的,用更小的RID构造新卡片发给左右两边的人。构造新卡片发给左右两边的人。经过若干次这样的交换,组长即可选出。经过若干次这样的交换,组长即可选出。游戏一直进行下去,若某人的优先级改变,或者有新人游戏一直进行下去,若某人的优先级改变,或者有新人加入该组,都有机会成为组长,但同一组不可能有两个加入该组,都有机会成为组长,但同一组不可能有两个组长。组长。51组长的身份证号51自己的身份证号自
7、己的BID组长的RID游戏用卡片BPDU游戏规则:游戏规则:14根桥由桥优先级和MAC地址决定由由BID组成可知,组成可知,“BID最小者成为最小者成为RB”实实际上可理解为:际上可理解为:桥优先级最小的成为桥优先级最小的成为RB桥优先级相同时,桥优先级相同时,MAC地址最小的成为根桥地址最小的成为根桥对于每个对于每个VLAN,其交换的,其交换的PBDU的的BID字字段的段的VLAN-ID值是一样的,值是一样的,MAC地址固定地址固定不变,唯一能干预根桥选举结果的就是修不变,唯一能干预根桥选举结果的就是修改桥优先级。改桥优先级。15干预选举的方法一由于桥优先级只占4bit,修改优先级的命令只能
8、对这4比特进行修改。所以调整优先级的增量应是212=4096的整数倍。具体设置时,可以增量调整,也可以直接设置为P=nx212, 其中 n=0,1,2,15,两方法效果相同,但要注意若最终的值超出范围或与上述公式不符都无效。将交换机中vlan X的桥优先级设置为PSwitch(config)#spanning-tree vlan X priority P 注:其中P=4096n,注意实际优先级是P而非n或者P+VID 即便P=0,也不能断言它一定是最终的根桥16干预选举的方法二Switch(config)#spanning-tree vlan 1 root ? primary Configur
9、e this switch as primary root for this spanning tree secondary Configure switch as secondary root说明:若选primary,即将该交换机设置为vlan 1的主根桥,机制是将其优先级值相对于自己当前优先级减2X4096,若选secondary,则减4096,减后是否一定成为主根桥或者次根桥还难说,需要看各网桥BID比较的结果。 相对调整命令是极易让人产生困惑和误判的命令,真正掌握才可使用。 无论使用哪种方法,到处随便执行优先级调整将使根桥判断复杂化,最终一定要通过校验命令来确定。17验证根桥Switc
10、h#show spanning-tree 查看所有vlan生成树协议相关信息Switch#show spanning-tree vlan 1查看vlan 1 生成树协议相关信息18根据命令执行结果判断19选举根桥确定最佳路径确定端口角色20情况1:路径开销存在唯一最小值根桥选举出来后,STA计算广播域内所有目的地到根桥的最佳路径。路径开销路径开销=路径上各发送端口开销之和路径上各发送端口开销之和spanning-tree cost value 命令。value 的范围介于 1 到 200,000,000 之间。PT不支持!21路径开销计算举例上图中假定S3为根桥,S1到S3存在路径1和路径2,
11、其路径开销分别为19和38,路径开销最小的是路径1,即最佳路径。同样的方法可确定S2的最佳路径22情况2:路径开销相同,发送者BID不同如假设右下角的交换机为根桥,左上角的交换机有两条开销为38的路径到根桥,哪条路径更好,或者说F0/2和F0/3哪个端口将会被配置为根端口?23情况3:路径开销和发送者BID相同24情况4:前三种失效,看接收者PID25选举根桥确定最佳路径确定端口角色26确定端口角色根端口(RP)位于非根桥,从RP到根桥路径最佳,个数唯一,填充MAC并转发流量。指定端口(DP)根桥上的端口,非根桥上的部分端口,指根据需要接收帧或向根桥转发帧的交换机端口。每网段上有一个DP。非指
12、定端口(NDP)用于阻塞的端口,不转发数据帧和MAC填充。禁用端口处于管理性关闭状态的交换机端口,不参与STP。2728端口角色小结根端口根端口 指定端口指定端口 非指定端口非指定端口 禁用端口禁用端口可存在于可存在于 非根桥非根桥二者二者非根桥非根桥二者二者转发转发是是是是否否否否MAC填充填充是是是是否否否否阻断阻断否否否否是是是是参与参与STP是是是是是是否否29端口状态Disable(Down):禁用状态,接入设备并启用Blocking:阻塞状态,接收BPDU,等待端口角色的确定,大约需要20秒。Listening:侦听状态,发送BPDU,参与收敛过程,大约需要15秒。Learning
13、:学习状态,开始学习MAC地址,大约持续15秒。Forwarding:转发状态,可以转发数据。注意:非禁用状态均可接收BPDU,后三种状态才可以发送BPDU,后面的状态功能更多。30端口状态及其停留时间、功能收BPDU 发BPDU学MAC 发数据 停留(s)Down否否否否不确定Blocking是否否否=20Listening是是否否15Learning是是是否15Forwarding是是是是不确定31BPDU时间参数Hello time:根桥发送配置信息的时间间隔,默认值为2秒。Max age:BPDU最大存活时间。默认值为20秒。Forward delay:转发延迟,默认值为15秒。32转
14、发延迟Forwarding Delay当拓扑发生变化,新的配置消息要经过一当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延定的时延才能传播到整个网络,这个时延就是转发时延。在这段时间内可能产生临就是转发时延。在这段时间内可能产生临时环路,时环路,STP使用此定时器,控制转发端使用此定时器,控制转发端口在这一段时间内只学习口在这一段时间内只学习MAC地址,不转地址,不转发数据,这种措施可防止临时环路,但使发数据,这种措施可防止临时环路,但使得重新收敛时间大大延长。得重新收敛时间大大延长。33STP收敛在STA作用下,网络由不稳定达到稳定的过程,拓扑改变后需要重新收敛。传统
15、的STP即802.1D完成收敛大约需要50秒,而RSTP可以达到1秒。收敛速度是生成树协议的重要指标。STP通过以下四步使网络收敛为无环拓扑每广播域选出唯一一个根桥每非根桥产生唯一一个根端口每网段有且只有一个指定端口既不属于根端口也不是指定端口的端口将被阻塞。34拓扑更改发送TCN(topology change notification )收到者发送TCA(topology change acknowledgement ) 根桥收到后向全网广播TC,默认持续35秒。35拓扑更改36拓扑更改37RSTP特性性能较STP大为改进,吸纳了cisco早期的增强功能,但与Cisco 专有的 802.1
16、D 增强功能(例如 UplinkFast 和 BackboneFast)不兼容。RSTP (802.1w) 用于取代 STP (802.1D),但仍保留了向下兼容的能力。大量 STP 术语仍继续使用,大多数参数都未变动。此外,802.1w 能够返回到 802.1D 以基于端口与传统交换机互操作。例如,RSTP 生成树算法选举根桥的方式与 802.1D 完全相同。RSTP 使用与 IEEE 802.1D 相同的 BPDU 格式,不过其版本字段被设置为 2 以代表是 RSTP,并且标志字段用完所有的 8 位。RSTP 能够主动确认端口是否能安全转换到转发状态,而不需要依靠任何计时器来作出判断。38
17、802.1WRSTP:三种改进1.为RP和DP设置Alternate Port 和Backup Port角色,前者失效时,后者立即替换根端口,无时延地进入转发状态。而在STP中需要等待大约2倍的转发延迟时间。2.在只连接了两个交换端口的点对点链路中,指定端口只与下游网桥一次握手就可无时延地进入转发状态。3.连接终端的端口使用 spanning-tree portfast 命令配置为Edge Port,可直接进入转发状态。39RSTP端口角色与端口状态端口角色根端口,指定端口,替换(备份)端口,边缘端口。端口状态:丢弃、学习、转发40RSTP第二版的BPDU41生成树协议相关标准42多VLAN环
18、境下STP部署问题:树形拓扑中,哪个节点的流量最大,或者说负荷最重?如果一个网络的规模很大,vlan数量也很多,使用设备默认配置会带来什么问题?设备MAC地址与其处理能力有必然联系吗?43STP根桥是网络中枢STA算法只是确保在提供冗余功能的同时无环路产生,它并不能智能地、合理地指定根桥,人工干预有时是必须的。干预原则默认配置不一定是最好的。Cisco交换机默认启用的是PVST。应使用更好的标准。如果使用默认配置,所有vlan的根桥往往集中在一个交换机上。让处理能力强的交换机担任Root Bridge。若基于VLAN部署STP,合理分散各VLAN的根桥以实现负载均衡。使用cisco的生成树协议
19、增强功能44STP小结功能:二层冗余拓扑防止环路BPDU:桥协议数据单元,组播发送,用于网桥间时间交换信息和实现STP,分为配置BPDU和拓扑变更通告(TCN)BPDU两种类型。STARoot BridgeRID, BID, PID , 扩展系统ID(VID)Port cost, path costRP,DP, NPHello time, max age, delay time, aging timeDisable(down),Blocking,Listening,Learning,Forwarding45STP小结重要算法BID=桥优先级+扩展系统ID+MAC地址比较BID,唯一确定Root
20、 Bridgepath cost=port cost,确定最佳路径,从而确定非根桥上唯一的根端口,条件不足可继续比较发送者BID发送者PID接收者PIDPath cost 和自己的BID确定每网段唯一指定端口46STP小结默认(状态/值)Vlan1 上启用stp,其他vlan上启用pvst+阻塞20秒+侦听15秒+学习15秒=收敛50秒端口未开启spanning-tree poetfast老化时间300秒万千百十Mbps对应的开销2,4,19,100桥优先级32768 0,61440端口优先级128 0,240PID=128.端口号47STP小结配置Spanning-tree vlan vla
21、n-id /启用PVST,NO!Spanning-tree vlan vlan-id mode PVSTSpanning-tree vlan vlan-id mode rapid-pvst /启启用快速每用快速每VLAN生成树协议生成树协议Spanning-tree vlan vlan-id priority valueSpanning-tree vlan vlan-id root primarySpanning-tree vlan vlan-id root secondarySpanning-tree vlan vlan-id port-priority valueSpanning-tree
22、 portfastSpanning-tree portfast default 48STP小结检验Show spanning-treeShow spanning-tree vlan vlan-idShow spanning-tree summaryshow spanning-tree interface 注: 带下划线的在接口模式,其余在全局模式49STP小结重要结论每广播域一个根桥每个非根桥一个根端口每个网段(冲突域)一个指定端口收敛后形成以根桥为根的一颗树PVST可将不同VLAN的根桥分开以部署实现负载均衡RSTP比STP收敛快得多,可在1秒钟内收敛RSTP中端口只有三种状态:丢弃、学习和转发,丢弃相包含了STP中的禁用、阻塞和监听。50STP小结标准802.1d,802.1w,802.1sPVST,PVST+,Rapid-PVST, MISTP51