《stpspanningtreeprotocol生成树协议.docx》由会员分享,可在线阅读,更多相关《stpspanningtreeprotocol生成树协议.docx(8页珍藏版)》请在第一文库网上搜索。
1、STP(SpanningTreeProtocoI,生成树合同)1.STP的用途STP(SpanningTreeProtocoI,生成树合同)是根据IEEE协会制定的802.ID原则建立的,用于在局域网中消除数据链路层物理环路的合同。运营该合同的设备通过彼此交互报文发现网络中的环路,并有选择时对某些端口进行阻塞,最后将环路网络构造修剪成无环路的树型网络构造,从而避免报文在环路网络中不断增生和无限循环,避免主机由于反复接受相似的报文导致的报文解决能力下降的问题发生。STP涉及了两个含义,狭义的STP是指IEEE802.1D中定义的STP合同,广义的STP是指涉及IEEE802.1D定义BSTP合同
2、以及多种在它的基础上通过改善的生成树合同。2.STP的合同报文STP采用的合同报文是BPDU(BriCIgePrOtoCo1DataUnit,桥合同数据单元),也称为配备消息。STP通过在设备之间传递BPDU来拟定网络的拓扑构造。BPDU中涉及了足够的信息来保证设备完毕生成树的计算过程。BPDU在STP合同中分为两类:配备BPDU(ConfigurationBPDU):用于进行生成树计算和维护生成树拓扑的报文。TCNBPDU(TopoIogyChangeNotificatioBPDU):当拓扑构造发生变化时,用于告知有关设备网络拓扑构造发生变化的报文。3.STP的基本概念(1) 根桥树形的网络
3、构造,必须要有树根,于是STP引入了根桥(RootBridge)的概念。根桥在全网中只有一种,并且根桥会根据网络拓扑的变化而变化,因此根桥并不是固定的。网络收敛后,根桥会按照一定的时间间隔产生并向外发送配备BPDU,其他的设备对该配备BPDU进行转发,从而保证拓扑的稳定。(2) 根端口所谓根端口,是指一种非根桥的设备上离根桥近来的端口。根端口负责与根桥进行通信。非根桥设备上有且只有一种根端口,根桥上没有根端口o(3)指定桥与指定端口指定桥与指定端口的含义分类指定桥指定端口对于一台设备而言与互换机直接相连并且负责向互换机转发BPDU报文的设备指定桥向本机转发BPDU报文的端口对于一种局域网而言负
4、责向本网段转发BPDU报文的设备指定桥向本网段转发BPDU报文的端口(4)途径开销途径开销是STP合同用于选择链路的参照值。STP合同通过计算途径开销,选择较为“强健”的链路,阻塞多余的链路,将网络修剪成无环路的树型网络构造。4.STP的基本原理STP通过在设备之间传递BPDU来拟定网络的拓扑构造。配备消息中涉及了足够的信息来保证设备完毕生成树的计算过程,其中涉及的几种重要信息如下:根桥ID:由根桥的优先级和MAC地址构成;根途径开销:到根桥的最短途径开销;指定桥ID:由指定桥的优先级和MAC地址构成;指定端口ID:由指定端口的优先级和端口名称构成;配备消息在网络中传播的生存期:Message
5、Age;配备消息在互换机中可以保存的最大生存期:MaXAge;配备消息发送的周期:He11。Time;端口状态迁移时延时:ForwardDe1ayo(1) STP算法实现的具体过程初始状态各台设备在初始时会生成以自己为根桥的BPDU报文消息,根途径开销为0,指定桥ID为自身设备ID,指定端口为本端口。最优配备消息的选择各台设备都向外发送自己的配备消息,同步也会收到其他设备发送时配备消息。最优配备消息的选择过程如下:1、每个端口收到配备消息后的解决过程如下:当端口收到时配备消息比本端口配备消息的优先级低时,设备会将接受到时配备消息丢弃,对该端口的配备消息不作任何解决。当端口收到时配备消息比本端口
6、配备消息的优先级高时,设备就用接受到的配备消息中的内容替代该端口的配备消息中的内容。2、设备将所有端口的配备消息进行比较,选出最优的配备消息。配备消息的比较原则如下:根桥ID较小时配备消息优先级高;若根桥ID相似,则比较根途径开销,比较措施为:用配备消息中的根途径开销加上本端口相应的途径开销,假设两者之和为S,则S较小的配备消息优先级较高;若根途径开销也相似,则比较如下的配备消息优先级,优先级较高时为根桥:指定桥ID、指定端口ID、接受该配备消息的端口ID等,。根桥的选择网络初始化时,网络中所有的STP设备都觉得自己是“根桥”,根桥ID为自身的桥ID。通过互换配备消息,设备之间比较根桥ID,网
7、络中根桥ID最小的设备被选为根桥。根端口、指定端口的选择根端口、指定端口的选择过程如下。1、非根桥设备将接受最优配备消息的那个端口定为根端口。2、设备根据根端口的配备消息和根端口的途径开销,为每个端口计算一种指定端口配备消息:根桥ID替代为根端口时配备消息时根桥ID;根途径开销替代为根端口配备消息的根途径开销加上根端口相应的途径开销;指定桥ID替代为自身设备的ID;指定端口ID替代为自身端口IDo3、设备使用计算出来的配备消息和需要拟定端口角色的端口上的配备消息进行比较,并根据比较成果进行不同的解决:如果计算出来的配备消息优,则设备就将该端口定为指定端口,端口上的配备消息被计算出来的配备消息替
8、代,并周期性向外发送。如果端口上的配备消息优,则设备不更新该端口配备消息并将此端口阻塞,该端口将不再转发数据,只接受但不发送配备消息;阐明:在拓扑稳定状态,只有根端口和指定端口转发流量,其他的端口都处在阻塞状态,它们只接受STP合同报文而不转发顾客流量。一旦根桥、根端口、指定端口选举成功,则整个树形拓扑就建立完毕了。下面结合例子阐明STP算法实现的计算过程。具体的组网如图1-2所示QeviceA的优先级为O,DeViCeB的优先级为IQeViCeC的优先级为2,各个链路的途径开销分别为5、10、4oDeviceA优先级为0各台设备的初始状态各台设备的初始状态如表1-4所示。表14各台设备的初始
9、状态设备端口名称端口的配置消息DeviceAAP10.0,0.AP1AP20.0,0,AP2DeviceBBP11.0,1,BP1BP21.0,1,BP2DeviceCCP12,0,2,CP1CP22.0,2,CP2各台设备的比较过程及成果如表1-5所示。设备比较过程比较后端口的)配备消息DeviceA端口AP1收至IJDeViCeB的配备消息1,0,1,BP1,DeViCeA发现本端口的配备消息0,0,0,API优于接受到的配备消息,就把接受到的配备消息丢弃。端口AP2收到DeViCeC的配备消息到,O,2,CP1),DeviceA发现本端口的配备消息0,0,0,AP2优于接受到的配备消息,
10、就把接受到的配备消息丢弃。DeviceA发现自己各个端口的配备消息中根桥和指定桥都是自己,则觉得自己是根桥,各个端口的配备消息都不作任何修改,后来周期性的向外发送配备消息AP1:0,0,0,API)AP2:0,0,0,AP2DeviceB端口BP1收到来自DeViCeAH勺配备消息0,0,0,P1,DeviceB发现接受到日勺配备消息优于本端口时配备消息1,0,1,BP1,于是更新端口BP1的配备消息。端口BP2收到来自DeViceC的配备消息2,0,2,CP2,DeviceB发现本端口日勺配备消息1,0,1,BP2优于接受到的配备消息,就把接受到的配备消息丢弃。BPI:0,0,0,APIBP
11、2:1,0,1,BP2)DeviceB对各个端口的配备消息进行比较,选出端口BP1的配备消息为最优配备消息,然后将端口BP1定为根端口,它的配备消息不作变化。DeViceB根据根端口BPI的配备消息和根端口rJ途径开销5,为BP2端口计算一种指定端口配备消息0,5,1,BP2oDeviceB使用计算出来的J配备消息0,5,1,BP2和端口BP2上时配备消息进行比较,比较的成果是计算出来的配备消息较优,则DeviceB将端口BP2定为指定端口,它的配备消息被计算出来的配备消息替代,并周期性向外发送。根端口BPh0,0,0,API)指定端口BP2:)0,5,1,BP2)DeviceC端口CP1收到
12、来自DeviceAF1勺配备消息(0,0,0,AP2,DeviceC发现接受到的配备消息优于本端口的配备消息2,0,2,CP1,于是更新端口CP1的配备消端口CP2收到来自DeViCeB端口BP2更新前的配备消息(1,0,1,BP2),DeViCeC发现接受到的配备消息优于本端口的配备消息2,0,2,CP2),于是更新端口CP2的配备消息。CPkO,0,0,AP2)CP2:1,0,1,BP2通过比较:端口CP1的配备消息被选为最优的配备消息,端口CPI就被定为根端口,它rJ配备消息不作变化。将计算出来甲、J指定端口配备消息0,102CP2和端口CP2的配备消息进行比较后,端口CP2转为指定端口
13、,它的配备消息被计算出来的配备消息替代。根端口CP1:0,0,0,AP2)指定端口CP2:0,10,2,CP2)接着端口CP2会收到DeViceB更新后H勺配备消息0,5,I,BP2),由于收到时配备消息比原配备消息优,则DeViCeC触发更新过程。同步端口CP1收到DeViCeA周期性发送来的配备消息,比较后DeviceC不会触发更新过程。CPk0,0,0,AP2CP2:0,5,1,BP2通过比较:端口CP2的根途径开销9(配备消息的根途径开销5+端口CP2相应的途径开销4)不不小于端口CP1日勺根途径开销10(配备消息的根途径开销0+端口CP1相应口勺途径开销10),因此端口CP2的J配备
14、消息被选为最优日勺配备消息,端口CP2就被定为根端口,它的配备消息就不作变化。将端口CP1的配备消息和计算出来的指定端口配备消息比较后,端口CP1被阻塞,端口配备消息不变,同步不接受从DeViCeA转发的数据,直到新日勺状况触发生成树的计算,例如从DeViCeB到DeViCeC日勺链路down掉。阻塞端口CP1:0,0,0,AP2根端口CP2:0,5,1,BP2)通过上表的比较过程,此时以DeViCeA为根桥的生成树就拟定下来了,形状如图1-3所示。DeviceA(2)STP的配备消息传递机制当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的配备消息,并以HeIIoTime为周期定期
15、向外发送。接受到配备消息的端口如果是根端口,且接受的配备消息比该端口的配备消息优,则设备将配备消息中携带的MeSSQgeAge按照一定的原则递增,并启动定期器为这条配备消息计时,同步将此配备消息从设备的指定端口转发出去。如果指定端口收到的配备消息比本端口的配备消息优先级低时,会立即发出自己的更好的配备消息进行回应。如果某条途径发生故障,则这条途径上的根端口不会再收到新的配备消息,旧时配备消息将会由于超时而被丢弃,设备重新生成以自己为根的配备消息并向外发送BPDU和TCNBPDU,从而引起生成树的重新计算彳导到一条新的通路替代发生故障的链路,恢复网络连通性。但是,重新计算得到的新配备消息不会立即就传遍整个网络,因此旧时根端口和指定端口由于没有发现网络拓扑变化,将仍按本来的途径继续转发数据。如果新选出的根端口和指定端口立即就开始数据转发的话,也许会导致临时性的环路。(3)STP定期器STP计算中,需要使用三个重要的时间参数:FOrWQrc1DeIoy、He11oTime和M