目录
三层架构
环路形成的问题:
STP(Spanning Tree Protocol):
STP主要作用
STP中的名词解释
STP操作协议过程
选举根桥
确定端口角色
根路径开销
桥ID作用
端口ID作用
端口状态
RSTP
MSTP
生成树的比较
在了解stp之前我们需要理解一些网络中的三层架构
核心层 :实现高速转发,NAT ( 路由器)
汇聚层:流量的集合 (三层交换机)
接入层:提供端口密度,用于用户的转发 (二层交换机)
其中在三层架构中最重要的思想为冗余:故线路冗余、设备冗余、网关冗余以及ups(电源冗余)
核心层中的路由器中有路由表有相对完善的算法,以及存在防环规则,故路由器物理链路上实施备份时,一般不会出现环路;
但交换转发数据依赖MAC表(CAM表),该表的生成规则非常简单(记录产生),没有防环设计,故只要交换机使用链路备份,就将出现二层环路;
CAM:将MAC地址+接口编号+VLAN ID进行哈希运算后,存储的哈希值;
为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量,从而影响整个网络的通讯。
总结:1、环路会引起广播风暴,网络中的主机会收到重复数据帧。
2、环路会引起MAC地址表震荡。
广播风暴(broadcast storm)简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播;由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪,这就是广播风暴。
MAC地址表震荡
交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的- MAC地址在交换机中的刷新时间为5min,一个接口可以对应多个MAC;但一台交换机上同一MAC地址只能对应一个接口;
解决方法
对于上述的一些问题我们需要一些解决方法即STP(Spanning Tree Protocol)
STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。
STP通过构造一棵树来消除交换网络中的环路。
每个STP网络中,都会存在一个根桥,其他交换机为非根桥。根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心,非根桥是根桥的下游设备。当现有根桥产生故障时,非根桥之间会交互信息并重新选举根桥。
1. 指定端口(DP)
2. 根端口(RP)
3. 预备端口/预备端口(AP)
指定端口:是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。抑制对端发送BPDU,自己发送BPDU。
根端口:是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。接收处理对端发送的BPDU报文。
阻塞端口:如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。接收对端发送BPDU报文,但是不处理。
BPDU:(桥协议数据单元)
为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU(Bridge Protocol Data Unit)中。
BPDU有两种类型:
1. 配置BPDU (周期2s发送 hollw time 20s)
2. TCN BPDU ()
配置BPDU包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。
首先为了防环,需要找一个中心设备,来作为生成的树形结构的根结点,这个根结点就是根桥了,根桥可以通过所有的端口完成对数据的转发。一旦根桥被选举出来,那其余的交换机就必须找出一个他自己的端口来作为根端口,每台交换机只能有一个根端口,并且任意两台交换机之间都要有且只能有一个指定端口 ,这一端口应与开销最小的链路相连,也就是带宽最大,最快的一条链路。
简介概括 (跟网桥 跟端口 指定端口 阻塞端口)
(1)选举根桥。
(2)每个非根桥交换机计算到达根桥的最短路径。
(3)选择活动端口以及端口的角色类型
桥ID=网桥优先级 + 桥MAC(本地背板池)
在网络的初期所有的STP设备都认为自己是根桥,所以他们会相互交换配置BPDU来比较桥ID。进而比较出最小的桥ID被选为根桥。因为桥MSC的地址在网络中唯一,所以能够保证桥ID在网络中也是唯一的。
在比较桥ID时先比较优先级,优先级小的优;若相同比较桥MAC,小优。(网桥优先级 0-65535,默认32768 )
1、根桥的所有端口为指定端口(DP)
2、为每个非根网桥选择跟路径开销最小的那个端口为跟端口(RP)该端口到根桥的路径是此网桥到根网桥的最佳路径
3、为每个物理段选择出跟路径开销最小的的那个网桥为指定桥,该指定桥到该物理段的端口作为指定端口,负责所在物理段上的数据转发
4、以上三种不是的,为Alternate端口,置于阻塞状态,不转发普通的数据帧。
通常情况下,链路的开销与物理带宽成反比。带宽越大,表明链路通过能力越强,则路径开销越小。
Down :所有接口通电后进入下一状态
RSTP是STP协议的优化版,不同处:在某些情况下,当一个端口被选为跟端口,RSTP为了减小端口从阻塞到转发的时延,提供了更好的用户服务。IEEE802.1中 rstp从这个三个方面实现”快速“
1、端口被选为跟端口
2、指定端口是非边缘端口
3、指定端口是边缘端口
快速的原理:
继承了快速生成树的基础; 将多个vlan放置于一个组内,基于每个组一棵生成树;
不同组间的BPDU中优先级= 4096倍数+组号
分组
[sw1]stp enable
[sw1]stp region-configuration
[sw1-mst-region]region-name a 所有设备应在一个域内
[sw1-mst-region]instance 1 vlan 1 to 5
[sw1-mst-region]instance 2 vlan 6 to 10
[sw1-mst-region]active region-configuration 激活当前配置(必须配置该指令)
若将创建某个组,但该组内的vlan,在本交换机上没有创建,同时没有为该vlan服务的接口;该组将没有任何信息;整个交换网络中所有设备的分组信息必须完全一致;
STP可以在交换网络中形成一-棵无环路的树,解决环路故障并实现冗余备份。
RSTP在STP功能基础上,通过使根端口快速进人转发状态、采用握手机制和设置边缘端口等方法,提供了更快的收敛速度。
MSTP则可以在大规模、多VLAN环境下形成多个生成树实例,从而高效地提供多VLAN负载均衡
MSTP同时兼容STP ,RSTP. STP.RSTP两种协议报文都可以被运行MSTP的设备识别并应用于生成树计算。
另外,RSTP MSTP与STP的端口状态也有所不同,从STP的5种变成3种。
STP基本配置
//802.1D配置命令:
[sw1]stp mode stp 修改为802.1d算法,当下华为默认为MSTP;
[sw1]stp priority 4096 修改网桥优先级
[sw1-GigabitEthernet0/0/1]stp cost ? 修改接口cost值
INTEGER<1-200000000> Port path cost
[sw1-GigabitEthernet0/0/1]stp port priority ? 修改接口优先级
INTEGER<0-240> Port priority, in steps of 16
stp priority [4096]。注意优先级步长为:4096。配置交换机优先级
stp root primary指定根桥。原理是将交换机优先级修改成0 也可以直接通过
stp cost [1000]。华为设备端口开销为20000 修改路径开销
stp port priority [0]。注意端口优先级步长为16。修改端口优先级
display stp 查看命令:
上述小结
1、STP产生的原因是为了消除路径环路。
2、STP通过选举根桥和堵塞冗余端口来除环。
3、相对于STP、RSTP具有更快的收敛速度;
相比RSTP,MSTP可支持多生成树实例以实现基于VLAN的负载分担。