stp

配置STP、RSTP以及负载均衡

纵然是瞬间 提交于 2019-12-22 19:04:17
生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。 每个VLAN都生成一棵树是一种比较直接,而且最简单的解决方法。它能够保证每一个VLAN都不存在环路。但是由于种种原因,以这种方式工作的生成树协议并没有形成标准,而是各个厂商各有一套,尤其是以Cisco的VLAN生成树PVST(Per VLAN Spanning Tree)为代表。 SW1,SW2,SW3同一的配置。 SW1为例 Switch>en Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname SW1 SW1(config)#interface range fastEthernet 0/23-24 SW1(config-if-range)#switchport mode trunk SW1(config-if-range)#end SW1#show interfaces trunk Port Mode Encapsulation Status Native vlan Fa0/23 on 802.1q trunking 1 Fa0/24 on 802.1q trunking 1 Port Vlans allowed on

理解STP及端口角色状态

别等时光非礼了梦想. 提交于 2019-12-19 14:22:31
广播风暴 当两个以上的网桥使用或交换机端口交叉连接时,网络拓扑结构会产生回路,引发转发帧的无限循环,并迅速扩散到整个网络的回路中。网络中充斥着大量广播帧导致大面积网络拥塞,这种现象就称为广播风暴(broadcast storm)。 广播风暴产生过程如下: 生成树协议 生成树协议STP(Spanning Tree Protocol)通过在每个网桥或交换机禁用某些端口来工作,这样可避免拓扑环路(即两个网桥之间不允许出现重复路径)。为实现STP还需要各网桥之间按照生成树算法要求进行信息交换,以找出根网桥及其子网桥,并禁用某些会形成环路的端口。信息交换通过网桥协议数据单元(Bridge Protocol Data Unit)来实现。 端口5种状态 网桥或交换机的端口可能有5个状态:阻塞、侦听、学习、转发和禁用。他们之间的状态转换如图所示: 上图中,实线箭头表示端口的正常转换,虚线箭头表示由管理配置引起的改变。 交换机上的端口在启动stp协议后,端口存在的五种状态: 1、禁用(disabled) - 该端口只是相应网管消息,并且必须先转到阻塞状态。这种状态可以是由于端口的物理状(如端口物理层没有up)态导致的,也可能是管理员手工讲端口关闭。 2、 阻塞(blocking) - 处于这个状态的端口不能够参与转发数据报文,但可以接收BPDU配置消息,并交给CPU处理。不过不能发送配置BPDU消息

MSTP实现负载均衡

倾然丶 夕夏残阳落幕 提交于 2019-12-16 21:34:54
大家好,今天给大家做一次如何用MSTP实现负载均衡 首先大家看一下这张图,我们今天利用MSTP实现VLAN10和VLAN20的主根是S1,VLAN30和VLAN40的主根是S2,意思就是当两条链路都是好的时候,s3去访问的时候是通过s1,当去往主根那条断了,访问的时候是通过s2。VLAN30和VLAN40访问正好相反,这就达到了负载均衡。 一,首先我们要设置的第一步就是把所有链路全设为trunk,并且设置允许所有VLAN通过,因为我们要实现不同VLAN通过一条链路去访问。 这里我已经把s1交换机的所有端口加入到group1里,把组加入trunk,具体命令如下 [Huawei]port-group 1 [Huawei-port-group-1]group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/5 [Huawei-port-group-1]port trunk allow-pass vlan all [Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all [Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan all [Huawei-GigabitEthernet0/0/3]port trunk

STP基本概念及实验

房东的猫 提交于 2019-12-06 16:58:31
相关命令(华为交换机): stp enable(在交换机开启stp;stp使能) display stp 查看stp状态 stp mode stp/rstp/mstp 启用stp/rstp/mstp协议 stp priority (更改桥ID也就是BID,根据桥ID确定优先级也就是让其被选为根桥)参数必须为4096的倍数 默认是32768 stp cost 2000 将路径开销值设为2000 stp root primary 指定根桥 stp root secendary 如果根桥down掉 会启用本台交换机为根桥 dis stp brief 查看各个端口 端口角色 端口状态   DESI指定端口   ALTE阻塞端口(如果正常链路被down掉 阻塞端口会顶替正常端口的作用)   ROOT根端口 RSTP 快速生成树 stp edged-port enable 先进入端口视图 在其下配置边缘端口(一般连接终端的PC机才会设置为边缘端口) stp root-protection 开启根保护 stp bpdu protection 开启BPDU保护 STP(Spanning Tree Protocol):是一种由交换机运行的,用来解决交换网络中环路问题的数据链路层协议。 环路问题指的是如下图所连接的样子 MAC地址表翻拜 广播风暴: 多帧复制: 桥的MAC地址

RSTP基础配置

邮差的信 提交于 2019-12-06 16:51:47
1.RSTP基础配置 1.1 原理概述   RSTP端口角色共有4种:根端口、指定端口、Alternate端口和Backup端口。   Alternate端口就是由于学习(Learning)到其他网桥发送的配置BPDU报文而阻塞的端口,Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。   Backup端口就是由于学习到自身发送的配置BPDU报文而阻塞的端口,Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。   RSTP的三种状态,根据端口是否转发用户流量和学习MAC地址来划分:Discarding状态,既不转发用户流量也不学习MAC地址;Learning状态,不装发用户流量但学习MAC地址;Forwarding状态,既转发用户流量又学习MAC地址。   三种RSTP的快速收敛机制:1)Proposal/Agreement机制:当一个端口被选举为指定端口以后,此端口会先进入Discarding状态,再通过Proposal/Agreement机制(P/A机制)快速进入Forwarding状态。这种机制必须在点到点全双工链路上使用。2)根端口快速切换机制:如果网络中一个根端口失效,那么网络中最优的Alternate端口将成为根端口,进入Forwarding状态。3)边缘端口的引入:在RSTP中

在ensp上的mstp基础配置

末鹿安然 提交于 2019-12-06 16:25:23
为什么需要mstp? 因为stp中存在阻塞端口,阻塞后不承载流量,造成了带宽浪费 实验模拟 实验拓扑 相关参数 首先我们在交换机上创建vlan 10,20 设置端口 默认是运行mstp服务看一下 pc1和pc2 ping一下,在s2的e0/0/2抓包,发现没有数据从这里经过,此时S2和S3之间的链路完全闲置浪费资源 下面我们配置多个MST域,每个域中都有一张映射表,描述VLAN与MSTP之间的映射关系,默认情况下都映射到MSTI 0中 进去MST域 修改域名 设置修订级别为1 指定VLAN10映射到MSTI 1中,指定VLAN20映射到MSTI2中 激活MST域配置 S2,S3上一样的配置,同一MST域中必须具有相同的域名,修订级别和vlan映射关系 设置完成后,查看MST域的配置信息 ping的话再在E0/0/2接口上还是抓不到数据包,因为我们虽然配置了MSTP多实例,但是每个实例都进行独立的生成树计算 我们来看一下不同实例中的生成树状态和信息,发现一样 我们要实现链路被利用,我们可以在实例1中保持不变,实例2中使S2成为根交换机 再看一下实例2就会发现改变了,S2成为根交换机 在S3的E0/0/1接口抓包 发现可以通过(PC1和PC2) 在S3的E0/0/2接口抓包发现可以通过(PC3和PC4) 完成!nice!记得save 来源: https://www.cnblogs

STP配置和选路规则

人走茶凉 提交于 2019-12-06 15:25:46
1.用四台S3700交换机,2台PC机,组建网络拓扑       2.对mengyu-S1进行设置   (1)在交换机启用生成树(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树STP;        (2)配置完成后,默认情况下需要等待30s生成树重新计算的时间,再用命令“display stp”查看mengyu-S1生成树的状态        (3)也可以使用命令“display stp brief”,查看摘要信息         3.对mengyu-S2进行设置   (1)在交换机启用生成树(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树STP;        (2)配置完成后,默认情况下需要等待30s生成树重新计算的时间,再用命令“display stp”查看mengyu-S2生成树的状态        (3)也可以使用命令“display stp brief”,查看摘要信息      4.对mengyu-S3进行设置   (1)在交换机启用生成树(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树STP;        (2)配置完成后,默认情况下需要等待30s生成树重新计算的时间,再用命令“display stp”查看mengyu-S3生成树的状态        (3)也可以使用命令“display stp

STP生成树协议

谁说胖子不能爱 提交于 2019-12-06 15:00:51
1、环路问题 1.1广播风暴    广播风暴的概念: 网络中的每一台交换机都会不停的收到帧的拷贝,并对其执行泛洪操作,没执行一次泛洪操作,都会收到一个帧的拷贝,如此循环,就会产生广播风暴。    广播风暴带来的问题: 大量消耗网络中的带宽资源以及计算机的处理资源,可能导致计算机瘫痪或者局域网局部或者整个网络瘫痪。 1.2 MAC地址表的翻摆    概念: 当pc发送了一个广播帧A,交换机收到这个广播帧之后会进行泛洪操作。这样以来,这个广播帧会顺时针和逆时针不停的旋转,每次A进入交换内,交换都会不停的修改mac-address表,这样就形成了mac地址表的翻摆。    危害: 快速的mac地址表翻摆会大量消耗交换机的cpu,严重导致网络的拥堵。 1.3 多帧复制    多帧复制的概念: pc1向pc2发送了一个单播帧B,假设SW1的mac-address中没有关于pc2的mac地址,SW2的mac-address中存在pc2的mac地址,SW3的mac-address中也存在关于pc2的mac地址。当pc1向pc2发送一个单播帧B的时候,由于SW1不知道 pc2的mac地址,所以SW1会进行泛洪的操作,这样以来,SW2和SW3都会收到一个单播帧B,又由于,SW2和SW3都存在pc2的mac地址,所以SW2和SW3都会对单播帧B进行对pc2的转发操作

eNSP——STP配置和选路规则

血红的双手。 提交于 2019-12-06 10:26:50
原理: STP是用来避免数据链路层出现逻辑环路的协议,使用BPDU传递网络信息计算出一根无环的树状网络结构,并阻塞特定端口。 在网络出现故障的时候,STP能快速发现链路故障,并尽快找出另外一条路径进行数据传输。 交换机上运行的STP通过BPDU信息的交互,选举根交换机,然后每台非根交换机选择用来与根交换机通信的根端口,之后每个 网段选择用来转发数据至根交换机的指定端口,最后剩余端口则被阻塞。 在STP工作过程中,根交换机的选举,根端口、指定端口的选举都非常重要。华为VRP提供了各种命令来调整STP的参数,用 以优化网络。例如,交换机优先级、端口优先级、端口代价值等。 例子: 公司购置了4台交换机,组建网络。考虑到网络的可靠性,将4台交换机如图4-1所示拓扑搭建。由于默认情况下,交换机之间运 行STP后,根交换机、根端口、指定端口的选择将基于交换机的MAC地址的大小,因此带来了不确定性,极可能由此产生隐患。 公司网络规划,需要S1作为主根交换机,S2作为S1的备份根交换机。同时对于S4交换机,E0/0/1接口应该作为根端口。对于S2和 S3之间的链路,应该保证S2的E0/0/3接口作为指定端口。同时在交换机S3上,存在两个接口E 0/0/10、E 0/0/11连接到测试PC,测试 PC经常上下线网络,需要将交换机S3与之相连的对应端口定义为边缘端口,避免测试电脑上下线对网络产生的影响

可持久化[学习笔记]

喜夏-厌秋 提交于 2019-12-06 08:01:02
可持久化应该都知道… 就是可以回退历史版本…以及区间查询一些东西比如说k值…(不过k值还不是主要用处?) 可持久化略解: 就是复制其他的根节点 按照过去版本添加当前版本新建节点…和之前是独立的 但是是共用节点…从而使内存减少了很多… 按照以前的版本新建节点到当前的版本…复制版本就是直接复制根节点 rt[i]=rt[pre]; 可持久化线段树 求静态区间k大… 就是弄个前缀和的东西 l~mid mid+1~r的这段值域中二分没了… #include <cstdio> #include <algorithm> using ll = long long ; using namespace std ; int read() { int x = 0 , f = 1 ; char c = getchar() ; while(c < '0' || c > '9') { if(c == '-') f = -1 ; c = getchar() ; } while(c >= '0' && c <= '9') { x = (x << 1) + (x << 3) + (c & 15) ; c = getchar() ; } return x * f ; } template < class T > void print(T x , char c = '\n') { static char _st[100]