某公司最近由于业务迅速发展和对网络可靠性的要求,使用了两台高性能交换机作为核心交换机,接入层交换机与核心层交换机互联,形成冗余结构,来满足网络的可靠性,达到最佳的工作效率。 生成树技术(STP)可以在交换机网络中消除第二层环路,但收敛速度需要较长时间,这里可采用快速生成树技术(RSTP)。RSTP的标准为IEEE802.1w,它改进了STP,缩短了网络的收敛时间。RSTP的收敛速度最快可以缩短大1秒之内,在拓扑发生变化时能快速恢复网络的连通性。
(1)避免网络环路,网络拓扑图如图
2)在SW3A、SW3B、SW2A和SW2B上划分VLAN10,端口的分配如表
(3)PC1~PC2的端口IP地址设置如表
(4)配置交换机的RSTP功能,加快网络拓扑收敛。要求核心交换机有较高优先级,SW3A为根交换机,SW3B为备用根交换机,从SW3A到SW2A的链路和SW3A到SW2B的链路为主链路。
1. STP的由来
为了解决冗余链路引起的问题,IEEE通过了IEEE 802.1d协议,即生成树协议(Spanning Tree Protocol,STP)。IEEE 802.1d协议通过在交换机上运行一套复杂的算法,使冗余端口置于“阻塞状态”,使得网络中的计算机在通信时只有一条链路生效,而当这个链路出现故障时,IEEE 802.1d协议将会重新计算出网络的最优链路,将处于“阻塞状态”的端口重新打开,从而确保网络连接稳定可靠。 生成树协议目前常见的版本有STP(生成树协议IEEE 802.1d),RSTP(快速生成树协议IEEE 802.1w),MSTP(多生成树协议IEEE 802.1s)。 生成树算法是利用SPA算法,在存在交换环路的网络中生成一个没有环路的树形网络。运用该算法将交换网络冗余的备份链路逻辑上断开,当主要链路出现故障时,能够自动切换到备份链路,保证数据的正常转发。
2.STP的术语
(1)桥(Bridge) 因为性能方面的限制等因素,早期的交换机一般只有两个转发端口,所以那时的交换机常常被称为“网桥”,或简称“桥”。在IEEE的术语中,“桥”这个术语一直沿用至今,但并不只是指只有两个转发端口的交换机了,而是泛指具有任意多个端口的交换机。
(2)桥的MAC地址(Bridge MAC Address) 一个桥有多个转发端口,每个端口有一个MAC地址。通常,交换机会把端口编号最小的那个端口的MAC地址作为整个桥的MAC地址。
3.STP树的生成过程 STP树的生成过程主要分为以下4步。
①选举根桥(Root Bridge),作为整个网络的根。
②确定根端口(Root port,RP),确定非根交换机与根交换机链接最优的端口。
③确定指定端口(Designated Port,DP),确定每条链路与根桥连接最优的端口。
④阻塞备用端口(Alternate Port,AP),形成一个无环网络。
(1)选举根桥
根桥是STP树的根节点。要生成一棵STP树,首先要确定出一个根桥。根桥是整个交换网络的逻辑中心,但不一定是它的物理中心。当网络的拓扑发生变化时,根桥也可能会发生变化。 运行STP的交换机(简称STP交换机)会相互交换STP协议帧,这些协议帧的载荷数据被称为BPDU( Bridge Protocol Data Unit,网桥协议数据单元)。BPDU中包含了与STP相关的所有信息,其中包含了BID。 交换机间选举根桥主要由步骤如下。
①STP交换机初始启动之后,都会认为自己是根桥,并在发送给其他交换机的BPDU中宣告自己是根桥。
②当交换机从网络中收到其他设备发送过来的BPDU的时候,会比较BPDU中的根桥BID和自己的BID,较小的BID将作为根桥BID。
③交换机间通过不断地交互BPDU,同时对BID进行比较,直至最终选举出一台BID最小的交换机作为根桥。
(2)确定根端口
根桥确定后,其他没有成为根桥的交换机都被称为非根交换机。一台非交换机可能通过多个端口与根交换机通信,为了保证从非根交换机到根交换机的工作路径是最优且唯一的,就必须从非根交换机的端口中确定出一个被称为“根端口”的端口,由根端口作为非根交换机与根交换机设备之间进行报文交互。 因此,一台非根桥设备上最多只能有一个根端口,根端口的确定过程如下。
①比较根路径开销,较小的为根端口;
②比较上行设备的BID,BID较小的端口为根端口;
③比较发送方端口ID,较小的端口为根端口。
STP把根路径开销(Root Path Cost, RPC)作为确定根端口的一个重要依据。一个运行STP的网络中,某个交换机的端口到根桥的累计路径开销(即从该端口到根桥所经过的所有链路的路径开销总和)称为该端口的RPC。链路的路径开销与端口速率有关,端口转发速率越大,路径开销就越小。端口速率与路径开销的对应关系如表
(3)确定指定端口 指定端口也是通过比较RPC来确定的,RPC较小的端口将成为指定端口。如果RPC相同,则需要比较BID、PID等。根桥上不存在任何根端口,只存在指定端口。
(4)阻塞备用端口
①确定根端口和指定端口后,所有剩余端口称为备用端口。STP会对备用端口进行逻辑阻塞。 ②备用端口被逻辑阻塞后,STP树的生成过程便告完成。
4.STP的端口状态
STP将端口的状态分为5种:禁用状态、阻塞状态、侦听状态、学习状态和转发状态。这些状态的迁移用于防止网络STP收敛过程种可能存在的临时环路
(1) STP交换机的端口在初始启动时,会从禁用状态进入阻塞状态。在阻塞状态下,端口只能接收和分析BPDU,但不能发送BPDU。
(2)如果端口被选为根端口或指定端口,则会进入侦听状态,此时端口接收并发送 BPDU,这种状态会持续一个转发延迟的时间长度,默认为15s。
(3)如果没有因“意外情况”而回到阻塞状态,则该端口会进入学习状态,并在此状态持续一个转发延迟的时间长度。处于学习状态的端口可以接收和发送 BPDU,同时开始构建MAC地址表,为转发用户数据帧做好准备。处于学习状态的端口仍然不能转发用户数据帧,因为此时网络中可能还存在因STP树的计算过程不同步而产生的临时环路。
(4)端口由学习状态进入转发状态,开始用户数据帧的转发工作。
(5)在整个状态的迁移过程中,端口一旦被关闭或发生了链路故障,就会进入禁用状态;在端口状态的迁移讨程中,如果端口的角色被判定为非根端口或非指定端口,则其端口状态会立即退回到阻塞状态
交换机的基本配置。
(1)交换机SW3A的基本配置。
(2)交换机SW3B的基本配置。
(3)交换机SW2A的基本配置。
(4)交换机SW2B的基本配置。
开启交换机的RSTP协议。
(1)交换机SW3A的RSTP配置。
(2)交换机SW3B的RSTP配置。
(3)交换机SW2A的RSTP配置。
(4)交换机SW2B的RSTP配置。
配置交换机SW3A和SW3B上RSTP的优先级。 将SW3A配置为主根交换机,SW3B为备用根交换机。 方法1:修改交换机的优先级指定根网桥。
(1)在SW3A上的配置。将SW3A的优先级改为0。
(2)在SW3B上的配置。将SW3B的优先级改为4096。
方法2:通过命令直接指定根网桥。
(1)在SW3A上的配置。删除在SW3A上所配置的优先级,使用stp root primary命令配置主根交换机。
(2)在SW3B上的配置。删除在SW3B上所配置的优先级,使用stp root secondary命令配置备用根交换机。