| |
|
开发:
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 |
目录 STPSTP(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 RSTPRSTP(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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |