生成树

简介: 生成树

二层环路带来的问题:

广播风暴和MAC地址漂移

STP基本概念

桥ID

桥ID(Bridge ID,BID)

桥ID是由桥优先级和桥MAC地址构成。

每一台运行STP的交换机拥有一个唯一的BID。

桥优先级必须是4096的倍数,优先级相同,比较MAC地址。

根桥

STP的主要作用之一是在整个交换网络中计算出一科无环的“树”(STP树)。

根桥是一个STP交换网络中的“树根”。

桥ID最小的设备会被选举为根桥。

桥ID包括优先级和MAC地址

一般情况,根桥上面的端口都是指定端口

cost

开销。

接口的cost主要用于计算根路径开销,也就是到达根的开销。

接口带宽越大,则cost值越大。

RPC

根路径开销。

根桥的根路径开销是0。

Port ID

接口ID。

由接口优先级和接口编号组成。

接口优先级取值范围是0到240,步长为16,取值是16的整数倍。缺省情况下,端口优先级是128。

BPDU

网桥协议数据单元。

BPDU有两种类型:配置BPDU和TCN BPDU。

配置BPDU的报文格式:

PID:协议ID,对于STP而言,永远都是0

PVI:协议版本ID,STP是0,RSTP是2,MSTP是3

BPDU Type:本BPDU的类型,0x00,表示为配置BPDU;值为0x80,则为TCN BPDU。

Flags:标志,STP只使用了该字段的最高和最低两个比特位,最低是TC(拓扑变更)标志,最高为是TCA(拓扑变更确认)标志。

Root ID:根网桥的桥ID

RPC:根路径开销

Bridge ID:BPDU发送桥的ID

Port ID:BPDU发送网桥的接口ID(优先级+接口号)

Message Age: 消息寿命,从根网桥发出BPDU之后的秒数,每经过一个网桥都减1,本质是到达根桥的跳数,默认15。

Max Age:最大寿命,当一段时间没收到任何BPDU,网桥认为该接口连接的链路发生故障,默认为20S

Hello Time:根网桥发送的BPDU的时间间隔,默认2S。

Forward Delay:转发延迟,在侦听和学习这两个状态停留的时间间隔,分别为15S。

STP按照以下顺序选择最优的配置BPDU:

BPDU只能由根桥发送

BPDU只能送DP口发出去

1、最小的根桥ID

2、最小的RPC

3、最小的桥ID

4、最小的接口ID

STP操作:

1、选举一个根桥;

2、每个非根交换机选举一个根端口;

3、每个链路选举一个指定端口;

4、阻塞非根、非指定端口

STP选举:

根据BPDU格式来选举:

1、根桥ID

2、RPC根路径开销

3、发送者桥ID(优先级+MAC地址)

4、发送者的端口ID(端口优先级+端口编号)

RPC:根路径开销(COST值)

BID:Bridge ID(桥ID,由交换机优先级和MAC地址组成)

PID:Port-ID(端口ID,抓包看,或者接口编号)

STP状态:

状态名称

状态描述

禁用(Disable)

接口未启用,down状态。该接口不能收发BPDU,也不能收发业务数据帧。

阻塞(Blocking)

该接口被STP阻塞,阻塞端口。不能接收BPDU和收发业务数据帧,也不会进行MAC地址学习但会侦听BPDU。

侦听(Listening)

根端口或指定端口。接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习。

学习(Learning)

会侦听业务数据帧(但不能转发),可以收发BPDU,并且在收到业务数据帧后进行MAC地址学习。

转发(Forwarding)

可以正常的收发业务数据帧,也会处理BPDU。需要端口角色是根端口或指定接口才能进入转发状态。

STP接口从禁用或down状态进入到转发状态要经过30S(侦听15S+学习15S)。

STP接口的状态迁移

1、接口刚激活时,所有接口角色为DP指定端口,状态为阻塞状态;

2、接口被选举为根接口或指定接口,自动进入侦听状态,在侦听状态会停留15秒(转发时延);

3、15秒过后会进入学习状态,在学习状态依然会停留15秒(转发时延);

4、然后进入转发状态。

为什么要停留30S进入转发状态?

因为交互BPDU,选举端口角色需要时间,如果不停留此时间,当交换机泛洪广播报文,此时容易造成环路。

STP拓扑故障

直连链路故障

当某台交换机检测到根端口的链路发生故障,则其备用端口会经过30S的转发时延进入流量转发状态。

非直连链路故障

在非直连故障中,某台交换机所在的根端口链路不知道此链路发生故障,所以就收不到BPDU报文,Max Age计时器(缺省20S),就会超时。超时之后,交换机就认为自己是根桥,发送BPDU,然后就会从原来的阻塞端口变为转发端口(两倍的转发Forword Delay30S),所以非直连链路故障,收敛时间为20+30S等于50S。

根桥故障

根桥故障后,下游交换机收不到BPDU,Max Age计时器超时20S。然后下游交换机就认为自己是根桥,与其他交换机相互比较,之后,原来的阻塞端口变为转发端口,经过30S,所以根桥故障会导致50S的故障时间。

拓扑变更带来的MAC地址表错误

如果某台交换机发生故障,会改变端口角色,就会导致原来学习到MAC地址表中,所在链路的端口故障,从而导致MAC地址表的转发端口,转发不出去。但MAC地址表的老化时间是300S,时间太长。

1、那么当拓扑变更后,下游交换机感知到,会向上游发送TCN BPDU报文。(TCN拓扑变更告警)

2、 上游收到后会回应TCA置位1的配置BPDU,告知下游交换机停止发送TCN BPDU报文。

3、由其他上游设备再向根桥转发TCN BPDU报文

4、最后根桥收到TCN BPDU报文后,在15S内会不断的发送BPDU报文中的Flags的TC位置为1后发送,通知下游交换机收到后把所有MAC地址的老化时间改为15S,15S之后重新学习MAC地址。15S内不断发送,是为了让每个交换机都能统一的收到,防止有些交换机因传输距离过远导致没有收到。

相关文章
|
1月前
|
负载均衡 网络虚拟化
生成树详细配置(STP、RSTP、MSTP)
生成树详细配置(STP、RSTP、MSTP)
生成树详细配置(STP、RSTP、MSTP)
|
1月前
|
负载均衡 算法 网络虚拟化
生成树原理详解
生成树原理详解
|
6月前
Stp-生成树实验
Stp-生成树实验
|
算法 数据库 网络虚拟化
生成树,多生成树,快速生成树
生成树,多生成树,快速生成树
348 0
|
负载均衡 算法 网络虚拟化
生成树详细 原理+算法
生成树详细 原理+算法
176 0
|
算法
设计算法求无向图的深度优先生成树
设计算法求无向图的深度优先生成树
93 0
|
负载均衡 网络虚拟化
MSTP多生成树协议
1、MSTP概述 2、MSTP相关配置命令
|
算法
STP生成树协议
1、STP介绍 2、STP生成树算法
STP生成树协议
STP生成树协议的介绍
STP是一种网络上使用非常广泛的技术。现在已经衍生了STP,RSTP,MSTP。
680 0
STP生成树协议的介绍