组网需求

在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC桥表项被破坏。网络规划者规划好网络后,可以在网络中部署MSTP协议预防环路。MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。

如图1所示,为实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,MSTP引入了多实例。MSTP可设置VLAN映射表,把VLAN和生成树实例联系起来。图1中RouterA、SwitchA、SwitchB、SwitchC和SwitchD都运行MSTP。

图1 配置MSTP功能组网图

配置思路

采用以下思路配置MSTP功能:

1. 在处于环形网络中的交换设备上配置MSTP基本功能,包括:

a. 配置环网中的设备生成树协议工作在MSTP模式。

b. 配置MST域并创建多实例,实现流量的负载分担。

c. 在MST域内,配置各实例的根桥与备份根桥。

d. 配置各实例中某端口的路径开销值,实现将该端口阻塞。

e. 使能MSTP,实现破除环路,包括:

设备全局使能MSTP。

与终端设备相连的端口,去使能MSTP,或者配置为边缘端口。

除与终端设备相连的端口外,其他端口使能MSTP。

说明:

与PC机相连的端口不用参与MSTP计算,建议将其去使能MSTP,或者配置为边缘端口。

2. 配置保护功能,实现对设备或链路的保护。例如:在各实例的根桥设备指定端口配置根保护功能。

3. 配置设备的二层转发功能。

操作步骤

1. 配置MSTP基本功能

a. 配置环网中的设备生成树协议工作在MSTP模式

# 配置RouterA的MSTP工作模式,MSTP为设备缺省工作模式。

<Huawei> system-view

[Huawei] sysname RouterA

[RouterA] stp mode mstp

# 配置交换设备SwitchA,SwitchB,SwitchC和SwitchD的MSTP工作模式。

b. 配置环网中的设备到域名为RG1的域内,创建实例MSTI1映射VLAN2~VLAN10,创建实例MSTI2映射VLAN11~VLAN20

# 配置RouterA的MST域。

[RouterA] stp region-configuration

[RouterA-mst-region] region-name RG1

[RouterA-mst-region] instance 1 vlan 2 to 10

[RouterA-mst-region] instance 2 vlan 11 to 20

[RouterA-mst-region] active region-configuration

[RouterA] quit

# 配置交换设备SwitchA、SwitchB、SwitchC和SwitchD的MST域。域名为RG1,创建实例MSTI1映射VLAN2~VLAN10,创建实例MSTI2映射VLAN11~VLAN20。

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

# 配置MSTI1的根桥为RouterA。

[RouterA] stp instance 1 root primary

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

# 配置MSTI2的根桥为RouterA。

[RouterA] stp instance 2 root primary

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

d. 配置实例MSTI1和MSTI2中需被阻塞的端口的路径开销值大于缺省值,实现将该端口阻塞

说明:

· 端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为私有计算方法为例,配置将被阻塞的端口的路径开销值为200000。

· 如实际场景中的交换机设备为非华为设备,请遵循“同一网络内所有交换设备的端口路径开销应使用相同计算方法”的原则进行配置。配置其他计算方法,请查阅STP路径开销列表。

# 配置RouterA的端口路径开销缺省值的计算方法为华为私有计算方法。

[RouterA] stp pathcost-standard legacy

# 配置SwitchA、SwitchB、SwitchC和SwitchD的端口路径开销缺省值的计算方法为华为的私有计算方法。

# 如图1,配置SwitchC的端口Eth0/0/4在实例1中的路径开销值为200000。

# 如图1,配置SwitchD的端口Eth0/0/4在实例2中的路径开销值为200000。

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

将与PC终端相连的端口去使能MSTP

# 如图1,配置交换机设备SwitchC的端口,Eth0/0/2和Eth0/0/3,去使能MSTP或者配置为边缘端口。

# 如图1,配置交换机设备SwitchD的端口,Eth0/0/2和Eth0/0/3,去使能MSTP或者配置为边缘端口。

1.设备全局使能MSTP

# 设备RouterA全局使能MSTP。

[RouterA] stp enable

# 为交换机设备SwitchA,SwitchB,SwitchC和SwitchD全局使能MSTP。

除与PC终端相连的端口外,端口使能MSTP

# 设备RouterA端口Eth2/0/0和Eth2/0/1使能MSTP。

[RouterA] interface ethernet 2/0/0

[RouterA-Ethernet2/0/0] stp enable

[RouterA-Ethernet2/0/0] quit

[RouterA] interface ethernet 2/0/1

[RouterA-Ethernet2/0/1] stp enable

[RouterA-Ethernet2/0/1] quit

# 如图1,交换机设备SwitchA,SwitchB,SwitchC和SwitchD除与PC终端相连的端口外,其他端口使能MSTP。

2. 配置保护功能

# 在根桥RouterA的端口Eth2/0/0和Eth2/0/1上启动根保护。

[RouterA] interface ethernet 2/0/0

[RouterA-Ethernet2/0/0] stp root-protection

[RouterA-Ethernet2/0/0] quit

[RouterA] interface ethernet 2/0/1

[RouterA-Ethernet2/0/1] stp root-protection

[RouterA-Ethernet2/0/1] quit

3. 配置处于环网中的设备的二层转发功能

在交换设备RouterA、SwitchA、SwitchB、SwitchC和SwitchD上创建VLAN

# 在RouterA上创建VLAN2~VLAN20。

[RouterA] vlan batch 2 to 20

# 在交换机SwitchA和SwitchB上创建VLAN2~VLAN20。

# 在交换机SwitchC上创建VLAN2~VLAN10。

# 在交换机SwitchD上创建VLAN11~VLAN20。

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

# 将RouterA的端口Eth2/0/0和Eth2/0/1加入VLAN2~VLAN20。

[RouterA] interface ethernet 2/0/0

[RouterA-Ethernet2/0/0] port link-type trunk

[RouterA-Ethernet2/0/0] port trunk allow-pass vlan 2 to 20

[RouterA-Ethernet2/0/0] quit

[RouterA] interface ethernet 2/0/1

[RouterA-Ethernet2/0/1] port link-type trunk

[RouterA-Ethernet2/0/1] port trunk allow-pass vlan 2 to 20

[RouterA-Ethernet2/0/1] quit

# 将SwitchA的端口Eth0/0/1、Eth0/0/2和Eth0/0/3加入VLAN2~VLAN20。

# 将SwitchB的端口Eth0/0/1、Eth0/0/2和Eth0/0/3加入VLAN2~VLAN20。

# 将SwitchC的端口Eth0/0/1、Eth0/0/2、Eth0/0/3、Eth0/0/4加入VLAN2~VLAN10。

# 将SwitchD的端口Eth0/0/1、Eth0/0/2、Eth0/0/3、Eth0/0/4加入VLAN11~VLAN20。

4. 验证配置结果

经过以上配置,在网络计算稳定后,执行以下操作,验证配置结果。

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

[RouterA] display stp brief

MSTID Port                       Role STP State    Protection

0   Ethernet2/0/0              DESI FORWARDING     NONE

0   Ethernet2/0/1              DESI FORWARDING     NONE

1   Ethernet2/0/0              DESI  FORWARDING     ROOT

1   Ethernet2/0/1              DESI  FORWARDING     ROOT

2   Ethernet2/0/0              DESI  FORWARDING     ROOT

2   Ethernet2/0/1              DESI  FORWARDING     ROOT

在MSTI1中,由于RouterA是根桥,RouterA的端口Eth2/0/0和Eth2/0/1成为指定端口。在MSTI2中,RouterA同样是根桥,RouterA的端口Eth2/0/0和Eth2/0/1是指定端口。

# 在SwitchA查看端口状态和端口的保护类型。在MSTI1中,端口Eth0/0/1成为根端口,端口Eth0/0/2和端口Eth0/0/3成为指定端口。在MSTI2中,端口Eth0/0/1成为根端口,端口Eth0/0/2和端口Eth0/0/3成为指定端口。

# 在SwitchB查看端口状态和端口的保护类型。在MSTI1中,端口Eth0/0/1成为根端口,端口Eth0/0/2和端口Eth0/0/3成为指定端口。在MSTI2中,端口Eth0/0/1成为根端口,端口Eth0/0/2和端口Eth0/0/3成为指定端口。

# 在SwitchC查看端口状态和端口的保护类型。在MSTI1中,端口Eth0/0/1成为根端口,端口Eth0/0/4被阻塞。在MSTI2中,端口Eth0/0/1成为根端口,端口Eth0/0/4成为指定端口。

# 在SwitchD查看端口状态和端口的保护类型。在MSTI1中,端口Eth0/0/1成为根端口,端口Eth0/0/4成为指定端口。在MSTI2中,端口Eth0/0/1成为根端口,端口Eth0/0/4被阻塞。

配置文件

RouterA的配置文件

#

sysname RouterA

#

vlan batch 2 to 20

#

stp instance 1 root primary

stp instance 2 root primary

stp pathcost-standard legacy

#

stp region-configuration

region-name RG1

instance 1 vlan 2 to 10

instance 2 vlan 11 to 20

active region-configuration

#

interface Ethernet2/0/0

port link-type trunk

port trunk allow-pass vlan 2 to 20

stp root-protection

#

interface Ethernet2/0/1

port link-type trunk

port trunk allow-pass vlan 2 to 20

stp root-protection

#

return

SwitchA的配置文件

#

sysname SwitchA

#

vlan batch 2 to 20

#

stp instance 1 root secondary

stp pathcost-standard legacy

#

stp region-configuration

region-name RG1

instance 1 vlan 2 to 10

instance 2 vlan 11 to 20

active region-configuration

#

interface Ethernet0/0/1

port link-type trunk

port trunk allow-pass vlan 2 to 20

#

interface Ethernet0/0/2

port link-type trunk

port trunk allow-pass vlan 2 to 20

#

interface Ethernet0/0/3

port link-type trunk

port trunk allow-pass vlan 2 to 20

#

return

SwitchB的配置文件

#

sysname SwitchB

#

vlan batch 2 to 20

#

stp instance 2 root secondary

stp pathcost-standard legacy

#

stp region-configuration

region-name RG1

instance 1 vlan 2 to 10

instance 2 vlan 11 to 20

active region-configuration

#

interface Ethernet0/0/1

port link-type trunk

port trunk allow-pass vlan 2 to 20

#

interface Ethernet0/0/2

port link-type trunk

port trunk allow-pass vlan 2 to 20

#

interface Ethernet0/0/3

port link-type trunk

port trunk allow-pass vlan 2 to 20

#

return

SwitchC的配置文件

#

sysname SwitchC

#

vlan batch 2 to 10

#

stp pathcost-standard legacy

#

stp region-configuration

region-name RG1

instance 1 vlan 2 to 10

instance 2 vlan 11 to 20

active region-configuration

#

interface Ethernet0/0/1

port link-type trunk

port trunk allow-pass vlan 2 to 10

#

interface Ethernet0/0/2

port link-type trunk

port trunk allow-pass vlan 2 to 10

stp disable

#

interface Ethernet0/0/3

port link-type trunk

port trunk allow-pass vlan 2 to 10

stp disable

#

interface Ethernet0/0/4

port link-type trunk

port trunk allow-pass vlan 2 to 10

stp instance 1 cost 200000

#

return

SwitchD的配置文件

#

sysname SwitchD

#

vlan batch 11 to 20

#

stp pathcost-standard legacy

#

stp region-configuration

region-name RG1

instance 1 vlan 2 to 10

instance 2 vlan 11 to 20

active region-configuration

#

interface Ethernet0/0/1

port link-type trunk

port trunk allow-pass vlan 11 to 20

#

interface Ethernet0/0/2

port link-type trunk

port trunk allow-pass vlan 11 to 20

stp disable

#

interface Ethernet0/0/3

port link-type trunk

port trunk allow-pass vlan 11 to 20

stp disable

#

interface Ethernet0/0/4

port link-type trunk

port trunk allow-pass vlan 11 to 20

stp instance 2 cost 200000

#

return

配置MSTP功能示例的更多相关文章

  1. springcloud(七):配置中心svn示例和refresh

    上一篇springcloud(六):配置中心git示例留了一个小问题,当重新修改配置文件提交后,客户端获取的仍然是修改前的信息,这个问题我们先放下,待会再讲.国内很多公司都使用的svn来做代码的版本控 ...

  2. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  3. 企业网络拓扑MSTP功能实例(二)

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

  4. 【java】org.apache.commons.lang3功能示例

    org.apache.commons.lang3功能示例 package com.simple.test; import java.util.Date; import java.util.Iterat ...

  5. Linux下Apache配置HTTPS功能

    Apache配置HTTPS功能  转 https://www.cnblogs.com/liaojiafa/p/6028816.html 一.yum 安装openssl和openssl-devel,ht ...

  6. 利用JavaScriptSOAPClient直接调用webService --完整的前后台配置与调用示例

    JavaScriptSoapClient下载地址:https://archive.codeplex.com/?p=javascriptsoapclient JavaScriptSoapClient的D ...

  7. linux之vim配置及使用示例

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7056193.html linux之vim配置及使用示例 vi的三种模式: 一 ...

  8. 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能

    from:http://www.cnblogs.com/kkdd-2013/p/3868676.html 1 RRC协议功能 为NAS层提供连接管理,消息传递等服务: 对接入网的底层协议实体提供参数配 ...

  9. Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09

    目录 昨日补充:将自己写的 login_auth 装饰装在 CBV 上 django 中间件 django 请求生命周期 ***** 默认中间件及其大概方法组成 中间件的执行顺序 自定义中间件探究不同 ...

  10. drf框架安装配置及其功能概述

    0902自我总结 drf框架安装配置及其功能概述 一.安装 pip3 install djangorestframework 二.配置 # 注册drf app NSTALLED_APPS = [ # ...

随机推荐

  1. Android平台RTMP/RTSP播放器开发系列--解码和绘制

    本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如 ...

  2. KingbaseES应对表年龄增长过快导致事务回卷

    背景 前几天碰到这样一个场景,在KingbaseES数据库当作数据同步节点.其特点是接收过来的数据量巨大,其更新超级频繁,最大的数据库达到6TB.这还不是主要的,主要导致问题发生原因是同步数据库有很多 ...

  3. Docker安装Openresty总结

    1. 启动Docker systemctl start docker 2. 查询有没有openresty镜像 docker search openresty -s 30 -s 30 stars数大于3 ...

  4. 一文了解 Java 中的构造器

    摘要:Java 也采用了构造器,并且还提供了一个垃圾收集器(garbage collector),当不再使用内存资源的时候,垃圾收集器会自动将其释放. 本文分享自华为云社区<一文带你了解 Jav ...

  5. 输入法词库解析(一)百度自定义方案.def

    详细代码:https://github.com/cxcn/dtool 前言 .def 是百度手机输入法-更多设置-自定义输入方案所使用的格式. 解析 码表偏移量 0x6D # 占用字节数 描述 a 1 ...

  6. 四元数Quaternion的基本运算

    技术背景 在前面一篇文章中我们介绍了欧拉角死锁问题的一些产生背景,还有基于四元数的求解方案.四元数这个概念虽然重要,但是很少会在通识教育课程中涉及到,更多的是一些图形学或者是工程学当中才会进行讲解.本 ...

  7. 深度剖析Istio共享代理新模式Ambient Mesh

    摘要:今年9月份,Istio社区宣布Ambient Mesh开源,由此引发国内外众多开发者的热烈讨论. 本文分享自华为云社区<深度剖析!Istio共享代理新模式Ambient Mesh>, ...

  8. 迁移阿里云上的ECS操作说明

    背景: 1.公司测试服务器快要到期了,但是续费太贵,就想用另一个阿里云账号下的服务器作为测试服务器. 2.测试服务器原在阿里云账号A下,要迁移到阿里云账号B下 3.该测试服务器有一个系统盘和俩数据盘 ...

  9. C++面向对象编程之C++11语法糖

    1.variadic template(模板参数可变化) template... type就是说有可变模板参数,作为参数使用时类型就是 类型后 + ... ,例如type... / type& ...

  10. python实现给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果!

    题目描述:给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果! 样例: input:[["a","b"," ...