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