STP生成树协议

文章目录

  • 背景
  • 环路危害
  • STP生成树
    • 作用
    • 工作原理
      • BPDU(Bridge Procotol Data Unit)网桥协议数据单元
      • 选举根交换机规则
        • 设置根网桥的方法
      • 端口状态
      • 端口角色
        • 修改端口状态命令
    • RSTP快速生成树协议
    • MSTP多实例生成树协议
  • 实验:配置MSTP
    • 实验环境
    • 实验要求
    • 实验步骤
    • 实验结果测试

背景

  • 环路引起的广播风暴问题。
  • 环路引起的MAC不稳定

环路危害

  • 链路阻塞,广播报文在二层网络中不断泛洪,所有链路都被大量的广播报文充斥
  • 主机操作系统响应迟缓,主机网卡接收到大量的广播报文,操作系统调用大量的CPU进程资源来识别这些广播报文
  • 二层交换机管理缓慢,大量二层协议广播报文需要二层交换机CPU处理,浪费大量资源,对正常的请求无法响应
  • 冲击网关设备的CPU,对网关IP地址的ARP请求报文,经过环路的复制转发,不断地发送到网关设备,网关设备的CPU压力不断增大,甚至崩溃

STP生成树

STP(Spanning Tree Protocol)生成树协议,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。

作用

  • 防止网络中形成环路
    在交换机上配置STP生成树,交换机根据选举根端口和指定端口的规则,确定每个端口的角色,从而阻塞一部分端口,防止环路的形成。
    STP生成树协议_第1张图片

  • 形成链路备份
    在选举完端口角色后,被阻塞的端口,依旧可以接收来自其他交换机关于链路的数据消息,当原来正常转发消息的端口断开始时,被阻塞的端口可以转换为转发数据的状态。
    STP生成树协议_第2张图片

工作原理

BPDU(Bridge Procotol Data Unit)网桥协议数据单元

STP的各种选举都是通过交换的BPDU报文来实现的,BPDU是直接封装在以太网帧中的。(802.3+803.2)。对于参与STP的所有SW交换机,他们都是通过数据消息的交换来获取网络中其他SW的信息,这种消息就被称为BPDU。BPDU直接封装在二层的协议
BPDU类型如下:

  • 配置BPDU:通常由根网桥以周期性的间隔发出,包括了一些STP参数,用于各种选举
  • TCNBPDU(Topology Change Notification BPDU)拓扑变更BPDU:这种BPDU是当交换机检测到拓扑发生变更时所产生的BPDU,可由非根网桥发出。

BPDU的功能如下

  • 选举根桥
  • 确定冗余路径的位置
  • 通过阻塞特定端口来避免环路
  • 通告网络的拓扑变更
  • 监控生成树的状态

BPDU每2S由根桥发送一次。(拥有最小的Bridge-ID的交换机成为根网桥)
最初的网络,每个交换机都认为自己是根网桥,都会发送BPDU,比较最小的BID,选举出根网桥,此时就只有根网桥发送BPDU。非根网桥只进行转发,转发时只修改BID和cost字段。

选举根交换机规则

  • Lowest BID=网桥优先级 + MAC地址
    交换机的默认优先级为32768,优先级越小越优;MAC地址也为越小越优

设置根网桥的方法

交换机自动会生成根交换机,但有些时候并不是我们认为性能更好的交换机,所以我们可以对其进行设置,使用display root命令可查看哪个交换机为根交换机

  • [sw]stp priority 0 (数值需要设定为4096的倍数)
  • [sw]stp root primary(优先级将变为0)

端口状态

  • Disabled(禁用状态):不转发数组帧,不学习MAC地址,不参与生成树的计算
  • Blocking(阻塞状态):不转发数据帧,不学习MAC地址,接收并处理BPDU,不发送BPDU
  • Listening(侦听状态):不转发数据帧,不学习MAC地址,参与生成树计算,接收并发送BPDU
  • Learning (学习状态):不转发数据帧,学习MAC地址,参与生成树计算,接收并发送BPDU
  • Forwarding(转发状态):转发数据帧,学习MAC地址,参与生成树计算,接收并发送BPDU

端口由Blocking过渡到Forwarding有50s的延时,由Blocking到Listening有20s的老化时间,Listening到Learning有15s的过渡时间,Learning到Forwarding有15s的过渡时间

端口角色

  • RP:根端口,每个非根网桥上有且只有一个,选举到根网桥上路径开销最小的为根端口
  • DP:指定端口,根网桥上每个端口都是指定端口,非根网桥上需要转发数据的端口也是指定端口。
  • AP:预备端口,该接口的状态为blocking,只收BPDU,不发BPDU。
    选举根端口和指定端口的规则
  • 到达根网桥的最小路径开销cost
  • 最小的发送方BID,BID是由交换机优先级和MAC地址组成的
  • 最小的发送方PID,由端口优先级(默认128,越小越优先)+端口号(小的优先)

修改端口状态命令

修改网桥接口的优先级

  • [SW-Ethernet0/0/2]stp port priority 0

查看端口状态

  • display stp brief

RSTP快速生成树协议

快速生成树协议可以缩短端口由阻塞状态到转发状态的过渡时间
开启快速生成树的方法

  • []stp enable
    []stp mode rstp

MSTP多实例生成树协议

一个VLAN或者多个VLAN在一棵生成树上,实现链路的负载均衡
在网络中,根网桥管理所有vlan,这样对根网桥的负担较繁重,所以可以分出一部分vlan交给另一个交换机管理,让这个交换机也成为根网桥
STP生成树协议_第3张图片
相关命令
[SW1]stp mode mstp
[SW1]stp region-configuration
[SW1-mst-region]region-name huawei
[SW1-mst-region]revision-level 1
[SW1-mst-region]instance 1 vlan 10
[SW1-mst-region]instance 2 vlan 20
[SW1-mst-region]active region-configuration
[SW1-mst-region]q
[SW1]stp instance 1 root primary
[SW1]stp instance 2 root secondary

实验:配置MSTP

实验环境

STP生成树协议_第4张图片

实验要求

LSW1为vlan10的根网桥,那么LSW3的e0/0/4会被阻塞
LSW2为vlan20 的根网桥,那么LSW3的e/0/1将会被阻塞
那么PC1发出的数据将从LSW3的e0/0/1口进行转发,PC2发出的数据将从LSW3的e0/0/4口转发

实验步骤

LSW3配置

  sys
[huawei]sysname SW3
[SW3]vlan batch 10 20
[SW3]int e0/0/2
[SW3-e0/0/2]port hybird pvid vlan 10
[SW3-e0/0/2]port hybrid untagged 10 20
[SW3-e0/0/2]int e0/0/1
[SW3-e0/0/1]port hybrid pvid vlan 10
[SW3-e0/0/1]port hybrid untagged 10 20
[SW3-e0/0/1]int e0/0/3
[SW3-e0/0/3]port hybrid pvid vlan 20
[SW3-e0/0/3]port hybrid untagged 10 20
[SW3-e0/0/3]int e0/0/4
[SW3-e0/0/4]port hybrid pvid vlan 20
[SW3-e0/0/4]port hybrid untagged vlan 10 20
[SW3-e0/0/4]q
[SW3]stp mode mstp
[SW3]stp region-configuration
[SW3-mst-region]region-name huawei
[SW3-mst-region]revision-level 1
[SW3-mst-region]instance 1 vlan 10
[SW3-mst-region]instance 2 vlan 20
[SW3-mst-region]active region-configuration

LSW1配置

sys
[huawei]sysname SW1
[SW1]vlan batch 10 20
[SW1]int e0/0/1
[SW1-e0/0/1]port hybrid pvid vlan 10
[SW1-e0/0/1]port hybrid untagged vlan 10 20
[SW1-e0/0/1]int g0/0/2
[SW1-e0/0/2]port link-type trunk
[SW1-e0/0/2]port trunk allow-pass vlan 10 20
[SW1-e0/0/2]int g0/0/1
[SW1-g0/0/1]port hybrid pvid vlan 10
[SW1-g0/0/1]port hybrid untagged vlan 10 20
[SW1-g0/0/1]q
[SW1]stp mode mstp
[SW1]stp region-configuration
[SW1-mst-region]region-name huawei
[SW1-mst-region]revision-level 1
[SW1-mst-region]instance 1 vlan 10
[SW1-mst-region]instance 2 vlan 20
[SW1-mst-region]active region-configuration
[SW1-mst-region]q
[SW1]stp instance 1 root primary
[SW1]stp instance 2 root secondary

AR1配置

sys
[huawei]sysname R1
[R1]int g0/0/0
[R1-g0/0/0]ip address 192.168.10.1 24
[R1-g0/0/0]int g0/0/1
[R1-g0/0/1]ip address 192.168.20.1 24
[R1-g0/0/1]int loo 0
[R1-LOOP 0]ip address 1.1.1.1 32

LSW2配置

sys 
[SW2]sysname SW2
[SW2]vlan batch 10 20
[SW2]int g0/0/1
[SW2-g0/0/1]port hybrid pvid vlan 20
[SW2-g0/0/1]port hybrid untagged vlan 10 20
[SW2-g0/0/1]int g0/0/2
[SW2-g0/0/2]port link-type trunk
[SW2-g0/0/2]port trunk allow-pass vlan 10 20
[SW2-g0/0/2]int e0/0/1
[SW2-e0/0/1]prot hybrid pvid vlan 20
[SW2-e0/0/1]port hybrid untagged vlan 10 20
[SW2-e0/0/1]q
[SW2]stp mode mstp
[SW2]stp region-configuration
[SW2-mst-region]region-name huawei
[SW2-mst-region]revision-level 1
[SW2-mst-region]instance 1 vlan 10
[SW2-mst-region]instance 2 vlan 20
[SW2-mst-region]active region-configuration
[SW2-mst-region]q
[SW2]stp instance 1 root secondary
[SW2]stp instance 2 root primary

实验结果测试

PC1pingPC2
STP生成树协议_第5张图片
查看LSW3的stp,查看端口状态,和要求一样两个实例阻塞的端口
STP生成树协议_第6张图片

你可能感兴趣的:(网络,交换机,stp)