交换网络基础-STP原理与配置——总结

一、交换网络基础

1、交换机工作在数据链路层,属于二层结构;路由器工作在网络层,属于三层结构;Hub集线器属于物理层;

2、交换机工作在数据链路层,对数据帧进行操作。在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。

3、交换机是根据MAC地址进行转发的,不会检查IP地址;

4、交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系;MAC地址表也称为CAM表。

5、交换机的转发行为:

(1)泛洪:从交换机的某一个端口进来,从所有的其他端口转发出去,就是指除了进来的那个端口以外的所有端口;

(2)转发:从某一端口进来的数据帧通过另外一个端口转发出去,但是这个端口不能是进来的那个端口;

(3)丢弃:从某一端口进来的数据帧,经过查MAC地址表后发现,还要从进来的端口出去,这样的情况下回将其丢弃;

6、交换机的工作原理:

(1)如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址。        

           1)如果查不到这个MAC地址,则交换机执行泛洪操作。      

           2)如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧进入交换机的那个端口。如果不是,则交换机执行转发操作。如果是,则交换机执行丢弃操作。

(2)如果进入交换机的是一个广播帧,则交换机不会去查MAC地址表,而是直接执行泛洪操作。

7、交换机还具有学习能力,当一个帧进入交换机后,交换机会检查这个帧的源MAC地址,并将该源MAC地址与这个帧进入交换机的那个端口进行映射,然后将这个映射关系存放进MAC地址表。

8、初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。本例中,SWA为初始状态,在收到主机A发送的数据帧之前,MAC地址表中没有任何表项。

9、MAC地址的学习:交换机会将收到的数据帧的源MAC地址和对应接口记录到MAC地址表中。

10、数据帧的转发:当数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧。

11、自协商的内容主要包括双工模式和运行速率。一旦协商通过,链路两端的设备就具有相同的工作参数。

12、当一台主机从交换机的一个端口移除时,交换机检测到物理链路Down,因此会从MAC地址表中清除对应主机的MAC表项。一旦主机连接到交换机另外一个端口,交换机会检测到新端口对应的物理链路UP。主机发送报文后,交换机就会学习到主机的MAC地址和新端口的映射关系,并且添加到MAC地址表中。

二、STP原理与配置

1、为了提高网络可靠性,交换网络中通常会使用冗余链路,但是冗余链路会给交换网络带来环路风险:

(1)广播风暴:网络中的主机会收到重复数据帧。

      原理简述:根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。

(2)MAC地址表震荡:

       原理简述:交换机B从3端口收到主机A发送的单播帧,查找自己的MAC地址表项,没有发现转出的端口;交换机B会向其他端口泛洪这个帧,但是由于环路的存在,交换机B又会从自己的2端口接收到,由于交换机对MAC地址的自学习能力,所以MAC地址表项里关于该数据帧的内容会从3端口改变成2端口;此时交换机B会继续查找自己的MAC地址表项,没有发现,同样的泛洪出去,如此现象反复执行,会造成MAC地址表项中的对应端口内容一直在2端口和3端口之间变来变去的。

2、解决环路的方法:STP——生成树协议

环路产生的主要原因:1、拓扑上存在环路;2、交换机工作的机制问题(遇到广播帧,就执行泛洪操作);

(1)STP的主要作用:

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

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

(2)STP生成树的构造过程:

——第一步:选举出一个根桥,每个STP网络中,都会存在一个根桥,其他交换机为非根桥。根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心,非根桥是根桥的下游设备。当现有根桥产生故障时,非根桥之间会交互信息并重新选举根桥,交互的这种信息被称为BPDU。

      规则:STP中根桥的选举依据的是桥ID(BID),BID=优先级+设备的MAC地址;

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

**默认情况下,所有交换机启动时都认为自己是根桥,自己的所有端口都为指定端口,这样BPDU报文就可以通过所有端口转发。对端交换机收到BPDU报文后,会比较BPDU中的根桥ID和自己的桥ID。如果收到的BPDU报文中的桥ID优先级低,接收交换机会继续通告自己的配置BPDU报文给邻居交换机。如果收到的BPDU报文中的桥ID优先级高,则交换机会修改自己的BPDU报文的根桥ID字段,宣告新的根桥。

——第二步:在每个非根桥上选举一个根端口,每个非根桥都要选举一个根端口。根端口是距离根桥最近的端口;

       规则:非根交换机在选举根端口时分别依据该端口的根路径开销、对端BID(桥ID)、对端PID(端口 ID)和本端PID。

(1)先比较开销值的大小:从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有发送BPDU端口的端口开销总和(即BPDU的出方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC(根路径开销),并生成无环树状网络。根桥的根路径开销是0。

(2)开销值相等的情况下,比较端口ID:如果有两个或两个以上的端口计算得到的累计路径开销相同,那么选择收到发送者BID最小的那个端口作为根端口。

(3)BID也相等的情况下,比较PID:*****如果两个或两个以上的端口连接到同一台交换机上,则选择发送者PID最小的那个端口作为根端口。*****如果两个或两个以上的端口通过Hub连接到同一台交换机的同一个接口上,则选择本交换机的这些端口中的PID最小的作为根端口。

——第三步:在每个链路上选举一个指定端口(D端口),在网段上抑制其他端口(无论是自己的还是其他设备的)发送BPDU报文的端口,就是该网段的指定端口。

        规则:非根交换机在选举指定端口时分别依据根路径开销、BID、PID。

(1)每个网段都应该有一个指定端口,根桥的所有端口都是指定端口(除非根桥在物理上存在环路)。 指定端口的选举也是首先比较累计路径开销,累计路径开销最小的端口就是指定端口。

(2)如果累计路径开销相同,则比较端口所在交换机的桥ID,所在桥ID最小的端口被选举为指定端口。

(3)如果通过累计路径开销和所在桥ID选举不出来,则比较端口ID,端口ID最小的被选举为指定端口。

 ——第四步:确定出阻塞端口:未被选举为根端口或指定端口的端口为预备端口,将会被阻塞。

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

3、端口状态的转换:

(1)Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。

(2)Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量;该状态是阻塞端口的最终状态。

(3)Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。

******************此时,会有15s的Forwarding Delay计时器的时间******************

(4)Learning:学习状态(学习MAC地址表)。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量;作用:增加Learning状态是为了防止临时环路。

(5)Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。

4、BPDU——网桥协议数据单元

(1)交换机之间交换的关于生成树的相关信息和参数,而这些内容是封装在BPDU中的;

(2)类型:配置BPDU、TCN BPDU;

——配置BPDU:包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。

总结:**网络收敛前:所有的交换机都会发送配置BPDU;

          **网络收敛后:只有根桥会以2s的周期发送配置BPDU;

——TCN BPDU:是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知,由变更点向外发送;

5、计时器:

(1)Message Age:配置BPDU在网络中传播的生存期,配置BPDU报文每经过一个交换机,Message Age都加1,加到20的时候将其丢弃;

          Max Age:配置BPDU在设备中能够保存的最大生存期,20s;

          Hello Time:配置BPDU发送的周期,2s;

          Forward Delay:端口状态迁移的延时,15s。

6、根桥故障:恢复正常至少需要50s的时间;非根桥会在BPDU老化之后开始根桥的重新选举;

详情:在稳定的STP拓扑里,非根桥会定期收到来自根桥的BPDU报文。如果根桥发生了故障,停止发送BPDU报文,下游交换机就无法收到来自根桥的BPDU报文。如果下游交换机一直收不到BPDU报文,Max Age定时器就会超时(Max Age的默认值为20秒),从而导致已经收到的BPDU报文失效,这时,非根交换机会互相发送配置BPDU报文,重新选举新的根桥。根桥故障会导致50秒左右的恢复时间,恢复时间约等于Max Age加上两倍的Forward Delay收敛时间(也就是30s时间)。

7、直连链路故障:有阻塞端口,RP端口故障时,会将预备端口转换为根端口;新的根端口会在30 秒后恢复到转发状态;

8、非直连链路故障:塞端口恢复到转发状态大约需要50秒。

9、拓扑改变导致MAC地址表错误:在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。

10、拓扑改变导致MAC地址表变化:

11、如果生成树网络里面根桥发生了故障,则其它交换机中优先级最高的交换机会被选举为新的根桥。如果原来根桥再次激活,则网络又会根据BID来重新选举新的根桥。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小柒憨憨吖~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值