生成树协议
4.1 STP协议
4.1.5 STP状态
3. 侦听状态 如果一个网桥在它启动或在一定时间内没有收到 BPDU后立即认为自己是根交换机,端口进入侦听状态。 丢弃所连接网段收到的帧或其它端口交换来的帧;接 收BPDU并直接传递给系统模块;处理从系统模块收到的 BPDU;接收并响应网络管理消息。 选举根交换机、根端口和指定端口都发生在侦听期间。 指定端口或根端口在15秒后进入学习状态。
4.1 STP协议
4.1.5 STP状态
1. 禁用状态 是管理性的关闭STP状态,它不是正常STP端口的一 部分。在交换机初始化之后,所有端口由阻塞状态开始。 2. 阻塞状态 丢弃从所连接的网段上收到的数据帧或通过交换面来 内部转发的帧;接收到的BPDU并直接传递给系统模块; 不传递从系统模块收到的BPDU;接收并响应网络管理消 息,但不传递它们。
生成树协议(Spanning Tree Protocol )是一个非常 重要,却又容易被忽略的协议。一个没有在一开始就规划 好STP的网络,将意味着没完没了地配置、排除故障。并 且园区网的维护精力可能要全部放在STP上。 STP是一种提供园区网冗余链路,而又不会产生环路 的协议。在交换网络中为什么不能有环路呢?
4.1 STP协议
4.1.7 BPDU的格式
BPDU格式
消息 最大 Hello 协议标志 版本 消息类型 标志 根ID 根路径开销 网桥ID 端口ID 转发 ( 2 字节) ( 4 字节) 生存时间 生存时间 ( 8 字节) 周期 (2字节) (1字节) (1字节) (1字节) (8字节) 延迟 (2字节) (2字节) (2字节) (2字节)
Segment 2
4.1 STP协议
4.1.2 交换网络中环路的危害
1. 会产生广播环路
Server/host X Router Y
Segment 1
Switch A
Broadcast
Switch B
Segment 2
4.1 STP协议
4.1.2 交换网络中环路的危害
2. 桥接表(MAC)地址表不稳定
4.1 STP协议
4.1.3 生成树协议的三个参数 带宽 4Mbit/s STP开销 250 带宽 155Mbit/s STP开销 14
10Mbit/s
16Mbit/s 45Mbit/s 100Mbit/s
100
62 39 19
622Mbit/s
1Gbit/s 10Gbit/s
6
4 2
4.1 STP协议
SwitchA Mac 0c0011110000 Default priority 32768 1/1 1/2
100baseT
Switch B MAC 0c0011111111 Default priority 32768 1/1 1/1
1/2
1/2
100baseT
Switch C MAC 0c0022222222 Default priority 32768
4.1 STP协议
4.1.2 交换网络中环路的危害
1. 会产生广播环路
Server/host X
Router Y
Segment 1
Segment 2
4.1 STP协议
4.1.2 交换网络中环路的危害
1. 会产生广播环路
Router Y Segment 1 Broadcast
Switch A
Switch B
Switch A
Segment 2
4.1 STP协议
4.1.2 交换网络中环路的危害
2. 桥接表(MAC)地址表不稳定
Server/host X Unicast
Port 0 Switch A
Router Y
Segment 1 Unicast Port 0 Switch B Port 1
Port 1
网桥优先级 2字节 范围:0~65535 默认值:32768 MAC 6字节 来源于背板/监控器
4.1 STP协议
4.1.3 生成树协议的三个参数
2. 路径开销 是用来衡量网桥之间距离的一个参数。是两个桥之间 所有链路开销的总和。不同带宽的链路有不同的链路开销。 有两种计算方法。一种是短整形计算方法。即用 1000Mbit/s除以以Mbit/s为单位的链路带宽。另一种是长 整形计算方法。分别如下表所示。 交换机是用路径开销来决定到根交换机的最佳路径。 最短链路组合具有最小累计路径开销,并成为到根交换机 的最佳路径。
4.1 STP协议
4.1.6 STP定时器
SwitchA Mac 0c0011110000 Default priority 32768 1/1 1/2
100baseT
Switch B MAC 0c0011111111 Default priority 32768 1/1 1/1
Switch C MAC 0c0022222222 Default priority 32768
4.1.6 STP定时器
1. Hello时间 是发送配置BPDU的时间间隔。默认为2秒,控制着 根交换机生成配置BPDU。其它网桥收到后就立即扩散此 BPDU。如果20秒没有收到根网桥的BPDU或根网桥停止 发送BPDU,则该网桥宣布保存的BPDU无效并开始寻找 新的根端口。 2. 转发延迟 是网桥花费在侦听和学习状态的时间长度。默认15秒。 3. 最大生存时间 是一个控制在BPDU被网桥丢弃之前被保存多长时间 的STP定时器。最大生存时间问题只有当非直连链路出现 故障时才会出现。非直连链路如下图所示。非直连50秒, 直连30秒。
200
20 2
4.1 STP协议
4.1.3 生成树协议的三个参数
3. 端口ID 用来决定到根交换机的路径。它由两个字节构成,包 括优先级和端口号。其中6位表示优先级,8位表示端口号。 优先级是一个可配置的STP参数,在大多数交换机上为0255,默认为128。端口号是用来列举端口的数字标志。
端口优先级 6比特
4.1 STP协议
4.1.2 交换网络中环路的危害
而生成树协议STP能使一个具有冗余信息的环路转变 成一个没有环路的树。
x
Block
4.1 STP协议
4.1.3 生成树协议的三个参数
IEEE802.1d标准定义了STP所使用的生成树协议。 该协议依赖于三个参数。 1. 网桥ID(BID) 由BID决定网络的根节点,即根网桥。即BID最小的 网桥为根网桥。BID由8个字节构成,前2个字节表示优先 级,默认为32768。可取范围为0~65535。后6个字节为 交换机的MAC地址。
4.1 STP协议
4.1.4 STP工作原理
1. 选举根交换机 以BID最小的交换机作为根交换机。在交换机刚启动 时,总是将自己的BID存入到根BID域,然后如果收到更 好的BPDU,则将更好BPDU中的相关交换机列为根BID, SwitchA 并进行发送。 Mac 0c0011110000
Default priority 32768
4.1 STP协议
4.1.5 STP状态
5. 转发状态 处于学习状态的端口在转发延迟定时器之后仍然是指 定端口或根端口,则将进入转发状态。 转发所有连接网段上收到的帧;转发从其他端口交换 来需要转发的帧;接收BPDU并直接传递给系统模块;处 理从系统模块来的BPDU;接收并响应网络管理消息。
4.1 STP协议
端口号
10比特
4.1 STP协议
4.1.4 STP工作原理
网桥之间通过交换网桥协议数据单元(BPDU)的第2 层帧来传递生成树信息。每个端口保存着最佳BPDU。当 网桥第一次被激活时,其所有端口每隔2秒(默认hello时 间)发送一次BPDU。如果一个端口收到比自己发送好的 BPDU,则该端口就停止发送BPDU。如果20秒(默认的 最大生成时间)的时间没有从邻居收到更好的BPDU,则 本地端口将重新开始发送BPDU。
Server/host X Unicast
Router Y
Segment 1
Switch A
Switch B
Segment 2
4.1 STP协议
4.1.2 交换网络中环路的危害
2. 桥接表(MAC)地址表不稳定
Server/host X Unicast Router Y Segment 1 Unicast Unicast Switch B
1/2
100baseT
1/2
4.1 STP协议
4.1.7 BPDU的格式
1. IEEE802.1D的STP BPDU格式
帧控制 目的地址 (1字节) (6字节)
源地址 (6字节)
逻辑链路控制 (3字节)
IEEE BPDU
帧控制域总是01 目的地址:0x800143000000 源地址:本交换机所使用的MAC地址 逻辑链路控制:指定所有STP BPDU的帧类型。这个域 一般被置成0x424203。
2. 选举根端口 根端口就是按照路径开销最靠近根交换机的端口。每 一个非根交换机必须选举一个根端口。根交换机在发送 BPDU时,根路径开销为0,然后每到一个端口根据路径 开销进行累加并发送。 SwitchA
Mac 0c0011110000 Default priority 32768 1/1 1/2
100baseT
Switch B MAC 0c0011111111 Default priority 32768 1/1 1/1 Switch C MAC 0c0022222222 Default priority 32768
1/2
1/2
100baseT
4.1 STP协议
4.1.4 STP工作原理
4.1 STP协议
4.1.7 BPDU的格式
2.Cisco的STP BPDU格式