switch3 STP、RSTP

2020-01-13 13:12:10 浏览数 (1)

1、冗余网络的问题

1)广播风暴

2)MAC表震荡

3)多帧复制

2、STP 802.1d

通过BPDU协议帧发现物理上有环路的拓扑,能够生成一个逻辑上没有环路的拓扑

(1)接口选好端口类型(DP、RP)

(2)只有发生变化的链路和block口,状态才变化

(3)F口变化的交换发出TCN

3、STP 操作流程---->破环

1)STP破环顺序

(1)选举根网桥

(2)选举RP

(3)选举DP

(4)其它的就blcok

2)STP破环依据

(1)lowest BID=Priority*mac

(2)lowest root path cost(当前SW到root的cost累加,cost是在接收到BPDU帧时累加) root--------sw:f0/0   (f0/0处累加)

(3)lowest sender bid

(4)lowest sender portid(port priority*port 编号)

(5)lowest portid(自己)

3)STP破环结果

(1)每个交换网络有一个ROOT

(2)每个非ROOT选举一个RP(离根最近)

(3)每个网段(segment)选举一个DP(这个网段离根最近port)

(4)根网桥上的所有端口为dp

4)实验

sw8#sh cdp nei

sw8(config)#spanning-tree vlan 1 启用STP

sw8(config)#spanning-tree vlan 1 priority 0 设置根网桥

sw8(config)#spanning-tree vlan 1 root primary 设置根网桥 -8k

SW14(config)#spanning-tree vlan 1 root secondary 设置根网桥 -4k

SW14(config-if)#spanning-tree vlan 1 cost 39 在入口方向修改

SW14(config-if)#spanning-tree vlan 1 port-priority ?

 <0-240> port priority in increments of 16表示必须是16的倍数

4、BPDU

1)有二种:配置BPDU、TCN

2)结构

Protocol Identifier: Spanning Tree Protocol (0x0000)

Protocol Version Identifier: Spanning Tree (0)

BPDU Type: Configuration (0x00) 还有一种TCN

BPDU flags: 0x00 有二种:TC和TCA (第一位和最后一位)

Root Identifier: 32768 / 00:04:c1:6c:e4:80 根

Root Path Cost: 19

Bridge Identifier: 32769 / 00:0f:24:b5:a1:00 发送者

Port identifier: 0x800b

Message Age: 1 每经过一个交换机age 1

Max Age: 20   接收BPDU帧的老化时间

Hello Time: 2

Forward Delay: 15 有二个 listen learning

3)收敛时间

(1) link up--------->blcok---->listening--15sec->learning--15-->forwarding

收发BPDU        收/不发 能 能 能

学习MAC          不 不能 能 能

收发数据 不 不能 不能 能

listening:构建一个没有环路的拓扑

learning :学习MAC

(2)稳定后变化收敛

发送TCN(F->变化)--->上游回TCA--->root发TC置位配置BPDU----> 通告其它SW尽快刷新MAC(300->15)

5)注意

Forwarding接口有变化的链路才开始发TCN包给root

5、Cisco一些快速收敛机制

1)portfast

作用:连接终端PC可以从up马上跳到forwarding

节省:30sec

配置:连接终端PC的交换机上

sw8#debug spanning-tree events

00:55:23: STP: VLAN0001 Fa0/24 -> listening

00:55:38: STP: VLAN0001 Fa0/24 -> learning

00:55:53: STP: VLAN0001 Fa0/24 -> forwarding

sw8(config-if)#int f0/24

sw8(config-if)#spanning-tree portfast

00:57:31: STP: VLAN0001 Fa0/24 ->jump to forwarding from blocking

sw8(config)#spanning-tree portfast default

sw8(config-if-range)#spanning-tree portfast disable

2)uplinkfast

作用:直接链路失效,马上会切到备份链路上

优先级 16k cost 3000

节省:30sec

配置:接入层交换机

sw15(config)#spanning-tree uplinkfast 

01:03:21: setting bridge id (which=1) prio 49153 prio cfg 49152 sysid 1 (on) id

C001.0012.5552.9b40

sw15#sh spanning-tree uplinkfast

sw15(config)#spanning-tree uplinkfast max-update-rate

刷新新链路对面交换机的MAC表

ping 测试

...

没有配置uplinkfast

...............

3)backbonefast

作用:间接链路失效检测从block口收到root bpdu,往rp发rlq--->root响应--->收到响应就把

blcok转到listen

节省:20sec

配置:(所有都需要)

sw8(config)#spanning-tree backbonefast

sw15(config)#spanning-tree backbonefast

sw15(config)#spanning-tree backbonefast

................

6、RSTP 802.1W

1)端口状态及角色

discarding(block listening)---->learning---->forwarding

RP、DP、alternative port、backup port、edge port=portfast

2)数据结构变化

flag位全用上

proposal agreement 收敛快的原因

状态: learning forwarding

角色:4种

3)RSTP收敛快的原因

(1)主动P/A协商:先发proposal---->同步其它port--->agreemnet 逐层同步

(2)网络发生变化,TCN会往RP/DP发

(3)CAM刷新收到TCN刷新MAC表

(4)每个SW都可以发送BPDU keepalive

4)配置RSTP

sw8(config)#spanning-tree mode rapid-pvst

7、mstp   多实例生成树

pvst:每个vlan一个生成树实例可以做load-balance 但是协议数据太多

cst:所有vlan一个生成树实例 不可以做load-balance

mst:x个vlan一个生成树实例后台收敛是采用rstp 可以load-balance,又尽可能减少协议数据

stp:传统的收敛

RSTP:快速收敛

2)MST实现

名字

修订号

vlan绑定表

--------->三个参数完全相同才是同一个区域

SW4(config)#spanning-tree mst configuration

SW4(config-mst)#name chuyue100

SW4(config-mst)#revision 1

SW4(config-mst)#instance 1 vlan 1-2

SW4(config-mst)#instance 2 vlan 3-4

SW4(config)#spanning-tree mode mst  //启用MST

SW4(config-if)#spanning-tree mst 2 ?

 cost          修改开销(入口)

 port-priority 发送方修改

SW4(config)#spanning-tree mst 1 root primary

3)MST和其它STP的兼容性

mst0=IST

MST域与PVST交互时是使用MST0,可以把整个MST域看作一台交换机

8、以太通道

1)优点

load-balance

redundency

2)形成channel的方法

手工设置:

动态协商

SW3(config-if-range)#channel-group 1 mode ?

 active     LACP主动发包

 auto       PAgP 被动响应//cisco私有

 desirable   PAgP主动发包

 on         手工设置

 passive    lacp被动响应

SW4#sh etherchannel summary

SW3(config-if-range)#channel-group 1 mode active

SW4(config-if-range)#channel-group 3 mode passive

3)etherchanmel类型

二层channel

三层channel

SW3(config)#int range f0/46 ,f0/48(华为的需要连续接口)

SW3(config-if-range)#no sw (要先先变成三层口,捆绑口变的话会无效)

SW4(config-if-range)#channel-group 1 mode auto

SW3(config)#int port-channel 1

SW3(config-if)#ip add 1.1.1.3 255.255.255.0

4)注意点

(1)双工速率

(2)不可以是span目标端口

5)load-balance方法

SW3#sh etherchannel load-balance

Source MAC address

SW3(config)#port-channel load-balance ?3550

 dst-mac Dst Mac Addr

 src-mac Src Mac Addr

SW4(config)#port-channel load-balance ? 3560

 dst-ip       Dst IP Addr

 dst-mac      Dst Mac Addr

 src-dst-ip   Src XOR Dst IP Addr

 src-dst-mac Src XOR Dst Mac Addr

 src-ip       Src IP Addr

 src-mac      Src Mac Addr

9、STP安全相关

1)bpduguard

作用:防止接收到BPDU,如果收到马上将端口置于err-disable=down,应用于连接PC的端口

配置:SW4(config-if)#spanning-tree bpduguard enable

sw4#sh int f0/22

FastEthernet0/22 is down, line protocol is down (err-disabled)

恢复: shut-no sh

sw4(config)#errdisable recovery cause bpduguard

sw4(config)#errdisable recovery interval 30

sw4#sh errdisable

sw4(config)#spanning-tree portfast bpduguard default 全局启用

2)bpdufilter(优先于bpduguard)

作用:防止接收到BPDU,如果收到就drop

配置:sw4(config-if)#spanning-tree bpdufilter enable

3)rootguard

作用:防止别的SW成为根,如果收到更优的BPDU,就会将端口置为broken

但是如果又没收到更优的BPDU,又会恢复

配置:sw4(config-if)#spanning-tree guard root

4)loopguard

作用:防止单向通

配置:所有链路配置,RP和AP端口

sw4(config-if)#spanning-tree guard loop

5)udld //光纤

作用:防止单向通

配置:SW3(config)#udld enable udld enable

应用:loopguard针对的是软件问题,udld一般针对的是硬件问题

0 人点赞