CCIE学习(8)――STP基础

802.1d STP (生成树协议)的作用:在交换机间防止环路发生。 STP 通过阻塞某些接口来实现。
 
STP 的实现过程,三步:
1 )选举根交换机:最小 bridge ID 的交换机胜出(标准 bridge ID MAC 地址 +2 字节优先权值)
2 )确定每个交换机的根端口:每台交换机上到根交换机路径开销最小的端口
3 )为每个段确定指定端口( Designated Port ):当多台交换机连入同一段时,那个转发 Hello 消息开销最小的交换机端口
 
详解 STP 第一步
只有一台根交换机。其选举过程如下:每个交换机最初发送 STP Hello BPDU bridge protocol data unit )消息来参与竞选。如果一个交换机收到优先级更高的 Hello (更小的 bridge ID ),它就停止自发送 Hello 以退出竞选,相反,它会转发更高优先级的 Hello 。最终,只剩下一台交换机还在发送 Hello ――它就是最后的胜出者。
初始的 IEEE 802.1d bridge ID 包含两个字段:
1 2 字节的 Priority 字段,可进行配置以影响 STP 选举过程
2 6 字节 MAC 地址,因为该字段是唯一的,就保证了最终有一台交换机在选举中能胜出。
 
详解 STP 第二步
1 )每隔 Hello 定时器时间(默认为 2 秒),根交换机创建并发送 Hello 消息。
2 )每台交换机接收到 Hello 消息后,先更新 Hello 中的如下字段:开销,转发交换机的 bridge ID ,转发端口的优先级和转发端口号,然后再转发出去。
3 )交换机不在稳定为阻塞状态的端口上转发 Hello
4 )在交换机接收到 Hello 的所有端口中,到根交换机开销( Hello 消息中的开销值 + 交换机 STP 端口开销值)最小的端口就是根端口。
IEEE 802.1d 所规定的默认端口开销:
1 10Mbps 接口: 100
2 100Mbps 接口: 19
3 1Gbps 接口: 4
4 10Gbps 接口: 2
如果计算出的开销值有相等的情形,采用如下仲裁机制:
1 )选择转发交换机 bridge ID 最小的
2 )选择邻接交换机中端口优先值最小的
3 )选择 Hello 中列出的内部端口号最小的
 
详解 STP 第三步
会聚的 STP 拓扑只有一台交换机转发到每个 LAN 段,该交换机称为该段的指定交换机( designated switch ),而用于转发到该段的端口称为指定端口。
指定端口是向该段发送含最小广告开销的 Hello 消息的端口。如果开销相等,仲裁机制与上同。
 
收敛到新的 STP 拓扑
STP 有稳定拓扑时:
1 )根交换机基于 Hello 定时器周期性地生成 Hello
2 )每台非根交换机(基于 Hello 定时器)周期性在其根端口上接收根交换机的 Hello 消息。
3 )每台交换机更新 Hello 消息并在其指定端口上转发出去。
4 )对于每个阻塞端口,交换机周期性地由指定端口接收 Hello 消息(在阻塞端口上不再转发)。
如果网络拓扑发生变化, STP 会重新收敛。如果根交换机失效,在最大时间定时器(默认为 20 秒)超时后,交换机会选举新的根交换机。
STP 重收敛发生时,有些 CAM Content Addressable Memory )记录会变成无效。为了更新 CAM ,可以考虑:
1 )通知所有交换机 CAM 记录超时失效
2 )每台交换机使用更短的定时器(与 Forward Delay timer 相等,默认为 15 秒)来使 CAM 记录超时失效。
因为有些交换机察觉不到 STP 拓扑的改变,所以其他察觉出变化的交换机有责任通知它们。为此,交换机可以用 TCN Topology Change Notification BPDU 通知根交换机,然后根交换机通知其余交换机。
 
由阻塞状态转换到转发状态
STP 重收敛时,原来处于阻塞状态的端口可能转换为根端口或指定端口,此时端口处于转发状态。不过这个过程不是立即发生的,为了避免引起环路,这个转换过程一般如下:先将变化之前的阻塞状态的端口置于监听状态,然后再到学习状态(每个状态延续时间由转发延迟定时器决定(默认为 15 秒)),最后再转换。
802.1d STP 接口状态表:
状态
是否转发帧?
是否学习接收到的帧的源 MAC 地址?
暂时还是稳定状态?
阻塞
稳定
监听
暂时
学习
暂时
转发
稳定
屏蔽
稳定
 
 
为什么引入 Per-VLAN 生成树?
STP 应用中,我们会碰到这样一种情形:如果一个 STP 实例用于带冗余链接且含有多个 VLAN 的交换网络,那么有些端口就会处于阻塞状态,在稳定状态下也无法使用,而实际这些冗余链接是备份流量所必需的。 Cisco Per VLAN 增值生成树( PVST+ )功能可以对每个 VLAN 创建一个 STP 实例。这样,每个 STP 实例可以使用不同的根交换机,阻塞不同的接口,那么流量负载就能够在现有链接上得到均衡。
 
需要注意的是, 802.1Q 本身不支持 PVST+ ,但是 Cisco 交换机可以支持 PVST over 802.1 trunk 。现在所有 Cisco 交换机默认都设置 PVST+

你可能感兴趣的:(网络,基础,Cisco,STP,CCIE)