BPDU和STP、RSTP_尘封一滴泪_百度空间

STP(spanning-tree protocol):是在数据链路层提供冗余并预防环路的管理协议
BPDU(Bridge Protocol Data Unit):网桥协议数据单元;是一种生成树协议问候数据包,它以可配置的间隔发出,用来在网络的网桥间进行信息交换。
RSTP(rapid spanning-tree protocol):快速生成树协议,是STP扩展,其主要特点增加了端口状态的快速切换机制,能够实现网络拓朴的快速转换。
MSTP(multilayer spanning-tree protocol):多实例生成树协议
SSTP(single spanning-tree protcol):单一生成树
PVST(per-vlan spanning-tree):每VLAN生成树

一)、详细了解BPDU的包格式:

字节 字段 描述
2 协议ID 此处总为0
1 版本 STP的版本。802.1为0
1 消息类型 BPDU的类型(配置BPDU=ox00 TCN=ox80
1 标志 TC/TCA
8 根ID 根网桥的网桥ID                            _
4 路径开销 到达根网桥的STP开销                |
8 网桥ID 转发根网桥BPDU的网桥的ID          |->参与STP的端口选定
2 端口 转发根网桥BPDU的网桥的端口ID     _|
2 消息寿命 从根桥发出BPDU之后的秒数,每经过一网桥就减一。即为跳数
2 {zd0}寿命 网桥交根桥看作不可用前保留根桥ID的{zd0}时间
2 hello 时间 根桥连续发出BPDU的间隔
2 转发延迟 网桥监听与学习状态所停留的时间。

BID:网桥ID (BID)是 生成树算法所使用的{dy}个参数。STP使用BID来决定桥接网络的中心,称为根网桥或根交换机。
STP格式为:优先级(16bit)+MAC地址(48bit),是2个字节网桥优先级。0-65535。默认32768。0X8000
PVST格式表现为:优先级(4bit)+vlan-id(12bit)+MAC地址(48bit),交换机支持 IEEE 802.1t,把原来表示交换机优先级的bit用来表示vlan 号。交换机优先级字段变成4bit。另外12bit来表示vlan ID。相加形成{wy}的桥ID。4bit的交换机优先级+12 bit扩展系统ID,12bit扩展系统ID等于VLANID。
switch(config)#spanning-tree priortiy 4096      /*设置STP的BID的优先级
switch(config)#spanning-tree vlan 100 priortiy 4096 /*设置PVST的BID优先级
switch(config)#spanning-tree vlan 100 root primary/*设置PVST的BID主优先级
switch(config)#spanning-tree vlan 100 root secondary/*设置PVST的BID次优先级
switch(config)#interface interface-id
switch(config-if)#spanning-tree port-priority priority /*进入接口设置优先级
switch(config-if)#spanning-tree vlan vlan_id port-priority priority
switch#show spanning-tree interface interface-id
switch#show spanning-tree vlan vlan_id
cost:路径开销
路径开销是生成树算法所使用的第2个参数,用来决定到根交换机的路径。
网桥跟踪根路径开销,它是到根交换机所经链路的开销之和。
当一个端口收到BPDU时该开销会增加,而它们发送时并不增加



如图:BPDU发出时,cost=0,接口接收时会根据链路带宽计算出cost值,转发BPDU时不会改变而当到达另一交换机时再一次根据路径带宽累加计算cost值。
switch(config)# interface fastethernet 1/4
switch(config-if)#spanning-tree cost 10 /*设置接口的cost值,也可修改带宽影响
switch(config)#interface fastethernet 1/5
switch(config-if)# switchport trunk encapsulation dot1q
switch(config-if)#switchport mode trunk
swtich(config-if)#spanning-tree vlan 10 cost 20 /*设置PVST的接口cost值
portID:端口ID。端口优先级是一个可以配置的STP参数,在IOS上交换机其值的范围为0-255.。标准128。格式为:参数+port-id
当一个网桥{dy}被xx时,其上的所有端口每隔2秒(默认hello 时间)发送一次BPDU。如果一个端口发现从其他网桥收到的BPDU比自己的更好,则本地端口就停止发送BPDU。如果有20秒(MAX AGE)的时间没有从邻居收到这个更好的BPDU,本地端口就重新开始发送BPDU。{zd0}生存时间是{zj0}BPDU超时的时间。

二)、STP(spanning-tree protocol)生成树协议
通过BPDU的发送与传递,通过STP的算法SPA spanning-tree algorithm 生成树算法来定义网络结构中交换机及其端口的属性:
Root Bridge 根网桥 Root port 根端口
Designated Switch 指定交换机   Designated port 指定端口
Backup port 备份端口(阻塞端口)
①.选举根交换机(根网桥)可抢占
   网络的稳定过程中,通过BPDU验证网络中存在{zd1}的BID,即{zd1}优先级或{zd1}MAC,综合{zd1}参数的BID为根桥,稳定后,只有根交换机发送BPDU,其他只负责修改转发。
②.选举根端口
   每一个非根交换机都必须选举一个根端口。一个网桥的根端口就是按照路径开销最靠近根交换机的端口。 通过cost参数选取每个交换机的根端口,根交换机的端口均为根端口。一个端口收到BPDU时该开销会增加,而它们发送时并不增加。
③.选举指定端口
   指定端口就是每个网段离根桥最近的端口,通过cost、转发BPDU的桥ID、转发BPDU的端口ID综合参数比较最小的。桥接网络中的每个网段都必须有一个指定端口。一个网段的指定端口是连接在该网段上的一个桥接端口,它通过该网段即向根交换机发送流量也从根交换机接收流量。一个网段的指定网桥就是包含该网段的指定端口的网桥。

交换机阻塞端口恢复的状态变化过程:
①.阻塞状态
   丢弃从所连接的网段上收到的数据帧和通过交换而来内部转发的帧。接收BPDU并直接传递给系统模块,没有地址数据库,不传递从系统模块收到的BPDU,接收并相应网络管理消息,但并不传递他们。当默认20秒没有收到BPDU,将进入侦听状态。
②.侦听状态
   如果一个网桥在它启动或者一定时间内没有收到BPDU后就立即认为自己是根交换机,端口进入侦听状态。
丢弃所有连接网段收到的帧或其他端口交换来的帧
没有地址数据库
接收BPDU并直接传递给系统模块
处理从系统模块模块收到的BPDU
接收并响应网络管理消息
选举根交换机,根端口和指定端口发生在侦听状态期间。在指定端口选举中失败的端口成为一个非指定端口,并回到阻塞状态。剩下的指定端口或根端口在15秒后进入学习状态
③.学习状态
丢弃所连接网段上收到的帧
丢弃从其他端口交换来需要转发的帧
将位置状态包含进自己的地址数据库里
接收BPDU并直接传递给系统模块
接收,处理并传递从系统模块收到的BPDU。
接收并响应网络管理消息
学习状态开始创建桥接表。收集数据源帧VLAN等信息的一种STP状态。15秒后进入转发状态
④.转发状态
   转发状态是一种在端口上即接收又发送数据流量的STP状态
转发从所链接网段上收到的帧
转发从其他端口交换来需要转发的帧
将位置状态信息包含到自己的地址数据库
接收BPDU,并将其直接传递给系统模块
处理从系统模块来的BPDU
接收并响应网络管理消息

配置STP模式:
switch# configure termianl
switch(config)#spanning-tree mode pvst
switch(config)#spanning-tree mode mst
switch(config)#spanning-tree mode rapid-pvst

pvst to enable pvst+ (the default setting)
mst to enable MSTP (and RSTP)
rapid-pvst to enable rapid PVST+

查看STP信息:
switch#show spanning-tree active
displays spanning-tree information on active interface only.
switch#show spanning-tree detail
displays a detailed summary of interface information
switch#show spanning-tree interface interface-id
switch#show spanning-tree summary [total]
2950#show spanning-tree brief
Port                           Designated
Name    Port ID Prio Cost Sts Cost Bridge ID      Port ID
------- ------- ---- ---- --- ---- -------------- -------
Fa0/1   128.7   128 100 BLK 0     0007.eb7c.4a84 128.7
Fa0/7   128.13 128 19   FWD 0     0007.eb7c.4a84 128.13
Fa0/23 128.29 128 19   FWD 0     0007.eb7c.4a84 128.29

园区网中冗余存在的问题:广播会产生广播风暴,
                        单播时多帧复制,设备MAC表抖动
show run | include bia 查看交换机所有MAC地址

三)、 RSTP(rapid spanning-tree protocol):快速生成树协议
   主要特点增加了端口状态的快速切换机制,能够实现网络拓朴的快速转换。
RSTP基于STP的快速机制包括:
①.portfast:直接接PC终端的接口,此模式接入设备直接进入快速转发状态
②.uplinkfast:用在上行链路接口,当上行down掉后,备份的上行接口直接进入转发状态
③.backbonefast:用在所有设备,非直连检测,加速收敛,直接进入转发状态

配置:
switch(config-if)#spanning-tree portfast         /*接口模式下
switch(config)#spanning-tree uplinkfast          /*全局模式下
switch(config)#spanning-tree backbonefast        /*全局模式下

BPDU保护:
如果接口收到非根桥发送的BPDU,将使接口阻塞掉,知道一定时间内不再非根桥的BPDU才将其转到转发状态。进而保护网络根桥的稳定性,网络的稳定性。
配置:
switch(config-if)#spanning-tree bpduguard enable   /*接口模式下
switch(config)#spanning-tree portfast bpduguard default /*全局模式下所有接口启用



郑重声明:资讯 【BPDU和STP、RSTP_尘封一滴泪_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——