华为交换机生成树STP配置案例

  1. 企业内部网络怎么防止网络出现环路?学会STP生成树技术就可以解决啦。

STP简介

在二层交换网络中,一旦存在环路就会造成报文在环路内不断循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络变得无法正常通信。

在这种环境下生成树协议应运而生,生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路备份功能。

生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。最初被广泛应用的是IEEE802.1D-1998 STP(Spanning Tree Protocol,生成树协议),随后以它为基础产生了IEEE 802.1w RSTP(Rapid Spanning Tree Protocol,快速生成树协议)和IEEE 802.1s MSTP(Multiple Spanning Tree Protocol,多生成树协议)。

三种生成树协议特点比较:

生成树协议

特点

应用场景

STP

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

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

RSTP

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

MSTP

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

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

STP实现说明

华为实现说明

  • STP在交换机所有版本,所有形态都支持。
  • 华为交换机默认STP模式是MSTP。需要运行STP或RSTP模式时,必须要手动配置。
  • 华为交换机在STP模式下,使用的端口角色和RSTP是一样的,也就是说支持下面5种端口角色:指定端口、根端口、Alternate端口、Backup端口和边缘端口。
  • 华为交换机在STP模式下,支持下面4种保护功能:BPDU保护、Root保护、环路保护和防TC-BPDU攻击保护。
  • 版本差异说明:
  1. 从V100R006版本开始,华为X7交换机全局默认使能STP功能。
  2. V200R001版本及之后版本,开始支持边缘端口属性自动探测功能。即如果端口从未收到过BPDU报文,则边缘端口属性自动生效(端口下不会自动生成stp edged-port enable配置)。
  3. V200R001版本及之后版本,如果端口已经配置stp edged-port enable,可以再配置根保护和环路保护,而其他版本会提示Error。

其他厂商实现

  1. H3C交换机STP相关命令配置与S系列交换机基本没有差异。
  2. H3C交换机默认采用legacy标准来计算路径开销,而S系列交换机默认为dot1t。在与S系列交换机对接时,建议配置相同的计算标准。
  3. 某些H3C老形态设备,全局不使能STP或全局使能端口不使能STP时,端口收到BPDU报文后,可以当做普通组播数据报文在VLAN内转发。S系列交换机端口默认会丢弃。

Cisco交换机所支持的生成树协议类型分别有:PVST(Per VLAN Spanning Tree)、PVST+(Per VLAN Spanning Tree Plus)、Rapid-PVST+(Rapid Per VLAN Spanning Tree Plus)和MST(Multiple Spanning Tree)。这几种生成树协议的某些BPDU报文采用其私有的报文格式,与IEEE标准的BPDU报文格式不一样。

  1. 当Cisco交换机运行私有的PVST+或Rapid-PVST+生成树协议时,与S系列交换机能否互通,取决于Cisco侧的端口链路类型:
  • 如果端口链路类型为trunk且退出VLAN 1,与S系列交换机无法实现互通。Cisco侧端口在非VLAN 1中发送其私有的BPDU报文,S系列交换机默认不会处理该报文,当做普通组播数据报文进行转发,可以通过配置l2protocol-tunnel进行透传。S系列盒式交换机通过l2protocol-tunnel透传PVST+报文时,全局需要配置bpdu mac-address 0100-0ccc-cccd
  • 如果端口链路类型为trunk而且加入VLAN 1,只可以在VLAN 1中与S系列交换机互通。
  • 如果端口链路类型为access,可以与S系列交换机互通。
  1. 当Cisco交换机运行MST协议时,可以理解为标准的MSTP模式,可以与S系列交换机互通。但是需要注意:在使用MSTP协议的S系列交换机与使用MSTCisco交换机采用相同的域配置(域名、修订级别、VLAN与实例的映射关系)的情况下,要想实现域内互通,需要在S系列交换机端口配置摘要侦听功能stp config-digest-snoop这是两者由于采用不同的密钥来生成MSTP的摘要信息,因此端口发送的BPDU报文中的摘要信息不同。由于摘要信息不同,则属于不同的MST域,会进行域间互通。

注意以下介绍的STP是狭义的STP,即IEEE 802.1D-1998 中定义的STP 协议。

STP原理

协商原则

STP协议是根据4个维度进行选举协商的,设备之间通过发送BPDU报文,经过4个维度的比较,最终会阻塞综合能力最差的端口。

选举维度(桥ID,累计根路径开销,发送设备BID,发送端口PID)

维度

定义

作用

桥ID

BID(Bridge ID),是由16位的桥优先级(Bridge Priority)与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。

确定根桥。桥ID最小的设备会被选举为根桥。

累计根路径开销

某端口到根桥累计的路径开销就是所经过的各个桥上的各端口的路径开销累加而成

选举根端口、指定端口和阻塞端口时使用。

发送设备BID

发送BPDU报文的桥ID。

选举根端口、指定端口和阻塞端口时使用。

发送端口PID

发送BPDU报文的端口ID。

PID由两部分构成的,高4位是端口优先级,低12位是端口号。

只在存在Backup端口时使用。

角色和状态

经过4个维度的比较,最终会协商出端口的角色和状态,确定报文流量的转发路径。STP角色的定义,如图所示。

  • 根桥:就是桥ID最小的设备。桥ID是由16位的桥优先级与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。华为交换机默认桥优先级都是32768。所以在不修改桥优先级时,MAC地址最小的设备就是根桥。
  • 指定端口:就是负责转发BPDU报文的端口。根桥上的端口都是指定端口。该端口可以正常转发流量。
  • 根端口:就是去往根桥路径开销最小的端口。该端口可以正常转发流量。
  • 阻塞端口:就是禁止转发流量的端口。

从上面的官方定义,可以看出:STP协商完成后,端口要么被阻塞,要么正常转发报文。其实在STP进行协商的过程中,是有一些中间状态的。

端口状态

目的

说明

Forwarding

端口既转发用户流量也处理BPDU报文。

只有根端口或指定端口才能进入Forwarding状态。

Learning

设备会根据收到的用户流量构建MAC地址表,但不转发用户流量。

过渡状态,增加Learning状态防止临时环路。

Listening

确定端口角色,将选举出根桥、根端口和指定端口。

过渡状态。

Blocking

端口仅仅接收并处理BPDU,不转发用户流量。

阻塞端口的最终状态。

报文格式

STP协议报文是通过BPDU报文封装的,目的MAC是组播MAC:01-80-C2-00-00-00,封装格式是IEEE 802.3。

BPDU报文处理流程

BPDU报文的分类

    • 配置BPDU报文:根据Flags标记位,分为3

    第一类配置BPDU报文: FlagsTCATC位都置为0的配置BPDU报文

    第二类配置BPDU报文: FlagsTCATC位都置为1的配置BPDU报文

    第三类配置BPDU报文:FlagsTCA位置为0TC位置为1的配置BPDU报文

    • TCN BPDU报文: BPDU Type为0x80的BPDU报文,叫做TCN BPDU报文

BPDU报文的处理流程

BPDU报文格式

  • 配置BPDU报文:BPDU Type为0x00的BPDU报文,都叫做配置BPDU报文
  1. 第一类配置BPDU报文: FlagsTCATC位都置为0的配置BPDU报文

该报文用于STP状态的协商和维持。具体报文格式如下:

  1. 第二类配置BPDU报文: FlagsTCATC位都置为1的配置BPDU报文

该报文用于通知下游设备停止发送TCN BPDU报文。具体报文格式如下:

  1. 第二类配置BPDU报文: FlagsTCA位置为0TC位置为1的配置BPDU报文

该报文用于通知下游设备删除MAC地址表项。具体报文格式如下:

  • TCN BPDU报文:BPDU Type为0x80的BPDU报文,叫做TCN BPDU报文,用于通知上游设备网络拓扑变更。具体报文格式如下:

使用注意事项

  • 盒式交换机需要通过“bpdu enable”使能BPDU报文上送CPU处理的功能,才能使STP报文上送CPU处理,否则STP状态无法收敛。

V100R005及之前版本,在S2700系列设备,检查全局是否配置bpdu enable;其他系列盒式交换机,检查物理端口、Eth-trunk接口下是否配置bpdu enable。

V100R006及后续版本,对应形态设备全局或端口默认使能bpdu enable。

配置举例

组网需求

如图所示,当前网络中SwitchA、SwitchB、SwitchC和SwitchD通过环形组网备份链路。希望通过运行生成树协议阻塞端口,将环形网络结构修剪成无环路的树形网络结构。

  • 在主链路故障时,对切换到备份链路的时间要求不高,要求配置简单,所以这里使用STP模式。
  • SwitchA设备的性能较高,希望作为根桥,SwithB为备份根桥。
  • SwtichC和SwitchD设备连接用户,希望阻塞SiwtchC和SwitchD之间的链路。
  • SwitchC和SwitchD连接用户的接口GE0/0/3不要参与STP计算。

配置思路

采用如下的思路配置STP:

  1. 配置模式是STP模式。
  2. 配置SwitchA为根桥,SwitchB为备份根桥。
  3. 统一使用默认路径开销。华为交换机默认的路径开销计算标准使用的是标准的dot1t。GE接口默认路径开销是20000,而Ethernet接口默认路径开销是200000。注意:eNSP模拟器中,STP的路径开销默认是1
  4. SwitchC和SwitchD的GE0/0/3端口去使能STP协议。
  5. SwitchA、SwitchB、SwitchC和SwitchD使能STP协议。

操作步骤

步骤1:配置模式为STP模式。

<HUAWEI> system-view

[HUAWEI] sysname SwitchA

[SwitchA] stp mode stp

<HUAWEI> system-view

[HUAWEI] sysname SwitchB

[SwitchB] stp mode stp

<HUAWEI> system-view

[HUAWEI] sysname SwitchC

[SwitchC] stp mode stp

<HUAWEI> system-view

[HUAWEI] sysname SwitchD

[SwitchD] stp mode stp

步骤2:配置SwitchA为根桥,SwitchB为备份根桥。

[SwitchA] stp root primary   //也可以使用命令stp priority 0 配置优先级为0,和stp root primary的作用是一样的。

[SwitchB] stp root secondary  //也可以使用命令stp priority 4096 配置优先级为4096,和stp root secondary的作用是一样的。

步骤3:去使能SwitchB和SwitchC设备GE0/0/3端口的STP功能。

[SwitchC] interface gigabitethernet0/0/3

[SwitchC-GigabitEthernet0/0/3] stp disable

[SwitchC-GigabitEthernet0/0/3] quit

[SwitchD] interface gigabitethernet 0/0/3

[SwitchD-GigabitEthernet0/0/3] stp disable

[SwitchD-GigabitEthernet0/0/3] quit

步骤4:全局使能STP功能。

华为X7系列交换机默认是使能,该步骤可以省略。

[SwitchA] stp enable

[SwitchB] stp enable

[SwitchC] stp enable

[SwitchD] stp enable

步骤5:验证配置结果。

 查看STP简要信息,通过STP简要信息可以快速的看出端口的角色和状态。

配置文件

SwitchA的配置文件

#

sysname SwitchA

#

stp mode stp

stp instance 0 root primary

#

return

SwitchB的配置文件

#

sysname SwitchB

#

stp mode stp

stp instance 0 root secondary

return 

SwitchC的配置文件

#

sysname SwitchC 

stp mode stp

interface GigabitEthernet0/0/3

 stp disable

return 

SwitchD的配置文件

#

sysname SwitchD

stp mode stp

interface GigabitEthernet0/0/3

 stp disable

return

联系我们 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app API接口扩展组件(uni-ui)

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

【Java | 多线程案例】定时器的实现

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习JavaEE的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 这里写…

Spring Boot快速搭建一个简易商城项目【完成登录功能且优化】

完成登录且优化&#xff1a; 未优化做简单的判断&#xff1a; 全部异常抓捕 优化&#xff1a;返回的是json的格式 BusinessException&#xff1a;所有的错误放到这个容器中&#xff0c;全局异常从这个类中调用 BusinessException&#xff1a; package com.lya.lyaspshop.exce…

2020年认证杯SPSSPRO杯数学建模A题(第一阶段)听音辨位全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 A题 听音辨位 原题再现&#xff1a; 把若干 (⩾ 1) 支同样型号的麦克风固定安装在一个刚性的枝形架子上 (架子下面带万向轮&#xff0c;在平地上可以被水平推动或旋转&#xff0c;但不会歪斜)&#xff0c;这样的设备称为一个麦克风树。不同的麦…

starrocks集群fe/be节点进程守护脚本

自建starrocks集群&#xff0c;有时候服务会挂掉&#xff0c;无法自动拉起服务&#xff0c;于是采用supervisor进行进程守护。可能是版本的原因&#xff0c;supervisor程序总是异常&#xff0c;无法对fe//be进行守护。于是写了个简易脚本。 #!/bin/bash AppNameFecom.starrock…

模型 安索夫矩阵

本系列文章 主要是 分享模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。产品市场战略。 1 安索夫矩阵的应用 1.1 江小白的多样化经营策略 使用安索夫矩阵来分析江小白市场战略。具体如下&#xff1a; 根据安索夫矩阵&#xff0c;江小白的现有产品是其白酒产品&…

缓存cache和缓冲buffer的区别

近期被这两个词汇困扰了&#xff0c;感觉有本质的区别&#xff0c;搜了一些资料&#xff0c;整理如下 计算机内部的几个部分图如下 缓存&#xff08;cache&#xff09; https://baike.baidu.com/item/%E7%BC%93%E5%AD%98 提到缓存&#xff08;cache&#xff09;&#xff0c;就…

OpenAI“一路生花”,致力于超级人工智能研发

原创 | 文 BFT机器人 INTELLIGENT ROBOT OpenAI提供1000万美元的资助用于解决超级智能AI控制问题 OpenAI是人工智能研究领域的领先组织&#xff0c;据媒体称&#xff0c;它正在采取积极措施应对与超级智能AI系统相关的潜在风险。在一项大胆的举措中&#xff0c;该公司宣布将提…

独立站如何优化网页加载速度

对于跨境电商独立站而言&#xff0c;流量是跨境电商业务的重中之重&#xff0c;由于独立站并不自带流量&#xff0c;非常依赖于谷歌搜索引擎自然流量&#xff0c;以及付费广告流量。 但随着付费流量价格日益水涨船高&#xff0c;为了摆脱对付费流量的依赖&#xff0c;相信广大…

可移动磁盘上的文件删除了怎么恢复?详细教程介绍

在我们的日常生活和工作中&#xff0c;可移动磁盘作为一种便携式的存储设备&#xff0c;经常被用来备份和传输数据。然而&#xff0c;有时候由于误操作或不小心的删除&#xff0c;导致可移动磁盘上的文件丢失。这些文件可能包含重要的工作资料、个人照片、视频等&#xff0c;一…

【YOLO系列】YOLOv8 -【教AI的陶老师】

文章目录 yolo v8 模型结构图这样搞有什么意义&#xff1f;【获得不同尺寸的输出】c2f 详细结构yolo v8 损失函数与 yolo v5 的区别 yolo v8 模型结构图 详细结构图 这样搞有什么意义&#xff1f;【获得不同尺寸的输出】 c2f 详细结构 yolo v8 损失函数 与 yolo v5 的区别

第1章 Kali Linux入门

本章将带领读者初步了解渗透测试专用的独立Linux 操作系统——Kali Linux。本章涵盖下述主题&#xff1a; ● Kali 的发展简史&#xff1b; ● Kali 的一般用途&#xff1b; ● Kali 的下载与安装&#xff1b; ● Kali 的配置与更新。 在本章的结尾部分&#xff0c;我们还…

【进阶】【JS逆向爬虫】【2.JavaScript 基础语法】JS代码导入方式

JS逆向爬虫 JS代码导入方式1.行内式写法2.内嵌式&#xff08;建议写在</body>之前&#xff09;3.外部式&#xff08;建议写在</head>之前&#xff09; JS代码导入方式 1.行内式写法 可以将单行或少量 JS 代码写在HTML标签的事件属性中&#xff08;以 on 开头的属…

【计算机网络】第五,六章摘要重点

1.运输层协议概述 运输层提供的是进程之间的通信 2. 3.套接字指的是什么 ip地址端口号 4.每一条TCP语句唯一地被通信两端连接的两个端点 5.TCP传输如何实现 以字节为单位的滑动窗口 超时重传 选择确认 6.TCP流量控制和拥塞控制的区别 流量控制&#xff1a;点对点通信…

Cisco模拟器-OSPF路由协议

设计要求用两台双口路由器连接不同IP网段的计算机&#xff0c;并使用OSFP协议发现路由表使不同IP网段的计算机可以相互通信。 通过设计&#xff0c;可以连通IP地址网段不同的局域网&#xff0c;可应用在园区网的互连和互通的实现上。 主要配置步骤 路由器0&#xff1a; Router…

24、Web攻防——通用漏洞SQL注入MYSQL跨库ACCESS偏移

文章目录 一、SQL注入原理   脚本代码在与数据库进行数据通讯时&#xff08;从数据库取出相关数据进行页面显示&#xff09;&#xff0c;使用预定义的SQL查询语句进行数据查询。能通过参数传递自定义值来实现SQL语句的控制&#xff0c;执行恶意的查询操作&#xff0c;例如查询…

C# 使用ZXing.Net生成带Logo的二维码

写在前面 这是ZXing.Net类库的系列文章&#xff0c;实现在二维码中间插入一个logo图标 C# 使用ZXing.Net生成二维码和条码-CSDN博客 C# 使用ZXing.Net识别二维码和条码-CSDN博客 代码实现 该段代码主体来自其他文章&#xff0c;贴在这做个记录 /// <summary> /// 生成…

【教程】Typecho Joe主题开启并修复壁纸相册不显示问题

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 背景说明 Joe主题本身支持“壁纸”功能&#xff0c;其实就是相册。当时还在网上找了好久相册部署的开源项目&#xff0c;太傻了。 但是网上教程很少&#xff0c;一没说如何开启壁纸功能&#xff0c;二没说开启后为…

2023年终总结:耕辍断续应犹在,碌而不暇仍少年

Author&#xff1a;AXYZdong 硕士在读 工科男 有一点思考&#xff0c;有一点想法&#xff0c;有一点理性&#xff01; 定个小小目标&#xff0c;努力成为习惯&#xff01;在最美的年华遇见更好的自己&#xff01; CSDNAXYZdong&#xff0c;CSDN首发&#xff0c;AXYZdong原创 唯…