必威体育Betway必威体育官网
当前位置:首页 > IT技术

生成树协议 — STP

时间:2019-09-10 06:44:26来源:IT技术作者:seo实验室小编阅读:82次「手机版」
 

stp

4.1.1 实验目的

(1)理解生成树协议STP的用途

(2)理解生成树协议STP的工作过程

(3)掌握根桥、根端口、指定端口的选举规则

(4)掌握生成树协议STP中端口角色的变化

(5)掌握基本生成树协议的配置

4.1.2 实验原理

1.生成树协议STP

网络设计通常采用冗余方法提高网络的健壮性、稳定性。常见的冗余方式有:链路冗余和设备冗余。如图4-1所示。该三层结构的网络中,核心层、分布层和接入层均采用了链路冗余。

           

不过,对网络中冗余链路会造成网络中的环路,而第二层的网络环路则会带来以下问题: 

(1)广播风暴。

(2)多帧复制。

(3)MAC地址表的不稳定。

为了解决第二层网络环路问题而又要保证网络的稳定和健壮性,引入了链路动态管理的策略。首先通过阻塞某些链路避免环路的产生,当正常工作的链路由于故障断开时,阻塞的链路立刻激活,迅速取代故障链路的位置,保证网络的正常运行。这就是生成树(STP)协议的主要思想。

2.STP的工作过程

STP通过协商阻断一些交换机端口,以确保网络中所有目的地之间只有一条逻辑路径,构建一棵没有环路的转发树。当一个端口阻止流量进入或离开时,该端口便视为处于阻塞状态。不过 STP 用来防止环路的网桥协议数据单元 (BPDU) 帧仍可继续通行。为了在网络中形成一个没有环路的拓扑,交换机要进行以下3个步骤:

(1)选举根桥。

(2)每个非根桥交换机计算到达根桥的最短路径

(3)选择活动端口以及端口的角色类型。

其中STP端口类型一共有3种,如表4-1所示种:

表4-1  STP端口类型

端口类型

功能说明

根端口(root port)

存在于非根桥上,指到达根桥路径开销最小的端口,每个交换机只能有一个。

指定端口(designated port)

负责发送网段BPDU的端口,每个物理网段只能有一个。

非指定端口(non-designated )

被阻塞的端口,不能转发数据帧

 在STP的根桥和根端口选择过程中,哪个交换机能获胜将取决于以下因素(按顺序进行):

l 最低的根桥ID,也叫BID;

l 最低的根路径代价;

l 最低发送者桥ID;

l 最低发送者端口ID。

  下面举例说明了生成树的工作过程:

      

①选举根桥:每个交换机都具有一个唯一的桥ID(BID, Bridge ID),这个ID由两部分组成,如下图所示:

         

网桥优先级是一个2字节的数,交换机的默认优先级为32768 ;MAC地址就是交换机的MAC地址。具有最低桥ID的交换机就是根桥。

BID的信息被封装在BPDU中,每个交换机广播接收到的BPDU和发送自身的BPDU,通过BPDU泛洪,可以获知BID最小的交换机,该交换机即被选为根桥。例如在图4-2中,三台交换机的优先级(priority)相同,SwitchA 的MAC地址最小,所以SwitchA的 BID最小,被选举为根网桥。

②选取根端口:选举了根桥后,其他的交换就成为了非根桥。根桥上的接口都是指定端口,会转发数据包。每台非根桥要选举一条到根桥的根路径。STP使用路径代价Cost值来决定到达根桥的最佳路径(Cost是累加的,带宽大的链路Cost低),最低Cost值的路径就是根路径,该端口就是根端口;如果Cost一样,就根据选举顺序选举根口。根口转发数据包。生成树链路开销代价如表4-2所示。

表4-2 生成树链路开销代价表

链路带宽

旧标准

新标准

10Mbps

100

100

100Mbps

10

19

1Gbps

1

4

10Gps

1

2

>10Gbps

1

1

       

在图4-3中,各个非根网桥中的端口中,到根网桥路径开销最小的端口被指定为根端口,在图中,Switch B和C 的两个端口F0/1、F0/2的开销分别为19和38,所以F0/1被选定为根端口。

③选举指定端口和非指定端口:当交换机确定了根端口后,还必须将剩余端口配置为指定端口 (DP) 或非指定端口(非 DP),以完成逻辑无环生成树。交换网络中的每个网段只能有一个指定端口。当两个非根端口的交换机端口连接到同一个 LAN 网段时,会发生竞争端口角色的情况。这两台交换机会交换 BPDU 帧,以确定哪个交换机端口是指定端口,哪一个是非指定端口。一般而言,交换机端口是否配置为指定端口由 BID 决定。所以在网段2所连接的2个端口,Switch B的BID值小于Switch C的BID值,所以 Switch B的F0/2为指定端口,处于转发状态。Switch C的F0/2为非指定端口,处于阻塞状态。

3.STP的收敛过程

当网络的拓扑发生变化时,网络会从一个状态向另一个状态过渡,重新打开或阻断某些端口口。交换机的端口状态状态变换和时间如下图:

                

从上图可以看出STP的最长收敛时间为50s。

当网络的拓扑发生变化时,网络会从一个状态向另一个状态过渡,重新打开或阻断某些端口。交换机的端口要经过几种状态:禁用(disable)——>阻塞(Blocking)——>监听状态(Listenning)——>学习状态(Learning)——>转发状态(Forwarding)。每种端口状态对数据的处理如表4-2所示。

表4-3 生成树端口状态对数据的转发

过程

阻塞

侦听

学习

转发

禁用

接收并处理BPDU

不能

转发接口上收到的数据

不能

不能

不能

不能

转发其它接口发来的数据帧

不能

不能

不能

不能

学习MAC地址

不能

不能

不能

4.STP的配置命令

表4-4 STP常用配置命令

相关命令

功能

S1#show spanning-tree

查看交换机生成树协议的配置情况

S1(config)# spanning-tree  mode  pvst/rapid-pvst

配置生成树的模式为STP或是RSTP

S1(config)# spanning-tree vlan 1  priority   <0-61440>

配置交换机在VLAN 1中的优先级(优先级为4096倍数),范围为0-61440

S1(config)#spanning-tree vlan 1 root primary 

将交换机配置为VLAN1中的根桥

S1(config)#spanning-tree vlan 1 root secondary

将交换机配置为VLAN1中的次根桥

S1(config-if) # interface  fa0

S1(config-if) # spanning-tree vlan  1  cost 18

将fa0端口在VLAN1生成树的路径开销修改为18

S1(config-if) # interface  fa0

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

将fa0端口在VLAN1生成树的端口优先级修改为16,端口优先级为16的倍数,从0~240

S1#show spanning-tree  interface  fastethernet 0/1   

查看端口状态

S1# show spanning-tree vlan vlan-id

查看某个VLAN下的STP配置信息

5.STP配置实例

       

实验背景:思科的交换机默认启用STP生成树协议,所以不需要做任何配置,接通电源后,交换机自动协商成功。

实验要求:要求配置STP,确保S1为网络中交换机的根桥,S2为网络中交换机的备用根桥,将和PC1连接端口配置为Portfast端口。

步骤1:观察自动STP的根桥选举情况。(无须做任何配置)

观察S1的生成树情况。

S1#show spanning-tree  

VLAN0001

Spanning tree enabled protocol ieee

//根桥的信息

Root ID    Priority    32769      // 根桥的优先级

     Address     0001.4240.48C4  // 根桥的MAC地址,可知S3为根桥

     Cost        19   //  本交换机到根桥路径开销为19             

     Port        1(FastEthernet0/1)  // 本交换机根端口为F0/1

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

//本交换机的信息

// 优先级 = 32768(默认优先级) +  1(VLAN 1的序号)

Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1) 

     Address     0001.43E9.8859  //本交换机MAC地址

     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/3            Desg FWD 19              128.3    P2p

②观察S2的生成树情况。

S2#show spanning-tree 

VLAN0001

Spanning tree enabled protocol ieee

Root ID    Priority    32769        //根桥优先级

     Address     0001.4240.48C4  //根桥MAC地址

     Cost        19 //  本交换机到根桥路径开销为19

    Port        1(FastEthernet0/1)  // 本交换机根端口为F0/1

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

//本交换机的信息

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

     Address     00E0.F980.4970   // MAC地址

     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            Altn BLK 19(阻塞端口)        128.2    P2p

注意:S3的F0/2端口和S1的F0/2端口竞争指定端口时失败,端口被阻塞,不转发报文。

③观察S3的生成树情况。

S3#show spanning-tree 

VLAN0001

Spanning tree enabled protocol ieee

Root ID    Priority    32769  // 根桥优先级

     Address     0001.4240.48C4 //根桥MAC地址

     This bridge is the root   // 本交换机为根桥

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

//观察可以得知自身MAC地址和根桥MAC地址相同,即本交换机为根桥。

Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)

     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/3            Desg FWD 19(指定端口)         128.3    P2p

步骤2:要让S1成为根桥,S2成为备份根桥,需要修改S1和S2的优先级,将其优先级降低,提高其在选举根桥中的地位。

S1(config)#spanning-tree vlan 1 root primary  // 成为根桥

S1(config)#interface f0/3

S1(config-if)#spanning-tree portfast   //配置F0/3端口为portfast接口

S2(config)#spanning-tree vlan 1 root secondary  // 成为备用根桥

S1(config)#interface f0/3

S1(config-if)#spanning-tree portfast  // 配置f0/3端口为portfast接口

步骤3:结果与测试。

查看S1的生成树情况。

S1#sh spanning-tree  

VLAN0001

Spanning tree enabled protocol ieee

Root ID    Priority    24577  // 已经发生改变,优先级降低

     Address     0001.43E9.8859

     This bridge is the root   // S1已经成为根桥

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

… 省略部分无关内容

Interface        Role Sts Cost      Prio.Nbr Type

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

Fa0/1            Desg FWD 19        128.1    P2p

Fa0/2            Desg FWD 19        128.2    P2p

Fa0/3            Desg FWD 19        128.3    P2p

注意:所有的端口都变成了指定端口。

查看S2的生成树情况。

S2#sh spanning-tree 

VLAN0001

Spanning tree enabled protocol ieee

Root ID    Priority    24577   

     Address     0001.43E9.8859

     Cost        19

     Port        2(FastEthernet0/2) //根端口已经发生变化

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

//S2的生成树信息

Bridge ID  Priority    28673  (priority 28672 sys-id-ext 1) // 优先级降低,但比S1优  

                                            先级要高

     Address     00E0.F980.4970

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

     Aging Time  20

… 省略部分无关内容

从结果看到,我们通过改变交换机的优先级,让网络的根桥选举发生了变化,S1成为根桥,S2成为备用根桥,当S1发生故障时,S2将会取代S1成为网络中的根桥。

相关阅读

路由协议基础--路由的概念

路由:route,指从某一网络设备出发去往某个目的地的路径 路由表:Routing Table,是若干条路由信息的一个集合体。只存在于终端计算机和

计算机网络学习1协议和分层概述

参考了各个网络的资料、《图解TCP/IP》、《TCP/IP详解》、谢希仁的《计算机网络》等1、网络协议分层(1)传统上,我们所知道的是开放系

安全协议不安全!!!OpenSSL漏洞大爆发

2014年4月8日,XP宣布正式停止服务的日子,也是Openssl爆出大漏洞的日子。整个下午我们都处于应急状态中,精神紧绷,这个漏洞影响30-50%

网传沪江网校全部裁员 因上市对赌协议失败?

A5创业网(公众号:iadmin5)3月6日报道,近日网上传出沪江网校全部裁员的消息,包括市场部、督导部门、老师在内的员工均被下岗,原因据说是

苹果亚马逊达成新协议,更多苹果产品将在亚马逊销售

A5创业网(公众号:iadmin5)11月10日消息,据外媒报道,亚马逊已经与苹果公司达成协议,允许苹果最新产品直接在亚马逊上销售其产品,包括iPh

分享到:

栏目导航

推荐阅读

热门阅读