Spanning Tree Protocol ——生成树
交换机 MAC 地址表:存放数据帧源 MAC 地址与交换机接收端口的对应关系
p_w_picpath p_w_picpath
方案一:存在单点故障
方案二:建议使用,但存在的问题是 广播环路(广播风暴) 桥接表破坏
问题产生的原因:源设备到目的设备之间的活动链路不止一条
解决办法:使用生成树协议保证源设置到目的设备之间的活动链路只有一条,同时也提供了链路的冗余
 
一、 STP 工作原理
1.BPDU Bridge Protocol Data Unit ):桥协议单元
功能:
选举根(核心)交换机
决定阻塞哪台交换机的哪个端口
监控网络状态(通告网络变化信息)
BPDU 的封装
bridge ID :桥 ID ,用来代表交换机
组成:优先级 +MAC 地址
// 优先级: 0--65535 ,默认 32768
// 优先级和 MAC 都是越小越优先
root ID :根交换机 ID ,声明自己承认的根交换机
cost of path :路径开销,用于衡量路径的好坏
常见链路的开销(以太网):
Link Speed                cost
10Mbps                  100
100Mbps                 19
1Gbps                   4
10Gbps                  2
port ID :端口 ID ,用于标识端口(不同于端口号)
组成:端口优先级 + 端口号
端口优先级: 0--255 ,默认 255
端口优先级和端口号越小越好
hello time BPDU 发送时间,默认 2S
forward delay :转发延时,默认 15S
message age :最大存活周期,默认 20S
p_w_picpath
二、术语
1. 根交换机:网络中的核心交换机
2. 根端口:到达根交换机最近的端口
3. 指定交换机:某网段上到达根交换机最近的交换机,叫做该网段的指定交换机
4. 指定端口:某网段的指定交换机上,连接该网段的端口,叫指定端口
// 根交换机上所有端口都是根端口
p_w_picpath
例: 网段的制定交换机为 A 123 为制定端口。 网段指定交换机看链路开销,假如 网段开销小,则 网段指定交换机为端口 6
 
 
三、生成树工作步骤
1. 确定根交换机
p_w_picpath
2. 根据路径开销确定根端口
3. 根据路径开销和桥 ID ,确定“指定交换机”
4. 根据端口 ID ,确定指定交换机(通过端口 ID 确定指定端口)
p_w_picpath
四、生成树阻塞端口的原则
1. 根端口和指定端口不能被阻塞
2. 其他所有端口都被阻塞
 
 
五、生成树状态
1. 禁用状态:手工把生成树关闭
2. 阻塞状态:
特性:
MAC 表:无端口与 MAC 对应关系
只接受 BPDU ,并直接传递给系统模块,但不发送 BPDU
接收并响应网络管理消息 , 但并不传递该消息
丢弃从所连网段上收到的数据帧 , 或其他端×××换来的帧
3. 侦听状态:
特性
MAC
接受并发送 BPDU
接收并响应网络管理消息 , 但并不传递该消息
丢弃从所连网段上收到的数据帧 , 或其他端×××换来的帧
重点:当交换机一定时间内没有收到 BPDU ,就认为自己是根交换机,端口将进入侦听状态
// 选举根交换机、根端口、指定交换机、指定端口发生在侦听状态期间,端口选出后,根端口和指定端口在 15S 后,进入学习状态,其他端口回到阻塞状态
4. 学习状态:
构建 MAC 地址表
接收和发送 BPDU
接收并响应网络管理消息 , 但并不传递该消息
丢弃从所连网段上收到的数据帧 , 或其他端×××换来的帧
5. 转发状态:
特性:
构建 MAC 地址表
接收和发送 BPDU
接收并响应网络管理消息 , 但并不传递该消息
转发从所连网段上收到的数据帧 , 或其他端×××换来的帧
端口状态的转换:
阻塞      侦听      学习      转发
p_w_picpath
20s+15s+15s=50s             0s+15s+15s=30s
 
 
六、生成树的配置
1. 启用生成树
(config)#spannig-tree vlan vlan
2. 修改根交换机
(config)#spanning-tree vlan vlan root primary
// 降低交换机优先级来影响成为根交换机
(config)#spanning-tree vlan vlan priority 优先级
// 优先级: 0--61440 ,以 4096 递增,默认 32768
合法的值为 :4096,8192,12288,16384,20480,24576,28672,
32768,36864,40960,45056,49152,53248,57344,61440
3. 修改 vlan 端口优先级
vlan 接入端口
(config-if)#spanning-tree vlan port-priority 优先级
vlan 干线端口
(config-if)#spanning-tree vlan vlan port-priority 优先级
//vlan 号: EMI:1--4094   SMI 1--1005
//priority:0---255, 默认 :128, 数值越小 , 优先级越高
1 VLAN 端口设置优先级的典型应用
使用端口优先级可以实现负载分担 :
当一台交换机上的两个端口形成回路时 , 用端口优先级可以决定哪个端口被打开 , 哪个端口被阻塞
p_w_picpath
在中继上 , 承载 vlan3 vlan8 的流量 :
为了负载分担 , 让中继 1 传输 vlan3 vlan5 的流量 , 中继 2 传输 vlan6 vlan8 的流量
一旦某中继出现故障 , 另一中继可以作为冗余。
Sw(config)#int f0/1
sw(config-if)#spanning-tree vlan 3 port-priority 10
sw(config-if)#spanning-tree vlan 4 port-priority 10
sw(config-if)#spanning-tree vlan 5 port-priority 10
Sw(config)#int f0/2
sw(config-if)#spanning-tree vlan 6 port-priority 10
sw(config-if)#spanning-tree vlan 7 port-priority 10
sw(config-if)#spanning-tree vlan 8 port-priority 10
4. 配置 vlan 端口开销
vlan 接入端口
(config-if)#spanning-tree cost 开销
//cost:1---200000000, 默认 : 取决于接口介质速率
vlan 干线端口
(config-if)#spanning-tree vlan vlan 开销
//vlan-id: smi:1---1005,  emi:1---4094
//cost:1---200000000, 默认 : 取决于接口介质速率
2 VLAN 端口设置开销的典型应用
p_w_picpath
在中继上 , 承载 vlan3 vlan8 的流量 :
为了负载分担 , 让中继 1 传输 vlan3 vlan5 的流量 , 中继 2 传输 vlan6 vlan8 的流量
一旦某中继出现故障 , 另一中继可以作为冗余。
Sw(config)#int f0/1
sw(config-if)#spanning-tree vlan 3 cost 10
sw(config-if)#spanning-tree vlan 4 cost 10
sw(config-if)#spanning-tree vlan 5 cost 10
Sw(config)#int f0/2
sw(config-if)#spanning-tree vlan 6 cost 10
sw(config-if)#spanning-tree vlan 7 cost 10
sw(config-if)#spanning-tree vlan 8 cost 10
 
 
七、增强生成树( Enhancing Spanning Tree Protocol
1.port fast
应用场合:交换机上,连接 PC server router 端口
机理:启用 portfast 技术的端口,会立即由阻塞状态变为转发状态,不经历“侦听状态”和“学习状态”
配置: (config-if)#spanning-tree portfast
p_w_picpath
2.uplink fast
应用场合:用于“上连链路”的交换机端口
// 上连链路:接入层 switch 到核心层 switch 的链路
机理:启用 uplink fast 技术的端口,会立即由阻塞状态变为转发状态,不经历“侦听状态”和“学习状态”
配置: (config)#spanning-tree uplinkfast
// 自动开启所有上连端口
3.backbone fast
应用场合:核心交换机之间的链路故障(非直连链路故障)
机理:启用 backbone fast 技术的端口,当非直连链路故障时,立即把端口由阻塞状态变为侦听状态, 15s 后变学习状态, 15s 后变转发状态
配置: (config)#spanning-tree backbonefast
 
 
八、快速生成树( Rapid Spanning-tree protocol
特性:能使口快速进入到转发状态,而不依赖定时器的配置
快速 STP 状态:丢弃,学习,转发(传统 STP 5 个)
RSTP 端口的角色:
根端口
指定端口
替代端口:从其他网桥上收到更有用的 BPDU ,而处于阻塞状态的端口
p_w_picpath
④备份端口:从同一网桥上收到更有用的BPDU,而处于阻塞状态的端口
p_w_picpath
九、多生成树
1. 特性:
为数据流提供多路径转发
提供负载分担能力
增强网络的容错能力
2. 多生成树配置
启用多生成树(默认关闭)
(config)#spanning-tree mode mst
// 该命令不仅启用了多生成树,同时也启用了快速生成树
指定多生成树参数
(config)#spanning-tree mst configuration
(config-mst)#name
// 给生成树命名
(config-mst)#revision
// 设置 MST 配置修订版本号: 0--65535 (描述 vlan 信息好坏)
(config-mst)#instance 实例号 vlan vlan
// 指定生成树负责的 vlan
实例号: 0--15 ,描述 STP 是第几棵树
Vlan 号: 1---4096    语法格式 :  1-10 10,20,30
查看多生成树配置: show spanning-tree mst configuration
配置多生成树的根交换机:
(config)#spanning-tree mst 实例号 root primary (主根)
(config)#spanning-tree mst 实例号 root secondary (备用根)
// 还是降低优先级来设置根
也可以通过设置“交换机优先级”来指定根和备份根
(config)#spanning-tree mst 实例号 priority 优先级
实例号: 0--15
优先级: 0--61440 ,以 4096 递增,默认 32768
#show spanning-tree mst 实例号
配置 MST 开销
(config-if)#spanning-tree mst 实例号 cost 开销
实例号: 0--15
开销: 1--200000000
配置 MST 端口优先级
(config-if)#spanning-tree mst 实例号 port-priority 优先级
实例号: 0--15
优先级: 1-255 ,默认 128 ,数值越小越优先

0

收藏

struggle1=1

92篇文章,145W+人气,8粉丝

Ctrl+Enter 发布

发布

取消

f92360e227f9d91cdff7ea95120630ef.png
left-qr.jpg

扫一扫,领取大礼包

0

分享
qr-url?url=https%3A%2F%2Fblog.51cto.com%2Fstruggle%2F104266
struggle1=1
noavatar_middle.gif