1、冗余网络的问题
1)广播风暴
2MAC表震荡
3)多帧复制
2STP 802.1d
    通过BPDU协议帧发现物理上有环路的拓扑,能够生成一个逻辑上没有环路的拓扑
1)接口选好端口类型(DPRP
2)只有发生变化的链路和block口,状态才变化
3F口变化的交换发出TCN
3STP 操作流程---->破环
1STP破环顺序
1)选举根网桥
2)选举RP
3)选举DP
4)其它的就blcok
2STP破环依据
1lowest BID=Priority*mac
2lowest root path cost(当前SWrootcost累加,cost是在接收到BPDU帧时累加)     root--------sw:f0/0   (f0/0处累加)
3lowest sender bid
4lowest sender portid(port priority*port 编号)
5lowest portid(自己)
3STP破环结果
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的倍数
4BPDU
1)有二种:配置BPDUTCN
2)结构
Protocol Identifier: Spanning Tree Protocol (0x0000)
Protocol Version Identifier: Spanning Tree (0)
BPDU Type: Configuration (0x00) 还有一种TCN
BPDU flags: 0x00 有二种:TCTCA (第一位和最后一位)
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)稳定后变化收敛
发送TCNF->变化)--->上游回TCA--->rootTC置位配置BPDU----> 通告其它SW尽快刷新MAC300->15
5)注意
    Forwarding接口有变化的链路才开始发TCN包给root
5Cisco一些快速收敛机制
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,往rprlq--->root响应--->收到响应就把
blcok转到listen
节省:20sec
配置:(所有都需要)
sw8(config)#spanning-tree backbonefast
sw15(config)#spanning-tree backbonefast
sw15(config)#spanning-tree backbonefast
................
6RSTP 802.1W
1)端口状态及角色
discarding(block+listening)---->learning---->forwarding
RPDPalternative portbackup portedge port=portfast
2)数据结构变化
flag位全用上
proposal agreement 收敛快的原因
状态: learning forwarding
角色:4
3)RSTP收敛快的原因
1)主动P/A协商:先发proposal---->同步其它port--->agreemnet 逐层同步
2)网络发生变化,TCN会往RP/DP
3CAM刷新收到TCN刷新MAC
4)每个SW都可以发送BPDU keepalive
4)配置RSTP
sw8(config)#spanning-tree mode rapid-pvst
 
7mstp   多实例生成树
pvst:每个vlan一个生成树实例可以做load-balance 但是协议数据太多
cst:所有vlan一个生成树实例 不可以做load-balance
mstxvlan一个生成树实例后台收敛是采用rstp 可以load-balance,又尽可能减少协议数据
 
stp:传统的收敛
RSTP:快速收敛
2MST实现
名字
修订号
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
3MST和其它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
9STP安全相关
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
作用:防止单向通
配置:所有链路配置,RPAP端口
sw4(config-if)#spanning-tree guard loop
5)udld //光纤
作用:防止单向通
配置:SW3(config)#udld enable udld enable
应用:loopguard针对的是软件问题,udld一般针对的是硬件问题