IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> STP、RSTP、MSTP -> 正文阅读

[网络协议]STP、RSTP、MSTP

目录

STP

一、STP的常用术语

二、STP的数据包

三,关于根桥,根端口的修改

四、拓扑变化时STP的更新

RSTP

一、RSTP的基本常识

二、RSTP的快速收敛机制

(一)P/A机制

(二)根端口快速切换机制

(三)次级BPDU立即处理

(四)边缘端口(EP)

三、RSTP保护

1、BPDU保护

2、根保护

3、环路保护

4、TC-BPDU保护

MSTP

一、MSTP的基本配置。

二、MSTP实验


STP

STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。

一、STP的常用术语

1.根桥:指在STP中,用于交换拓扑信息的网桥。

2.根ID:又称BID。由桥优先级和交换机的背板Mac地址组成,桥优先级默认为32768,可以手动改变,改变值为4096的倍数。

3.root ID:是指根桥的桥ID,主要见于抓取得BPDU报文中。

4.非根桥:除了根桥以外的交换机,都叫做非根桥。

5.端口ID:又称PID,由端口的优先级和端口号(端口的编号)组成,端口优先级默认为128,可以手动改变,改变值为16的倍数。

6.根路径开销(RPC):用于表示非根桥到根桥的开销。

7.根端口(RP):非根桥去往根桥最近的端口。

8.指定端口(DP):每一条链路选出一个指定端口,用于发送BPDU.

9.BPDU:STP的报文,称为桥数据协议单元。

根据上图,我们要能判断出根桥,非根桥,DP,BP,AP

根桥:LSW2

非根桥:LSW1,LSW3

指定端口(DP):LSW2上的G1,G2;LSW1的G2口

根端口(BP):LSW1的G1口,LSW3的G2口

阻塞端口(AP):LSW3的G1口

你看一下有没有出入。

二、STP的数据包

我们在LSW3的G2口进行抓包,报文如下图:

可以看出,在LSW3的G2口上,只有指定接口发出的报文。stp的报文详情如下图:

三,关于根桥,根端口的修改

首先,我们要在交换机上,查看stp选举的结果。查看命令为:

[LSW3]dis stp?

其中,CIST Root表示根桥,CIST RootPortId表示当前交换机的根端口。我们根据器选举原则(具体见【hcia】stp),对相关的交换机的参数进行修改,比如交换机的优先级,端口的开销值等。

常用命令如下:

【全局】stp?mode stp??修改本机的stp协议(默认为mstp)

【全局】dis?bridge mac-address??查看本机的mac地址

【全局】dis? stp?br??查看接口状态

【全局】stp priority ?0? 将交换机的桥优先级改为0,该数值只能是4096的倍数。

【全局】stp timer max-age?300??修改老化时间

【全局】stp?timer forward-delay?200?修改转发时延

【接口】stp port?priority?32? 修改接口优先级,该数值只能是16的倍数
?

四、拓扑变化时STP的更新

1.当交换机发生拓扑变化时,会发送TCN BPDU给根桥

2.途径的交换机会给原始交换机回应TCA,并且将TCN?BPDU转发给根桥

3.根桥收到TCN报文后,会沿原路发送TC和TCA

4.当沿途交换机收到TC,TCA报文后,会将自己的mac地址表的老化时间强制修改为15s

RSTP

RSTP(rapid spanning Tree Protocol ),即快速生成树协议,最早在IEEE 802.1W-2001中提出,这种协议在网络结构发生变化时,能更快的收敛网络。

一、RSTP的基本常识

(一)端口角色:

RSTP 中的端口由四个角色,分别为RP,DP,AP,BP。

RP:根端口,和STP 一致;

DP:指定端口,和STP一致;

AP:阻塞端口,给根端口做备份

BP:备份端口,给指定端口做备份。

(二)端口状态:

RSTP中的端口状态包含Discarding,Learning,Forwarding.

Discarding:此状态下不转发用户流量,也不学习Mac地址;

Learning:此状态下不转发用户流量,但是学习Mac地址;

Forwarding:此状态下转发用户流量,学习Mac地址。

二、RSTP的快速收敛机制

(一)P/A机制

其目的是使一个指定端口尽快进入Forwarding状态。具体过程如下:

1.首先两台交换机会先把自己作为根桥,向对端发送协商的BPDU,此时BPDU中的Agreement和Proposal会置位为1;

2.当收到对端发送的协商BPDU后,会进行比较,然后,次优的交换机会在发送一个BPDU报文,该报文中的Proposal将置位为0,承认对方为根桥,自己则进入Forwarding状态;

3.当最优交换机收到次优交换发送的P=0的BPDU后,会将自己BPDU的P也置位为0,并进入Forwarding状态。

下面我们通过实验观察,由于篇幅有限,仅放置一张报文,其余报文可自行实验观察。

首先建立如上图的拓扑,我们通过在LSW2的G1口上进行抓包,观察报文的发送过程,

通过抓包,我们可以看出,两台交换机会首先以自己为根桥,将相关的信息加载到BPDU报文中,发送给对端,同时将Agreement和Proposal进行置位。表示进行协商。

PS:在进行P/A机制协商的过程中,交换机会自动阻塞掉除边缘接口以外的其他接口,用于放置环路。

P/A机制的触发条件:

1.端口的角色为指定端口;

2.端口的状态为Forwarding或learning时;

3,链路状态为点到点时。

(二)根端口快速切换机制

SWC与SWA的直连链路down掉,其AP端口切换成RP端口并进入转发状态可在秒级时间内完成收敛。

(三)次级BPDU立即处理

SWB与SWA的直连链路down掉,SWC的AP端口切换成DP端口并进入转发状态可在秒级时间内完成

(四)边缘端口(EP)

边缘端口不会经历RSTP的端口状态,而是直接进入Forwarding状态,配置命令为:

【接口】stp edged-port enable ??将该接口配置为边缘端口;

【全局】stp edged-port default ?将路由器上的所有接口都配置称为边缘端口;

【接口】stp edged-port? disable ?将该接口的边缘端口进行关闭。

三、RSTP保护

1、BPDU保护

BPUD保护主要是针对边缘端口,当边缘端口接入一个STP交换机时会触发BPDU收敛,会发生网络震荡,次有路径等现象。当边缘端口配置了BPDU保护机制后,在其收到BPDU后,该接口会成为down的状态,端口角色变成DP,端口状态变成discarding。

如果需要恢复接口状态,可以用手动方式,在接口上通过命令让接口up(【接口】undo shutdown),还可以用自动方式重启接口状态,命令为:【全局】error-down auto-recovery cause bpdu-protection interval 30 其含义为:将因BPDU保护所致的err-down状态会在30s后自动恢复up

BPDU保护的配置命令:

? ? ?1、[全局]stp edged-port default 全局开启边缘端口

? ? ?2、[接口]stp edged-port enable 接口开启边缘端口

? ? ?3、[接口]stp bpdu-protection? ? 全局开启BPDU保护功能,只针对边缘端口有效

2、根保护

跟保护的作用对象主要是DP角色的端口,其主要作用是强制一个接口永远是指定端口。?防止周围的交换机成为根桥。当一个接口开启根保护以后,一旦收到了更优的BPDU,那么接口角色不变,接口状态变为discarding。当接口不在收到更优的BPDU之后,将会进入到正常的STP收敛过程,理论上经过2个转发时延恢复转发状态

命令:【接口】stp root-protection //根保护只能在接口视图下配置

3、环路保护

? ?现象:在已经形成环路的交换网络中,由于网络延时或者单向故障,导致一个根端口无法收到上游发来的BPDU,那么接口将老化后变为DP角色,并且变成转发状态

? ?作用:为了防止这种环路,对根端口开启环路保护后,在无法收到上游的BPDU后,该端口会变成DP角色,并且保持discarding状态,环路保护可以在RP和AP端口开启。当接口收到上游BPDU后,会立刻恢复正常的STP收敛结果。

? ?命令:【接口】stp loop-protection 在接口下开启环路保护

4、TC-BPDU保护

TC-BPDU保护主要是为了防止TC-BPDU攻击,因为交换机在默认条件下,收到TC-BPDU后,会删除MAC地址表和ARP表项。当有单播数据传输过来后,会通过泛红的方式进行传播,从而增加工作量。而且TC-BPDU攻击的会在短时间内发送上千个TC-BPDU,导致交换机的MAC地址表和ARP表项长期处于空的状态。

开启TC-BPDU保护配置如下:

【接口】stp tc-restriction enable 接口下开启TC-BPDU保护功能

【全局】stp tc-protection interval 10 开启TC-BPDU保护,在10秒钟以内对TC的操作频率

【全局】stp tc-protection threshold 5 操作频率为5次

? ? ? 以上3条命令含义:这个接口在收到TC-BPDU后,只能每10秒处理5个。

MSTP

首先,我们先来看一下下图:

在图中,根据STP或RSTP协议,LSW6的G1口会成为阻塞端口,PC3在去往自己的网关时,只能绕行LSW8交换机,而且,我们将两个网关配置到不同的三层交换机上,也是希望一个交换机负责一个VLAN的通信,但是在STP或RSTP里,很显然,LSW8交换机承担了两个VLAN的流量。因此,我们引入一种叫MSTP协议,用于解决上述问题。

多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的一种新型生成树协议。该协议主要是解决了传统stp和rstp,在同一局域网内所有的vlan共享一个生成树,无法在vlan间实现数据流量的负载均衡,以及产生次优路径的问题。

一、MSTP的基本配置。

[全局]stp region-configuration???//进入MST域配置视图

[MST域]region-name HUAWEI? //配置MST域名字,默认条件下,以交换机背板MAC地址作为名字

?[MST域]revision-level 12? ?//配置修订级别,默认条件下级别为0,取值范围为0-65535

?[MST域]instance 10 vlan 10? ? //创建实例10,并且将vlan放入该实例

[MST域]instance 20 vlan 20? ? //创建实例20,并且将vlan放入该实例

? ? ? ? ? ? ? ? ? ?(交换机缺省情况下,所有VLAN都在实例0里面)

[MST域]active region-configuration 激活以上配置

[全局]stp instance 10 root primary? 将交换机配置为实例10的主根

[全局]stp instance 20?root secondary?将交换机配置为实例20的备份根

[全局]stp instance 20 priority 0? ? 将交换机配置为实例20的根桥优先级0

?====================================

常用查看命令:

[全局]display stp instance 10 brief? ?查看指定实例的接口状态

[全局]display stp region-configuration? 查看MST的相关参数

二、MSTP实验

还是以最开始的那张图为例,我们进行MSTP的配置,基础的接口配置和vlanif的配置不在具体体现,自行配置即可,需要注意的是:交换机与终端的接口配置为access模式,交换机之间的接口配置为trunk模式。

MSTP的具体配置如下:

1.LSW7交换机:

这里在LSW7上,我们需要将VLAN10的实例设为主,将VLAN20的实例设为备。

2.LSW8交换机:

? ?这里在LSW8上,我们需要将VLAN20的实例设为主,将VLAN10的实例设为备。

3.LSW6交换机:

注意:在配置MSTP中,同一个域内的所有交换机的配置需要保持一致。(具体MSTP的概念会在HCIE的内容中介绍,HCIP中会基本配置即可)

4.查看交换机的接口状态:

通过配置,我们主要是想将LSW6的G1、G2口,在不同的VLAN中,进行阻断,具体讲就是在VLAN10中,G2口为AP端,在VLAN20中,G1口为AP端。

下面我们观察配置结果:

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:40:35  更:2022-04-15 00:41:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:34:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码