STP基础理论
为什么需要生成树协议
1、防止广播风暴:广播帧在环路中无限循环,耗尽带宽
2、防止MAC地址表震荡:交换机不断更新MAC地址与端口的映射关系,导致转发混乱
3、防止重复数据帧:同一数据帧经不同的路由到达目标,造成数据错误
总结:解决二层交换网络中冗余链路导致的物理环路的问题,避免广播风暴、MAC地址表震荡和数据帧重复发送,保障网络基础稳定
STP协议应用场景
1、交换机之间的互联(如接入层与汇聚层、汇聚层与核心层交换机的冗余连接)
2、任何可能形成物理环路的二层网络拓扑(如环形组网、多路径连接)
STP协议是什么
1、STP生成树协议
2、STP工作在数据链路层:STP协议就是IEEE802.1D标准
STP的作用
1、构建物理有环,逻辑无环的网络,既能实现链路备份,又能破除二层环路,防止广播风暴的发生
2、STP通过阻塞某个接口在逻辑上断开环路,防止广播风暴
端口状态行为:
|
状态 |
转发BPDU |
转发用户流量 |
MAC地址学习 |
|
Blocking(阻塞) |
只接收BPDU报文 |
不转发用户流量 |
不进行MAC地址学习 |
|
Listening(侦听) |
接收和转发BPDU报文 |
不转发用户流量 |
不进行MAC地址学习 |
|
Learning(学习) |
接收和转发BPDU报文 |
不转发用户流量 |
可以进行MAC地址学习 |
|
Forwarding(转发) |
接收和转发BPDU报文 |
转发用户流量 |
可以进行MAC地址学习 |
STP工作原理
1、选举根交换机
2、在每个非根交换机上选举一个根端口
3、在每条链路上选举一个指定端口
4、阻塞非指定端口
STP选举:
1、根网桥(所有交换机选一个根交换机)
-
首先,比优先级,优先级小者优先
-
其次,比MAC地址,MAC地址小者优先 其中优先级取值范围为0-61140,步长为4096。所以BID优先级始终为0或4096的倍数 默认值为32768 优先级分为两个部分:高优先级(4个bit) + 低优先级(12个bit)
2、根端口(RP)(每个非根交换机选一个根端口)
-
首先,选择根路径开销RPC最低的端口
-
其次,若有多个端口的RPC相等,选择对端桥ID最低的端口
-
最后,若有多个端口的对端桥ID相等,选择对端端口ID最低得到端口
3、指定端口(DP)(每个二层链路选一个指定端口)
-
首先,选择根路径开销RPC最低的端口
-
其次,若有多个端口的RPC相等,选择桥ID(BID)最低的端口
-
最后,若有多个端口的桥ID相等,选择端口ID(PID)最低的端口
BID是什么
-
BID-网桥ID,即:STP协议给交换机分配的名字
-
BID是由优先级与MAC地址组成,BID值越小越优先
-
BID优先级取值范围:0-61440、默认值32768
-
BID优先级步长值:4096,即:配置STP优先级值的时候,只能配置0或者4096的倍数
STP基础命令
[SW1]stp mode stp //工作模式改为STP,华为设备默认开启SMTP
[SW1]stp priority 0 //设置交换机的STP优先级为0
[SW1]display stp //显示交换机的STP详细信息
确定端口角色
1、两种度量值
1、ID:
BID(网桥ID):设备优先级+MAC地址组成(值越小越优先)
取值范围:0-61440,默认值为32768,步长值4096
修改命令:[SW1]stp priority 0
PID (端口ID):端口优先级+端口号组成(值越小越优先)
端口优先级的取值范围:0-240,默认值128,步长值16
修改命令:[SW1-gigabitethernet 0/0/0]stp port priority 16
2、路径开销:cost
路径开销可以形容为交换机之间的“距离远近”,开销值越小越优先
交换机的每一个端口都有一个路径开销-cost值
交换机的接口cost值和端口带宽有关系,带宽越高,cost值越小
默认情况下,华为交换机千兆端口的cost值为20000
默认情况下,华为交换机的百兆端口的cost值为200000
3、查看交换机端口的路径开销值
<huawei>display stp —-[Port1(GigabitEthernet0/0/1)][FORWARDING]—- Port Protocol :Enabled Port Role :Root Port
//端口角色:根端口 Port Priority :128 //端口优先级:128
Port Cost(Dot1T ) :Config=auto / Active=20000 //
//端口cost值:20000
2、查看根路径开销值
根路径开销值:等于根交换机到该交换机的所有入方向的cost累加值
根端口选举
根端口定律:
根交换机中没有根端口
非根交换机中有且只有一个根端口
STP端口和STP计时器
1、BPDU报文
1、BPDU:桥协议数据单元
BPDU报文也称为“二层心跳报文”周期性发送,默认每秒发送一次
作用:交换机之间通过周期性发送配置BPDU报文,来实现STP功能
2、BPDU的四个重要字段
-
根网桥ID:根交换机的BID
-
根路径开销:本端口累计到根桥的开销值(cost值)
-
发送网桥ID:本交换机的BID
-
端口ID:发送BPDU报文的那个端口的ID
2、STP的5种状态
禁用:强制关闭,没有启动STP协议
阻塞:只接收BPDU报文,不发送BPDU报文
侦听:比较BPDU报文,确定交换机角色和端口角色
学习:基于端口上收到的数据帧,学习MAC地址表
转发:端口最终的状态,能够发送和 接收用户数据
3、STP的3种计时器
hello时间:端口发送的BPDU报文的时间间隔:默认是2秒
转发延迟:侦听—学习:15秒;学习—转发:15秒
最大老化时间:一个端口最大的“没有接受BPDU”的时间间隔:20秒
4、STP的不足:收敛时间慢——网络中断时间长
收敛:网络从不可用状态到可用状态
STP的最大收敛时间30-50秒
1、根交换机故障,STP的收敛时间约50秒
2、直连链路故障:STP的收敛时间约30秒
3、非直连的链路故障:STP的收敛时间约50秒
MSTP
1、STP的不足
STP收敛速度慢:30-50秒,导致网络中断时间过长
2、解决方案:RSTP:快速生成树
1、RSTP简析
快速生成树,公有协议:IEEE802.1w,在STP的基础上优化而来
作用:实现网络的快速收敛,降低网络故障的时间,提高数据转发的效率
2、RSTP对STP的改进
增加了3种端口角色(AP和BP)
增加了边缘端口
AP替代接口(alternate port),是根接口的备份,当根接口故障,AP接口会立即成为根接口
BP备份接口(backup port),是指定接口的备份,当指定接口故障,BP接口会立即成为指定接口
减少了三种端口状态(禁用、阻塞、侦听三种状态合为一种,即Discarding(丢弃))
引入了P/A机制(让指定端口尽快进入转发状态):
P表示提议;A表示同意;协议一致
RSTP的三种状态
丢弃(discarding):只接收BPDU报文,不发送数据帧
学习(Learning):基于端口上收到的数据帧,学习MAC地址表
转发(forwarding):端口最终的状态,能够发送和接收用户数据
RSTP的不足
1、RSTP和STP有一个共同的缺陷:局域网中所有的VLAN共享一颗生成树
2、所有的VLAN的数据转发路径是相同的、无法实现VLAN数据流的负载分担
MSTP多生成树协议
1、MSTP:多生成树协议,公有协议:IEEE802.1s,在RSTP的基础上优化而来
2、在MSTP网络中,引入了域的概念,称为MST域
3、每一个MST域中包含一个或多个生成树称为“实例”
4、每个“实例生成树(简称实例树)”都可以绑定VLAN,实现VLAN的数据流的负载分担/负载均衡
5、默认情况下,所有的VLAN都属于“实例树0”,即instance 0
6、不同的实例树,就是不同的生成树,每个实例树中都可以选举根交换机
MSTP的工作原理
MSTP的工作过程:
选举根交换机
选举根端口-RP
选举指定端口-DP
确定替代端口-AP
确定端口状态
1、discarding(丢弃):相当于STP中的禁用、侦听、阻塞,不转发用户数据
2、learning(学习):和STP中的学习状态相同
3、forwarding(转发):和STP中的转发状态相同

