学习笔记——交换——STP(生成树)简介

一、技术背景

1、生成树技术背景

交换机单线路组网,存在单点故障(上左图),上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,业务将会中断。

为了使得网络更加健壮、更具有冗余性,将拓扑修改为(上右图)接入层交换机采用双链路,联到两台汇聚设备,构成一个物理链路冗余的二层环境,解决了单链路及单设备故障问题。

但是这样也带来了一个大问题,就是二层物理环境存在环路。

2、二层环路带来的问题

(1)典型问题一:广播风暴

网络中如若存在二层环路,一旦出现广播数据帧,这些数据帧将被交换机不断进行泛洪,从而在网络中造成广播风暴。(上左图)

**广播风暴对网络的危害:**将严重消耗设备资源及网络带宽,最终导致网络瘫痪。

(2)典型问题二:MAC地址漂移

1.PC发送数据帧给Server;

2.SW3的MAC地址表中没有匹配目的MAC的表项,于是将数据帧进行泛洪;

3.SW1及SW2都会收到这个数据帧并学习源MAC,同时将数据帧进一步泛洪;SW1及SW2又从自己另一个接口收到这个数据帧,于是MAC表又一次发生改变,如此往复。

(上右图)以SW1为例,5489-98EE-788A会不断的在GE0/0/1与GE0/0/2接口之间来回切换,这被称为MAC地址漂移 现象。

即使不是人为搭建冗余的物理环境而导致的环路,网络也有可能因为种种原因出现二层环路引发的故障。

交换机环路带来的问题: 广播风暴、mac地址表不稳定、网络卡顿、网络不稳定、过多占用交换机的cpu和内存等等。

3、有没有什么办法解决环路的问题呢?

生成树(Spanning-tree)协议就是用于解决环路这个问题的。

什么是生成树?

1、解决二层环路。

2、防止广播风暴。 广播风暴造成的结果是什么? 造成广播风暴的原因是什么?

广播报文在两个或多个交换机间大量的、重复的、无休止的传递。洪范、冗余链路。

3、防止MAC地址表的不稳定。

4、防止数据帧的重复拷贝。

通过在交换网络中部署生成树(Spanning-tree)技术,能够防止网络中出现二层环路。

STP运行后,如果网络中存在环路,那么STP通过阻塞(Block)特定的接口从而打破环路 ,并且在网络出现拓扑变更时及时收敛,以保证网络的冗余性。(如上边左图所示)

当拓扑发生变更的时候,生成树协议能够探测到这些变化,并且及时自动的调整接口状态,从而适应网络拓扑的变化,实现链路冗余。(如上边右图所示)

4、生成树协议在园区网络中的应用位置

5、二层环路与三层环路

**常见环路主要分为:**二层环路和三层环路。

(1)三层环路 (2)二层环路

常见原因 :路由环路 **常见原因:**网络中部署了二层冗余环境,或人为的误接线缆导致;

防环方法: 防环方法:

1、通过动态路由协议防环。 1、需借助特定的协议或机制实现二层防环;

2、IP报文头部中的TTL字段用于防止报 2、二层帧头中并没有任何信息可用于防止数据帧被无

文被无止尽地转发。 止尽地转发。

二、STP简介

1、STP概述

STP(spanning tree protocol,生成树协议) STP是一个用于局域网中消除数据链路层物理环路的协议,标准名称是 802.1D

运行该协议的设备通过彼此交互信息而发现网络中的环路,对某些接口进行阻塞以消除环路。

STP在网络中运行后会持续监控网络的状态,当网络出现拓扑变更时,STP能够感知并且进行自动响应,从而使得网络状态适应新的拓扑结构,保证网络可靠性。(下左图)

注意: 在华为的交换机上,开机默认自动运行。

2、STP(生成树)作用

STP通过阻塞端口来消除二层交换机环路(交换机与交换机间),并能够实现链路备份的目的。

**消除环路:**通过阻塞冗余链路消除网络中可能存在的网络通信环路。

**链路备份:**当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。

**解决方案:**逻辑性阻塞某个接口. 使用STP来逻辑的阻塞某一个接口,使其只接收流量,不发送流量从而防止环路。

3、标准STP的缺陷

(1)收敛时间长

在默认情况下,STP的收敛时间为30s(侦听(Listening)+学习(learning)各15s),在某些场景下,收敛时间更是长达50s(例如根桥故障,不向外发送BPDU,交换机需要先等待20s的老化时间,再加上30s的侦听(Listening)+学习(learning)),在这个时间段内,会导致网络长时间的中断。

(2)拓扑变化时收敛机制不灵活

当企业上下班时间,每个员工将自己的PC进行开关机的操作,现网当中就会出现大量的TCN(拓扑变更) BPDU,影响设备的性能,而PC机器其实不需要参加到生成树计算当中。

BPDU转发时,唯一不变的是根桥的ID。

交换机只有在发送BPDU时,才会算上自己的开销,接受BPDU时,不会算上自己的开销(cost)。

**指定端口(DP):**发送最优的BPDU

**根端口(RP):**收最优的BPDU

**阻塞端口(AP):**既不是指定端口,又不是根端口,则为阻塞端口


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun 暗号:CSDN】

相关推荐
草堂春睡足1 小时前
【Datawhale AI夏令营】科大讯飞AI大赛(大模型技术)/夏令营:让AI理解列车排期表
人工智能·笔记
sssammmm1 小时前
AI入门学习-模型评估示例讲解
人工智能·学习
淮北4941 小时前
STL学习(四、队列和堆栈)
开发语言·c++·学习
落羽的落羽2 小时前
【C++】论如何封装红黑树模拟实现set和map
数据结构·c++·学习
Olrookie3 小时前
若依前后端分离版学习笔记(一)——本地部署
笔记·后端·开源
PerfumerKarma3 小时前
【WebGPU学习杂记】数学基础拾遗(2)变换矩阵中的齐次坐标推导与几何理解
学习·线性代数·矩阵
knight_20243 小时前
嵌入式学习日志————对射式红外传感器计次
stm32·单片机·嵌入式硬件·学习
go54631584654 小时前
基于分组规则的Excel数据分组优化系统设计与实现
人工智能·学习·生成对抗网络·数学建模·语音识别
##echo4 小时前
嵌入式Linux裸机开发笔记9(IMX6ULL)GPIO 中断实验(1)
linux·c语言·笔记·单片机·嵌入式硬件
●VON4 小时前
重生之我在暑假学习微服务第二天《MybatisPlus-下篇》
java·学习·微服务·架构·mybatis-plus