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和其他生成树交互的端口  


CCNP学习笔记16-MSTP,span_MSTP

需求 :

    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

        保证网络根不被抢占。

    CCNP学习笔记16-MSTP,span_MSTP_02

上图,为防止D抢占A成为根,在C的接口配置rootguard,就保证C与D的接口不会成为根端口,即D不会成为根,如果D有成为根,就会guard C的接口


CCNP学习笔记16-MSTP,span_MSTP_03

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   


CCNP学习笔记16-MSTP,span_MSTP_04

上图,B C之间单向故障(如光纤断一根)C可以去往B。B不能去往C。C不在收到更优的来自B的bpdu时,就会一直等到BPDU超时(20s),之后就会UP原本block的接口。就形成环路。


CCNP学习笔记16-MSTP,span_MSTP_05

LOOPgard 作用就是当因为收不到BPDU而导致接口UP时,阻塞该端口,防止UP


实验演示:

CCNP学习笔记16-MSTP,span_MSTP_06

使用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

CCNP学习笔记16-MSTP,span_MSTP_07


###############################################################################

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的

CCNP学习笔记16-MSTP,span_MSTP_08

配置思路:

    上图 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