您现在的位置是:首页 >技术教程 >网络协议——STP协议是什么?是如何实现的?网站首页技术教程
网络协议——STP协议是什么?是如何实现的?
作者:Insist--
个人主页:insist--个人主页
作者会持续更新网络知识和python基础知识,期待你的关注
目录
前言
本文将给大家讲解STP协议是什么?是如何实现的?以及STP协议的应用场景。
一、STP协议是什么
STP(全称:Spanning Tree Protocol),翻译过来就是生成树协议,以太网交换网中,为了进行链路备份提高网络可靠性,通常会使用冗余链路,但是使用冗余链路会在交换网络上产生环路,引发广播风暴,以及MAC地址表不稳定等故障现象,从而导致用户通信质量差,甚至通信中断,为了解决网络中的环路问题,提出了生成树协议(STP)。
STP协议主要作用:
①逻辑上断开环路,防止广播风暴的产生。
②当线路故障,阻塞接口被激活,恢复通信,起到备份线路的作用。
二、为什么需要STP协议
上面说过,在二层网络中,为了提高网络可靠性,会在交换机之间建立多条链路,但通过这种方式建立的链路有一个非常致命的问题,那就是会产生环路。网络产生环路后,就会产生广播风暴和MAC地址震荡。而应用STP协议就可以解决这一问题。
三、STP的实现过程
下面将给大家讲解STP技术是怎样实现阻塞端口,从而防环的呢?
1、选举跟桥
如上图,让这三台交换机连接起来,开启STP技术后,三台交换机之间就会发送数据包(也叫BPDU),然后在BPDU里面比较它们的桥ID,桥ID包括它的优先级和Mac地址,优先级比较是越小越优,经过比较后,最优(最小)的就是跟桥。
2、给非跟桥交换机选举跟端口
根端口是非根桥交换机用来接收来自根桥交换机方向的BPDU,因此首先需要计算流量从根交换机到达非根交换机上的哪个端口开销( Cost )最小,简单来说就是,如果根交换机要发送BPDU到某台非根交换机,发送到该非根桥交换机的哪个端口最省时省力。如果开销都一样,再看每个端口上一级(及发送者)的桥ID,如果桥ID也一样,在比较上一级发送者的发送端口优先级,如果优先级一样,再比较发送端口的MAC地址。
3、给每个网段选举指定端口
根桥上的端口都是指定端口。在每个网段上,选择一个指定端口。在非根桥上的指定端口,选择要求是,根路径成本较低,所在交换机的网桥ID值较小,端口ID值较小。
4、阻塞预备端口
所有的端口都有自己的角色了,比如跟端口,指定端口等等,那么最后肯定还是有某个端口没有角色的,这个没有角色的端口就会被阻塞掉,这就是它的实现过程。
四、STP的应用
1 .企业网络
在企业网络中,STP协议是必不可少的。企业网络通常由多个交换机组成,如果没有STP协议的保护,就会出现环路,导致网络拥堵,甚至崩溃。STP协议可以自动计算网络中的最短路径,并将环路剔除,从而保证网络的正常运行。
2.数据中心
在数据中心中,STP协议同样是必不可少的。数据中心通常由大量的服务器和交换机组成,如果没有STP协议的保护,就会出现环路,导致数据中心的服务中断,影响业务的正常运行。STP协议可以自动计算网络中的最短路径,并将环路剔除,从而保证数据中心的正常运行。