基于VLAN的生成树协议 — PVSTP+

4.2.1 实验目的

1)理解基于VLAN生成树协议的工作过程

2)理解Trunk口在生成树协议中的作用

3)掌握PVSTP的配置

4.2.2 实验原理

1.PVST

随着VLAN在技术在二层网络的盛行,给生成树协议带来了挑战,STP的缺陷表现在三个方面:

1)整个网络只有一个生成树,在网络规模比较大的时候收敛时间较长,拓扑变化影响面大。

2)当链路被阻塞后将不承载任何流量,造成了带宽的极大浪费。

为了说明STPVLAN网络环境下的缺点,举例如下。图4-8的网络中存在VLAN10VLAN20VLAN303VLANS1为根桥,S3fa3端口为阻塞端口,这样S2S3之间的链路无法转发数据帧,该链路完全被阻塞而无法使用,造成网络性能低下。

                        

  但是,在VLAN的网络中,完全可以通过在Trunk链路上阻塞单个VLAN的数据帧而达到构成生成树。如下图所示。

                      

在图中可以看到S1S2的链路上阻塞了VLAN30的数据帧,VLAN 30构成STP,但是该链路仍然可以转发VLAN20VLAN10的数据。这样,不需要完全阻塞整个链路而构成生成树,提高了链路的利用效率。这种技术成为PVSTper-Vlan Spanning Tree)。

PVST是基于VLAN的生成树协议,是Cisco802.1D STP协议进行扩展提出的,每个VLAN都会拥有一个生成树实例。PVST的缺点有:

1)由于PVSTCisco私有协议而且只支持Cisco专有的ISL中继协议,不支持802.1q 中继协议

2PVST无法兼容于其他厂商的设备。

2.PVST+

    PVST+PVST协议进行改进,提高了PVST的兼容性,可以和STPRSTP兼容,同时支持Trunk链路的ISL标准和802.1q中继标准,而且添加了BPDU防护和根防护增强功能。但是PVSTPVST+仍然存在以下缺陷:

1)由于每个VLAN都需要生成一棵树,PVST BPDU的通信量将成倍增加,与VLAN数目成正比。

  (2)在VLAN个数比较多的时候,交换机需要维护更多的生成树的实例,而计算量和资源占用量将急剧增长。

3)由于协议的私有性,PVST/PVST+不能像STP/RSTP一样得到广泛的支持。

3.PVST+网桥ID

 PVST+8个字节的网桥ID——BID进行了修改,将原来网桥优先级字段(16位)拆分为新的网桥优先级(4位)和VLAN ID12位)。因此,交换机在传递BPDU时可以判断该BPDU是属于哪个VLAN

                  

因此,在PVST+中,网桥的默认优先级=默认优先级 + VLAN ID。例如在VLAN10中的BID32768(默认优先级) + 10 = 32778

4.配置PVST+

PVST+STP的配置相似,需要为每个VLAN指定根网桥(Primary Root Bridge)和次根网桥(Secondary Root Bridge)

1spanning-tree vlan vlan-ID root primary   //设置交换机为指定VLAN的根网桥

2spanning-tree vlan vlan-ID root primary   //设置交换机为指定VLAN的次根网桥

5. Portfast的配置

在交换机的端口中,与终端相连的接口实际上无须参加STP的收敛,因为该类型端口可以一直处于转发状态。通常我们把与终端连接的接口设置为Portfast接口,Portfast接口无须经过生成树收敛的几个状态,直接无时延从Blocking状态转变为Forward状态。将端口配置Portfast接口的命令如下:

S1(config-if)#spanning-tree portfast

注意:只能将和终端连接的接口配置为Portfast,交换机和交换机连接的接口不能配置Portfast,否则会出现环路。

6.PVST+配置实例

                     

配置说明:要求配置S1为VLAN 10的根桥,VLAN20的次根桥;S2为VLAN10的次根桥,VLAN20的根桥。
步骤1:S1的配置
S1(config)#vlan 10          // 创建VLAN 10
S1(config)#vlan 20 // 创建VLAN 20
S1(config)#vlan 30         // 创建VLAN 30
S1(config)#int range fa0/1-2
S1(config-if-range)#switchport mode trunk
S1(config)#spanning-tree vlan 10 root primary   // 设置为VLAN 10的根网桥
S1(config)#spanning-tree vlan 20 root secondary  // 设置为VLAN 20的次根网桥
步骤2:S2的配置
S2(config)#vlan 10          // 创建VLAN 10
S2(config)#vlan 20 // 创建VLAN 20
S2(config)#vlan 30         // 创建VLAN 30
S2(config)#int range fa0/1-2
S2(config-if-range)#switchport mode trunk
S2(config)#spanning-tree vlan 10 root  secondary  // 设置为VLAN 10的次根网桥
S2(config)#spanning-tree vlan 20 root  primary  // 设置为VLAN 20的根网桥
步骤3:S3的配置
S3(config)#vlan 10          // 创建VLAN 10
S3(config)#vlan 20 // 创建VLAN 20
S3(config)#vlan 30         // 创建VLAN 30
S3(config)#int range fa0/1-2
S3(config-if-range)#switchport mode trunk
步骤4:结果与测试。
①查看S1上VLAN10生成树情况。
S1#sh spanning-tree vlan 10
VLAN0010
  Spanning tree enabled protocol ieee
  Root ID    Priority    24586         // S1优先级已经被修改
             Address     0001.4240.48C4
             This bridge is the root         // S1成为VLAN10的生成树
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
  Bridge ID  Priority    24586  (priority 24576 sys-id-ext 10)
             Address     0001.4240.48C4
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  20


Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Desg FWD 19        128.1    P2p
Fa0/2            Desg FWD 19        128.2    P2p
// Fa0/1和Fa0/2端口均转发VLAN10的数据帧


②查看S1上VLAN20生成树情况。
S1#sh spanning-tree vlan 20
VLAN0020
  Spanning tree enabled protocol ieee
  Root ID    Priority    24596
             Address     0001.43E9.8859
             Cost        19
             Port        1(FastEthernet0/1)
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
// S1在VLAN10的优先级已经被改变,但是仍然被根桥优先级小,成为次根桥
  Bridge ID  Priority    28692  (priority 28672 sys-id-ext 20) 
             Address     0001.4240.48C4
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  20
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Root FWD 19        128.1    P2p
Fa0/2            Desg FWD 19        128.2    P2p
// Fa0/1和Fa0/2端口均转发VLAN10的数据帧
③查看S1上VLAN20生成树情况。
//VLAN30没有做任何配置,因此根据交换机BID自动进行选举
S1#sh spanning-tree vlan 30
VLAN0030
  Spanning tree enabled protocol ieee
  Root ID    Priority    32798  // 32798 = 32768(默认优先级) + 30 (VLAN 30)
             Address     0001.4240.48C4
             This bridge is the root  // 本交换机为根桥
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
  Bridge ID  Priority    32798  (priority 32768 sys-id-ext 30)
             Address     0001.4240.48C4
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  20
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Desg FWD 19        128.1    P2p
Fa0/2            Desg FWD 19        128.2    P2p
// Fa0/1和Fa0/2端口均转发VLAN10的数据帧

猜你喜欢

转载自blog.csdn.net/weixin_42442713/article/details/80909365