STP基础

简介

STP(Spanning Tree Protocol)是一个用于局域网中消除环路的协议,它的标准是IEEE 802.1D。STP通过将部分冗余链路强制为阻塞状态,其他链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构,可实现消除环路。当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复恢复网络连通性。

为什么需要STP

  • 在一个复杂的网络环境中,由于冗余备份的需要,网络设计者都倾向于在设备之间部署多条物理链路,其中一条作为主要链路,其他链路作为备份,偶然或必然中都会导致环路产生。环路会产生广播风暴,最终会导致整个网络资源被耗尽,网络瘫痪不可用。环路还会引起MAC地址表震荡导致MAC表项被破坏。
  • STP技术可以有效解决环路问题,将彼此交互信息发现网络中的环路,将部分冗余链路强制为阻塞状态,其他链路处于转发状态。最终将环形网络结构修剪成无环型的树形网络结构,从而防止报文在环形网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成处理能力下降。

STP的操作

1

  • 每个广播域选择一个根桥
  • 每个非根桥选择一个根端口
    2

根端口:具有最低根路径的接口

要考虑的因素:

1.最低的根桥ID

2.最低的根路径代价

3.最低发送者桥ID

4.最低端口ID

  • 每个段选择一个指定端口
  • 选择一个非指定端口

每个广播域选择一个根桥

3

BPDU

4

  • Root ID:由2字节优先级和6字节MAC组成
  • Cost of Path:路径开销是从Switch到Root Bridge的方向叠加的
  • Port ID:端口信息由1字节端口优先级和1字节端口ID组成
  • Maximum Time:当一段时间未收到任何BPDU,生存期达到Max Age时,网球则认为该端口连接的链路发生故障。默认20秒
  • Hello Time:发送BPDU的周期,默认为2秒
  • Forward Delay:BPDU全网传输延迟,默认15秒

STP路径开销

5

  • 最短路径是cost累加,而cost是基于链路的速率的

广播风暴

6

  • Host X发送广播帧
  • 交换机继续没完没了的更新广播流量

多帧复制

7

  • Host X 发送一个单播数据帧给Router Y
  • Router Y的Mac地址还没有被每个交换机学习到
  • Router Y接收到两份相同的数据帧的拷贝

MAC表紊乱

8

  • Host X 发送一个单播数据给Router Y
  • Router Y的MAC地址还没有被每个交换机学习到
  • switches A and B 在Port1上学习到Host X的MAC地址
  • 到达Router Y的数据帧被泛洪
  • switches A and B 不正确的在Port2上学习到Host X的MAC地址

STP的端口状态

9

  • 失效(disabled) - 该端口只是相应网管消息,并且必须先转到阻塞状态。这种状态可以是由于端口的物理状(如端口物理层没有up)态导致的,也可能是管理员手工讲端口关闭。
  • 阻塞(blocking) - 处于这个状态的端口不能够参与转发数据报文,但可以接收BPDU配置消息,并交给CPU处理。不过不能发送配置BPDU消息,也不能进行地址学习。
  • 监听(listening) - 处于这个状态的端口不参与数据转发,也不进行地址学习,但可以接收并发送BPDU配置消息。
  • 学习(learning) - 处于这个状态的端口不能转发数据,但是开始地址学习,并可以接收、处理和发送BPDU配置消息。
  • 转发(forwarding) -一旦端口进入该状态,就可以转发任何数据,同时也进行地址学习和BPDU配置消息的接 收、处理和发送。