程序技术好文:计算机网络(九)——STP原理

简介: 程序技术好文:计算机网络(九)——STP原理

交换网络中通常会使用冗余链路来提高网络的可靠性。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。


生成树协议STP(Spanning Tree Protocol)是可以用来解决冗余链路所带来的问题。


冗余链路解决了单条链路出现故障导致业务中断问题,虽然增强了网络的可靠性,但是也会产生环路,而环路会带来一系列的问题,继而导致通信质量下降和通信业务中断等问题。


1、环路引发的问题


1.1 广播风暴


广播帧在有环路的交换网络中会被无限转发,网络中的主机接受到大量的重复数据帧,这种情况称之为网络风暴。造成的影响:


网络中充满了广播数据帧;


转发和处理这些无用的数据帧会浪费交换机和网络主机的性能;


交换机地址表震荡会造成数据转发错误;


本例中,假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。


主机A向外发送了一个单播帧,将其转发到SWA和SWC,SWA和SWC也会将此帧转发到除了接收此帧的其他所有端口,结果此帧又会被再次转发给SWB,这种循环会一直持续,于是便产生了广播风暴。


1.2 MAC地址表震荡


MAC地址表震荡就是,同一个交换机有两个或两个以上接口可以接收到同一个MAC地址,导致MAC地址与交换机端口的对应关系经常发生变化。


交换机是根据所接收到的数//代码效果参考:http://www.jhylw.com.cn/132239375.html

据帧的源地址和接收端口生成MAC地址表项的。假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。

主机A向外发送一个单播帧。SWB收到此数据帧之后,在MAC地址表中生成一个MAC地址表项,00-01-02-03-04-AA,对应端口为G0/0/3,并将其从G0/0/1和G0/0/2端口转发。此例仅以SWB从G0/0/1端口转发此帧为例进行说明。


SWA接收到此帧后,由于MAC地址表中没有对应此帧目的MAC地址的表项,所以SWA会将此帧从G0/0/2转发出去。


SWC接收到此帧后,由于MAC地址表中也没有对应此帧目的MAC地址的表项,所以SWC会将此帧从G0/0/2端口发送回SWB,也会发给主机B。


SWB从G0/0/2接口接收到此数据帧之后,生成一个新的表项,00-01-02-03-04-AA,覆盖原有的MAC地址表。对应端口为G0/0/2。


此过程会不断重复,从而导致MAC地址表震荡。


2、STP生成树协议


2.1 STP的主要作用:(无用时阻断冗余链路,需要时启用)


消除环路:通过阻塞端口来消除网络中可能存在的环路。


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


2.2 STP工作方式


每个STP网络中,都会有且只有一个根桥(根交换机),其他交换机为非根桥。


根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心;非根桥是根桥的下游设备。当现有根桥产生故障时,非根桥之间会交互信息并重新选举根桥,交互的这种信息被称为BPDU。BPDU中包含交换机在参加生成树计算时的各种参数信息。


STP中定义了三种端口角色:指定端口,根端口、预备端口(阻塞端口)。


根端口是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。(非根交换机上有)


指定端口是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口都是指定端口。(所有交换机都有)


如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。


2.3 根桥选举(根桥的产生方式)


STP中根桥的选举依据的是桥ID,STP中的每个交换机都会有一个桥ID(Bridge ID) 。桥ID=16位的桥优先级+48位的MAC地址。


在STP网络中,桥优先级的取值范围是0~65535,默认值为32768。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。


交换机启动后就自动开始进行生成树收敛计算(桥ID比较)。


默认情况下,所有启动STP的交换机启动时都认为自己是根桥,自己的所有端口都为指定端口,这样BPDU报文(桥协议数据单元)就可以通过所有端口转发。当某一个端口收到自己发送的BPDU报文后,会阻塞掉该端口;而对端交换机收到BPDU报文后,会比较BPDU中的根桥ID和自己的桥ID。


如果收到的BPDU报文中的桥ID优先级低,接收交换机会继续通告自己的配置BPDU报文给邻居交换机。


如果收到的BPDU报文中的桥ID优先级高,则交换机会修改自己的BPDU报文的根桥ID字段,宣告新的根桥。


最后会在整个网络中会有一个桥ID最小的交换机,这个交换机就是整个网络的根桥。


2.4 根端口选举(通往根桥最优端口的选举)


非根交换机在选举根端口时分别依据该端口的根路径开销、对端BID(Bridge ID)、对端PID(Port ID)和自身本端PID。


端口开销:交换机端口的一个参数,表示该端口在STP中的开销值。参数大小与端口的带宽有关,带宽越高,开销越小。


路径开销:非根桥到根桥的路径上所有接收BPDU的端口的端口开销总和(即BPDU的入方向端口),称为路径开销。


根路径开销:非根桥通过对比多条路径的路径开销,到达根桥的最短路径,这条路径的路径开销被称为RPC(Root Path Cost,根路径开销),并生成无环树状网络。根桥的根路径开销是0。


对端桥PID:运行STP交换机的每个端口都有一个端口ID,端口ID由端口优先级和端口号构成。端口优先级取值范围是0到240,步长为16,即取值必须为16的整数倍。越小越优先。缺省情况下,端口优先级是128。端口ID(Port ID)可以用来确定端口角色。


对端桥BID:每个非根桥都要选举一个根端口。根端口是距离根桥最近的端口,这个最近的衡量标准是靠路径开销来判定的,即路径开销最小的端口就是根端口。端口收到一个BPDU报文后,抽取该BPDU报文中根路径开销字段的值,加上该端口本身的端口开销即为本端口路径开销。如果有两个或两个以上的端口计算得到的累计路径开销相同,那么选择收到发送者BID最小的那个端口作为根端口。


本机PID:如果两个或两个以上的端口连接到同一台交换机上,则选择发送者PID最小的那个端口作为根端口。如果两个或两个以上的端口通过Hub连接到同一台交换机的同一个接口上,则选择本交换机的这些端口中的PID最小的作为根端口。


2.5 指定端口选举(用于转发BPDU报文的端口选举)


非根交换机在选举指定端口时分别依据根路径开销、本机BID、PID。未被选举为根端口或指定端口的端口为预备端口,将会被阻塞。


在网段上抑制其他端口(无论是自己的还是其他设备的)发送BPDU报文的端口,就是该网段的指定端口。每个网段都应该有一个指定端口,根桥的所有端口都是指定端口(除非根桥在物理上存在环路)。


指定端口的选举也是首先比较累计路径开销,累计路径开销最小的端口就是指定端口。——》如果累计路径开销相同,则比较端口所在交换机的桥ID,所在桥ID最小的端口被选举为指定端口。——》如果通过累计路径开销和所在桥ID选举不出来,则比较端口ID,端口ID最小的被选举为指定端口。


网络收敛后,只有指定端口和根端口可以转发数据。其他端口为预备端口,被阻塞,不能转发数据,只能够从所连网段的指定交换机接收到BPDU报文,并以此来监视链路的状态。


2.6 端口状态转换


运行STP协议的设备上端口状态有5种:


2.7 BPDU报文


BPDU报文详解:


2.8 STP拓扑变化


STP的拓扑变化:


2.9 设备上的配置


1.STP配置交换机的生成树协议模式的命令:stp mode { mstp | stp | rstp }。缺省情况下,在MSTP模式。在使用STP前,STP模式必须重新配置。


2.STP配置设备优先级值命令:stp priority priority值。priority值为整数,取值范围为0到61440,步长为4096。缺省情况下,交换设备的优先级取值是32768。


可以通过stp root primary命令指定生成树里的根桥,确定网络中的数据流量使用最优路径转发。


3.配置指定交换机上路径开销值标准de命令:stp pathcost-standard { dot1d-1998 | dot1t | legacy }


dot1d-1998 IEEE 802.1D-1998


dot1t IEEE 802.1T


legacy Legacy


手动设置端口路径开销值的命令:stp cost cost值。 缺省情况下,路径开销标准为IEEE 802.1t。


使用华为的私有计算方法时,cost取值范围是1~200000。


使用IEEE 802.1d标准方法时,cost取值范围是1~65535。


使用IEEE 802.1t标准方法时,cost取值范围是1~200000000。


4.检查当前交换机的STP配置的命令:display stp。


命令输出中信息介绍如下:


CIST Bridge参数标识指定交换机当前桥ID,包含交换机的优先级和MAC地址。


Bridge Times参数标识Hello定时器、Forward Delay定时器、Max Age定时器的值。


CIST Root/ERPC参数标识根桥ID以及此交换机到根桥的根路径开销。


5.显示交换机上指定端口信息的命令:display //代码效果参考:http://www.jhylw.com.cn/400239287.html

stp interface 接口(g0/0/1)
相关文章
|
4天前
|
云安全 安全 网络安全
云计算与网络安全:技术挑战与解决策略
【10月更文挑战第39天】随着云计算技术的飞速发展,网络安全问题也日益凸显。本文将探讨云计算环境下的网络安全挑战,并提出相应的解决策略。通过分析云服务模型、网络安全威胁以及信息安全技术的应用,我们将揭示如何构建一个安全的云计算环境。
|
4天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
17 2
|
5天前
|
云安全 安全 网络安全
云计算与网络安全:技术融合的未来之路
【10月更文挑战第38天】 在数字化浪潮中,云计算和网络安全成为支撑现代企业和个人数据安全的两大基石。本文将深入探讨云计算服务如何与网络安全技术相结合,保障信息安全,并分析面临的挑战及未来发展趋势。我们将通过实际案例,揭示云安全的最佳实践,为读者提供一条清晰的技术融合路径。
|
6天前
|
安全 网络安全 数据库
云计算与网络安全:技术融合的未来之路
【10月更文挑战第37天】本文将探讨云计算与网络安全的交汇点,揭示它们如何共同塑造信息安全的未来。我们将深入了解云服务的核心组件、网络安全的关键策略以及两者如何相互增强。通过分析当前的挑战和未来的趋势,本文旨在为读者提供一条清晰的路径,以理解并应对这一不断发展的技术领域。
|
7天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
35 5
|
7天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
23 3
|
5天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务、网络安全和信息安全的技术领域
【10月更文挑战第38天】本文将深入探讨云计算与网络安全之间的关系,包括云服务、网络安全和信息安全等技术领域。我们将通过实例分析,了解如何保护云计算环境中的数据和应用程序,以及如何应对网络安全威胁。同时,我们还将讨论一些常见的网络安全攻击类型,并提出相应的防御策略。最后,我们将介绍一些实用的工具和技术,以帮助您更好地保护您的云计算环境。
|
4天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
15 2
|
5天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第38天】本文将探讨网络安全与信息安全的重要性,包括网络安全漏洞、加密技术和安全意识等方面。我们将通过代码示例和实际操作来展示如何保护网络和信息安全。无论你是个人用户还是企业,都需要了解这些知识以保护自己的网络安全和信息安全。
|
4天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务中的信息安全策略
【10月更文挑战第39天】随着云计算的飞速发展,越来越多的企业和个人将数据和服务迁移到云端。然而,随之而来的网络安全问题也日益突出。本文将从云计算的基本概念出发,深入探讨在云服务中如何实施有效的网络安全和信息安全措施。我们将分析云服务模型(IaaS, PaaS, SaaS)的安全特性,并讨论如何在这些平台上部署安全策略。文章还将涉及最新的网络安全技术和实践,旨在为读者提供一套全面的云计算安全解决方案。