STPΣ(っ °Д °;)っ.note
交换机能够精确转发数据是因为学习了源MAC地址进入MAC地址表,然后就会根据MAC地址表进行一对一的单播转发;
如果没有学习MAC地址,那么就是泛洪
一条链路单点失效:
MAC地址有300秒的维持时间,即使一个对端接口DOWN掉,也不会立即停止发送数据,而是会再发送300秒时间(不管其能否接受到)。五分钟之后地址才会删除
STP(Spanning-Tree Protocol):
每一个广播域有且只有一个根桥
每一个非根桥有且只有一个根端口
根端口的对端一定是指定端口
根桥上的所有端口都是指定端口
阻塞非指定端口(逻辑上阻塞,物理上是开启的)
BPDU(Bridge Protocol Data Unit):
相当于交换机针对于生成树协议的Hello包
1.包含桥ID:
桥ID中有:
优先级
MAC地址(不是端口MAC地址,指交换机主板的MAC地址,也可以叫管理MAC等)
选举根桥:
交换机收到BPDU包后,会进行对比
先比较到达根桥的开销值
再对比优先级:
默认为32768
取值范围0 - 65535
是4096的倍数
优先级小的为根桥,若优先级相同,则比较MAC地址
再对MAC地址表(交换机主板上的MAC地址):
最小的为根桥(root)
BPDU是只有根桥才有资格发送,最初的交换机发送BPDU是因为它们都以为自己是根桥,所以发送BPDU
这个过程称为BPDU的泛洪
根桥确立完毕 后,所有非根桥都不再发送BPDU
只有根桥会每2秒泛洪一次BPDU
,20秒未收到回应则超时
选举根桥时对比的各台交换机的根ID实际上就是在对比它们的桥ID
根桥发送的BPDU不仅有桥ID,还会有:
根ID(root ID):
根桥自己的桥ID
根桥发送的BPDU在传输时所产生的变化:
根桥发送的BPDU每经过一个非根桥时,非根桥都会将自己的桥ID替换进BPDU,取代BPDU中的桥ID,根ID不动,转发给下一台非根桥
(比较类似于报文传输时目的MAC不变,源MAC每经过一次传输时都会产生一次变化)
每个非根桥都会选举出一个去往根桥最优的端口作为根端口(RP)
选举方式:
1.到达根桥的最低路径成本(开销值最小)

开销值相同时,比较:
2.最低发送者网桥ID:
从接收到的BPDU中查看,因为根桥发送的BPDU每经过一台非跟根桥,它的网桥ID都会被替换,开始对比,数值最小的为根端口
比较不出网桥ID时(都是同一台设备发送的),比较:
3.最低发送者端口ID
比较对端的最低端口ID
最低发送者端口ID所连接的本地交换机的端口成为根端口(本地交换机的端口成为根端口,不是对面的交换机端口成为根端口)
·可以在交换机上修改端口的 PID:
inter f0/1
spann vlan p 144 //端口优先级是 16的倍数(默认是128)每个段选择一个指定端口(DP):
指定端口选举
根端口的对端必定是指定端口
对比的BPDU中的桥ID,优先的为指定端口
先比较到达根桥的开销值
再比较优先级
再比较桥ID
再比较端口ID(比较对端的端口ID,对端的端口ID越小,则本地成为指定端口)
根桥上的所有端口都能向外发送BPDU(根桥上的所有端口都是指定端口)
剩下的没有身份的端口会被阻塞(AP)
逻辑上阻塞,物理上UP
端口角色:
1.指定端口是发送BPDU的(无法接收,但能够转发流量);
2.根端口是接受BPDU的(无法发送,但能够转发流量);
3.阻塞端口能接受BPDU(无法发送,不能转发流量)
五个端口状态:
1.block
·阻塞状态
第一个端口状态,类似与OSPF邻居的DOWN
确认端口角色后,没有身份的非指定端口进入block状态
2.listen
·监听状态
监听BPDU,不能学习MAC地址,不能转发数据(维持15秒),确认端口角色
3.learn
·学习状态
学习MAC地址,不能转发数据(维持15秒)
4.forward
·转发状态
可以转发数据
5.disable
·禁用
备份作用:
当拥有阻塞端口的交换机检测到直连链路出现故障时,会立刻被感知到,立刻开启阻塞端口,将会经历30秒的时间开启阻塞端口
当非直连链路出现故障,无法立即感知到,需要靠根桥2秒一发的BPDU,如果阻塞端口20秒没有收到BPDU,就会确认链路出现故障,立刻开启阻塞端口,加上等待BPDU的超时时间,总共经历50秒的时间开启阻塞端口
生成树中有两种BPDU:
1.配置BPDU
2.TCN(topology change notification)【拓扑变更通告BPDU】
当一台交换机检测到链路出现故障时,交换机会立刻从根端口转发TCN BPDU,去通知根桥
根桥收到后,会转发一个新的配置BPDU,这个新的BPDU只会在得到TCN后发送一次,其中有一个TC(拓扑变更)
当其他交换机收到这个BPDU时,发现有TC后,会立刻将MAC地址的300秒老化时间变成15秒,进入15秒的转发延迟,15秒后,所有交换机的MAC地址表全部清空
当有数据发送过来后,全部都是未知单播帧,在进行一两轮泛洪后,又重新学习出一个开启阻塞后的新链路,按照该链路进行流量转发
标准生成树是所有vlan只运行一颗,阻塞端口阻塞所有vlan
Cisco私有生成书:
pvst:
它将每一个vlan当成一个网桥、一台交换机来对待
能vlan间生成树的负载均衡
弊端:
因为每个vlan都运行了一个生成树,所以每个vlan都需要发送BPDU,有几个vlan就需要发送多少个BPDU,有一千个vlan就需要发送一千个BPDU
二层网络的根桥不能出现在接入层
接入层
汇聚层
核心层