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成为网络中的根桥。

生成树协议 — STP相关推荐

  1. 生成树协议,stp使用哪两个参数来选举根网桥?

    生成树协议STP使用哪两个参数来选举根网桥 ____________. A.网桥优先级和IP地址 B.链路速率和IP地址 C.链路速率和MAC地址 D.网桥优先级和MAC地址 正确答案 D 答案解析 ...

  2. 思科生成树协议STP/RSTP

    1. 技术原理: STP的基本思想就是生成"一棵树",树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥.由 根桥开 始,逐级形成一棵树 ...

  3. 计算机网络学习16:以太网交换机自学习与帧转发流程、生成树协议STP

    假设各主机已经知道网络中其他主机的MAC地址,无需进行ARP. 当A首先转发消息的时候,交换机会先把A记下来,然后把对应的端口1也记下来,这就是交换机的自学习. B获得之后,知道是发送给自己的帧,就会 ...

  4. 计算机网络——交换机的生成树协议STP

        由交换机连接而成的以太网,可能会因为链路故障等原因造成无法通信的情况.     比如A和B间的链路发生了故障,则主机H1就不能和主机H2.H3通信了.     但如果在B和C之间添加一条冗余线 ...

  5. 《网安学习之道》第一季计算机基础18_生成树协议STP

    第十八章.生成树协议STP的工作原理和配置 一.目的 1.理解生成树的原理 理解STP的选举过程 问题1.为什么是交换机0的f0/1的端口堵塞? 2.配置PVSTP+ 二.STP概念 生成树协议是在数 ...

  6. 思科模拟器 | 生成树协议STP、RSTP、HSRP配置

    一.生成树协议STP 概念介绍: 生成树协议是一种网络协议,用于在交换机之间建立逻辑上的树形拓扑结构避免产生环路.为了完成这个功能,生成树协议需要进行些配置,包括根桥的选举.端口的状态切换等. 步骤明 ...

  7. 云计算~生成树协议STP

    云计算~生成树协议STP 交换机构成环路的影响 生成树协议原理-STP 生成树算法的三步走 网桥ID 特点 组成与说明 选择根端口的依据 桥协议数据单元--BPDU BPDU认识 BPDU的工作过程 ...

  8. 3.10、以太网交换机的生成树协议 STP

    1.如何提高以太网的可靠性? 若交换机 A 与交换机 B 之间的链路故障 若交换机 A 与交换机 B 和 交换机 C 之间的链路都出现故障 则原来的以太网,变成了三个独立的较小的以太网,它们之间无法通 ...

  9. 生成树协议 STP RSTP PVST PVST+ 学习记录

    生成树协议 STP& RSTP& PVST& PVST+ 学习记录 记录大学时的生成树协议学习经过,当时参考了一些网络资料,出处已难寻,如有误,请不吝赐教 背景 STP的工作过 ...

最新文章

  1. 高并发下接口幂等性技术方案
  2. windows编辑好的python代码在linux的vim编辑,缩进问题
  3. 2016年5月9日 晨间日记
  4. 新!详细!win10下MySQL数据库干净卸载安装与配置
  5. 前端学习(1335):mongoDB导入数据
  6. 更加方便地使用Markdown
  7. 产品必备-产品FDD模板(PRD)
  8. unity shader 流光(1)
  9. 兽药促销发展分析及新策略谈
  10. Java解决vue跨域问题
  11. RabbitMQ-operation queue.declare caused a channel exception precondition_failed错误
  12. 如何Deactivate .Net Reflector
  13. Tableau数据分析-Chapter04标靶图、甘特图、瀑布图
  14. android+nfc+公交卡,Android NFC 读取公交卡信息Demo
  15. android studio(as)找不到手机
  16. ISO8583接口的详细资料
  17. 怎么把视频内存压缩小?视频内存过大怎么压缩?
  18. 什么是GPT,如何克隆GPT类型的磁盘?
  19. 解决canvas画布图片跨域问题
  20. 001、element-ui前言

热门文章

  1. 手把手教你如何下载各种文具用品的商品图
  2. C语言中string函数详解
  3. Itext7表单域处理(文字和图片)及添加水印
  4. JVM虚拟机内存模型
  5. JS变量传值以0开头的处理方式
  6. 遭受家庭暴力,如何自救
  7. 树莓派Opencv获取ESP32-CAM视频源(解决不能获取问题)
  8. 【机器学习】ID3_C4.5_CART算法总结与对比
  9. 基于Python实现的手机基站信息经济分析系统 课程报告+源码及数据
  10. jquery项目移动端适配