Java教程

生成树协议——STP协议小结

本文主要是介绍生成树协议——STP协议小结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

STP(Spanning Tree Protocol)

  • STP概述
    • 1.STP协议介绍
    • 2.生成树产生的原因
    • 3.STP原理
    • 4.生成树模型
  • STP基本概念
    • 网桥ID(Bridge ID)
    • 端口ID(Port ID)
    • BPDU
    • 四种角色
    • 接口状态
    • 五种生成树

STP概述

1.STP协议介绍

生成树:在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径;当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用;

生成树在生成过程中,应该尽量的生成一棵星型结构,且最短路径树;

2.生成树产生的原因

众所周知,企业在设计网络拓扑的时候一般存在四种冗余(也就是备份),分别是线路冗余,设备冗余,网关冗余和电源冗余。

其中,线路冗余在三层架构中一般会存在环路问题,为了避免这个现象产生,就有了生成树这个概念。

在二层网络环境中,出现环路的问题也是比较严重的,常见的有:

广播风暴;

MAC地址表翻滚;

同一数据帧重复拷贝。

3.STP原理

STP的作用是通过阻断冗余链路,使一个有回路的桥接网络修剪成一个无回路的树形拓扑结构。

4.生成树模型

(1)单生成树实例模型:SST(Singles STP),交换机上所有vlan只能使用相同的一个拓扑,华为单实例模型只有STP和RSTP模式

(2)多生成树实例模型:MST(Multiple STP),可以自定义实例的数量,可手工指定哪些vlan使用哪些实例。华为默认生成树协议为MSTP。

(3)基于VLAN生成树实例模型:VBST(vlan-based STP),每个vlan都拥有各自的生成树实例,实例与拓扑之间独立不相关。(此生成树只在特定交换机平台支持,不建议使用)


STP基本概念

网桥ID(Bridge ID)

理论上:由16位桥优先级和48位桥MAC地址构成。
实际上:高16位桥优先级中,仅高4位用于优先级,低12位用户扩展(systemID)。
STP中,BID最小值被选为根桥。

端口ID(Port ID)

PID可能影响指定端口的选举。PID最小值被选为指定端口。
理论上:Port ID长度为2字节,1字节为端口优先级,1字节为端口号
实际上:优先级仅占高4位,低12位为端口号
默认端口优先级为128,即1000,修改优先级可影响端口PID,进而影响指定端口的选举。
华为命令 stp port priority。

BPDU

BPDU包含:{根桥ID、到根桥的成本、邻居交换机BID(收时为邻居、发时为自己)、邻居交换机PID},最小值最优
注意:刚启动时交换机认为自己时根交换机,此时BPDU的根桥ID和邻居交换机BID都为自己的ID
在这里插入图片描述

配置BPDU——只有根网桥可以发送,在交换网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送;使得网络中所有交换机均收到其他设备的BPDU,之后基于数据中的参数进行比对,选举出根网桥;之后所有非根网桥不再发送BPDU,而是仅接收和转发根网桥的BPDU;发送周期2s,hold time 20s;

TCN(拓扑变更信息)——也是BPDU,用于在拓扑结构发生变化或者本地交换机发生故障的时候,为了快速通知其他路由器以更新MAC表,向其发送TCN。邻居交换机收到TCN包后,将ACK位标记为回复,用于可靠消息的传输,再将TCN逐级转发给根网桥,并等待根网桥的通知,所有交换机MAC表的老化时间改为15s

在这里插入图片描述

四种角色

根桥(根网桥):在一棵生成树实例中,有切仅有一个根网桥,用于BPDU的发送,指挥和管理其余交换机,它是整棵树的根,二层网络的核心部分

根网络的选举:首先比较交换机的BID优先级(0-65535,默认32768),小者优先,可修改;若优先级相同,比较其MAC地址,数值小者优先。

根端口:在每一台非根网桥上有且仅有一个接口;本地离根网桥最近的接口,用于接收来自根网桥的BPDU,同时转发终端的数据帧;

根端口选举规则:
(1)首先比较流量进入接口时的最小cost值;
(2)其次比较对端的BID,小者优先;
(3)若对端BID也相同,比较对端接口的PID,小者优先;
(4)若对端设备的PID相同,那么比较本地的PID,小者优先

PID由接口优先级(0-240,默认128)和接口编号组成,先比较接口优先级,小者优先;若优先级相同比较接口编号,小者优先。

指定端口:在每一段运行了STP的物理链路上有且只有一个接口,用于转发来自根网桥的BPDU,同时转发终端设备的数据帧,根网桥的所有端口都是根端口,根端口的对端一定是指定端口;

指定端口的选举:
(1)首先比较转发来自根网桥的BPDU时,出接口的最短cost值,小者优先;
(2)其次比较两个接口所在交换机的BID,小者优先;
(3)若本地BID相同,比较本地的PID,小者优先;
(4)若本地PID也相同,直接阻塞该端口。

非指定端口(阻塞端口):在选举完以上角色之后,剩余的端口均为非指定端口,并将其逻辑阻塞(并不是接口被关闭,该接口处于只能接收数据但不能转发数据的状态)。

接口状态

Down :所有接口通电后进入下一状态

侦听:交换机收发BPDU,选出所有角色;根端口、指定端口15s后进入学习状态;非指定端口进入阻塞

学习:学习终端设备发出数据帧中的源mac地址,生成交换机的MAC表(CAM表);15s后进入转发状态

转发:根端口、指定端口可以开始转发终端的数据帧

阻塞:逻辑阻塞

五种生成树

(1)802.1D
世界上第一种生成树,后续的生成树都是在其基础上改进

优缺点:收敛速度很慢;链路利用率很低。

(2)PVST (CISCO私有生成树)
在802.1D的基础上升级,基于VLAN分成不同的树仅支持trunk干道封装为ISL(cisco私有封装)

优缺点:收敛速度依然很慢;生成树过多,对交换机负担较大

(3)PVST +
在PVST的基础,兼容802.1q的trunk封装;且设计了部分的加速;省去了20s的hold time

优缺点:收敛慢(加速不彻底);树多(仅cisco存在单独的芯片,友商无法负荷)

(4)快速生成树(RSTP)
公有RSTP为802.1w,是802.1d的升级,取消计时器,分段式同步,将端口加速

优缺点:收敛速度快;整个交换网络一棵树,链路利用率低

(5)MSTP/MST/802.1S
华为设备默认使用该协议,继承了快速生成树的基础; 将多个vlan放置于一个组内,基于每个组一棵生成树

优缺点:收敛速度快;链路利用率高

这篇关于生成树协议——STP协议小结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!