STP/RSTP/MSTP概述

STP/RSTP/MSTP概述

在一个复杂的网络环境中,难免会出现环路。并且,由于冗余备份的需要,网络设计者都倾向于在设备之间部署多条物理链路,其中一条做主用链路,其他链路做备份。这样,偶然或必然中都会导致环路产生。

环路会产生广播风暴,最终导致整个网络资源被耗尽,网络瘫痪不可用。环路还会引起MAC地址表震荡导致 MAC 地址表项被破坏。

为了破除环路,可以采用数据链路层协议STP (IEEE 802.1D),运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形 网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成处理能力下降。

但是,STP 拓扑收敛速度慢 通常情况下需要 30~ 50 秒 IEEE 于 2001 年发布的 802.1 w 标准定义了 RSTP, RSTP 在 STP 基础上进行了改进,实现了网络拓扑快速收敛

相比于STP 协议, RSTP 最大的改进点就是极大的提升了 STP 的性能,使链路切换时间由秒级降低为毫秒级 几百毫秒 。

STP和 RSTP 存在同一个缺陷:由于局域网内所有的 VLAN 共享一棵生成树,因此无法在 VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流 量,造成带宽浪费,还有可能造成部分 VLAN 的报文无法转发。

为了弥补STP 和 RSTP 的缺陷, IEEE 于 2002 年发布的 802.1 s 标准定义了 MSTP 。 MSTP 兼容 STP 和 RSTP ,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN 数据的负载均衡

STP/RSTP/MSTP,三种生成树协议的特点与应用场景比较如表 5 1 所示。
STP/RSTP/MSTP概述_第1张图片
在华为交换设备上, 默认启动的是 MSTP, 可以通过 stp mode mstp | rstp | stp 系统视图命令改变 STP 模式。
在思科交换设备上,默认启动的是思科私有的 PVST+(Per Vlan Spanning Tree), 可以通过 spanning tree mode mst | pvst | rapid pvst 全局配置命令 改变 STP 模式。

STP/RSTP相关概念

1.桥 ID (Bridge ID, BID)
IEEE802.1D 标准中规定 BID 是由 2 字节的桥优先级( Bridge Priority )与桥 MAC 地址构成,即 BID (8 字节) = 桥优先级( 2 字节) + 桥 MAC 6 字节)。
2.根桥( Root Bridge)
树形网络结构必须有树根,于是STP/RSTP 引入了根桥( Root Bridge )概念。对于一个STP/RSTP 网络,根桥有且只有一个,它是整个网络的逻辑中心,但不一定是物理中心。但是根据网络拓扑的变化,根桥可能改变。

在 STP 网络中, 桥 ID 最小的设备会被选举为根桥
缺省情况下桥优先级取值是 32768 。桥优先级支持手工配置 需为 4096 的整数倍(0- 61440)
在华为设备上, 可以通过 stp root primary 系统视图 命令指定生成树里的根桥(桥优先级 为最小值 0 ),通过 stp priority X 系统视图命令配置桥的优先级值为 X 。

在 思科 设备上, 可以通过 spanning tree vlan X Z root primary 全局配置 命令指定 vlan M 到 vlan N 生成树里的根桥(桥优先级为最小值 0 ),通过 spanning tree vlan M N priority X 全局配置命令配置 vla n M 到 vlan N 生成树里桥的优先级值为 X 。
3.端口 ID (PortID, PID)
PID由两部分构成的,即 PID (16 位) = 端口优先级( 4 位) + 端口号( 12 位)。

PID只在某些情况下对选择指定端口有作用,即在选择指定端口时,两个端口的根路径开销和发送交换设备 BID 都相同的情况下,比较端口的 PID PID 小者为指定端口。

缺省情况下STP 端口优先级为128 手工配置时需为16的整数倍( 0-240) 。
注:端口优先级在端口ID 中占 4 位, 4 位 2 进制数的最大值为 15 ,为什么端口优先级取值范围 为 0-240 呢?这是因为端口优先级的数值是按 1 字节( 8 位)计算的,后面填充了 4 位 0因此配置时数值是 16 的倍数。

4.路径开销
路径开销是一个端口量,是STP/RSTP 协议用于选择链路的参考值。 STP/RSTP 协议通过计算路径开销,选择较为 强壮 的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。

在一个STP/RSTP 网络中,某端口到根桥累计的路径开销就是所经过的各个桥上的各端口的路径开销累加而成,这个值叫做根路径开销。

华为设备上,使用 stp cost X 接口视图命令配置该端口的路径开销值为 X 。 思科设备上,使用 spanning tree cost X 接口配置命令配置该端口的路径开销值为 X 。

5.端口角色
(1)STP 端口 角色

  • 根端口 Root
    所谓根端口就是去往根桥路径最近( 路径开销最小 )的端口,根端口负责向根桥方向转发数据。

在一个运行STP/RSTP 协议的设备上根端口有且只有一个,而且根桥上没有根端口。
根端口的竞选标准是依据以下顺序进行,一旦比较出大小就不再往下比较 。
a) 到达根桥的路径开销值 最小的端口
b) 发送者最小的桥 I D
c) 发送者最小的端口 I D
d) 接受者最小的端口 I D

  • 指定端口 Desi gnated
    对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU 报文的端口。根桥的所有端口都是指定端口。在 交换网络 的每 个 网段都会选举出一个指定端口 。
    当2 个非根端口的交换机 端口都连接到同一个网段时,就会发生竞选端口角色的情况 。

(2)RSTP 端口 角色
RSTP在 STP 基础上新增加了 2 种端口角色 简化了生成树协议的理解及部署。

 Alternate 端口 替代端口, 对 根端口的备份
 Backup 端口 备份端口, 对指定端口的备份 。

(3)边缘端口
华为设备称边缘端口为 Edged port 思科 设 备称边缘端口为 Portfast 。边缘端口 是管理员根据实际需要配置的一种指定端口,用以连接 PC 或不需要运行 STP 的下游交换机。管理员需要保证该端口下游不存在环路, 边缘端口 能够直接进入 Forwarding 状态。实际应用中为了避免有人恶意攻击,需要开启 BPDU 保护功能,一旦收到 BPDU 边缘 端口被自动 shutdown ,需要管
理员手动恢复。在华为交换机中,使用 display stp brief 显示时边缘端口角色也显示为指定端口。

华为设备开启 BPDU 保护功能的命令是: 系统视图下 stp bpdu-protection 接口视图下 stp edged-port enable

思科设备开启 BPDU 保护功能的命令是: 接口 配置模式 下 spanning-tree portfast 或全局配置模式下 spanning-tree portfast bpduguard default接口 配置模式 下 spanning-tree bpduguard enable

6.端口状态

  • STP 端口状态
    Forwarding:既转发用户业务流量也转发 BPDU 报文。只有根端口和指定端口才能进入该状态。 即:接受并转发用户数据帧,接受并转发 BPDU 学习 MAC 地址。
    Learning:端口在此状态下根据收到的用户业务流量构造 MAC 地址表,但不转发用户业务流量。该状态是一种过渡状态,以防止临时环路。 即:接受用户数据帧但不转发,接受并且发送 BPDU学习 MAC 地址。
    Listening:端口在此状态下确定端口的角色,选举出根桥、根端口、指定端口。 即不接受也不 转发 用户数据帧,接受并转发 BPDU ,不学习 MAC 地址。
    Blocking:端口仅接收并处理 BPDU 而不转发 BPDU ,不接收也不转发 用户 数据帧,不学习MAC 地址 。
    Disabled:端口被禁止使用。
  • RSTP 端口状态
    RSTP对端口状态做了改进,只保留了三种端口状态 :Forwarding 、 Learning 、Discarding 。因为 STP 中的 Listening 、 Blocking 、 Disabled 三种状态,都是不转发数据帧也不学习MAC地址 ,优化为一种状态 Discarding 。

MSTP相关知识

在图5-1中的每台设备都运行MSTP。下面将结合图形解释MSTP 的一些基本概念。
STP/RSTP/MSTP概述_第2张图片
1.MST域
MST 域(Multiple Spanning Tree Regions ,多生成树域)是由交换网络中的多台设备以及它们之间的网段所构成。这些设备具有下列特点:
• 都启动了MSTP;
• 具有相同的域名;
• 具有相同的VLAN 到生成树实例映射配置;
• 具有相同的MSTP 修订级别配置;
• 这些设备之间在物理上有链路连通。
例如图3-1中的区域A0,域内所有设备都有相同的MST域配置:
• 域名相同;
• VLAN 与生成树实例的映射关系相同(VLAN 1 映射到生成树实例1,VLAN 2 映射到生成树实例2,其余VLAN 映射到CIST。其中,CIST 即指生成树实例0);
• 相同的MSTP 修订级别(此配置在图中没有体现)。
一个交换网络可以存在多个MST 域。用户可以通过MSTP 配置命令把多台设备划分在同一个MST 域内。
2.VLAN 映射表
VLAN 映射表是MST 域的一个属性,用来描述VLAN 和生成树实例的映射关系。例如图3-1中,域A0 的VLAN映射表就是:VLAN 1 映射到生成树实例1,VLAN 2 映射到生成树实例2,其余VLAN映射到CIST。MSTP 就是根据VLAN映射表来实现负载分担的。
3.IST
IST(Internal Spanning Tree,内部生成树)是MST 域内的一棵生成树。IST 和CST(Common Spanning Tree ,公共生成树)共同构成整个交换网络的生成树CIST(Common and Internal Spanning Tree ,公共和内部生成树)。IST 是CIST 在MST 域内的片段。例如图3-1中CIST在每个MST 域内都有一个片段,这个片段就是各个域内的IST。
4.CST
CST(Common Spanning Tree) 是连接交换网络内所有MST 域的单生成树。如果把每个MST 域看作是一个“设备”,CST 就是这些“设备”通过STP 协议、RSTP 协议计算生成的一棵生成树。例如图3-1中红色线条描绘的就是CST。
5.CIST
CIST(Common and Internal Spanning Tree) 是连接一个交换网络内所有设备的单生成树,由IST 和CST 共同构成。例如图3-1中,每个MST域内的IST加上MST域间的CST就构成整个网络的CIST。
6.MSTI
一个MST 域内可以通过MSTP 生成多棵生成树,各棵生成树之间彼此独立。每棵生成树都称为一个MSTI(Multiple Spanning Tree Instance ,多生成树实例)。例如图3-1中,每个域内可以存在多棵生成树,每棵生成树和相应的VLAN对应。这些生成树就被称为MSTI。
7.域根
MST 域内IST 和MSTI 的根桥就是域根。MST 域内各棵生成树的拓扑不同,域根也可能不同。例如图3-1中,区域D0 中,生成树实例1 的域根为设备B,生成树实例2 的域根为设备C。
8.总根
总根(Common Root Bridge)是指CIST 的根桥。例如图3-1中,总根为区域A0 内的某台设备。
9.域边界端口
域边界端口是指位于MST 域的边缘,用于连接不同MST 域、MST 域和运行STP 的区域、MST 域和运行RSTP 的区域的端口。在进行MSTP计算的时候,域边界端口在MST实例上的角色和CIST的角色保持一致,即如果域边界端口在CIST上的角色是Master端口,则它在域内所有MST实例上的角色也是Master 端口。例如图4中,如果区域A0 的一台设备和区域D0 的一台设备的第一个端口相连,整个交换网络的总根位于A0 内,则区域D0 中这台设备上的第一个端口就是区域D0 的域边界端口。
10.端口角色
在MSTP 的计算过程中,端口角色主要有根端口、指定端口、Master 端口、Alternate 端口、Backup 端口等。
• 根端口:负责向根桥方向转发数据的端口。
• 指定端口:负责向下游网段或设备转发数据的端口。
• Master 端口:连接MST 域到总根的端口,位于整个域到总根的最短路径上。从CST 上看,Master 端口就是域的“根端口”(把域看作是一个节点)。Master 端口在IST/CIST 上的角色是根端口,在其它各个实例上的角色都是Master 端口。
• Alternate 端口:根端口和Master 端口的备份端口。当根端口或Master 端口被阻塞后,Alternate 端口将成为新的根端口或Master 端口。
• Backup 端口:指定端口的备份端口。当指定端口被阻塞后,Backup 端口就会快速转换为新的指定端口,并无时延的转发数据。当开启了MSTP 的同一台设备的两个端口互相连接时就存在一个环路,此时设备会将其中一个端口阻塞,Backup 端口是被阻塞的那个端口。端口在不同的生成树实例中可以担任不同的角色。连接到总根。

11.端口状态
MSTP 中,根据端口是否学习MAC 地址和是否转发用户流量,可将端口状态划分为以下三种:
• Forwarding 状态:学习MAC 地址,转发用户流量;
• Learning 状态:学习MAC 地址,不转发用户流量;
• Discarding 状态:不学习MAC 地址,不转发用户流量。

RSTP/MSTP的保护功能

为了更好的保证
RSTP /MSTP 协议在网络不稳定的情况下,尽可能的保 证流量的正常转发,
在标准协议中新增了 4 种保护功能。具体功能如 表 5 2 所示 。
STP/RSTP/MSTP概述_第3张图片
注: TC BPDU 报文用于通知上游设备网络拓扑发生了变化 (TC N , Topology Change Notification ),请删除设备的 MAC 地址表项 TCA (Topology Change Ack) BPDU 是对 TCN-BPDU的确认。

你可能感兴趣的:(#,交换技术基础,#,IP网络基础,网络工程师学习,网络)