您的位置:首页 > 编程语言 > PHP开发

3.2、STP原理与配置

2020-07-16 06:10 555 查看

3.2、STP原理与配置

  • 前言 为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。
  • 环路引起的问题
      二层交换网络
    • 交换机之间通过多条链路相连,虽然能够提升网络可靠性,但同时也会带来环路问题
  • 广播风暴
    • 环路会引起广播风暴
    • 网络中的主机会受到重复数据帧
  • MAC地址表震荡
    • 环路会引起MAC地址表震荡
  • STP工作原理
      STP的作用
    • STP通过阻塞端口来消除环路,并能够实现链路备份的目的
  • STP操作
    • 1、选举一个根桥
    • 2、每个非交换机选举一个根端口
    • 3、每个网段选举一个指定端口
    • 4、阻塞非根、非指定端口
  • 根桥选举
    • 每一台交换机启动STP后,都认为自己是根桥
    • 根桥的选举主要是依据桥ID来进行选举,每一个交换机都会有一个桥ID 桥ID 优先级 可以配置
    • 取值范围 0~65535
  • 默认值
      32768
  • 优先级的数值越低,优先级越高
      如果优先级一致,就比对交换机的MAC地址 越小越优先
  • 48位MAC地址组成
  • 根端口选举
    • 非根交换机在选举根端口时分别依据该端口的根路径开销,对端BID、对端PID和本端PID 根路径开销 越小越优先
    • 交换机每一个端口都有端口开销,该参数表示该端口在STP中的开销值
    • 根路径的开销是该端口到根所有路径的总和开销
    • 如果根路径开销选举不出来?
  • 对端BID
      BID 桥ID
    • 越小越优先
  • 如果对端BID还是选举不出来?
  • 对端PID
    • PID 由端口优先级和端口ID组成 端口优先级 默认128
  • 端口ID
      端口号
  • 如果对端PID选举不出来?
  • 本端PID
  • 指定端口选举
    • 非根交换机在选举指定端口时分别依据根路径开销、BID、PID 根路径开销 根交换机上端口开销为0
    • 根桥上的所有端口都是指定端口
  • BID
      桥ID
    • 如果BID选举不出指定端口
  • PID
      自环现象
    • 由于1端口PID较小 1为指定端口
    • 2位非指定端口
  • 未被选举为根端口或指定端口的端口为预备端口,将会被阻塞
  • 注意
      根端口是在交换机上进行选举的
    • 指定端口是在网段上进行选举的
  • 端口状态转换
    • STP端口状态迁移机制 1、Forwarding 转发状态 只有根端口和指定端口才能处于转发状态
    • 端口处于转发状态,既能转发用户流量,也能转发BPDU报文 BPDU报文 选举过程中,选举根桥、选举根端口、选举指定端口都会通过BPDU报文含有的信息来进行选举
  • 2、Learning
      学习状态 端口可以收到用户的流量和构建MAC地址表,但是不能转发用户流量
  • 3、Listening
      侦听状态 端口可以转发BPDU报文,但是不能转发用户流量
  • 4、Blocking
      阻塞状态 端口只能接收并处理BPDU,但是不能转发BPDU,也不能转发用户流量
  • 这个端口状态就是预备端口(阻塞端口)的最终状态
  • 5、Disabled
      禁用状态 端口既不处理也不转发BPDU报文,也不转发用户的流量
  • 端口状态转换顺序
      选举过程中需要的参数都是通过BPDU报文进行传递
    • 1、端口初始化或使能 刚开始所有端口状态都是Disabled状态
    • 初始化使能之后变为Blocking状态
  • 2、端口被选为根端口或指定端口
  • 3、端口不再是根端口或指定端口
      端口开始选举成为根端口或指定端口进入Listening状态
  • 4、Forward delay计时器超时
      Listening状态过渡到Learning状态时,有一个定时器 定时器为15s 15s后状态才能切换为Listening状态
  • Learning状态转换为Forward也有一个定时器
      定时器为15s 定时器超时后才能进入Forwarding状态
  • 即当端口从Disabled到Forwarding状态需要30s的等待时间
  • 5、端口禁用或链路失效
  • BPDU
    • BPDU包含桥ID、路径开销、端口ID、计时器等参数 Root ID 桥ID 根桥优先级
    • MAC地址
  • Bridge ID
      指定桥ID 优先级
    • MAC地址
  • Port ID
      指定帧端口ID 优先级
    • 端口ID
  • Message Age
      BPUD在网络中生存最大生存周期
  • Max Age
      配置BPDU在设备中能够保存的最大的生存周期
  • Hello Time
      发送BPDU的周期
  • Fwd Delay
      端口状态迁移的延迟
  • BPDU类型
      配置BPDU 平常使用的都是配置BPDU
  • TCN BPDU
      用于当拓扑发生变化的时候,发送的拓扑变化通知使用的是TCN BPDU
  • 计时器
    • Hello Time BPDU间隔(2s)
  • Message Age
      根桥发送到当前交换机接收到BPDU的总时间
    • 配置BPDU报文每经过一个交换机,Message Age都加1 限制拓扑网络中交换机的个数
    • 最大个数不能超过Max Age,否则该BPDU会被丢弃
  • Max Age
      BPDU报文老化时间 可改动
  • 如果Message Age大于Max Age,非根桥会丢弃该配置BPDU
  • STP拓扑变化
      根桥故障
    • 非根桥会在BPDU老化之后开始根桥重新选举 在稳定的STP拓扑里,非根桥会定期收到来自根桥的BPDU报文,如果根桥发生了故障,它就会停止发送BPDU报文
    • 下游交换机如果无法收到来自根桥的BPDU,会等待一个MAX Age的定时器,如果定时器超时后,就会认为已经收到的BPDU的报文会失效,也就是20s
    • 非根交换机会互相发送配置BPDU来选举新的根桥,端口状态就会从Disabled转换成Forwarding状态,即等待30s的时间
    • 所以根桥故障会导致50s的恢复时间 恢复时间=Max Age+2倍Froward delayy收敛时间
  • 直连链路故障
    • SWB检测到直连链路物理故障后,会将预备端口转换为根端口
    • SWB新的端口会在30s后恢复到转发状态 Blocking→Forwarding
  • 非直连链路故障
    • 非直连链路故障后,SWC的预备端口恢复到转发状态大约需要50s 交换机B如果无法检测到出现故障,需要等待20s的老化时间 Eg SWA和SWB中接入一台Hub
  • 20s后检测出现故障,SWB就开始重新进行选举,首先认为自己是根桥,然后向其他端口发送BPDU
  • 交换机SWC收到BPDU后,交换机SWC同时也收到了交换机SWA的BPDU
      而且交换机SWA的BPDU比交换机SWB优先,所以交换机SWC不理会交换机SWB的BPDU
    • 但是既然收到了BPDU,代表交换机SWC知道了交换机SWB出现了故障,然后将交换机SWB端的阻塞端口从Blocking→Forwarding,需要30s
  • 拓扑改变导致MAC地址表错误
    • MAC地址表项的默认老化时间是300秒。在这段时间里,SWB无法将数据从G0/0/2端口转发给主机B
    • 拓扑改变除了会引发延迟的时间,还会导致MAC地址表的错误 平常SWB学习到主机B的MAC地址对应的端口是G0/0/1
    • 但是链路出现故障,恢复后主机B走的时候是下面的链路,即从G0/0/2的端口学习到主机B的MAC
    • 但是MAC地址表的有效时间是300s,此时还没有进行更新,所以主机A想要访问主机B走的依然是G0/0/1的端口,但是G0/0/1的端口到达不了,这时就导致了MAC地址表出现错误了
  • 拓扑改变代做MAC地址表变化
    • 当拓扑出现变化时,该变化的交换机会向上游发送一个TCN报文 即让根桥知道出现问题了
  • 但是根桥一直到达不了,所以根据非根交换机进行传达
      当交换机B收到交换机C的TCN以后,向交换机C回应一个确认报文 TCA报文,告知以及收到了拓扑变化报文
  • 然后向根桥继续发送TCN报文
  • 当根桥收到TCN报文以后,会向下游发送一个TC报文,当交换机收到TC报文以后,它的MAC地址表的老化时间就从300s变为15s
      然后再15s后即可完成更改
  • STP配置
      STP模式
    • 大多数交换机是默认开启MSTP
  • 配置交换机优先级
    • 通过修改交换机的优先级,可以配置交换机为根交换机 STP优先级的取值范围必须是4096的倍数
  • 配置路径开销
    • 配置路径开销 根据改变路径开销来改变选取的根端口 可以改变带宽取值 路径开销根据公式进行计算
  • 配置路径开销标准
      Dot1d-1998
    • Dot1t
    • legacy 默认情况下是Dot1t(IEEE 802.1T)
  • 直接配置路径开销大小
      Stp cost
  • 配置验证
  • 总结
      根桥产生故障后,其他交换机会被选举为根桥。那么原来的根桥恢复正常之后,网络又会发生什么变化呢? 原来的根桥回复正常后,会重新进行选举 谁优先,谁就是根桥
  • 端口开销和根路径开销的区别是什么?
      根路径开销 到根桥路径的总开销
  • 端口开销
      交换机某个端口的开销
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: