华为网络生成树协议-STP

大家好,今天和大家讲述一下华为路由交换中的生成树协议,在目前的中大型企业的网络架构中,为了保障网络的可靠性,一般都会设计冗余链路,冗余链路就会产生一个问题就是会有环路,环路就会造成出现广播风暴从而导致网络瘫痪。所以这时生成树是必不可少的一种技术,那么今天就和大家通俗地讲讲生成树(stp)的原理,很多理论上的东西本文也不做太多阐述。

注:广播风暴可以参考数据链路层的通信原理,这里就不做阐述

首先,了解生成树,有几个东西我们需要认识的,分别是根桥、MAC地址、BID(桥ID)、PID(端口ID)

根桥:

我们都知道,一棵树的成长离不开根,根就是树的源头,所以我们的生成树协议也和树一样有根,

如图:

华为网络生成树协议-STP_第1张图片

 在图中,我们看到有个环路,那么在这种情况中,STP是如何发挥作用的呢?,首先他们会选举根桥。

1.在没有选举根之前,每个交换机都会认为自己是老大(根),就会发送自己的相关BID给相连的兄弟(交换机),这时这个数据我们叫它为BPDU,那么这个过程就相当于每台交换机都收到了别的交换机的BPDU包,这时它们就肯定不服气了,心里想,我不是老大吗?咱们人类的社会是看实力说话的,那么我们网络世界同样也是,所以它们收到了别人的BPDU,就会拿来与自己的BID做比较,谁比较优就谁就做老大。最终通过比较就会选举出根桥

比较规则:

1.比较优先级,值越小越优先,默认都为32768   查看命令display stp

 2,如优先级相同,则比较MAC地址,值越小越优先 查看命令display stp

 以上是在默认情况下的比较,那么我们也可以通过手动更改参数,按照我们的设计去选定根桥。

如:手动修改优先级(可改大,可改小,值越小越优先),命令 stp priority +参数 (注:参数需要修改为4096的倍数)

 更改完,都会重新收敛(需要一点时间),重新选举根桥,从而达到我们的设计目的。

好,话不多说,咱们以下面拓扑为例,我们看看那个是根桥

华为网络生成树协议-STP_第2张图片

sw2:

华为网络生成树协议-STP_第3张图片

 sw3:

华为网络生成树协议-STP_第4张图片

sw4

华为网络生成树协议-STP_第5张图片

 可以看出,这3个的优先级相同,通过比较MAC地址,其中SW3为4c1f-cc2c-646d是最小的,所以SW2为根桥(备注:MAC从左往右比较,大小与数字,字母排序一样,如2>1,b>a,越小越优

华为网络生成树协议-STP_第6张图片

如果熟练以后display stp可以直接看根的MAC是多少

华为网络生成树协议-STP_第7张图片

这里就已经说明了那个是根,所以就可以根据MAC地址找到对应的设备

 好了,希望通过上面的内容,可以让你简单理解到STP如何选举根桥。下面我们再来了解一下另一个重要部分:端口

STP的角色端口分为

指定端口 -DP        

根端口-RP               

备用端口-AP         

 如何知道设备上的端口对应是什么角色呢?同样道理,再选举根桥的过程中,端口角色也在同时进行,再选举根桥的协商包BPDU中不仅包含有BID,也包含了PID

同样道理端口角色也是通过比较决定,但不同的是,在确认好根桥后,指点端口也就确认了(根桥上的端口都为指定端口)这个就记住就好不用纠结,非根交换机之间相连选举一个指定端口(比较接口速率速率大优先,比较接口开销cost值,开销小的优先,比较MAC,Mac小的优先)。根端口--与指定端口相连的非根交换机的接口(注:如两者之间有多条线连接,那就比较接口速率,速率大优先,和接口大小,F0/2>F0/1,小的优先),每个非根交换机都只有一个根端口。备用端口--非根非指定端口为备用端口。下面我们结合图来分析一下:

华为网络生成树协议-STP_第8张图片

 我们知道SW3是根桥,所以G0/1和G0/2就确认为指定端口(DP),相关命令 dis stp

 

 sw2的G0/1与根交换机相连,所以是根端口-RP(注:如两者之间有多条线连接,那就比较接口速率,速率大优先,和接口大小,F0/2>F0/1,小的优先

华为网络生成树协议-STP_第9张图片

 SW2的G0/2与非交换机相连,所以需要选举指定端口(非根交换机只有一个根端口,G0/1/已经是了,所以G0/2只能是指定端口和备用端口),所以G0/2需要和SW4的G0/2比较PID(比较内容,cost值  优先级  MAC地址,都是越小越优)在中两者的接口cost和优先级都是默认相同,分别都是20000和128,两者都可以手动更改。因此SW2 的G0/2口MAC地址小,所以为指定端口,反之SW4的G0/2为备用端口--AP

华为网络生成树协议-STP_第10张图片

 华为网络生成树协议-STP_第11张图片

 SW4的G0/1与根桥相连所以G0/1为根端口--RP(注:如两者之间有多条线连接,那就比较接口速率,速率大优先,和接口大小,F0/2>F0/1,小的优先

华为网络生成树协议-STP_第12张图片

G0/2和SW2的G0/2比较得知为备用端口--AP

华为网络生成树协议-STP_第13张图片

 通过上面内容,你可能对端口的概念还有点模糊,那么我们做个简单的总结:

指定端口 -DP    (根交换机上的接口都为指定端口,非根互联之间选举一个指定端口)    

根端口-RP           (非根交换机与根交换机相连的接口为根端口,一个非根交换机只有一个根端口)   

备用端口-AP     (非指定端口和非根端口为备用端口)

那么通过这个多的选举,stp如何去环的呢?

那就有端口角色的转发状态确定,STP的端口转发状态有:
   Forwarding    可以转发用户数据帧;可以学习MAC地址
   Learning    不能转发用户数据帧,但是可以学习MAC地址
   Discarding   不能转发用户数据帧,也不能学习MAC地址
   Blocking
   Disabled

那么简单来说stp的端口角色对应的状态是:

指定端口 -DP     ---   Forwarding(在选举收敛过程为Learning)

根端口-RP        ----Forwarding     (在选举收敛过程为Learning) 

备用端口-AP   -----Discarding 

华为网络生成树协议-STP_第14张图片

查看接口状态命令display stp brief

sw3

SW2

sw4

 总结:

STP的工作原理简单分为:根桥-端口角色-接口状态

感谢大家查阅,以上内容仅代表个人意见,仅供参考,有错误的地方也希望大家及时指出,共同进步

你可能感兴趣的:(华为,网络协议,tcp/ip,网络)