STP是局域网消除环路的协议,设备通过交互BPDU发现网络中的环路,并阻塞某些端口来消除环路,标准名称802.1D。
环路重要危害:二层网络环路会产生广播风暴导致网络资源耗尽,网络瘫痪;MAC地址表震荡,二层网络拓扑频繁变化导致设备的MAC地址表震荡,影响数据转发。
工作流程
五种工作状态
Disabled:禁用状态,端口状态为Down,不接收BPDU,不转发用户流量。
Blocking:阻塞状态,阻塞端口的最终状态,接收并处理BPDU,不转发用户流量。
Listening:侦听状态,接收并处理BPDU进行生成树角色选举,不转发用户流量。
Learning:学习状态,接收并处理BPDU进行MAC地址学习,不转发用户流量防止临时环路。
Forwarding:转发状态,根端口和指定端口的最终状态,既处理BPDU报文也转发用户流量。
核心知识
通过在桥之间交换BPDU(桥协议数据单元)报文,来保证设备完成生成树的计算过程
BPDU(桥协议数据单元)
1、配置BPDU:用来进行生成树的计算和维护生成树拓扑的报文
2、TCN BPDU:当拓扑结构改变时,用来通知相关设备网络拓扑发生变化的报文,配置BPDU:由根桥从指定端口周期性发出,发送周期Hello Time(2s/次),非根桥从根端口接收配置BPDU,进行更新并从指定端口将其发出。网络中只有根桥会生成配置BPDU,非根桥只能对配置BPDU进行中继(转发),不会 自行产生配置BPDU,没有运行STP的网桥将把配置BPDU当作普通的数据帧转发。
- 配置BPDU用来根桥的选举和端口角色的确定,基于二层组播方式发送,目的地址为01-80-C2-00-00-00。
- 当根端口收到配置BPDU后,都会保存本端口最优的BPDU,如果BPDU信息在Mac Age(20s)时间内得到更新时,端口将清除保存的BPDU信息。
- 配置BPDU包含目的Mac地址、源Mac地址、帧长、逻辑链路头以及载荷等。
- stp计算所需要的信息
初始状态:每个桥都认为自己是根桥,向所有端口发送自己的配置BPDU。
选择根桥:交互配置 BPDU,桥ID最小的设备会被选举为根桥。
选择根端口:每一个非根桥设备选举一个根端口①根路径开销②对端BID③对端PID④本端PID。
选择指定端口:每一条物理链路选举一个指定端口①根路径开销②本端BID③本端PID。
阻塞预备端口:未被选举为根端口或指定端口的作为预备端口会被阻塞。
- 各台设备的各个端口在初始时生成以自己为根桥(Root Bridge)的配置消息,向外发送自己的配置消息
- 网络收敛后,根桥向外发送配置BPDU,其他的设备对该配置BPDU进行转发
配置
sw1:
<sw1>display current-configuration
#
sysname sw1
#
vlan batch 10 20 30
#
stp mode stp
stp instance 0 priority 4096
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30
stp instance 0 cost 10
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30
stp instance 0 cost 1000
#
interface GigabitEthernet0/0/3
#
interface GigabitEthernet0/0/4
#
interface GigabitEthernet0/0/5
#
interface GigabitEthernet0/0/6
#
interface GigabitEthernet0/0/7
#
interface GigabitEthernet0/0/8
#
interface GigabitEthernet0/0/9
#
interface GigabitEthernet0/0/10
#
interface GigabitEthernet0/0/11
#
interface GigabitEthernet0/0/12
#
interface GigabitEthernet0/0/13
#
interface GigabitEthernet0/0/14
#
interface GigabitEthernet0/0/15
#
interface GigabitEthernet0/0/16
#
interface GigabitEthernet0/0/17
#
interface GigabitEthernet0/0/18
#
interface GigabitEthernet0/0/19
#
interface GigabitEthernet0/0/20
#
interface GigabitEthernet0/0/21
#
interface GigabitEthernet0/0/22
#
interface GigabitEthernet0/0/23
#
interface GigabitEthernet0/0/24
#
interface NULL0
#
user-interface con 0
user-interface vty 0 4
#
return
<sw1>
//详解:priority+mac决定根桥
sw2
[sw2]display current-configuration
#
sysname sw2
#
vlan batch 10 20 30
#
stp mode stp
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30
stp instance 0 cost 10
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
stp edged-port enable
#
interface GigabitEthernet0/0/4
#
interface GigabitEthernet0/0/5
#
interface GigabitEthernet0/0/6
#
interface GigabitEthernet0/0/7
#
interface GigabitEthernet0/0/8
#
interface GigabitEthernet0/0/9
#
interface GigabitEthernet0/0/10
#
interface GigabitEthernet0/0/11
#
interface GigabitEthernet0/0/12
#
interface GigabitEthernet0/0/13
#
interface GigabitEthernet0/0/14
#
interface GigabitEthernet0/0/15
#
interface GigabitEthernet0/0/16
#
interface GigabitEthernet0/0/17
#
interface GigabitEthernet0/0/18
#
interface GigabitEthernet0/0/19
#
interface GigabitEthernet0/0/20
#
interface GigabitEthernet0/0/21
#
interface GigabitEthernet0/0/22
#
interface GigabitEthernet0/0/23
#
interface GigabitEthernet0/0/24
#
interface NULL0
#
user-interface con 0
user-interface vty 0 4
#
return
[sw2]
SW3
<sw3>display current-configuration
#
sysname sw3
#
vlan batch 10 20 30
#
stp mode stp
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30
stp instance 0 cost 100
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30
stp instance 0 cost 100
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
stp edged-port enable
#
interface GigabitEthernet0/0/4
#
interface GigabitEthernet0/0/5
#
interface GigabitEthernet0/0/6
#
interface GigabitEthernet0/0/7
#
interface GigabitEthernet0/0/8
#
interface GigabitEthernet0/0/9
#
interface GigabitEthernet0/0/10
#
interface GigabitEthernet0/0/11
#
interface GigabitEthernet0/0/12
#
interface GigabitEthernet0/0/13
#
interface GigabitEthernet0/0/14
#
interface GigabitEthernet0/0/15
#
interface GigabitEthernet0/0/16
#
interface GigabitEthernet0/0/17
#
interface GigabitEthernet0/0/18
#
interface GigabitEthernet0/0/19
#
interface GigabitEthernet0/0/20
#
interface GigabitEthernet0/0/21
#
interface GigabitEthernet0/0/22
#
interface GigabitEthernet0/0/23
#
interface GigabitEthernet0/0/24
#
interface NULL0
#
user-interface con 0
user-interface vty 0 4
#
return
<sw3>
标签:BPDU,default,端口,GigabitEthernet0,STP,interface,port From: https://blog.51cto.com/u_13560030/8891952