技术背景

二层交换机网络的冗余性与环路

引入冗余性导致二层环路

人为错误导致的二层环路

二层环路带来的问题

  • 广播风暴

    • 广播数据帧多次洪泛

  • MAC地址漂移

    • MAC绑定端口频繁更改

初识生成树协议

解决环路

  • 删除链路

    • 增加冗余 冲突

  • 一种自动解决的算法

生成树协议:STP

原理

动态响应 网络拓扑变化 调整阻塞接口

区别

二层及三层环路

  • 三层环路

    • 路由环路导致

    • 动态路由协议有一定的防环能力

    • IP报文头部中的TTL字段可用于防止报文被永无止境的转发

  • 二层环路

    • 二层冗余环境

    • 借助特点协议或机制实现二层防环

    • 二层协议头中没有任何信息能防止环路

生成树协议应用位置

部署与汇入层和接入层

作用于数据链路层

STP的基本概念及工作原理

生成树基本概念

桥ID

Bridge ID, BID

  • IEEE 802.1D标准中规定BID由 16位 的桥优先级 (Bridge Proiority) 与 桥MAC 地址构成

  • 每一台运行STP的交换机都拥有一个唯一的 BID

  • BID桥优先级占据高 16bit , 其余的低 48bit 是桥MAC地址

  • 在STP网络中, BID最小的设备会被选为根桥

BID . MAC

1145.1419-1981-0114

根桥

树形的网络结构必须要有树根, 于是STP引入了根桥 (Root Bridge) 概念

根桥就是STP交换网络的"树根"

Cost

开销

  • 交换机的每个端口都有一个端口开销 (Port Cost) 参数, 此参数表示该端口在STP中的开销值.

    • 默认情况下端口开销和端口的带宽有关, 带宽越高, 开销越小

  • Cost主要用于计算路径开销, 也就是到达根的开销

Cost计算方法

RPC

一个非根桥到根桥的最短路径 的开销被称为 RPC

接口ID

Port ID, PID

PID = x.xxx

4 bit

12 bit

接口优先级

接口编号

网桥协议数据单元 BPDU

BPDU (Bridge Protocal Data Unit)

BPDU是STP能够正常工作的根本

BPDU是STP的协议报文

  • BPDU是STP的协议报文

  • 有两种类型

    • 配置BPDU

    • TCN BPDU

  • 配置BPDU是STP进行拓扑计算的关键

  • TCN BPDU只在网络拓扑发送变更时才会被触发

配置BPDU的报文格式

配置BPDU的比较原则

步骤

  1. 选举一个根桥

  2. 每个非根交换机选举一个根端口

  3. 每个网段选举一个指定端口

  4. 阻塞非根 , 非指定端口

端口角色

  • 指定端口

    • 指交换机向所连网段转发配置BPDU的端口 每个端口有且只能有一个指定端口

  • 根端口

    • 根端口是非根端口交换机去往根桥路径的最优端口

      • 在一个运行STP协议的交换机上最多只有一个根端口

      • 网桥上没有根端口

  • 预备端口

    • 如果一个端口既不是指定端口也不是根端口, 则此端口为预备端口

      • 预备端口讲被阻塞

选择最优BPDU

  1. 最小的根桥ID

  2. 最小的RPC

  3. 最小的网桥ID

  4. 最小的接口ID

交换机在刚启动都认为自己是根桥, 互相发送配置BPDU进行STP运算

STP工作过程

选举过程

  • 刚启动都认为自己是根桥

    • BPDU的根桥ID为自身ID

  • 收到其它交换机的BPDU, 会进行BID比较

  • 交换机不断交互BPDU, 同时对BID比较, 最终选出BID最小的交换机作为根桥

STP的接口状态迁移

拓扑变化过程

根桥故障

直连链路故障

启用预备端口

非直连链路故障

  • 非直连故障

  • 端口状态

  • 收敛时间

拓扑改变导致MAC地址表错误

此时该 TCN BPDU 出场了

STP的基础配置

1.配置生成树模式

stp mode ( stp | rstp | mstp )

2.配置根桥(可选)

stp root primary

3.备份根桥(可选)

stp root secondary

4.配置交换机的STP优先级(可选)

stp priority [4096的倍数]

5.启用STP/RSTP/MSTP

stp enable

案例1

RSTP对STP的改进

STP不足之处

  • 网络拓扑收敛慢,影响通信质量

  • 没有区分接口状态和接口角色, 不利于初学者学习及部署

  • 属于被动算法, 依赖定时器等待的方式判断拓扑变化, 收敛速度慢

  • ...

RSTP概述

RSTP对STP的其它改进

  • 配置BPDU的处理发生变化

    • 拓扑稳定后, 配置BPDU报文的发送方式进行了优化

    • 使用更短的BPDU超时计时

    • 对处理次等BPDU的方式进行了优化

  • 配置BPDU格式的改变, 充分利用了STP协议报文中的Flag字段, 明确了接口角色

端口角色不同

通过对接口角色的增补, 简化了生成树协议的理解及部署

  • 根接口

  • 指定接口

  • 预备接口

  • 备份接口

边缘端口

如果指定端口位于整个域的边缘, 不再与任何交换设备连接, 这种端口叫做边缘接口

端口状态不同

RSTP把原本5种状态缩减为3种

Listening,Blocking,Disabled -> Discarding

STP技术进阶

STP/RSTP的缺陷

所有的VLAN共享一颗生成树

VBST 基于VLAN的生成树

保证一个端口不是完全被堵塞

MSTP 多生成树

MSTP概述

把交换网络划分成多个域, 每个域形成多颗生成树, 彼此间互相独立

堆叠与园区网络树形结构组网形态

为双上行组网量身定做的解决方案

总结

  • 生成树是一个用于局域网中消除环路的协议

  • 消除环路

  • 链路备份

STP基本实验

待续...