数据通信基础——生成树协议(STP)学习笔记

生成树协议学习笔记

前言

以太网为了提高网络的可靠性,往往会有冗余链路,即使某一条链路断了,别的链路也可以继续使用,而这样的做法难以避免产生环路,从而引发广播风暴MAC地址表不稳定的现象,影响通信质量。为了解决这些问题,提出了生成树协议(STP,Spanning Tree Protocol)。基本原理是让设备通过交互信息发现了网络中的环路,有选择的对某个接口进行堵塞。

广播风暴:根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的 MAC 地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。

MAC 地址表漂移:交换机是根据所接收到的数据帧的源地址和接收端口生成MAC 地址表项的,如果广播来回从不同的端口进进出出,MAC地址与接口的映射也就在不断改变。

生成树协议应用于园区网络的二层网络中,进行链路备份和消除环路。
数据通信基础——生成树协议(STP)学习笔记_第1张图片

STP基本概念及工作原理

(1)桥ID
每一台交换机都有一个标识符,叫做桥ID,由16位的桥优先级(Bridge Priority )和 48 位的 MAC 地址构成。在地址构成。在 STP 网络中,桥优先级是可以配置的,取值范围是 0~65535 ,默认值为32768, 可以修改但是修改值必须为1024的倍数。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较 MAC 地址, MAC地址越小则越优先。

如下图中,需要在该网络中选举根桥,首先比较三台交换机的桥优先级,桥优先级都为4096再比较三台交换机的 MAC 地址,谁小谁优先,最终选择 交换机SW1 为根桥。
数据通信基础——生成树协议(STP)学习笔记_第2张图片

(2)根桥
对于一个STP网络,根桥只有一个,是整个网络的逻辑中心,但是不一定是物理中心,它会随着网络拓扑的变化而变化。
数据通信基础——生成树协议(STP)学习笔记_第3张图片

(3)Cost
交换机的每个端口都有一个端口开销( Port Cost )参数,此参数表示该端口在STP中的开销值。默认情况下端口的开销和端口的带宽有关,带宽越高,开销越小。
数据通信基础——生成树协议(STP)学习笔记_第4张图片
(4)RPC
从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收 BPDU 端口的端口开销总和(即 BPDU 的入方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为 RPC ,并生成无环树状网络。根桥的根路径开销是 0 。
数据通信基础——生成树协议(STP)学习笔记_第5张图片
(5)Port ID
运行 STP 交换机的每个端口都有一个端口 ID ,端口 ID 由端口优先级和端口号构成。端口优先级取值范围是 0 到 240 ,步长为 16 ,即取值必须为 16 的整数倍。缺省情况下,端口优先级是128 。 端口 ID 可以用来确定端口角色。
数据通信基础——生成树协议(STP)学习笔记_第6张图片
(6)BPDU
为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在 BPDU中。BPDU 有两种类型:配置 BPDU 和 TCN BPDU 。配置 BPDU 包含了桥 ID 、路径开销和端口 ID 等参数。
数据通信基础——生成树协议(STP)学习笔记_第7张图片
STP 协议通过在交换机之间传递配置 BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。

在初始化过程中,每个桥都主动发送配置 BPDU 。在网络拓扑稳定以后,只有根桥主动发送配置 BPDU ,其他交换机在收到上游传来的配置 BPDU 后,才会发送自己的配置 BPDU 。TCN BPDU 是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。
数据通信基础——生成树协议(STP)学习笔记_第8张图片
数据通信基础——生成树协议(STP)学习笔记_第9张图片
数据通信基础——生成树协议(STP)学习笔记_第10张图片
交换机在刚启动时都认为自己是根桥,互相发送配置 BPDU 进行 STP 运算。
数据通信基础——生成树协议(STP)学习笔记_第11张图片

STP的计算过程

(1)选举根桥
数据通信基础——生成树协议(STP)学习笔记_第12张图片
(2)选举根接口

一个非根桥设备上会有多个端口与网络相连,为了保证从某台非根桥设备到根桥设备的工作路径是最优且唯一的,就必须从该非根桥设备的端口中确定出一个被称为“根端口”的端口,由根端口来作为该非根桥设备与根桥设备之间进行报文交互的端口。在选举出根桥后,根桥仍然持续发送 BPDU ,而非根桥将持续不断的收到根桥发送的BPDU 。因此,在所有非根桥上选举一个距离根桥“最近”的端口(根端口),在网络收敛后,根端口将不断的收到来自根桥的 BPDU 。

数据通信基础——生成树协议(STP)学习笔记_第13张图片
(3)选取指定接口
数据通信基础——生成树协议(STP)学习笔记_第14张图片

数据通信基础——生成树协议(STP)学习笔记_第15张图片
(4)阻塞非指定接口
数据通信基础——生成树协议(STP)学习笔记_第16张图片
数据通信基础——生成树协议(STP)学习笔记_第17张图片

你可能感兴趣的:(数据通信基础,网络通信)