网络之路26:STP生成树协议

简介: 网络之路26:STP生成树协议


6、以太网交换基础实验

学习过了基础的网络实验配置,我们应该对网络实验有了简单的了解。接下来,我们继续学习交换机相关的二层技术配置,在H3C认证课程中,该系列课程为构建高性能园区网络,我们先介绍其中比较简单的部分。

6.1、生成树协议

前面介绍VLAN的时候网络之路24:VLAN基础实验,我们提过,如果在实际网络环境中,因为接线不当等原因,可能会出现网络环路的情况。

大概像上图这样,多台设备首尾相连,此时广播报文就会在几台设备之间不断传播,在传播的同时又在生成新的报文。在这种网络中,过不了多久,网络里的流量就达到设备的性能瓶颈了,出现性能显著下降,甚至网络不可用等问题,影响正常业务报文的转发;这种情况,我们一般称之为“广播风暴”

我们一般将交换机分为傻瓜交换机(二层交换机)和可管理交换机(三层交换机),可管理交换机大部分都可以支持STP(Spanning Tree Protocol,生成树协议),生成树协议是一种二层管理协议,它通过选择性地阻塞网络中的冗余链路来消除二层环路,同时还具备链路备份的功能。

然后我们使用HCL构造一个下图这样的网络拓扑网络之路11:认识网络设备模拟器HCL

在不区分VLAN的情况下,要从PC4访问到PC6,可能的路径有以下3条:

1、PC4→SW1→GE0/1→SW2→PC6

2、PC4→SW1→GE0/4→SW2→PC6

3、PC4→SW1→GE0/2→SW3→SW2→PC6

同时我们也能明显的看到,图里面存在环路,此时STP就派上用场了。在H3C的交换机设备上,默认是全局开启了STP的,我们可以通过命令进行查看。

STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息,STP通过在设备之间传递BPDU来确定网络的拓扑结构,同时确定端口的角色和状态。STP的端口状态有3种,主要状态为Forwarding(该状态下的端口可以接收和发送BPDU,也转发用户流量)和Discarding(该状态下的端口可以接收和发送BPDU,但不转发用户流量),还有一种过渡状态Learning,该状态下的端口可以接收和发送BPDU,但不转发用户流量。

我们看一下SW2的端口角色和状态。

再看一下SW3的端口角色和状态。

那么此时的链路状态如下所示:

一共4条链路,SW2和SW3的互联线路不转发数据,SW1和SW2的其中一条互联线路不转发数据,虽然接口的物理状态还是UP的,但现在逻辑上已经不存在环路了。

然后我们看一下SW2上出现的3种端口角色:

1、GE1/0/1为根端口(Root Port),对应Role为ROOT,是指非根桥设备上离根桥最近的端口,用于在非根桥上负责向根桥方向转发数据。那什么是根桥呢?STP认为树形的网络结构必须有树根,于是便引入了根桥的概念,根桥会根据网络拓扑的变化实时选举改变,但是一个STP中有且只有一个根桥,其他设备则称为叶子结点。以此拓扑为例,非根桥设备SW2和SW3上有且只有一个根端口,而根桥设备SW1上没有根端口。

2、GE1/0/2为指定端口(Designated Port),对应Role为DESI,与根端口相反,指定端口负责向下游网段或设备转发数据的端口。

3、GE1/0/4为替换端口(Alternate Port),对应Role为ALTE,是根端口(STP)和主端口(MST)的备份端口。当根端口或主端口被阻塞后,替换端口将成为新的根端口或主端口。

通过命令,我们可以查看生成树端口角色计算的历史信息。

我们可以看到接口GE1/0/1的变化过程为DISA→DESI→ROOT,而GE1/0/4的变化过程为DISA→DESI→ALTE,这就说明了根桥的选举过程。

在网络初始化过程中,所有设备都视自己为根桥,生成各自的配置BPDU并周期性地向外发送,BPDU的关键信息包括根桥ID、根路径开销、指定桥ID、指定端口ID等等,通过前面的计算历史我们可以看出,这些ID基本上都由端口的优先级和MAC地址组成。缺省情况下,设备的优先级都是32768,端口的优先级都是128,所以根桥一般都是由MAC地址确定的。只要设备的生产符合规则,没有任何两台设备的MAC地址是一样的,所以MAC地址小的设备发送的BPDU优先级就会更高,在选举的第一步就会直接选举成为根桥,也就不会进入到根路径开销等选举过程。当网络拓扑稳定以后,只有根桥设备才会向外发送配置BPDU,其他设备则对其进行转发。

以SW1为例,它的根桥ID就是32768.acb6-e75e-0100,因为它是第一台创建的设备,正常来讲它的MAC地址就是最小的。同时我们可以看到BPDU的发送周期Hello Time为2秒,那我们接下来就可以测一下STP的链路备份功能了。

现在计算PC4到PC6的路径为PC4→SW1→GE0/1→SW2→PC6,那么我们在PC4上发起长ping,然后DOWN掉SW1的GE1/0/1接口,看看报文的中断情况。

一个报文都没丢,我们看一下SW2的状态变化。

从日志来看,整个切换过程一共只有5 MS。

从生成树端口角色计算的历史信息来看,接口GE1/0/1的状态DOWN掉之后,接口GE1/0/4马上切换为ROOT根端口,负责向根桥SW1方向转发数据,使得业务中断未引起明显的业务感知。

此时,网络中还存在一条冗余链路呢。

我们查看SW3的端口状态,此时GE1/0/1仍然是替换端口,PC4到PC6的路径为PC4→SW1→GE0/4→SW2→PC6。

那么我们在PC4上发起长ping,然后DOWN掉SW2的GE1/0/4接口,看看报文的中断情况。

一个报文都没丢,我们看一下SW2的状态变化。

看一下SW3的端口角色计算历史信息,SW2的接口的状态变化之后,SW3的接口GE1/0/1马上切换为DESI指定端口,负责向下游设备SW2转发数据的端口转发数据,使得业务中断未引起明显的业务感知。

通过两次测试,均没有丢包,也没有引起明显的时延跳变,说明STP的收敛速度确实很快。然后我们把两个接口都恢复,再看看生成树的状态会变成什么样。

状态也是很快就切换了,没有丢包也没有引起明显的时延跳变,SW2的端口角色和状态与之前完全一致。

SW3的端口角色和状态也与之前完全一致。只是收敛速度太快,都看不到LEARNING的状态,而且日志也没有记录,只有TC的报文,谁能给个显示状态变化日志的方法?


相关文章
|
4月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
388 22
|
1月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
1月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
142 4
|
2月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
6月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
185 18
|
7月前
|
网络协议 数据安全/隐私保护 网络架构
|
11月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
255 17
|
11月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
217 10
|
11月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
11月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
227 10

热门文章

最新文章