您的位置:首页 > 编程语言 > PHP开发

STP学习笔记

2009-09-19 10:58 357 查看
STP (spanning tree protocol) IEEE802.1D生成树协议 默认开启
为了避免单点失效(两网段间只有一个物理设备,坏了就是单点失效)→冗余网络(问题多帧复制、MAC地址表翻动、广播风暴)
为了解决冗余网络中的桥接环路问题产生了STP(逻辑Block一条路,关接口)

STP采用STA(spanning tree arithmetic)算法
STA工作原理:会在冗余链路中选择一个参考点(生成树的根),将选择到达要的单条路径,同时阻断其他冗余路径。一旦已选路径失效,将启用其他路径

STP 里选举都是越小越优
STP靠BPDU报文来维持STP的工作,

BPDU 桥接数据单元 ,直接封装在以太网帧中。默认2秒发一次,发到组播地址0180c2000000
Max Age 最大存活时间(20s)
BPDU功能:
1、选根桥
2、确定冗余路径位置
3、block特定端口
4、通告拓扑变更
5、监控生成树状态

网络最初,所有的sw都认为自己是根桥,都发BPDU,比最小BID,选出根桥,此时根桥发BPDU,非根桥转发。
BPDU 类型 :Type 00→configuration 正常发的
80→TCN (topology change notification) 拓扑改变时发的
Flags 8B
Root ID 根桥ID→优先级+MAC
Cost to path 到根桥的cost
Forward delay 转发延迟计时器(默认15)监听和学习状态停留时间

根桥的选举:最小BID (先比优先,再比MA,比小) 每个网络中只有一个根桥

BID(bridge ID)桥ID每台SW的唯一标识符。
2(bridge priority)+6(mac)=8 bytes
默认Priority:32768(0x8000)0---65535. 2950以上的交换机会在这个值上再加上VLAN号

查看STP信息--
Sw2#show spanning-tree
Sw3# show spanning-tree brief(低版本用)2900以下的交换机用这一命令

根端口root port---------非根桥到根桥开销最小的端口(状态为forward)
指定端口designate port-----根桥所有接口都为指定接口,(状态为forward)
Nondesignate port(阻塞端口)----不转发流量端口,(状态为blocking)

非根桥上DP/NP选举办法:
比小胜出为指定,失败的为非指定 1、path cost 2、发送方BID 3、发送方 port ID

cost值

10GBps 21GBps 4100MBps 1910MBps 100
端口ID(PID)
1(priority)+1(port number)=2 Bytes 默认priority=128
修改端口优先级 接口下 spanning-tree (vlan 1) port-priority 16 (必须为16的倍数)

BPDU的timer

修改
spanning-tree vlan 1-10 hello-time 3 改发送BPDU的时间间隔(默认2s)
spanning-tree vlan 1-10 forward-time 13 修改forward时间 (默认15s)
spanning-tree vlan 1-10 max-age 33 修改最大存活时间 (默认20s)

接口状态:
disable 手动shutdown
blocking 监听BPDU,不学mac,不转发帧 MAX age 20秒,20秒没收到BPDU,切换状态
listening 监听BPDU,不学mac,不转发帧(选举Root/RP/DP)Delay 15秒
learning 监听BPDU,学mac,不转发帧 Delay 15秒
forwarding 监听BPDU,学mac,转发帧 (从block到forward要30秒)

STP增强特性
802.1D最初,网络中断,要MAX50秒才能恢复

CISCO加快收敛推出的私有特性:portfast/uplink fast/backbone fast

Port fast:
从block直接跳到forwarding
1、接单独主机接口才能用(access)
命令 : 接口下spanning-tree portfast
禁用 spanning-tree disable
全局下spanning-tree portfast default 所有接口都启用,一般在接入层交换机上启用,然后把连另交换机的口禁用

Uplink fast
接入层sw上配置,检测汇聚层sw的链路故障加快STP收敛速度(接入层连两个汇聚层SW,连汇聚层的路就是UPlink)
全局命令,将影响sw上所有vlan
spanning-tree uplink fast
看那些接口成为备份
show spanning-tree uplinkfast
Sw2(config)#spanning-tree uplinkfast max-update-rate 200
(每秒所发包的数目,默认值150)
BackboneFast:(用于检测主干SW间的链路故障)节省20秒
ROOt丢失后,以自己发出次BPDU,收到这个BPDU后,会向使用代理路径发送RLQ BPDU,向ROOT进行查询

建议Backbonefast用在所有SW上
命令:spanning-tree backbonefast
查看RLQ消息和次级BPDU
show spanning-tree backbonefast

<优化STP>

・BPDU防护:
 对于设置了PortFast接口,却收到了BPDU,如果设置了BPDU防护,就能将此接口关闭,而不会进入生成树状态。且默认情况下是要手动才能恢复
Sw1(config)#spanning-tree portfast bpduguard (全局开启)
Sw1(config-if)#spanning-tree bpduguard enable (接口开启)
Sw1#show spanning-tree summary [totals]

Show errdisable recovery 显示可导致接口errdisable的选项
Sw1(config)#errdisable recovery cause bpduguard 设置300S(默认)后自动修复bpduguard所导致的errdisable
Sw1(config)#errdisable recovery interval 30 修改默认的修复时间

本文出自 “不耻最后” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: