生成树协议
STP STP(Spanning Tree Protocol)是用于局域网中消除环路的协议,运行该协议的设备通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞,从而达到消除环路的目的。 STP要解决的问题:环路 广播风暴导致网络不可用 环路产生广播风暴,广播风暴会导致网络不可用。图中,假设交换设备上没有启用STP协议。如果ServerA发出广播请求,那么广播报文将被其他两台交换设备的端口port1接收,并分别从端口port2广播出去,然后端口port2又收到另一台交换设备发过来的广播报文,再分别从两台交换设备的端口port1转发,如此反复,最终导致整个网络资源被耗尽,网络瘫痪不可用。 MAC地址表震荡导致MAC地址表项被破坏 即使是单播报文,也有可能导致交换设备的MAC地址表项混乱,以致破坏交换设备的MAC地址表。 假设图中所示的网络中没有广播风暴,ServerA发送一个单播报文给ServerB,如果此时ServerB临时从网络中移去,那么交换设备上有关ServerB的MAC地址表项也将被删除。此时ServerA发给ServerB的单播报文,将被交换设备S1的端口port1接收,由于S1上没有相应的MAC地址转发表项,该单播报文将被转发到端口port2上,然后交换设备S2的端口port2又收到从对端port2端口发来的单播报文,然后又从port1发出去。同时,交换设备S2的端口port1也会接收ServerA发给ServerB的单播报文,然后又从port2发出去。如此反复,在两台交换设备上,由于不间断地从端口port1、port2收到主机A发来的单播报文,交换设备会不停地修改自己的MAC地址表项,从而引起了MAC地址表的抖动。如此下去,最终导致MAC地址表项被破坏。 相关知识:交换机的MAC地址表工作原理 STP协议相关概念 一个桥根 STP作为生成树协议,顾名思义就是将环状结构转换成树形结构,树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)概念。 对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。根桥会根据网络拓扑的变化而动态变化。 网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备仅对该报文进行处理,传达拓扑变化记录,从而保证拓扑的稳定。 注:BPDU(Bridge Protocol Data Unit),网桥协议数据单元,是生成树协议定义的一个数据单元,用于各网桥之间的通信。 两种度量 生成树的生成计算有两大基本度量依据:ID和路径开销。 ID ID又分为:BID(Bridge ID)和PID(Port ID)。 BID:桥ID IEEE 802.1D标准中规定BID是由桥优先级(Bridge Priority)与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。 在STP网络中,桥ID最小的设备会被选举为根桥。 PID:端口ID PID由两部分构成的,高4位是端口优先级,低12位是端口号。 PID只在某些情况下对选择指定端口有作用。端口优先级可以影响端口在指定生成树实例上的角色,详细介绍请见STP拓扑计算 路径开销 路径开销(Path Cost)是一个端口变量,是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。 在一个STP网络中,某端口到根桥的路径开销就是所经过的各个桥上的出端口的路径开销累加而成,这个值叫做根路径开销(Root Path Cost)。 三要素选举 从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。 根桥RB(Root Bridge) 根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。 根端口RP(Root Port)...