前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >switch3 STP、RSTP

switch3 STP、RSTP

作者头像
py3study
发布2020-01-13 13:12:10
8160
发布2020-01-13 13:12:10
举报
文章被收录于专栏:python3

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一般针对的是硬件问题

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档