组网图形

MSTP简介

  • 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。STP(Spanning Tree Protocol)是用来解决网络中环路问题的协议。运行该协议的设备通过彼此交互信息而发现网络中的环路,并对某些端口进行阻塞以消除环路。
  • 与众多协议的发展过程一样,生成树协议也是随着网络的发展而不断更新的,从最初的IEEE 802.1D中定义的STP到IEEE 802.1W中定义的快速生成树协议RSTP(Rapid Spanning Tree Protocol),再到最新的IEEE 802.1S中定义的多生成树协议MSTP(Multiple Spanning Tree Protocol)。
  • 生成树协议中,MSTP兼容RSTP、STP,RSTP兼容STP。三种生成树协议的比较如表1所示。
表1 三种生成树协议的比较

生成树协议

特点

应用场景

STP

  • 形成一棵无环路的树,解决广播风暴并实现冗余备份。

  • 收敛速度较慢。

无需区分用户或业务流量,所有VLAN共享一棵生成树。

RSTP(详情见实例)

  • 形成一棵无环路的树,解决广播风暴并实现冗余备份。
  • 收敛速度快。

MSTP

  • 形成多棵无环路的树,解决广播风暴并实现冗余备份。
  • 收敛速度快。
  • 多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。

需要区分用户或业务流量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立。

组网需求

  • 在一个复杂的网络中,由于冗余备份的需要,网络规划者一般都倾向于在设备之间部署多条物理链路,其中一条作为主用链路,其他作为备份链路。这样就难免会形成环路,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。为此,可以在网络中部署MSTP协议预防环路。MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。
  • 如图1所示,SwitchA、SwitchB、SwitchC和SwitchD都运行MSTP。为实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,MSTP引入了多实例。MSTP可设置VLAN映射表,把VLAN和生成树实例相关联。

配置思路

  • 在处于环形网络中的交换设备上配置MSTP基本功能。
  • 配置保护功能,实现对设备或链路的保护。例如:在各实例的根桥设备指定端口配置根保护功能。
  • 配置设备的二层转发功能。
说明: 

设备配置根保护功能后,如果根桥和备份根桥之间的链路down了,则配置根保护的端口状态会因为根保护功能生效直接变成discarding状态。 为了提高可靠性,建议根桥和备份根桥之间的链路绑定Eth-Trunk。

操作步骤

  • 配置MSTP基本功能

  a.配置SwitchA、SwitchB、SwitchC和SwitchD到域名为RG1的域内,创建实例MSTI1和实例MSTI2

  # 配置实例1的根桥SwitchA的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchA
3 [SwitchA] stp region-configuration
4 [SwitchA-mst-region] region-name RG1 //配置域名为RG1。
5 [SwitchA-mst-region] instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
6 [SwitchA-mst-region] instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
7 [SwitchA-mst-region] active region-configuration //激活MST域的配置。
8 [SwitchA-mst-region] quit

  # 配置实例2的根桥SwitchB的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchB
3 [SwitchB] stp region-configuration
4 [SwitchB-mst-region] region-name RG1 //配置域名为RG1。
5 [SwitchB-mst-region] instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
6 [SwitchB-mst-region] instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
7 [SwitchB-mst-region] active region-configuration //激活MST域的配置。
8 [SwitchB-mst-region] quit

  # 配置接入交换机SwitchC的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchC
3 [SwitchC] stp region-configuration
4 [SwitchC-mst-region] region-name RG1 //配置域名为RG1。
5 [SwitchC-mst-region] instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
6 [SwitchC-mst-region] instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
7 [SwitchC-mst-region] active region-configuration //激活MST域的配置。
8 [SwitchC-mst-region] quit

  # 配置接入交换机SwitchD的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchD
3 [SwitchD] stp region-configuration
4 [SwitchD-mst-region] region-name RG1 //配置域名为RG1。
5 [SwitchD-mst-region] instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
6 [SwitchD-mst-region] instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
7 [SwitchD-mst-region] active region-configuration //激活MST域的配置。
8 [SwitchD-mst-region] quit

  b.在域RG1内,配置MSTI1与MSTI2的根桥与备份根桥

  配置MSTI1的根桥与备份根桥

  # 配置SwitchA为MSTI1的根桥。

1 [SwitchA] stp instance 1 root primary

  # 配置SwitchB为MSTI1的备份根桥。

1 [SwitchB] stp instance 1 root secondary

  配置MSTI2的根桥与备份根桥

  # 配置SwitchB为MSTI2的根桥。

1 [SwitchB] stp instance 2 root primary

  # 配置SwitchA为MSTI2的备份根桥。

1 [SwitchA] stp instance 2 root secondary

  c.配置实例MSTI1和MSTI2中将要被阻塞端口的路径开销值大于缺省值

说明: 

•端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置实例MSTI1和MSTI2中将被阻塞端口的路径开销值为20000。

•同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

  # 配置实例1的根桥SwitchA的端口路径开销。

1 [SwitchA] stp pathcost-standard legacy

  # 配置实例2的根桥SwitchB的端口路径开销。

1 [SwitchB] stp pathcost-standard legacy

  # 配置接入交换机SwitchC的端口路径开销,将端口GE0/0/2在实例MSTI2中的路径开销值配置为20000。

1 [SwitchC] stp pathcost-standard legacy
2 [SwitchC] interface gigabitethernet 0/0/2
3 [SwitchC-GigabitEthernet0/0/2] stp instance 2 cost 20000
4 [SwitchC-GigabitEthernet0/0/2] quit

  # 配置接入交换机SwitchD的端口路径开销,将端口GE0/0/2在实例MSTI1中的路径开销值配置为20000。

1 [SwitchD] stp pathcost-standard legacy
2 [SwitchD] interface gigabitethernet 0/0/2
3 [SwitchD-GigabitEthernet0/0/2] stp instance 1 cost 20000
4 [SwitchD-GigabitEthernet0/0/2] quit

  d.使能MSTP,实现破除环路

  设备全局使能MSTP

  # 在SwitchA/B/C/D上启动MSTP。

1 [SwitchA] stp enable
2
3 [SwitchB] stp enable
4
5 [SwitchC] stp enable
6
7 [SwitchD] stp enable

  将与终端相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能

  # 配置SwitchC端口GE0/0/1设置为边缘端口并使能端口的BPDU报文过滤功能。

1 [SwitchC] interface gigabitethernet 0/0/1
2 [SwitchC-GigabitEthernet0/0/1] stp edged-port enable
3 [SwitchC-GigabitEthernet0/0/1] stp bpdu-filter enable
4 [SwitchC-GigabitEthernet0/0/1] quit

  # 配置SwitchD端口GE0/0/1设置为边缘端口并使能端口的BPDU报文过滤功能。

1 [SwitchD] interface gigabitethernet 0/0/1
2 [SwitchD-GigabitEthernet0/0/1] stp edged-port enable
3 [SwitchD-GigabitEthernet0/0/1] stp bpdu-filter enable
4 [SwitchD-GigabitEthernet0/0/1] quit
  • 配置保护功能,如在各实例的根桥设备的指定端口配置根保护功能

  # 在实例1根桥SwitchA端口GE0/0/1上启动根保护。

1 [SwitchA] interface gigabitethernet 0/0/1
2 [SwitchA-GigabitEthernet0/0/1] stp root-protection
3 [SwitchA-GigabitEthernet0/0/1] quit

  # 在实例2根桥SwitchB端口GE0/0/1上启动根保护。

1 [SwitchB] interface gigabitethernet 0/0/1
2 [SwitchB-GigabitEthernet0/0/1] stp root-protection
3 [SwitchB-GigabitEthernet0/0/1] quit
  • 配置处于环网中的设备的二层转发功能

  在交换设备SwitchA、SwitchB、SwitchC和SwitchD上创建VLAN2~20

1 [SwitchA] vlan batch 2 to 20
2
3 [SwitchB] vlan batch 2 to 20
4
5 [SwitchC] vlan batch 2 to 20
6
7 [SwitchD] vlan batch 2 to 20

  将交换设备上接入环路中的端口加入VLAN

  # 将实例1的根桥SwitchA端口GE0/0/1加入VLAN。

1 [SwitchA] interface gigabitethernet 0/0/1
2 [SwitchA-GigabitEthernet0/0/1] port link-type trunk
3 [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
4 [SwitchA-GigabitEthernet0/0/1] quit

  # 将实例1的根桥SwitchA端口Eth-Trunk1加入VLAN。

1 [SwitchA] interface Eth-Trunk 1
2 [SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/2
3 [SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/3
4 [SwitchA-Eth-Trunk1] port link-type trunk
5 [SwitchA-Eth-Trunk1] port trunk allow-pass vlan 2 to 20
6 [SwitchA-Eth-Trunk1] quit

  # 将实例2的根桥SwitchB端口GE0/0/1加入VLAN。

1 [SwitchB] interface gigabitethernet 0/0/1
2 [SwitchB-GigabitEthernet0/0/1] port link-type trunk
3 [SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
4 [SwitchB-GigabitEthernet0/0/1] quit

  # 将实例2的根桥SwitchB端口Eth-Trunk1加入VLAN。

1 [SwitchB] interface Eth-Trunk 1
2 [SwitchB-Eth-Trunk1] trunkport gigabitethernet 0/0/2
3 [SwitchB-Eth-Trunk1] trunkport gigabitethernet 0/0/3
4 [SwitchB-Eth-Trunk1] port link-type trunk
5 [SwitchB-Eth-Trunk1] port trunk allow-pass vlan 2 to 20
6 [SwitchB-Eth-Trunk1] quit

  # 将接入交换机SwitchC端口GE0/0/1加入VLAN。

1 [SwitchC] interface gigabitethernet 0/0/1
2 [SwitchC-GigabitEthernet0/0/1] port link-type access
3 [SwitchC-GigabitEthernet0/0/1] port default vlan 2
4 [SwitchC-GigabitEthernet0/0/1] quit

  # 将接入交换机SwitchC端口GE0/0/2加入VLAN。

1 [SwitchC] interface gigabitethernet 0/0/2
2 [SwitchC-GigabitEthernet0/0/2] port link-type trunk
3 [SwitchC-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
4 [SwitchC-GigabitEthernet0/0/2] quit

  # 将接入交换机SwitchC端口GE0/0/3加入VLAN。

1 [SwitchC] interface gigabitethernet 0/0/3
2 [SwitchC-GigabitEthernet0/0/3] port link-type trunk
3 [SwitchC-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
4 [SwitchC-GigabitEthernet0/0/3] quit

  # 将接入交换机SwitchD端口GE0/0/1加入VLAN。

1 [SwitchD] interface gigabitethernet 0/0/1
2 [SwitchD-GigabitEthernet0/0/1] port link-type access
3 [SwitchD-GigabitEthernet0/0/1] port default vlan 11
4 [SwitchD-GigabitEthernet0/0/1] quit

  # 将接入交换机SwitchD端口GE0/0/2加入VLAN。

1 [SwitchD] interface gigabitethernet 0/0/2
2 [SwitchD-GigabitEthernet0/0/2] port link-type trunk
3 [SwitchD-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
4 [SwitchD-GigabitEthernet0/0/2] quit

  # 将接入交换机SwitchD端口GE0/0/3加入VLAN。

1 [SwitchD] interface gigabitethernet 0/0/3
2 [SwitchD-GigabitEthernet0/0/3] port link-type trunk
3 [SwitchD-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
4 [SwitchD-GigabitEthernet0/0/3] quit
  • 验证配置结果
说明: 

本配置举例以实例1和实例2为例,因此不用关注实例0中端口的状态。

  # 在实例1的根桥SwitchA上执行display stp brief命令,查看端口状态和端口的保护类型,结果如下:

1 [SwitchA] display stp brief
2 MSTID Port Role STP State Protection
3 0 GigabitEthernet0/0/1 DESI FORWARDING ROOT
4 0 Eth-Trunk1 DESI FORWARDING NONE
5 1 GigabitEthernet0/0/1 DESI FORWARDING ROOT
6 1 Eth-Trunk1 DESI FORWARDING NONE
7 2 GigabitEthernet0/0/1 DESI FORWARDING ROOT
8 2 Eth-Trunk1 ROOT FORWARDING NONE

  在MSTI1中,由于SwitchA是根桥,SwitchA的端口Eth-Trunk1和GE0/0/1成为指定端口。在MSTI2中,SwitchA的端口GE0/0/1成为指定端口,端口Eth-Trunk1成为根端口。

  # 在实例2的根桥SwitchB上执行display stp brief命令,结果如下:

1 [SwitchB] display stp brief
2 MSTID Port Role STP State Protection
3 0 GigabitEthernet0/0/1 DESI FORWARDING ROOT
4 0 Eth-Trunk1 ROOT FORWARDING NONE
5 1 GigabitEthernet0/0/1 DESI FORWARDING ROOT
6 1 Eth-Trunk1 ROOT FORWARDING NONE
7 2 GigabitEthernet0/0/1 DESI FORWARDING ROOT
8 2 Eth-Trunk1 DESI FORWARDING NONE

  在MSTI2中,由于SwitchB是根桥,端口GE0/0/1和Eth-Trunk1在MSTI2中成为指定端口。在MSTI1中,SwitchB的端口GE0/0/1成为指定端口,端口Eth-Trunk1成为根端口。

  # 在接入交换机SwitchC上执行display stp interface brief命令,结果如下:

1 [SwitchC] display stp interface gigabitethernet 0/0/3 brief
2 MSTID Port Role STP State Protection
3 0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
4 1 GigabitEthernet0/0/3 ROOT FORWARDING NONE
5 2 GigabitEthernet0/0/3 ROOT FORWARDING NONE
1 [SwitchC] display stp interface gigabitethernet 0/0/2 brief
2 MSTID Port Role STP State Protection
3 0 GigabitEthernet0/0/2 DESI FORWARDING NONE
4 1 GigabitEthernet0/0/2 DESI FORWARDING NONE
5 2 GigabitEthernet0/0/2 ALTE DISCARDING NONE

  SwitchC的端口GE0/0/3在MSTI1和MSTI2中为根端口。SwitchC的另一个端口GE0/0/2,在MSTI2中被阻塞,在MSTI1中被计算为指定端口。

  # 在接入交换机SwitchD上执行display stp interface brief命令,结果如下:

1 [SwitchD] display stp interface gigabitethernet 0/0/3 brief
2 MSTID Port Role STP State Protection
3 0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
4 1 GigabitEthernet0/0/3 ROOT FORWARDING NONE
5 2 GigabitEthernet0/0/3 ROOT FORWARDING NONE
1 [SwitchD] display stp interface gigabitethernet 0/0/2 brief
2 MSTID Port Role STP State Protection
3 0 GigabitEthernet0/0/2 ALTE DISCARDING NONE
4 1 GigabitEthernet0/0/2 ALTE DISCARDING NONE
5 2 GigabitEthernet0/0/2 DESI FORWARDING NONE

  SwitchD的端口GE0/0/3在MSTI1和MSTI2中为根端口。SwitchD的另一个端口GE0/0/2,在MSTI1中被阻塞,在MSTI2中被计算为指定端口。

企业网络拓扑MSTP功能实例(二)的更多相关文章

  1. 企业网络拓扑RSTP功能实例

    组网图形  RSTP简介 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路.但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质 ...

  2. Django Admin后台管理功能使用+二次开发

    一  使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7  (Windows x86-64 executable in ...

  3. C#高级功能(二)LINQ 和Enumerable类

    介绍LINQ之前先介绍一下枚举器 Iterator:枚举器如果你正在创建一个表现和行为都类似于集合的类,允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的.我们将以创建一个简单化的 ...

  4. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  5. MSTP多实例的配置

    MSTP多实例的配置 这次实验主要是为了加强对stp生成树协议中,RP(根端口),DP(指定端口),AP(阻塞端口)的判断方法:虽然很多时候不需要我们人工判断,因为当我们吧所有的配置好之后,然后开启生 ...

  6. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  7. JavaWeb实现文件上传下载功能实例解析 (好用)

    转: JavaWeb实现文件上传下载功能实例解析 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web ...

  8. Angularjs,WebAPI 搭建一个简易权限管理系统 —— 基本功能演示(二)

    目录 前言 Angularjs名词与概念 Angularjs 基本功能演示 系统业务与实现 WebAPI项目主体结构 Angularjs 前端主体结构 基本功能演示(二) 非常抱歉这个月实在太忙,一直 ...

  9. C语言库函数大全及应用实例二

    原文:C语言库函数大全及应用实例二                                              [编程资料]C语言库函数大全及应用实例二 函数名: bioskey 功 能 ...

随机推荐

  1. 2016年 实验三 B2C模拟实验

    实验三 B2C模拟实验 [实验目的] 掌握网上购物的基本流程和B2C平台的运营 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. (3).奥派电子商务应用软件 [知识准备] 本实 ...

  2. 微信聊天记录导出为csv,并生成词云图

    微信聊天记录生成特定图片图云 首先贴上github地址 https://github.com/ghdefe/WechatRecordToWordCloud 来个效果图 提取聊天记录到csv参考教程 h ...

  3. 为Linux的文件管理器创建“在此打开终端”菜单

    有些Linux的GUI文件管理器没有右键菜单"在此打开终端",或者有却不能自行指定某种终端. 因为文件夹也有其MIME类型(inode/directory),通过文件关联的方式,把 ...

  4. (在模仿中精进数据可视化03)OD数据的特殊可视化方式

    本文完整代码已上传至我的Github仓库https://github.com/CNFeffery/FefferyViz 1 简介 OD数据是交通.城市规划以及GIS等领域常见的一类数据,特点是每一条数 ...

  5. gin+gorm 用户服务

    package main import ( "fmt" "github.com/gin-gonic/gin" "github.com/jinzhu/g ...

  6. spring boot:用redis+lua实现基于ip地址的分布式流量限制(限流/简单计数器算法)(spring boot 2.2.0)

    一,限流有哪些环节? 1,为什么要限流? 目的:通过对并发请求进行限速或者一个时间单位内的的请求进行限速,目的是保护系统可正常提供服务,避免被压力太大无法响应服务. 如果达到限制速率则可以采取预定的处 ...

  7. Ubuntu Eclipse启动时报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No java virtual machine was found after searching the following locations:

      此问题起于我在Ubuntu1004上装了两个版本的eclipse:Galieo+helios:卸载前者后出现启动不了eclipse的问题:在网上找了下,可以按如下过程进行解决: Eclipse 3 ...

  8. node初学

    安装node.js 往往需要解析环境,但是现在直接安装时就已经配置好了, cmd打开 输入cd/ 在输入node -v   显示版本号 Node与php比较:https://www.techug.co ...

  9. dns配置文件的方式

    1./etc/resolve.conf /etc/resolv.conf它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序.该文件是由域名解析 器(res ...

  10. buuctf-misc [BJDCTF2020]认真你就输了

    下载压缩包,打开发现有一个10.xls打开一乱码,发现不了头绪,但是发现了pk开头 那我们能不能将这个.xls改成.zip 说干就干,于是我们改成zip解压 打开xl,然后再打开 在chars中发现f ...