802.1s
用来解决802.1d链路防环导致一条链路浪费,但是用每vlan生成树(思科默认),当vlan数量巨大时不好维护
继承所有802.1w的所有功能
特点:每个生成树一个实例,把数个vlan加到一个实例
配置
新增vlan
vlan 10-30
1,SW1-SW4:
spanning-tree mode mst
2,SW1-SW4:
spanning-tree mst configuration
name test
revision 1(可以不配,默认0)
instance 1 vlan 10-20
instance 2 vlan 21-30
3,sho spanning-tree
sho spanning-tree mst config
bound(RSTP)边缘端口,还没进入交互状态
MST Regions 域
根据3项
name
revision number
vlan association table
802.1w和802.1d之间交互
w去适应d,失去w快速收敛的特性,以匹配d
802.1d和802.1s
802.1s用域内bridgeID最优的和外部交互,使用instance0 和域外交换机交互
802.1S和802.1w
使用instance0和外部pvst每个数交互
边缘端口 bound(RSTP)边缘端口,就是802.1s和其他生成树交互的端口
需求 :
SW1-4 vlan 10-30 所有交换机启用20个vlan
SW1 作为实例 1 的根
spanning-tree mst 1 root primary
SW2 作为实例 2 的根
spanning-tree mst 2 root primary
sho spanning-tree
SW3 SW4 配置为RSTP
spanning-tree mode rapid-pvst
SW3和SW4就会维护 20个树 sho spanning-tree
SW1-2 的f0/5只有3个bpdu (默认实例0和定义的两个实例)
sho spann int f0/5 detail
SW3 SW4有 21个BPDU 默认vlan1 和定义的20个vlan
sho spann int f0/1 detail 这些BPDU都是SW1 的实例0的BPDU
可以在SW1修改实例0 的优先级 验证
SW1 spanning-tree mst 0 priority 4096
SW3 sho spann int f0/1 detial
注意:思科交换机,在有多种生成树时,必须让MSTP中的根成为网络的根,即上图必须SW1为根
当把SW3优先级设置为0时,就会报错
sho spann mst configur 查看MSTP配置
########################################################################################### 生成树 feature
1,针对portfast口(portfast口up后马上进入forward;portfast口up/down不会发送TCN影响MAC表;必须接终端的access口)
BPDU Guard
BPDU Filter
当portfast口配置在了非access口或是交换机之间配置了。在收到BPDU后portfast功能就会消失。
为了防止portfast口收到BPDU ,导致功能消失
把portfast口配置BPDU guard,配置后收到BPDU就将接口disabled
接口配置BPDU Guard:
int f0/5
spanning-tree bpduguard enable
sho int f0/5 当接口收到BPDU后就会down
全局配置 errdisable recovery cause bpduguard 重启up 接口原因
errdisable recovery interval 30 down30s后up
建议配置了 BPDU guard后配置 重启接口
全局配置BPDU Guard 只对portfast口生效
spanning-tree portfast bpduguard default
————————————————————————————————————————————
BPDU Filter
当配置portfast口以后,就么必要往下发生BPDU了,所有可以在portfast口过滤BPDU
接口下配置 (不收也不发BPDU)
接口下配置没限制
全局下配置 (只收不发BPDU【不发是指:先发10个后,才不发】) 只对portfast口生效
spanning-tree portfast bpdufilter default
当同时在接口配置了 BPDU guard和BPDU filter 。filter会生效覆盖guard。所以同时配置时在全局配置
因为如果配置在接口上,当filter接口错误的连到了交换机上,不收BPDU就会一直up就会导致环路
+++++++++++++++++++++++++++++++++++++++++++++
rootguard
保证网络根不被抢占。
上图,为防止D抢占A成为根,在C的接口配置rootguard,就保证C与D的接口不会成为根端口,即D不会成为根,如果D有成为根,就会guard C的接口
SW1-SW3
1, sho spann vlan 1 默认SW1 为根
2,更改SW4 成为根
spann vlan 1 priority 0
3,SW1-SW4 sho spann vlan 1 sw4 为根
4, SW2配置root guard
int f0/1
spanning-tree guard root
当SW4不抢占根时,接口会自己重新UP
rootguard 是基于vlan的
#########################################################################
loopguard
上图,B C之间单向故障(如光纤断一根)C可以去往B。B不能去往C。C不在收到更优的来自B的bpdu时,就会一直等到BPDU超时(20s),之后就会UP原本block的接口。就形成环路。
LOOPgard 作用就是当因为收不到BPDU而导致接口UP时,阻塞该端口,防止UP
实验演示:
使用BPDUfilter 模拟单向故障
1,SW1 为根。SW2 为备份根
SW1:
spanning-tree vlan 1 root primary
SW2:
spanning-tree vlan 1 root secondary
sho span vlan 1
2, SW2:
int f0/2
span bpdufilter enable
sho spn int f0/2 detial
sho process cpu 此时CPU占用0%
3,SW1:
int vlan 1
ip add 12.1.1.1 255.255.255.0
no shu
sho process cpu 占用率偏高
环路原因:无故ARP
4,配置loopguard
SW3:
int f0/2
panning-tree guard loop
sho spann int f0/2 detail 老化时间到时也不会UP
sho process cpu
LOOPGUARD全局配置 只对 点对点 接口生效
spanning-tree global-default loopguard default
备注:导致loopguard生效的原因是,没有收到BPDU,达到BPDU最大存活时间而UP端口,所有当A B链路故障需要C端口UP时,C会收到来自B的次优BPDU。此时是不影响端口UP的
loop guard 与其他STP 特性协同工作
- root guard
rootguard与loopguard 是相互对立,排斥的
不能同时写在同一个端口上。后配置的会覆盖之前配置的
rootguard 在指定端口上使用,他是不允许这个端口成为非指定端口
loopguard在非指定端口上使用,他不允许端口在 max_age 超时后成为指定端口
- uplink fast & backbone fast
两者对loopguard是透明的。当 backbone fast 跳过max_age 重新收敛时,不会触发 loopguard特性
- share-link
loop guard 不能再共享链路上启用。若在共享链路上使用loop guard,从连接到共享链路的主机那里的流量可能会被阻塞。
- multiple spanning tree(MST)
loopguard 在MST环境中能正确工作
以上 生成树 完结!!!!
#########################################################################################
UDLD (也是用于解决单向故障的)
- 与生成树无关,不是用BPDU报文。使用UDLD协议自己的报文
- UDLD协议的报文主要包含 1,设备ID;2,端口ID。当设备收到的UDLD报文包含自己的设备 ID和 端口ID就是正常。
- 报文发送间隔 15s(在没收到正确UDLD报文之前,是 7s间隔)。若丢失3个echo报文,即认 为链路 故障。
- 在fiber接口默认启用。电口默认禁用状态。
UDLD 两种工作模式:
- normal mode 发现问题后不处理
- aggressive mode 发现问题后 每一秒发一个报文。连续发8个,若8个全掉了,就 disable端口
配置 (光口默认开启)
电口:
全局下 udld { enable | aggressive }
接口下 udld port [ aggressive ]
关闭:
no udld enable
no udld port
查看 show udld f0/2
建议在全局配置
compareing loopguard & UDLD
###############################################################################
Span
span技术主要是用来监控交换机上的数据流
分为两种:
本地span --local switched port analyzer (SPAN)
远程span --remote span (RSPAN)
SPAN 技术 把交换机上想要被监控的端口 (受控端口) 的数据流copy一份,发送给连接在监控端口的流量分析仪,比如cisco的IDS 或 装sniffer工具的PC.
受控端口和监控端口可以在同一台交换机上 (本地span),
也可以在不同交换机上(远程span)
SPAN 术语
span session -- span会话
span会话是指一组受控端口与一个监控端口之间的数据流。监控端口最好是>= 受控端口的带 宽,否则肯能会出现丢包的情况。
source port -- span会话的源端口:monitored port- 即受控端口
destination port -- span会话的目的端口:monitoring port-- 即监控端口
span traffic -- span的流量
本地span可以监控所有的流量,包括multicast、bride protocol data unit(BPDU),CDP, vtp,DTP,stp,pagp,lacp packets
traffic types-- 流量类型
receive (Rx) span 受控端口的接收偶流量,transmit(Tx) span 受控端口的发送流量,
both一个受控端口的接收和发送流量。
reflector port -- 反射端口
反射端口只在RSPAN 中使用,与RSPAN 的中的受控端口在同一台交换机上,是用来将本地的受控端口流量 转发到RSPAN 中的另一台交换机上的远程监控端口的方法,反射端口也只能是一个实际的物理端口,他不属于任何vlan。
PPAN 配置
配置span会话的源端口
全局:monitor session {session_num} {source {interface type/num} | {vlan num}} [ , | - | rx | tx | both ]
配置span会话的目的端口
全局 monitor session {session_num} {destination {interface type/num} [ , | - | {vlan num}]}
配置实例:
switch(config)#mointor session 1 source int f0/10
//设定span的受控端口
switch(config)#monitor session 1 destination int f0/20
//设定span的监控端口
switch(config)#monitor session 1 source int f0/11 - 13
//添加span的受控端口
switch(config)#monitor session 1 destination int f0/20 ingress vlan 5
//设定span的监控端口并启用二层转发
switch# sho monitor
session 1
type : local session
source ports :
both : f0/10 - 13
destination ports :f0/20
encapsulation : native
ingress : enable,defualt vlan = 5 //运行正常流量进入
ingress encapsulation : nitive
本地span 注意的问题:
1,源端口不能同时配为目的端口
2,源端口可以属于不同vlan
3,端口通道接口(etherchannel)可配为源端口,但不能配为目的端口
4,一个目标端口只能做一个span会话的目标端口
5,ios交换机中二层,三层接口都可作为源和目的端口
6,目标端口不参与生成树实例
valn-base span
基于vlan的span 只能监控vlan中所有活动端口 接收 的流量(only receivee RX);
3550交换机是只能监控RX。3750交换机出入方向RX.TX都可以
如果监控端口在此vlan内,则此端口不在监控范围内
switch(config)#monitor session 2 source vlan 101 - 102 rx
switch(config)#monitor session 2 destination int f0/30
switch# sho monitor session 2
session 2
tyep:local session
source vlans:
rx only:101-102
destination ports:f0/30
###########################################################################################
########### remote span ##############
普通RSPAN和增强的RSPAN区别:
普通RSPAN是基于二层
增城RSPAN是基于3层tunnel的
配置思路:
上图 SWD 要监控 SWA 的RX。SWB的RX TX
配置专门的vlan用来承载监控流量,假设是vlan100.
SWA 的source是A1 A2
destination是vlan100
SWB 的source是B1 B2 B3
destination是vlan100
SWD 的source是vlan100
destination是D2
SW D:
switch(config)#vlan 100
switch(config-vlan)# remote-span
switch(config)#monitor session 1 source remote vlan 100
switch(config)#monitor session 1 destination int d2
SW C:
switch(config)#vlan 100
switch(config-vlan)#remote-span
SW A:
switch(config)#vlan 100
switch(config-vlan)#remote-span
switch(config)#monitor session 1 source int a1-a2 rx
switch(config)#monitor session 1 des remot vlan 100
SW B:
switch(config)#vlan 100
switch(config-vlan)#remote-span
switch(config)#monitor session 1 source int b1-b3 both
switch(config)#monitor session 1 des remot vlan 100
RSPAN介绍
1,rspan支持不同交换机上的源端口,源vlan,目标端口。可跨网络远程监控多台交换机
2,每个SPAN会话都由一个RSPAN vlan来承载流量。即每个RSPAN都有一个RSPAN vlan
3,每个RSPAN远程交换机的源端口,源vlan所在交换机都有一个相同的RSPAN vlan
远程交换机先把源端口和源vlan的数据包, 即流量复制到本地配置的RPSAN vlan上。RSPAN vlan 再通过干线把流量数据包传到目的交换机上。
目的交换机再把RAPNA VLAN 的数据包流量复制到目的端口
4,一个vlan为RSPAN vlan时,本地span就不能监控RSPAN VLAN 的流量了
远程SPAN注意的问题:
1,从源到目的沿路所有设备都要配置 RPAN vlan。vlan编号没有限制
2,中间设备也需要指出RSPAN vlan
3,rspan vlan 只能承载 rspan流量
4,除了承载rspan vlan的端口外,不要把任何端口配置到rspan vlan中。
5,rspan 源端口和目的端口必须配置在不同的设备
6,不要将rspan vlan作为vspan的源
7,不要将接入端口分配给rspan vlan
8,rspan vlan不学习mac地址
9,rspan 不支持BPDU监控
ERSPAN介绍 (增强)
erspan概念
1, 增强的rspan,与rspan类似。支持监控位于不同交换机上的端口,源vlan,目标端口可夸三层边界。每个erspan会话通过GRE隧道承载span流量。源和目标交换机必须硬件上支持GRE。
2,erspan特征和规则
每个erspan源会话只能选择端口或vlan作为源,而不能同时选择两者
erspan源会话复制源端口或源vlan的流量,并通过可路由的GRE封装分组将其转发到ERSPAN 目标会话。
源端口和源vlan与目标IP地址,erspan ID编号向关联;目标端口和源IP,erspan ID编号相关联。
配置::::
源交换机
6506(config)#monitor session 1 type erspan-source
6506(config-mon-erspan-src)#source vlan 10
6506(config-mon-erspan-src)#destination
6506(config-mon-erspan-src-dst)#ip add 10.100.100.1
6506(config-mon-erspan-src-dst)#erspan-id 1
6506(config-mon-erspan-src-dst)#origin ip add 10.10.10.1
6506(config-mon-erspan-src-dst)#exit
6506(config-mon-erspan-src)#no shut
目标交换机
6506(config)#monitor session 1 type erspan-destination
6506(config-mon-erspan-dst)#destination int gig 7/25
6506(config-mon-erspan-dst)#source
6506(config-mon-erspan-dst-src)#ip add 10.100.100.1
6506(config-mon-erspan-dst-src)#erspan-id 1
6506(config-mon-erspan-dst-src)#exit
6506(config-mon-erspan-dst)#no shut