快好知 kuaihz订阅观点

 

生产树协议-基础知识

一.生成树的概述

生成树协议工作在第二层,通过一定技术将网络的结构变成树形结构。原因【防止网络中出现环路】;出现环形的网络拓扑时存在的问题【信息无法到达对方,信息在网络中始终循环】

参考1:

https://baike.baidu.com/item/%E7%94%9F%E6%88%90%E6%A0%91%E5%8D%8F%E8%AE%AE/1309781?fromtitle=%E7%94%9F%E6%88%90%E6%A0%91&fromid=10284070&fr=aladdin

参考2:https://blog.51cto.com/dengqi/1253320

二.生成树网络中的接口类型【注意的问题:所有的端口都是需要进行学习{优先级,MAC,带宽}】

(1)根端口:【首先必须找到根桥,根桥所对应的端口均为根端口】【由优先级<0-61440>

和MAC地址来决定】【优先级0是最高级别,61440是最低级别的,4096为倍数;即0,4096,8192.......】

(2)指定端口:【根桥上的所有端口均为指定端口

(3)阻塞端口:【根据MAC地址和到达根桥花费值来决定】

(4)可以通过修改端口优先级,来调整该端口是指定端口还是阻塞端口;<0-240>的参数,0的优先级最低,240的优先级最高;是以16位倍数进行调整,即0,16,32......;

三.生成树的基础实例

分析:

1-由两台交换机和4台PC机构成的一个简单的局域网;

2-两台交换机之间由两条链路连接在一起;即在两台交换机之间形成了一个环路;其中的一个接口将处于监听状态;则该链路不参与数据的传输,只作为备份的链路存在;

3-看到在两条链路上的四个节点之间,有一个节点处于监听状态【在交换机上默认启动了生成树协议】

4-所有PC机在同一个VLAN下,所有只规划了192.168.10.0/24的C类标准网络;

5-在交换的网络中,每个VLAN都能够构成一个生产树;即有自己的树根、根端口、指定端口和阻塞端口等;

验证:四台PC机在同一个局域网中,在默认情况下,可以相互通信;

实例1:在没有关闭生成树协议的情况下,PC0到PC1【没有经过环路,是SW1上的设备】

C:>ping 192.168.10.2

Reply from 192.168.10.2: bytes=32 time=5ms TTL=128

Reply from 192.168.10.2: bytes=32 time<1ms TTL=128

Reply from 192.168.10.2: bytes=32 time<1ms TTL=128

Reply from 192.168.10.2: bytes=32 time<1ms TTL=128

实例2:在没有关闭生成树协议的情况下,PC0到PC2【经过环路,是SW1到sw2】

C:>ping 192.168.10.3

Reply from 192.168.10.3: bytes=32 time=1ms TTL=128

Reply from 192.168.10.3: bytes=32 time<1ms TTL=128

Reply from 192.168.10.3: bytes=32 time<1ms TTL=128

Reply from 192.168.10.3: bytes=32 time<1ms TTL=128

实例3:在关闭生成树协议的情况下,PC0到PC1【没有经过环路,是SW1上的设备】

(1)关闭sw1的生成树协议

Switch>en

Switch#conf t

Switch(config)#host sw1

sw1(config)#no spanning-tree mode  //关闭生成树

sw1(config)#no spanning-tree vlan 1  //关闭VLAN1的生成树协议

(2)关闭sw2的生成树协议

Switch>en

Switch#conf t

Switch(config)#host sw1

Sw2(config)#no spanning-tree mode  //关闭生成树

Sw2(config)#no spanning-tree vlan 1  //关闭VLAN1的生成树协议

(3)现象:两台交换机之间链路的监听端口不存在了;即存在环路;

C:>ping 192.168.10.4

Request timed out.

Reply from 192.168.10.4: bytes=32 time=23ms TTL=128

Request timed out.

Request timed out.

PC0与PC4【跨交换机之间的连接就出现了断点;是由于网络中存在环路的原因。】

(4)结论,当网络中存在环路时,无论是跨交换机通信还是不跨交换机通信,网络设置之间的连接都将存在一定的问题,有不规则的断点存在。

四.根桥的选取

1.根桥的选举:

(1)选择方法1:根据优先级(0~61440)来选择,优先级最小的为根;若优先级相同,则看交换机背板的基本MAC地址,MAC地址最小的为根,MAC最大的就必定有一个端口为阻塞端口

注意:交换机的背板MAC地址的查看方法【sw1#show version】

(2)选取方法2:通过直接修改交换机设备的优先级,来决定生成树的根;默认情况下,所有交换机的优先级都是【32768】;由于默认情况下所有交换机上只有一个VLAN1,所以在查看生成树信息时,只能看到VLAN1优先级信息。命令:

sw1(config)#spanning-tree vlan 1 priority 0 //设置VLAN1的优先级为0,0为最高优先级

(3)选取方法3:通过命令直接定义主根和副根;

定义主根的命令:spanning-tree vlan * root primary //配置为主根

定义副根的命令:spanning-tree vlan * root se //配置为福根

实例1:正常状态下的根桥选择实例【即未对交换机做任何的配置】

如何来确定SW1是否为根桥?通过【sw1#show spanning-tree】命令后,查看在结果中是否存在【This bridge is the root】,如果有存在,则SW1是根桥,否则,SW1不是根桥;

sw1#show spanning-tree //查看生成树协议信息

VLAN0001  //vlan的编号信息

Spanning tree enabled protocol ieee  //表示交换机使用的生成树协议是"PVST+",这也是思科默认的生成树协议。

Root ID Priority 32769  //根桥的优先级【生成树的默认优先级+VLAN的编号】

Address 0001.4237.CEAB  //根桥的基本MAC地址

Cost 19  //从SW1都根桥的花费值

Hello Time 2sec  Max Age 20sec Forward Delay 15sec //BPDU发送间隔默认2秒,最大存在时间是20秒,转发延时是15秒。

Bridge ID Priority 32769 //sw1的优先级【生成树的默认优先级+VLAN的编号】

Address 0030.A351.C7CE  //SW1的MAC地址

Interface【接口】Role【角色】Sts【状态】Cost【花费】 Prio.Nbr Type

---------------- ---- --- --------- ----------------------------------------

Fa0/4            Desg       FWD        19          128.4    P2p

Fa0/3            Desg       FWD        19          128.3    P2p

Fa0/2            Altn       BLK        19          128.2    P2p

Fa0/1            Root       FWD        19          128.1    P2p

角色:Desg:指定端口;Root:根端口;Altn:替换端口

状态:FWD:转发状态,BLK:阻塞状态,LRN:学习状态

类型:P2P:点到点【指的是接口的类型】

花费:19【说明sw1与sw2之间的链路带宽是100M】

sw2#show spanning-tree //查看生成树协议信息

VLAN0001 //显示VLAN1的相关生成树的信息

Spanning tree enabled protocol ieee //表示交换机使用的生成树协议是"PVST+",这也是思科默认的生成树协议。

Root ID Priority 32769  //根桥的优先级【生成树的默认优先级+VLAN的编号】

Address 0001.4237.CEAB  //根桥的基本MAC地址

This bridge is the root  //指出该交换机是根桥

Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec  //BPDU发送间隔默认2秒,最大存在时间是20秒,转发延时是15秒。

Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) //sw1桥ID的优先级

Address 0001.4237.CEAB //sw2的MAC地址

Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time20  //BPDU发送间隔默认2秒,最大存在时间是20秒,转发延时是15秒。

Interface Role Sts Cost Prio.Nbr Type

---------------- ---- --- --------- -------

Fa0/2     Desg FWD 19   128.2    P2p

Fa0/3     Desg FWD 19   128.3    P2p

Fa0/4     Desg FWD 19   128.4    P2p

Fa0/1     Desg FWD 19   128.1    P2p

sw2#

实例2:通过改变优先级来确定SW1为VLAN1的根桥

sw1(config)#spanning-tree vlan 1 priority 0 //设置VLAN1的优先级为0

sw1#show spanning-tree

VLAN0001

Spanning tree enabled protocol ieee

Root ID Priority 1 //优先级0+VLAN的编号

Address 0030.A351.C7CE

This bridge is the root  //指定当前的交换机为根交换机

Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 1 (priority 0 sys-id-ext 1)

Address 0030.A351.C7CE

Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time20

Interface Role Sts Cost Prio.Nbr Type

---------------- ---- --- --------- ----------------------------------------

Fa0/4     Desg FWD 19   128.4    P2p

Fa0/3     Desg FWD 19   128.3    P2p

Fa0/2     Desg FWD 19   128.2   P2p

Fa0/1     Desg FWD 19   128.1   P2p

实例3:通过命令来确定SW2为VLAN1的根桥

sw2(config)#spanning-tree vlan 1 root primary //指定当前的交换机为主要根交换机

sw2#show spanning-tree

VLAN0001

Spanning tree enabled protocol ieee

Root ID Priority 1 //通过rootprimary命令后,设备的优先级变为0

Address 0001.4237.CEAB

This bridge is the root

Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 1 (priority 0 sys-id-ext 1)

Address 0001.4237.CEAB

Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time20

Interface Role Sts Cost Prio.Nbr Type

---------------- ---- --- --------- ----------------------------------------

Fa0/2     Desg FWD 19   128.2   P2p

Fa0/3     Desg FWD 19   128.3   P2p

Fa0/4     Desg FWD 19   128.4   P2p

Fa0/1     Desg FWD 19   128.1   P2p

实例4:根据拓扑图完成根交换机的配置

配置要求:

(1)创建vlan

(2)将相应的接口划分到指定的vlan中

(3)设置trunk链路(8条)

(4)启用生成树协议STP

(5)配置主/副根

①M1作为vlan2 和vlan1的主根,vlan3的副根

②M2作为vlan3 的主根,vlan2和vlan1的副根

(6)配置实例

①spanning-tree vlan *root primary //配置为主根

②spanning-tree vlan *root se //配置为福根

(7)查看配置情况【show spanning-tree】

配置过程:

1-创建VLAN信息及设备的主机名

Switch>en

Switch#conf t

Switch(config)#vlan 2

Switch(config-vlan)#vlan 3

Switch(config-vlan)#hostname S1

2-将接口划分到指定的VLAN中

S1(config)#int f0/4

S1(config-if)#switchport mode access

S1(config-if)#switchport access vlan 2

S1(config-if)#int f0/5

S1(config-if)#switchport mode access

S1(config-if)#switchport access vlan 3

3-设置设备间的TRUNK链路

M1(config)#int range f0/1-4

M1(config-if-range)#switchport trunk encapsulation dot1q//封装DOT1Q协议

M1(config-if-range)#switchport mode trunk  //设置接口的工作模式为trunk

M1(config-if-range)#switchport trunk allowed vlan 1-3  //只允许vlan1-3的信息通过该链路

M2(config)#int range f0/1,f0/3-4,f0/7

M2(config-if-range)#switchport trunk encapsulation dot1q

M2(config-if-range)#switchport mode trunk

M2(config-if-range)#switchport trunk allowed vlan 1-3

S1(config)#int range f0/1-3,f0/7

S1(config-if-range)#switchport mode trunk

S1(config-if-range)#switchport trunk allowed vlan 1-3

S2(config)#int range f0/1-3,f0/6

S2(config-if-range)#switchport mode trunk

S2(config-if-range)#switchport trunk allowed vlan 1-3

4-检查VLAN的划分情况

5-查看TRUNK链路的配置情况

6-启动生成树协议

M2(config)#spanning-tree mode pvst

7-配置主根和副根

(1)配置M1作为vlan2 和vlan1的主根,vlan3的副根

M1(config)#spanning-tree vlan 1-2 root primary  //配置M1为vlan1和vlan2的主根

M1(config)#spanning-tree vlan 3 root secondary  //配置M1为vlan3的副根

(2)M2作为vlan3 的主根,vlan2和vlan1的副根

M2(config)#spanning-tree vlan 3 root primary  //配置M1为vlan3的主根

M2(config)#spanning-tree vlan 1-2 root secondary //配置M1为vlan1和vlan2的副根

8-检查主根和副根的配置情况

9-改变端口的带宽,从而改变端口的花费值,观察端口的状态,以f0/6为例

M2(config)#int f0/6

M2(config-if)#speed 10

S2(config)#int f0/6

S2(config-if)#speed 10

说明:发现F0/6接口在VLAN1-3上的状态均变成了【阻塞状态】,且花费值变成了100;

10-改变端口优先级,观察端口的状态变化情况

S1(config)#int f0/1

S1(config-if)#spanning-tree vlan 1-3 port-priority 240

M1(config)#int f0/1

M1(config-if)#spanning-tree vlan 1-3 port-priority 240

说明:发现FO/1的优先级变成240了;

五.最佳路径

1.最佳路径的选择是根据“开销路径”来选择;【开销路径=路径上各发送端口的开销之和】【10G=2;1G=4;100M=19;10M=100】

2.阻塞端口的选择【1.根据路由的花销,最大的花销被设置阻塞端口】【如果说花销是相同的,通过优先级别来判断,优先级别的数字越小,则该端口被设置阻塞端口】【如果花销相同,优先级也相同,MAC地址最大的被设置为阻塞端口】【当在一个交换机上BID(桥ID)和MAC地址是相同的,则通过两个接口的PID号来决定,PID号最大的被设置为阻塞端口

六.说明

STP通过以下四步使网络收敛为无环拓扑

(1)每广播域选出唯一一个根桥

(2)每非根桥产生唯一一个根端口

(3)每网段有且只有一个指定端口

(4)既不属于根端口也不是指定端口端口将被阻塞。

七.配置方法

1.通过命令直接指定主根和副根

spannning-tree vlan * root primary //指定该交换机为某个vlan的主根[通过这种方式设置的主根,一般不会发生变化]

spannning-tree vlan * root secondary //指定该交换机为某个vlan的副根[通过这种方式设置的副根,一般不会发生变化]

2.通过设置优先级来指定主根和副根

spanning-tree vlan * priority<0~61440>//以4096的倍数设置生成树的优先级,0的优先级最高[通过这种方式设置的主根/副根,一般不稳定]

3.通过修改接口的speed来控制端口的状态[阻塞、监听]

speed [10/100/auto]

4.通过修改接口的参数来控制端口的状态[根端口、阻塞、监听]

Switch(config-if)#spanning-tree ?

  bpduguard  Don"t accept BPDUs on thisinterface  //启用BPDU保护功能

  guard      Change aninterface"s spanning tree guard mode //启用根保护功能,防止其他交换机抢占根桥

  link-type  Specify a link type for spanningtree protocol use  //设置端口的连接类型:全双工模式端口被认为是有点对点链接;半双工端口被认为是有一个共享链接。

  portfast   Enable an interface to movedirectly to forwarding on link up

  vlan       VLANSwitch Spanning Tree //设置VLA下端口优先级别,<0~240>,0的优先级别最低,240的优先级别最高,16位倍数

八.带宽的花费值说明

(1)10M的花费为100

(2)100M的花费为10

(3)1G的花费为4

(4)10G的花费为2

九.结论

1.根桥的选举:

(1)选择方法1:根据优先级(0~61440)来选择,优先级最小的为根;若优先级相同,则看交换机背板的基本MAC地址,MAC地址最小的为根,MAC最大的就必定有一个端口为阻塞端口

注意:交换机的背板MAC地址的查看方法【sw1#show version】

(2)选取方法2:通过直接修改交换机设备的优先级,来决定生成树的根;默认情况下,所有交换机的优先级都是【32768】;由于默认情况下所有交换机上只有一个VLAN1,所以在查看生成树信息时,只能看到VLAN1优先级信息。命令:

sw1(config)#spanning-tree vlan 1 priority 0 //设置VLAN1的优先级为0,0为最高优先级

(3)选取方法3:通过命令直接定义主根和副根;

定义主根的命令:spanning-tree vlan * root primary //配置为主根

定义副根的命令:spanning-tree vlan * root secondary //配置为福根

2.根桥的所有端口都为指定端口【Desg】;根桥所对应的端口原则上都是根端口【Root】;

3.默认状态下所有的交换机均开启生成树协议;

4.生成树的作用之一是防止环路的产生;

5.原则上每一个VLAN属于一个生成树,该生成树的根是根据优先级和交换机的背板MAC地址来决定。每一个VLAN具有一个独立的根。也可以多个VLAN使用一个根;

6.在设置生成树的优先级时,是以4096的倍数为基础进行设置【0,4096,8192.......】;

7.当优先级为0时,该交换机也不一定是根桥【如果在同一个VLAN的网络中有设置某一个交换机为“primary”,则此交换机为该VLAN的根】;

8.在一个VLAN中可以设置主根和副根,副根只有在主根出现问题时才启用;

9.在查看生成树配置时,如果为根交换机将提示“this is bridge is the root”,且"ROOTID"和“BRIDGE ID"的MAC地址是相同的;

10.在一个VLAN中只能有一个主根和一个副根;

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:生产树协议基础知识  基础知识  基础知识词条  协议  协议词条  生产  生产词条