七、STP

前言

先提一下交换网络基础:常见的以太网设备包括Hub、交换机等。交换机工作在数据链路层,能够有效隔离以太网中的冲突域,极大地提升了以太网的性能。
交换机的转发行为有三种:
在这里插入图片描述
泛洪: 以下情况交换机会进行泛洪:

  1. 组播帧
  2. 广播帧
  3. 单播帧但是不知道目的主机是谁(未知单播)

转发
知道帧的去处,直接进行转发
丢弃
单播帧的目的MAC地址正好是该接口要去的MAC地址。(下面会再次进行解释)

交换机MAC地址表
初始状态下,交换机的MAC地址表(CAM交换表)为空
在这里插入图片描述
交换机将收到的数据帧的源MAC地址和对应接口记录到MAC地址表中。
在这里插入图片描述
当数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧。
在这里插入图片描述
主机回复:
交换机根据MAC地址表将目标主机的回复信息单播转发给源主机。
在这里插入图片描述
如上图所示。交换机在学习MAC地址的时候,学习到的是源MAC地址,在转发的时候,是根据目的MAC地址进行转发。那么,什么时候会进行丢弃呢?比如说主机C发送了一个报文给交换机A,交换机A发现该报文中的目的MAC地址正是G0/0/3要去的MAC地址(主机C),那么此时交换机会进行丢包处理。

一、STP

为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。

二层交换网络

交换机之间通过多条链路互连时,虽然能够提升网络可靠性,但同时也会带来环路问题。
在这里插入图片描述

环路带来的问题

1、广播风暴
在这里插入图片描述
假设主机A需要去访问主机B,但是交换机中并没有缓存主机B的MAC地址,所以此时要进行ARP解析。而ARP包是一个广播包,所以交换机会进行泛洪处理。当SWB收到主机A的请求报文以后,将该报文泛洪给SWA、SWC。同时SWA、SWC也会将该ARP解析包泛洪回来,所以会形成广播风暴,占用大量的CPU资源。影响正常通信。而且网络中的主机会收到重复数据帧。

2、MAC地址表震荡
在这里插入图片描述
由前面的交换网络基础我们知道,交换机会基于源MAC地址学习MAC地址表。同样假设主机A要去访问主机B,交换机中没有主机B的MAC地址表。主机A发送ARP解析包,此时SWB会将主机A的MAC地址表会将主机A的MAC地址指向在G0/0/3所对应的接口中,但是经过泛洪处理以后,G0/0/2也会接收到该ARP解析包,所以此时主机A的MAC地址在SWB中所对应的接口变为G0/0/2

STP

STP作用
在这里插入图片描述
STP通过逻辑阻塞一个端口来消除环路,假设SWA–SWC之间的链路down掉了,该逻辑阻塞的端口会重新开启,传递数据,达到链路备份的效果。

STP操作

在这里插入图片描述

  1. 每个STP网络中,都会存在一个根桥,其它交换机为非根桥。根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心,非根桥是根桥的下游设备。
  2. 根端口是非根交换机去往根桥路径最优的端口,在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。
  3. 指定端口是交换机向所连网段转发BPDU的端口,每个网段有且只有一个指定端口,一般情况下,根桥的每个端口总是在指定端口。

简单点来说就是:STP就是一个选举和被选举的过程,没有选举到的端口被逻辑阻塞。
【注】:
最开始选举的时候,每个交换机都会发送BPDU,当稳定的时候,只有根桥会发送BPDU。

根桥选举

在这里插入图片描述

  1. 每一台交换机启动STP后,都认为自己是根桥
  2. STP根桥的选举依据的是桥ID,STP中每个交换机都会有一个桥ID(Bridge ID)。桥ID由16位的桥优先级(Bridge Priority)和48位的MAC地址构成。在STP网络中,桥优先级是可配置的,取值范围是0–65535.默认值是32768.优先级最高的设备(桥ID最小)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址小的优先。

即:在不修改优先级的情况下,MAC地址小的交换机当选为根桥;或者,优先级(数值小的)大的当选为根桥。

根端口选举

在这里插入图片描述
非根交换机在选举根端口时分别依据该端口的根路径开销、对端BID、对端PID和本端PID
RPC:Root Path Cost 路径开销,即该交换机到达根桥的链路开销。
PID:优先级(0–240/12),默认是128
IEEE开销值标准:
在这里插入图片描述

指定端口选举

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

端口选举总结

  1. 离根桥近的为根端口,所以根桥上的端口全为指定端口
  2. 如果离根桥同样近,则PID小的为根端口
  3. 交换机上所有接口的MAC地址相同
  4. 路径开销小、BID小、PID小的为指定端口
  5. 未被选举的为预备端口,被逻辑阻塞

端口状态转换

在这里插入图片描述
Forwarding:转发状态,可以转发用户流量,也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态
Learning:学习状态,端口可以根据收到的用户流量构建MAC地址表,但不能转发用户流量,增加learning状态是为了防止临时环路
Listening:侦听状态,可以转发BPDU报文,但不能转发用户流量
Blocking:阻塞状态,仅能接收并处理BPDU,为预备端口的最终状态
Disabled:禁用状态,即不处理和转发BPDU报文,也不转发用户流量。

BPDU

在这里插入图片描述
BPDU包含桥ID、路径开销、端口ID、计时器等参数。
【注】
BPDU包括两种类型:

  1. 配置BPDU:包含了桥ID,路径开销和端口ID等参数
  2. TCN BPDU:下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知

下面做实验举例:
实验拓扑:
在这里插入图片描述
[SW1]stp mode stp // 修改模式为stp模式
[SW1]stp priority 4096 //修改优先级
[SW1]dis stp brief //查看当前状态

抓包显示:
在这里插入图片描述
拓扑变化BPDU
拓扑变化BPDU
配置BPDU
配置BPDU
查看端口状态:
在这里插入图片描述

计时器

在这里插入图片描述
配置BPDU报文每经过一个交换机,Message Age都加1。
如果Message Age大于Max Age,非根桥会丢弃该配置BPDU。

STP拓扑变化
1.根桥故障: 非根桥会在BPDU老化之后开始根桥的重新选举,时间是MAX AGE时间的两倍(50S左右)
在这里插入图片描述
2. 直连链路故障:SWB检测到直连链路物理故障后,会将预备端口转换为根端口。SWB新的根端口会在30 秒后恢复到转发状态。
在这里插入图片描述

  1. 非直连链路故障:SWC的预备端口恢复到转发状态大约需要50秒。

在这里插入图片描述
拓扑改变导致MAC地址表错误

在这里插入图片描述
MAC地址表项的默认老化时间是300秒。在这段时间内,SWB无法将数据从G0/0/2端口转发给主机B。
在这里插入图片描述
【注】路劲开销和根路径开销的区别

  1. 路径开销:针对某个端口某个链路
  2. 根路径开销:到根桥总开销,可能是一条链路,可能是多条链路
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值