组网图形

 RSTP简介

  • 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及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表项被破坏。
  • 网络规划者规划好网络后,可以在网络中部署RSTP协议预防环路。当网络中存在环路,RSTP通过阻塞某个端口以达到破除环路的目的。如图1所示,当前网络中存在环路,SwitchA、SwitchB、SwitchC和SwitchD都运行RSTP,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。

配置思路

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

  a.配置环网中的设备生成树协议工作在RSTP模式。
  b.配置根桥和备份根桥设备。
  c.配置端口的路径开销值,实现将该端口阻塞。
  d.使能RSTP,实现破除环路。

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

操作步骤

  • 配置RSTP基本功能
  • a.配置环网中的设备生成树协议工作在RSTP模式

  # 配置SwitchA/B/C/D的RSTP工作模式。

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] stp mode rstp
<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] stp mode rstp

<HUAWEI> system-view
[HUAWEI] sysname SwitchC
[SwitchC] stp mode rstp

<HUAWEI> system-view
[HUAWEI] sysname SwitchD
[SwitchD] stp mode rstp
  • b.配置根桥和备份根桥设备

  # 配置SwitchA为根桥。

[SwitchA] stp root primary

   # 配置SwitchD为备份根桥。

[SwitchD] stp root secondary
  • c.配置端口的路径开销值,实现将该端口阻塞
说明:
•端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置将被阻塞端口的路径开销值为20000。
•同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

  # 配置SwitchA/B/C的端口路径开销。

[SwitchA] stp pathcost-standard legacy
[SwitchB] stp pathcost-standard legacy
[SwitchC] stp pathcost-standard legacy

  # 配置SwitchC端口GigabitEthernet0/0/1端口路径开销值为20000。

[SwitchC] interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1] stp cost 20000
[SwitchC-GigabitEthernet0/0/1] quit

  # 配置SwitchD的端口路径开销。

[SwitchD] stp pathcost-standard legacy
  • d.使能RSTP,实现破除环路

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

  # 配置SwitchB端口GigabitEthernet0/0/2为边缘端口并使能端口的BPDU报文过滤功能。

[SwitchB] interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2] stp edged-port enable
[SwitchB-GigabitEthernet0/0/2] stp bpdu-filter enable
[SwitchB-GigabitEthernet0/0/2] quit

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

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

  设备全局使能RSTP

  # 设备SwitchA/B/C/D全局使能RSTP。

[SwitchA] stp enable

[SwitchB] stp enable

[SwitchC] stp enable

[SwitchD] stp enable

  配置保护功能,如在根桥设备的指定端口配置根保护功能

  # 在SwitchA端口GigabitEthernet0/0/1上配置根保护功能。

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

  # 在SwitchA端口GigabitEthernet0/0/2上配置根保护功能。

[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] stp root-protection
[SwitchA-GigabitEthernet0/0/2] quit
  • 验证配置结果

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

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

[SwitchA] display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING ROOT
0 GigabitEthernet0/0/2 DESI FORWARDING ROOT

  将SwitchA配置为根桥后,与SwitchB、SwitchD相连的端口GigabitEthernet0/0/2和GigabitEthernet0/0/1在生成树计算中被选举为指定端口,并在指定端口上配置根保护功能。
  # 在SwitchB上执行display stp interface gigabitethernet 0/0/1 brief命令,查看端口GigabitEthernet0/0/1状态,结果如下:

[SwitchB] display stp interface gigabitethernet 0/0/1 brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE

  端口GigabitEthernet0/0/1在生成树选举中成为指定端口,处于FORWARDING状态。

  # 在SwitchC上执行display stp brief命令,查看端口状态,结果如下:

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

  端口GE0/0/1在生成树选举中成为Alternate端口,处于DISCARDING状态。

  端口GE0/0/3在生成树选举中成为根端口,处于FORWARDING状态。

企业网络拓扑RSTP功能实例的更多相关文章

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

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

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

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

  3. Xamarin Essentials教程实现数据的传输功能实例

    Xamarin Essentials教程实现数据的传输功能实例 [示例1-1]以下将实现数据的传输功能.代码如下: public async Task ShareUri(string text, st ...

  4. H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例

    H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例 (转载:https://blog.csdn.net/weixin_38787928/article/details/86741227 ...

  5. 019——VUE中v-for与computer结合功能实例讲解

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Android微信分享功能实例+demo

    Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留 ...

  7. PHP+Ajax实现文章心情投票功能实例

    一个PHP+Ajax实现文章心情投票功能实例,可以学习了解实现投票的基本流程:通过ajax获取心情图标及柱状图相关数据,当用户点击其中的一个心情图标时,向Ajax.php发送请求,PHP验证用户coo ...

  8. SpringMVC+Ajax实现文件批量上传和下载功能实例代码

    需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...

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

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

随机推荐

  1. Postgres 10.11安装教程

    Postgres搭建 考虑到Drone和Sonarqube等都需要借助Postgres存储,为了保证CI服务的高效的工作,将考虑独立其中依赖的数据库,避免在繁忙时占用过多资源从而影响整体CI的速度. ...

  2. Model实体类

    Model又叫实体类,这个东西,大家可能觉得不好分层.包括我以前在内,是这样理解的:UI<-->Model<-->BLL<-->Model<-->DAL ...

  3. Seaborn中几种作图方式

    趋势 sns.pointplot - 点图 ,比折线图好使 sns.lineplot - 折线图最适合显示一段时间内的趋势,多条线可以用来显示多个组中的趋势. 关系 - 可以使用许多不同的图表类型来理 ...

  4. C++学习笔记---数据类型

    1.整型 C++中能够表示整型的类型有几下几种方式,区别在于所占内存空间不足 数据类型 占用空间 取值范围 short(短整型) 2字节 (-2^15~2^15-1) int(整型) 4字节 (-2^ ...

  5. 如何玩转Python? 一文总结30种Python的窍门和技巧

    Python作为2019年必备语言之一,展现了不可替代作用.对于所有的数据科学工作者,如何提高使用Python的效率,这里,总结了30种Python的最佳实践.技巧和窍门.希望这些可以帮助大家在202 ...

  6. SaaS系统怎么做物流行业年度经营报告,MVC+js+echarts实现

    前言 马上就到年底了,很多公司都要汇总这一年的经营情况,如果一个系统没有自动生成年报的功能, 需要人工手工去做年报,我相信可能是一个不小的工作量,最近我通过一个星期的时间,结合系统情况自动生成年报,全 ...

  7. c# vs2019 Window服务搭建

    一.创建一个Windows Service         我的IDE开发工具使用的是vs2019,和之前的vs版本不大相同,所有添加了详细的截图说明.         首先,选择新建项目,项目类型选 ...

  8. D. Number of Parallelograms 解析(幾何)

    Codeforce 660 D. Number of Parallelograms 解析(幾何) 今天我們來看看CF660D 題目連結 題目 給你一些點,求有多少個平行四邊形. 前言 @copyrig ...

  9. CSS动画之动画模块

    过渡模块和动画模块的区别:过渡动画需要人为的去触发这个反应,而动画模块不需要人为相同点:都是动画:都是系统新增的属性:都是要满足三要素才有动画效果三要素:1.告诉系统执行哪个动画,要写出动画名称:an ...

  10. 4G DTU是什么 可以应用于哪些行业?

    4G是什么? 4G是移动电话网络通过蜂窝塔传输的信号的名称,蜂窝塔连接到更宽的互联网.这些是当今智能手机使用的信号,当您外出时,可以通过手机上网,因此他们不依赖电缆或光纤,也就是说无线网. 使用合适的 ...