A模块 系统与网络安全 第四门课 弹性交换网络-2

今日目标

  • STP协议概述
  • STP工作原理
  • 选举根端口和指定端口
  • BPDU
  • MSTP工作原理及配置
  • MSTP负载均衡

1 STP协议概述

1.1 环路的危害

单点故障

  • PC之间的互通链路仅仅存在1个
    任何一条链路出现问题,PC之间都会无法通信

解决方案

  • 提高网络可靠性
    增加冗余/备份链路

产生新的问题

  • 增加备份链路后交换网络上产生二层环路
    PC1访问PC2,PC1知道PC2的IP地址,但是不知识PC2的MAC地址
    PC1会发送ARP广播(目的MAC为全FFFF数据帧)

环路导致广播风暴

  • 环路导致广播风暴
    交换机收到广播帧后,会从除接收端口外的其他所有接口广播
    广播帧在交换机之间一直循环下去,众多的广播帧最终形成广播风暴

广播风暴导致网络不可用

  • 广播风暴导致网络瘫痪
    广播帧增多形成广播风暴,从而导致链路拥塞,并极大消耗设备资源,最终导致网络拥塞不可用,还会导致设备宕机不可用

1.2 消除环路:STP协议

STP概述

  • STP:生成树协议(IEEE802.1d)
    STP:Spanning Tree Protocol(生成树协议)
    通过阻塞某个接口在逻辑上断开环路,防止广播风暴,破除二层环路
    当主线路故障,阻塞接口被激活,主线路恢复,备份线路再次被阻塞
  • STP:生成树协议
    交换机之间通过周期性的发送BPDU报文,来实现STP的功能
  • BPDU:桥协议数据单元
    Bridge Protocol Data Unit一桥协议数据单元,即STP协议的报文也称二层的"心跳报文",周期性发送,默认每2秒发送1次组播发送,组播MAC地址为:01-80-C2-00-00-00

2 STP工作原理

STP工作原理

步骤1:选举根交换机

步骤2:在每个非根交换机上选举1个根端口

步骤3:在每条链路(每个网段)上选举1个指定端口

步骤4:阻塞非根端口、非指定端口

2.1 选举根交换机

选举根交换机

  • 根网桥(根交换机)
    STP引入了根桥(Root Bridge)概念
    在一个STP网络中,根桥只有一个
    STP初始化时,所有的交换机都认为自己是"根交换机"
    交换机之间通过比较BID的来确定根交换机,BD值小的为根交换机
  • 网桥ID(BID)
    STP协议为交换机取的名字,用于在交换网络中唯一标识该设备
    BID是优先级与MAC地址组成,BID值越小越优先
    B1D优先级取值范围:0~61440、默认值是:32768
    BID优先级步长值:4096(0或4096的倍数)
  • 通常根据BID优先级,选择根交换机
    BD值小的为根交换机,首先比较优先级,优先级小的为根交换机
    如果优先级一致,则MAC地址小的为根交换机

STP配置命令

  • 启动或关闭交换机的STP功能
    默认情况下交换机的STP功能处于开启状态
bash 复制代码
[Huawei]stp {enable disable}
  • 选择交换机的STP运行模式
    默认情况下交换机的STP运行模式为MSTP
bash 复制代码
[Huawei]stp mode (stp|rstp mstp}
  • 修改交换机的STP优先级,设置根交换机
bash 复制代码
[Huawei]stp priority 4096    //设置STP的优先级为4096
  • 查看生成树状态信息
bash 复制代码
[Huawei]display stp

3 选举根端口和指定端口

3.1 选举根端口

  • 根端口定律
    非根交换机中有且只有一个根端口
  • 选举根端口原则
    非根交换机到根交换机的根路径开销值最小的端口(此端口到根的路径成本之和最低)如果根路径开销值相同,则比较对端交换机的BID,越小越优
    如果对端BID也相同,则比较对端的PID,越小越优(PID由端口优先级和端口号组成,优先级取值范围:0~240、步长值为16、端口优先级默认为128,所以端☐号小PID就小)
  • 路径开销(路径成本):Cost
    交换机的每一个端口都有一个路径开销-Cost值
    交换机端口Cost值和端口带宽有关,带宽越高,Cost值越小
    默认情况下千兆端口开销为20000
    默认情况下百兆端口开销为200000
  • 在非根网桥SW2/SW3上,选择一个根端口(RP)
    到根交换机的根路径开销值最小的端口,即根端口
    SW2/SW3的根端口为G0/0/1

3.2 选举指定端口

  • 指定端口定律
    在每条链路上选择一个指定端口
    根交换机的接口全是指定端口
  • 选举指定端口原则
    一条链路上,到根交换机的根路径开销值最小的端口,即指定端口
    如果根路径开销相同,则比较接口所在交换机的BID,越小越优
    如果交换机的BID也相同,则比较=PID,越小越优

3.3 生成树算法的结果

  • 最后剩下的端口,被阻塞
  • 最终形成"数据转发路径"
  • 被"阻塞"的链路,作为"备份"链路

4 BPDU

  • BPDU的4个关键字段,用于选举交换机角色和端口角色
BPDU报文字段 字段作用
协议ID
协议版本号
报文类型
拓扑变化标志
根网桥ID 当前根桥的BID
根路径开销 本端口累计到根桥的开销值(Cost)
发送网桥ID 本交换设备的BID
端口ID 发送该BPDU报文的端口ID (PID)
报文老化时间
消息老化时间
发送报文间隔时间
转发延迟时间

STP的收敛

  • STP端口的5种状态
状态 用途
禁用(Disabled) 强制关闭,没有启用STP协议
阻塞(Blocking) 只接收BPDU,不能发送BPDU
侦听(Listening) 比较BPDU,确定交换机角色和端口角色
学习(Learning) 基于端口上收到的数据帧,学习MAC地址表
转发(Forwarding) 端口的最终的完美状态,发送和接收用户数据
  • STP的3种计时器,用于维护STP

    Hello时间:端口发送BPDU报文的时间间隔,默认是2s

    转发延迟(Forward delay):端口从侦听到学习状态,分别停留的时间

    最大老化时间(Max Age):一个端口最大的"没有接收BPDU"的时间间隔

  • STP的收敛时间为:30s~50s,非常慢

5 MSTP工作原理及配置

STP回顾

  • 弊端

    收敛时间慢:30s~50s

    设备利用率低

  • 方案

    RSTP,快速生成树协议

    MSTP,多生成树协议

RSTP概述

  • RSTP:快速生成树协议
    STP的基础上优化而来
    实现网络的快速收敛,降低网络故障时间,提高数据转发的效率
  • RSTP对STP的改进
    增加了2种端口角色(AP和BP)
    RSTP将STP的5种状态减少到了3种:转发(Forwarding)、学习(Learning)、丢弃(Discarding)
    引入了让指定端口尽快进入转发状态的机制(P/A机制)
  • RSTP的不足
    RSTP和STP有一个共同缺陷:局域网内所有的VLAN共享一棵生成树。
    所有的VLAN的数据转发路径是相同的。
    交换机之间的多个链路,只能实现备份的作用,永远只会使用其中的主链路转发数据,无法实现VLAN数据流的负载均衡,从而无法提高设备利用率,还有可能造成部分VLAN的数据流无法转发。

MSTP概述

  1. MSTP,即Multiple STP,多生成树协议
    RSTP的基础上优化而来
    MSTP网络中,引入了域的概念,称为MST域
    每个MST域中包含一个或多个"生成树"称之为"实例"
    引入了实例(instance)的概念,实现VLAN数据流的负载均衡
    默认情况下,所有的VLAN都属于同一个默认的实例-Instance0
    可以基于需求,可以将不同的VLAN分配到不同的实例中
    不同的实例,就是不同的"生成树",就对应着多个不同的"根桥"

配置思路

**1. 每个交换机创建相同的VLAN

  1. 交换机之间的链路配置为Trunk,允许所有的VLAN通过

  2. 交换机启用STP协议,配置模式为MSTP

  3. 交换机指定MST域的域名、实例和vlan的对应关系

  4. 交换机上激活MST域的配置

  5. 验证与测试MST域的配置**

  6. 同一个MST域的交换机配置特点:
    都启动了MSTP
    域名配置相同
    实例配置相同

6 MSTP负载均衡衡

  1. STP/RSTP的弊端
    所有的VLAN共用一个"生成树",防止环路的同时只能确保一半的设备得到利用,另外
    一半的设备仅仅用作"备份",无法提高设备的利用率
  2. MSTP负载均衡
    不同的VLAN关联到不同的实例
    不同的实例的根交换机放置在不同的交换机上
    不同的VLAN通过不同的根交换机进行数据的转发,从而确保提高设备的利用率,同时设
    备之间还能实现备份
  3. 需求描述
    PC1属于VLAN10,IP地址为192.168.10.1/24,网关为192.168.10.254
    PC2属于VLAN20,1P地址为192.168.20.1/24,网关为192.168.20.254
    确保PC1与PC2互通
    合理配置MSTP,确保PC1与PC2之间的互通路径是最优的

练习

  1. 选举根交换机
  2. 理解STP工作原理
  3. MSTP负载均衡一
  4. MSTP负载均衡二

1 选举根交换机

1.1 问题

设置SW1的STP优先级为4096,让SW1成为根交换机

查看根交换机信息

1.2 方案

使用eNSP 搭建实全环境,如图-1所示。

图-1

1.3 步骤

实现此案例需要按照如下步骤进行。

bash 复制代码
[SW1]stp priority 4096     //设置STP的优先级为4096
<SW1>display stp 
-------[CIST Global Info][Mode STP]-------
CIST Bridge         :4096 .4c1f-ccca-079f            (本机的BID)
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :4096 .4c1f-ccca-079f / 0       (根网桥的BID)
<SW2>display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge         :32768.4c1f-ccb9-2000            (本机的BID)
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :4096 .4c1f-ccca-079f / 20000   (根网桥的BID)
<SW3>display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge         :32768.4c1f-cc9e-6330          (本机的BID)
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :4096 .4c1f-ccca-079f / 20000  (根网桥的BID)

2 理解STP工作原理

2.1 问题

如何选择根网桥、根端口、指定端口、被阻塞的端口?

2.2 方案

使用eNSP 搭建实全环境,如图-2所示。

图-2

2.3 步骤

实现此案例需要按照如下步骤进行。

1)设置工作模式为STP,并设置SW1/SW2的STP的优先级

bash 复制代码
[SW1]stp priority 4096     //设置STP的优先级为4096
[SW2]stp priority 8192    //设置STP的优先级为8192
[SW1]display  stp  brief     //显示STP简要信息
[SW2]display  stp  brief     //显示STP简要信息
[SW3]display  stp  brief     //显示STP简要信息

2)选择根网桥

网桥ID最小

3)选择根端口(非根网桥)

此端口到达根网桥路径成本最低

此端口直连网桥ID最小

4)选择指定端口(每根网线)

根网桥上所有端口都是指定端口

此端口所在交换机到达根网桥成本最低

此端口所在的换机的网桥ID最小

3 MSTP负载均衡一

3.1 问题

3.2 方案

使用eNSP搭建实验环境,如图-3所示。

图-3

3.3 步骤

实现此案例需要按照如下步骤进行。

bash 复制代码
[S1]vlan batch 10 20
[S1]port-group 1
[S1-port-group-1]group-member g0/0/5 g0/0/6
[S1-port-group-1]port link-type trunk 
[S1-port-group-1]port trunk allow-pass vlan 10 20
[S2]vlan batch 10 20
[S2]port-group 1
[S2-port-group-1]group-member g0/0/5 g0/0/6
[S2-port-group-1]port link-type trunk 
[S2-port-group-1]port trunk allow-pass vlan 10 20
[S3]vlan batch 10 20
[S3]port-group 1
[S3-port-group-1]group-member g0/0/5 g0/0/6
[S3-port-group-1]port link-type trunk 
[S3-port-group-1]port trunk allow-pass vlan 10 20
[S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]port link-type access 
[S3-GigabitEthernet0/0/1]port default vlan 10
[S3]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]port link-type access 
[S3-GigabitEthernet0/0/2]port default vlan 20
[S1]stp mode mstp 启用MSTP协议
[S1]stp region-configuration 创建MSTP区域
[S1-mst-region]region-name ntd定义区域名为ntd
[S1-mst-region]instance 1 vlan 10指定实例与vlan的对应关系
[S1-mst-region]instance 2 vlan 20
[S1-mst-region]active region-configuration激活区域配置
[S2]stp mode mstp 启用MSTP协议
[S2]stp region-configuration 创建MSTP区域
[S2-mst-region]region-name ntd定义区域名为ntd
[S2-mst-region]instance 1 vlan 10指定实例与vlan的对应关系
[S2-mst-region]instance 2 vlan 20
[S2-mst-region]active region-configuration激活区域配置
[S3]stp mode mstp 启用MSTP协议
[S3]stp region-configuration 创建MSTP区域
[S3-mst-region]region-name ntd定义区域名为ntd
[S3-mst-region]instance 1 vlan 10指定实例与vlan的对应关系
[S3-mst-region]instance 2 vlan 20
[S3-mst-region]active region-configuration激活区域配置
[S1]stp instance 1 priority 4096
[S2]stp instance 2 priority 4096
<S1>display stp instance 1 brief 
查看S1的instance 1 g0/0/5 g0/0/6都是指定接口
<S2>display stp instance 2 brief 
查看S2的instance 2 g0/0/5 g0/0/6都是指定接口

4 MSTP负载均衡二

4.1 问题

1)PC1属于 vlan 10 ,IP地址为 192.168.10.1/24,网关为 192.168.10.254

2)PC2属于 vlan 20 ,IP地址为 192.168.20.1/24,网关为 192.168.20.254

3)确保PC1与PC2互通

4)配置 MSTP ,SW1为 vlan10的主根、vlan20的次根,SW2为vlan10的主根、vlan10的次根

4.2 方案

使用eNSP搭建实验环境,如图-4所示。

图-4

4.3 步骤

实现此案例需要按照如下步骤进行。

bash 复制代码
[S1]VLAN batch 10 20
[S1]port-group 1
[S1-port-group-1]group-member G0/0/5 G0/0/6
[S1-port-group-1]port link-type trunk 
[S1-GigabitEthernet0/0/5]port trunk allow-pass vlan ALL
[S2]VLAN batch 10 20
[S2]port-group 1
[S2-port-group-1]group-member G0/0/5 G0/0/6
[S2-port-group-1]port link-type trunk 
[S2-GigabitEthernet0/0/5]port trunk allow-pass vlan ALL
[S3]VLAN batch 10 20
[S3]port-group 1
[S3-port-group-1]group-member G0/0/5 G0/0/6
[S3-port-group-1]port link-type trunk 
[S3-GigabitEthernet0/0/5]port trunk allow-pass vlan ALL
[S1]stp mode mstp 启用MSTP协议
[S1]stp region-configuration 创建区域
[S1-mst-region]region-name ntd 定义区域名为ntd
[S1-mst-region]instance 1 vlan 10 指定vlan与实例的对应关系
[S1-mst-region]instance 2 vlan 20
[S1-mst-region]active region-configuration 激活区域配置
[S2]stp mode mstp 启用MSTP协议
[S2]stp region-configuration 创建区域
[S2-mst-region]region-name ntd 定义区域名为ntd
[S2-mst-region]instance 1 vlan 10 指定vlan与实例的对应关系
[S2-mst-region]instance 2 vlan 20
[S2-mst-region]active region-configuration 激活区域配置
[S3]stp mode mstp 启用MSTP协议
[S3]stp region-configuration 创建区域
[S3-mst-region]region-name ntd 定义区域名为ntd
[S3-mst-region]instance 1 vlan 10 指定vlan与实例的对应关系
[S3-mst-region]instance 2 vlan 20
[S3-mst-region]active region-configuration 激活区域配置
[S1]stp instance 1 priority 0 
[S1]stp instance 2 priority 4096
[S2]stp instance 2 priority 0
[S2]stp instance 1 priority 4096
[S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]port link-type access 
[S3-GigabitEthernet0/0/1]port default vlan 10
[S3]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]port link-type access 
[S3-GigabitEthernet0/0/2]port default vlan 20
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]port link-type access 
[S1-GigabitEthernet0/0/1]port default vlan 10
[S2]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]port link-type access 
[S2-GigabitEthernet0/0/2]port default vlan 20
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.10.254 24
[R1]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]ip address 192.168.20.254 24
pc1 ping  pc2  通
 <S1>display stp instance 1 brief 
查看S1的instance 1 g0/0/5 g0/0/6都是指定接口
<S2>display stp instance 2 brief 
查看S2的instance 2 g0/0/5 g0/0/6都是指定接口  
相关推荐
hrrrrb9 分钟前
【TCP/IP】10. 引导协议与动态主机配置协议
网络·网络协议·tcp/ip
hrrrrb2 小时前
【TCP/IP】12. 文件传输协议
服务器·网络·tcp/ip
安全系统学习5 小时前
网络安全之RCE分析与利用详情
服务器·网络·安全·web安全·系统安全
武汉唯众智创5 小时前
网络安全实训室建设方案全攻略
网络·安全·web安全·网络安全·网络安全实训室·网络安全实验室
weixin_472339465 小时前
网络安全攻防:文件上传漏洞的深度解析与防御实践
安全·web安全
雪兽软件5 小时前
2025 年网络安全与人工智能发展趋势
人工智能·安全·web安全
啟明起鸣6 小时前
【网络编程】简易的 p2p 模型,实现两台虚拟机之间的简单点对点通信,并以小见大观察 TCP 协议的具体运行
c语言·网络·tcp/ip·p2p
追烽少年x6 小时前
设计模式---观察者模式(发布-订阅模式)
网络·设计模式
小黄人20257 小时前
自动驾驶安全技术的演进与NVIDIA的创新实践
人工智能·安全·自动驾驶