MSTP多实例的配置
MSTP多实例的配置
这次实验主要是为了加强对stp生成树协议中,RP(根端口),DP(指定端口),AP(阻塞端口)的判断方法;虽然很多时候不需要我们人工判断,因为当我们吧所有的配置好之后,然后开启生成树协议,电脑会自动进行判断:而我们现在需要对其原理进行详细的了解:
一、我们先对各种端口进行简介
根端口(RP):非根交换机去往根桥路径最优的端口,根端口不可能存在在跟桥上;非根桥上只能存在一个根端口;
根端口选举:按照下面的条件进行比较:
设置的优先级(默认优先级都是32768)越小越好——>根路径开销RPC:——>路径上所有出端口开销的总和 ;越小越好;——>对端BID对端PID(选择小的) ;——>本端PID;
根端口都是接收最优BPDU
指定端口(DP):交换机向所连网段转发BPDU的端口 每个网络有且只有一个指定端口;但每个交换机上可以有几个指定端口;
指定端口选举:设置的优先级——>根路径开销RPC——> 本端的BID ——>本端的PID;
指定端口是发送最优BPDU;
预备端口(AP):预备端口将被阻塞,虽然不能转发用户数据帧,但是可以接收并处理STP协议帧;
根桥选举:桥ID=桥优先级+MAC地址(BID)越小越优
PID=端口优先级+端口号 端口开销
BPDU:网桥协议数据单元:
BPDU类型:
a.配置BPDU包含了桥ID 路径开销 端口ID等参数
b.TCN BPDU 是指下游交换机感知到拓扑发生变化时向上游发送的拓扑的变化通知
配置BPDU信息:
a.根桥ID:由根桥的优先级和MAC地址组成
b.根路径开销:到根桥的最短路径开销
c.指定桥ID:指定桥的优先级和MAC地址组成
d.指定端口ID:由指定端口的优先级和端口号组成
STP定时器:
message age:配置BPDU在网络中传播的生存期
max age:配置BPDU在设备中能够保存的最大生存期(20s)
hello time:配置BPDU发送的周期
forward delay 端口状态迁移的延时
实验过程:其实这一章并没有那么多问题来探究;所以我也没有发现有什么坑可以去跳。所以就简单的对一些常用的命令进行验证;但是又太无聊了。所以想到哪儿写到哪儿吧;

第一步:先按照图中的配置将所有的ip配置好;(所有的主机IP都是10.0.0.x)、因为都是在二层网络中,所以他们都存在于同一个网段;因为在模拟器中,将整个系统启动之后,都会自动启动stp(默认的mstp);

接下来我做的实验是一个比较陌生的实验:mstp应用;
什么是mstp呢?
多生成树(MST)使用修正的快速生成树(RSTP)协议,叫做多生成树协议(MSTP)
通过MSTP把一个交换网络划分成多个域,每个域内形成多颗生成树,生成树之间彼此独立。每个域叫做一个MST域,每个生成树叫做一个多生成树实例:MSTI;
mstp由一个或多个mst域组成,每个mst域中可以包含一个或者多个msti。(mst实例)mst域中含有一个vlan映射表。描述了vlan和msti之间的映射关系,默认
情况下所有的vlan都映射到msti0中,msti之间彼此独。每个Vlan只能对应一个msti,即同一个vlan的数据只能在一个msti中传输;而一个msti可能对应多个vlan;
Mstp又有什么优势呢?
rstp和stp有一个共同的缺陷:局域网所有的VLAN共享一颗生成树,链路被阻塞后将不能承载任何流量,造成宽带浪费,因此无法再vlan间实现数据流量的均衡负载,

这个是通过我个人理解画出来的神作,里面的细节在我脑海中。估计也只有我自己能看懂;
实验正式开始:
先献上我的图:

第一步:将所有的主机进行配置;先不对vlan进行划分,路由器不做任何的配置;看看交换机的状态:
使用命令:
[LSW1]display stp brief [LSW1]display stp
这张图是通过命令查询:发现的所有的有关信息并且把重要的信息记录在图上了;在这里我们可以看到LSW3是根桥(因为LSW3的mac地址最小);然后将所有的端口的类型已经标示在图上;
然后我们选择测试连通性:使用PC1pingPC4,因为目前没有对进行vlan设置,所以根据生成树协议,按照一条固定的路径传输;(图上黄色路径表示);并且除了pc1pingPC2,无论是哪个源主机ping哪个目标主机,都会按照同一个路径传输,不会产生环路;
这个就像是线性拓扑结构一样,一根线上串上很多个主机,但是不同的是,这个是一捆电缆,并不会导致端口信号冲突(全双工模式),所以也不需要“带有冲突检测的载波侦听多路访问方式”;CSMA/CD;
顺便补充下什么是CSMA/CD;

但是我们现在可以很明显的发现这个网络的问题所在:
局域网中共享一颗生成树;一旦链路被阻塞后将不能承担任何的流量;在本图中LSW1和LSW2之间的链路,除了能够转发配置BPDU,但是不承担任何流量,所有造成了资源的浪费;
第二步:在交换机上进行配置;设置access和trunk端口;(在这里只做一个示范;)
[LSW1-Ethernet0//]port link-type access [LSW1-Ethernet0//]port default vlan [LSW1-Ethernet0//]port link-type trunk [LSW1-Ethernet0//]port trunk allow-pass vlan all
在LSW1上配置成功之后:

在LSW2上配置成功之后:

在LSW3上配置成功之后:

当所有配置ok后,这下所有不同区域的主机是不能互相访问的;当然,这个不是我们今天讨论的重点:因为今天的主要问题是mstp;
如果不对交换机做其他的设置的话:所有的数据都只会按照上图的生成树(黄线标注)的方向进行转发;
第三步:对交换机进行配置,实现mstp多实例;
Pc1和pc3相互访问按照图中红色的路径传输;
Pc2和pc6相互访问按照图中蓝色的路径传输;
Pc4和pc5相互访问按照图中黄色的路径传输;
这样就不会出现链路资源浪费的情况,并且能实现负载均衡;

[LSW1]stp region-configuration 使用这个命令行进入mst域视图; [LSW1-mst-region]region-name tea 修改mst域名为huawei [LSW1-mst-region]revision-level 配置修订级别为1 [LSW1-mst-region]instance vlan 将vlan10映射到msti1 [LSW1-mst-region]active region-configuration 使用这个命令激活mst域配置;

当我们三个交换机都做同样的配置:开启mstp 的多实例;
将vlan10映射到msti1;
Vlan20映射到msti2;
Vlan30映射到msti3;



但是我们可以通过上述三个图片中,可以了解到:每个msti实例中,根交换机根本就没有变化。三个根交换机的根桥都是LSW3;
通过抓包:LSW1和LSW3之间的链路:然后选择用pc1pingpc3;

发现,本来不应该出现在这条链路上的数据也出现在这条链路上了。
所以说到底还是没有实现负载均衡;
因为我还没有做完实验啊,哈哈哈哈
第四步:设置每个msti实例的根桥;
[LSW1]stp instance priority [LSW2]stp instance priority [LSW3]stp instance priority
这才是最关键的:将不同的msti实例下设置不同的根桥;这样也不会产生环路同样也能实现负载均衡;
结果我发现:我吧LSW1设置为了根桥。结果它的role竟然没有变化?!Excuse?!

然后通过我的分析,原来是我自己只是在LSW1上设置了vlan10到msti1的映射,并没有设置从vlan20到msti2的映射和从vlan30到msti3 的映射;所以对于msti1来说,只有LSW1一个交换机;这就很尴尬了。所以我们要解决问题:
第五步:在每个交换机中设置好所有的实例:
我在每个交换机上都设置了三种映射关系;结果为什么LSW2并没有MSTID3?

[LSW2]vlan 30 当我添加上这个命令就成功出线了。
原因:应该是我之前没有在LSW2上创建需要的vlan30;所以在设置映射的时候,由于msti3并不能映射到没有设置的vlan30上。所以没有建立映射;
因为画布问题。所以我就截取关键地方:



如上图所示,三个不同的交换机上面的不同的mtsi实例上面都有着不同的根桥;
相当于:vlan10的数据帧会在msti1的生成树上传递
Vlan20的数据帧会在msti2的生成树上传递
Vlan30的数据帧会在msti3的生成树上传递
现在再次使用PC1pingPC3;抓包LSW1和LSW2之间的链路:

发现从PC1到pc3的数据从之前是阻塞的链路上传递过来的;因此成功的实现;
最后一步:对网络进行优化设置
在这里我想配置端口的root的保护功能:
作用:在制定端口使能根保护功能后,收到的优先级更高的BPDU时(RP根端口)该端口状态将进入Discarding状态,不在转发报文;在经过一段时间(通常为两倍delay),如果一直没有收到优先级高的BPDU,该制定端口将会自动回复到正常的Forwarding状态;但是配置了根保护的端口将不能再配置环路保护功能;
默认情况是关闭的。
在这里提一下什么是环路保护功能:
配置交换机设备的根端口或者阻塞端口的环路保护功能:不能配置在制定端口;
再启动了环路保护功能后,如果根端口或者阻塞端口长时间收不到来自上游设备的BPDU报文时,则会向网管发出通知信息;此时RP会进入discarding状态,而阻塞端口保持阻塞状态,不转发报文,从而不会形成环路;直到收到了bpdu,才能恢复正常;
默认情况下也是关闭的;

于是乎,我对LSW3上的指定端口进行了根保护:于是不好的事情发生了:

这个图是LSW3配置了端口保护功能的图:突然发现:本来端口的root保护功能只能配置在指定端口下,但是对于mstid=2的实例来说:e0/0/3是根端口结果也被配置了root保护功能;
这个是为什么呢?
待我问清楚了在写:
2017/3/7 by tea;
MSTP多实例的配置的更多相关文章
- MSTP+ VRRP 交换机的 配置过程
配置思路采用以下思路配置: 1.在处于环形网络中的交换设备上配置MSTP基本功能,包括:a.配置MST域并创建多实例,配置VLAN2映射到MSTI1,VLAN3映射到MSTI2,实现流量的负载分担. ...
- MSTP多生成树的配置
STP的不足 STP协议虽然能够解决环路问题,但是由于网络拓扑收敛较慢,影响了用户通信质量 而且如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断 RSTP对STP的改 ...
- 企业网络拓扑MSTP功能实例(二)
组网图形 MSTP简介 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路.但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量 ...
- 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...
- mysql多实例的配置和管理
原文地址:mysql多实例的配置和管理 作者:飞鸿无痕 多实例mysql的安装和管理 mysql的多实例有两种方式可以实现,两种方式各有利弊.第一种是使用多个配置文件启动不同的进程来实现多实例,这种方 ...
- 第十七章——配置SQLServer(4)——优化SQLServer实例的配置
原文:第十七章--配置SQLServer(4)--优化SQLServer实例的配置 前言: Sp_configure 可以用于管理和优化SQLServer资源,而且绝大部分配置都可以使用SQLServ ...
- SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解
在SuperSocket入门(二)中我们已经简单了解了通过配置App.config文件使用BootStrap启动SuperSocket服务.我们先来看一下上个案例中的基本配置文件示例: < ...
- oracle 单实例DG(配置篇二)
一,DG搭建实例--主库配置 one : 归档配置 01,查看归档 1 select log_mode,force_logging from v$database; 02,开启归档 关闭数据库重新启 ...
- Amazon EC2安装mysql多实例并配置主从复制
1.MySQL安装: EC2直接使用yum安装mysql很方便: yum install mysql mysql-server mysql-libs 此处安装了三个包 完事之后可以直接使用 servi ...
随机推荐
- c#异步和多线程有什么区别和联系?
异步和多线程可以说没有必然的联系,只能说异步可以通过多线程实现而已要理解这些东西,你得具备很多相关的知识,操作系统原理,编译原理等简单地来说,计算机或者说CPU执行你的代码都是顺序执行的,当前的语句没 ...
- win7下安装sdks
原文及更多内容:http://yysource.sourceforge.net/?p=103 下载和安装 Windows 调试工具 http://msdn.microsoft.com/zh-CN/wi ...
- 浅析vue数据绑定
前言:最近团队需要做一个分享,脚进脑子,不知如何分享.最后想着之前一直想研究一下 vue 源码,今天刚好 "借此机会" 研究一下. 网上研究vue数据绑定的文章已经非常多了,但是自 ...
- Docker环境中部署DzzOffice 1.2.5.2
整体思路: 1.官方获取mysql.php+apache镜像: 2.基于php+apache,创建DzzOffice镜像: 3.启动mysql镜像: 4.启动DzzOffice镜像,链接mysql镜像 ...
- 这个发现是否会是RSA算法的BUG、或者可能存在的破解方式?
笔者从事各种数据加解密算法相关的工作若干年,今天要说的是基于大数分解难题的RSA算法,可能有些啰嗦. 事情的起因是这样的,我最近针对一款芯片进行RSA CRT解密的性能优化.因为期望值是1024bit ...
- PHP标准库(SPL)- SplDoublyLinkedList类(双向链表)
class SplDoublyLinkedList implements Iterator, Traversable, Countable, ArrayAccess { const IT_MODE_L ...
- Effective前端6:避免页面卡顿
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...
- TCP/IP 协议族的简介
TCP/IP重要的特性就是分层.TCP/IP 按照层次分为四层:应用层.传输层.网络层.数据链路层.分层的好处就是当某些地方需要改变的时候,只需要将改变的层替换掉即可,而不用去把整体做替换.各层之间的 ...
- 关于sleep()和interrupt()及主线程和线程
看代码 public class TestSleep { public static void main(String args[]) throws InterruptedException{ Thr ...
- windows visual studio 2015安装
下载 首先到微软官方下载在线安装文件 https://www.microsoft.com 运行安装 点击运行后选择 自定义 选择安装功能,把sql server去掉,是数据库插件 点击下一步,中途会提 ...