802.1D是标准生成树协议(用CST,共用一个公共STP),802.1W是增强的生成树协议,多生成树协议区域802.1s(用MST)。快速生成树协议(RSTP)能使网络快速的收敛稳定下来。
三个特殊功能:
        PortFast(快速端)只能用于access端口(即接入端口)处于这种状态的端口可以很快从block状态 转变成forward状态,加速生成树收敛时间。
       Plinkfast(快速上行链路)用于接入层交换机,处于这种状态的非根交换机,当根端口发生故障时它的非根端口能很快变成forward状态,而不需经过listen和learn状态。
       Backbonefast(快速骨干)运用在所有的交换机里面的,能够加速网络的收敛,使端口从阻塞状态转换到转发状态只需30秒时间。工作原理:当交换机从邻居交换机收到一个劣等bpdu(宣称自己是根交换机的bpdu),意味着原有链路发生了故障。则此交换机通过其他可用链
        路向根交换机发送根链路查询bpdu,此时如果根交换机还可达,根交换机就会向网络中的交换机宣告自己的存在。则首先接收到劣等bpdu的端口,很快转变到forward状态,之间省略了max age的时间。
快速生成树协议(rapid spaning tree protocol):802.1w由802.1d发展而成,这种协议在网络结构发生变化时,能更快的收敛网络。它比802.1d多了两种端口类型:预备端口类型(alternate port)和备份端口类型。
比较:
(标准)关闭,阻塞,监听,学习,转发。
(快速)丢弃,学习,转发
全双工----点到点链路类型
半双工----共享链路类型
多生成树协议区域:802.1s
        如果所有的交换机都采用同样的配置的话就称之为区域,都知道该网络里有哪些VLAN用哪些生成树。
区域有名字、配置版本号、生成树和VLAN的关联表。
IST INSTANCES 内部生成树
配置增强的生成树协议:
     1. 配置快速端口功能
     2. 配置快速上行链路功能,以提供快速的故障恢复功能
     3. 配置快速骨干功能,以提供核心模块里的快速故障恢复
     4. 配置和检验多生成树
     5. 掌握端口聚合的方法,配置快速以太通道和千兆通道来形成一个快速的连接
Spanning-tree portfast 快速端口功能
Spanning-tree uplinkfast [max-update-rate max_update_rate]配置快速上行链路功能
Show spanning-tree uplinkfast查看uplinkfast是否激活
Spanning-tree backbonefast 配置快速骨干功能
Show spanning-tree backbonefast
Spanning-tree mode mst 激活多生成树实例,在域里所有交换必须配置该命令
Spanning-tree mst configuration 配置多生成树协议的相关配置
Name name  域名
Revision rev_num 配置版本号
Instance inst vlan range 把生成树的实例和VLAN的范围关联起来
Show spanning-tree mst configuration 查看多生成树实例配置
        以太通道:相同的链路可以捆绑起来形成更加高速的链路,看作是一条链路,可以提高链路带宽,和做负载平衡,具有冗余功能。配置:
Inte***ce port-channel port-channel-number(三层) 创建三层逻辑通道接口
Ip address address mask(三层)  给三层通道接口配置IP地址
Inte***ce inte***ce slot/port  (二层)
Channel-group number mode {auto |desirable|on}(二层)
Show running-config inte***ce port-channel num 查看三层逻辑通道接口
Show running-config inte***ce inte***ce x/y 查看二层物理端口通道配置
Show etherchannel num port-channel 查看某一通道的状况
        端口聚合协议(PAgP,CISCO私有的,缺省采用)和链路聚合协议(LACP)
PAGP:在两个相邻的交换机之间交换PAGP的包,把相同的链路捆绑起来
LACP:把相同的链路捆绑起来,形成更高速率的链路
Channel-protocol {lacp | pagp} 接口模式下指定端口采用哪个捆绑通道协议
Lacp port-priority priority_value 指定端口的优先级
Lacp system-priority priority_value 指定交换机的优先级(全局模式)
Port-channel load-balance type指定链路状态采用的负载均衡方式:基于mac的和基于source和destrination ip两种方式。
 
Bpdu guark:
         Spanning-tree portfast bpduguard对处于portfast状态的端口进行诊断,portfast端口一般情况下不接受bpdu数据包,配置后当它收到bpdu数据包时,则转为shutdown状态,如不配置则为阻塞状态。
Show spanning-tree summ ary total 查看guard状态
Portfast口的过滤:
Config#spanning-tree portfast bpdufilter default 激活portfast端口的filter状态,当此端口收到bpdu数据包时,则变为普通端口状态,可以发送和接收bpdu数据包
Show spanning-tree summary totals
Bpdu 的偏移:也就是bpdu到达目的端口的应到时间和实到时间的时间差。
偏移的原因大概有下面几种:
1.计时器失效
2.网络拓扑发生改变
3.Bpdu没收到 
4.交换机发现偏移后,会产生日志,从而导致交换机性能的下降。影响网络的收敛。
         根保护:Config-if:spanning-tree guard root必须在指定端口上配置,可以确保指定端口的状态不发生改变,从而保护了根交换机的地位。
Show spanning-tree inunsistentports查看交换机的root guard功能block掉的端口
Unidirecrtional link detection(单向链路检测): 链路两端的交换机,做冗余链路。其中一条链路可通信,另一链路不可通信。这种现象将发生数据包黑洞,导致广播风暴的产生。发现这种单向链路必须shutdown掉。
Config#udld enable 激活光接口的单向链路检测,不能激活rj45的链路状态。发生黑洞时自动shutdown掉。
Config-if#udld enable激活以太网接口的单向检测
Config-if#no udld enable关闭以太网的单向检测状态
Config-if#udld disable 关闭光接口的单向检测
Config#udld reset 把接口复位,把关掉的单向检测复位
how udld intreface查看单向检测口的信息
Loop guard:(环路保护):环路保护防止于交换机上的非指定端口在max_age时间内没有收到bpdu数据包时,交换机上的非指定端口会自动转变成forward状态而产生的环路而设计的。如果激活loopguard功能,在发生上述情况时,非指定端口将转变为loopinconsistent状态。此状态可在所有非指定端口,rp,预备ap上配置,此状态激活后,根保护状态将失效。
Config#spantree guard loop 3/13 激活环路保护功能
环路保护和单向链路检测比较:
           都是针对某一端口配置,环路保护针对VLAN起作用,单向检测是对整个端口的所有VALN起作用。环路保护具有自动恢复功能,单向链路也具有该功能。环路保护防止由于单向链路造成的生成树的故障,防止环路发生,单向链路检测也可防止,但是它要求在所有的链路上都激活,环路要求在所有的根端口和预备端口激活。由于交换机或桥的软件问题导致生成树故障时环路可防止这种故障的产生而单向检测不能。由于布线造成的错误时环路保护不能起作用,但是单向检测可以。
生成树协议的故障:
     1.链路两端双工模式不匹配。
     2 .单向链路故障。
     3.根交换机的损坏。
     4 .交换机的cpu忙
     5 .Portfast配置失效。
     6.生成树时钟参数配置不正确。
排队故障步骤:
     1 .结合网络拓扑图
     2.找到存在环路的地方
     3 .恢复网络的连通性
     4.检查端口
     5.检查交换机CPU够不够用,关闭一些不需要的特性
     6.根交换机在哪个地方
故障测试命令如下:
Debug spaning-tree all
Debug spanning-tree elent
Debug spanning-tree backbonefast
Debug spanning-tree uplinkfast
 
生成树协议是通过在网络中选举根交换机,并在其他非根交换机上指定接收bpdu的端口来避免广播风暴的产生的。
      生成树协议工作时,正常情况下,交换机的端口要经过几个工作状态的转变。物理链路待接通时,将在block状态停留20s,之后是listen状态15s,经过15秒lear n,最后成为forward状态。
4. 工作过程:运行生成树算法(STA)的交换机定期发送BPDU;选取唯一一个根网桥;在每个非根网桥选取唯一一个根端口;在每网段选取唯一一个标志端口。
        (1)  选取唯一一个根网桥:BPDU中包含Bridge ID;Bridge ID(8B)=优先级(2B)+交换机MAC地址(6B);一些交换机的优先级默认为32768,可以修改;优先级值最小的成为根网桥;优先级值相同,MAC地址最小的成为根网桥;Bridge ID值最小的成为根网桥;根网桥缺省每2秒发送一次BPDU;
        (2)  在每个非根网桥选取唯一一个根端口:根网桥上没有根端口;端口代价最小的成为根端口;端口代价相同,Port ID最小端口的成为端口;Port ID通常为端口的MAC地址;MAC地址最小的端口成为根端口;
        (3)   在每网段选取唯一一个标志端口:端口代价最小的成为标识端口;根网桥端口到各网段的代价最小;通常只有根网桥端口成为标识端口;被选定为根端口和标识端口的进行转发状态;落选端口进入阻塞状态,只侦听BPDU;
       (4)   阻塞端口在指定的时间间隔(缺省20秒)收不到BPDU时,会重新运行生成树算法进行选举;缺点:在运行生成树算法的过程中,网络处理阻断状态,所有端口都不进行转发。计算过程缺省为50秒。
        根端口是到根桥开销最低的端口,所谓的根端口即用来向根桥发送数据的端口。
       交换网络里根端口和指定端口以外称为非指定端口,非指定端口在网络里面被生成树协议设为阻塞状态。
       每个交换机只能有一个根端口,一个物理网段只能有一个指定端口,一个交换网络里面只能有一个根交换机。
      建议把大楼的分布层的交换机作为大楼里面的根交换机。
      每个VLAN都有一个生成树。
      负载均衡的生成树协议。在生成树协议中每个vlan形成一个树。如果网络中的vlan个树比较多的话,会导致网络中的固定链路的流量很大,其余链路的流量相对较小。在生成树协议中可以采用多个vlan共用一个生成树协议的办发来实现负载均衡。假如网络中存在10个vlan的话,可以5个vlan共用一个生成树协议的方法把十个vlan的bpdu数据流量分散在两个固定的链路中。
生成树的计时器(都是从根交换机上学来的):
1. Hello time 多长时间发送一次BPDU的数据包
2.Forward Delay 转发时延,指交换机的端口状态在过渡状态下(listening和learning)下维持一个forward delay的时间
3.Maximum Time 最大老化时间,指一个交换机从其它交换机收到一个BPDU数据包以后,这个数据包有效期多长
生成树中的四个状态:
4.阻塞(Blocking)(可接收BPDU数据包,如果期间没收到BPDU后转到监听状态),链路刚接通时端口都处于阻塞状态
5.监听(Listening)(可以接收数据包),连通之后马上接通时交换机在阻塞状态下停留max age=20s的时间,判断交换机的这个端口有没有可能成为根端口或指定端口,如果有可能成为根端口或指定端口的话就把端口的状态转换到listening(监听,该状态维持15秒)状态。期间中收发BPDU数据包,完成生成树的根的选举、构造,完成端口状态去向的决定。如果决定是根端口或指定端口的话就转换到learning状态,如不是的话转换到阻塞状态。
        学习(Learning),停留forward delay(=15s)时间,继续计算判断端口能不能成为根端口或者指定端口,此时具有学习MAC地址的功能。如果决定后转换到转发状态。
       转发(Forwarding)(可以接收和发送BPDU数据包).
       Disble,不参与生成树协议的运行
配置STP生成树协议:
Spanning-tree vlan 200 激活生成树协议
Spanning-tree vlan 200 priority 4096 配置优先级
Spanning-tree cost 18 配置端口开销(对于所有VLAN起作用)
Spanning-tree vlan 200 cost 17 (对指定VLAN起作用)
Show spanning-tree vlan 200 查看Vlan的生成树
Show spanning-tree bridge查看交换机的所有生成树信息
 
 
1. 了解三层交换所需要的基本组件和关键组件的基本原理
      2. 比较二层交换和多层交换,解释每一种交换模式数据包的流程图
      3. 了解多层交换数据表的结构
      4. 了解集中转发和分布转发和基于命令的交换和基于拓扑的交换
        三层交换:把二层交换功能和三层路由功能结合起来,使得三层包转发的吞吐量达到每秒数百万个包.具有路由处理功能和包转发功能。包转发采用硬件实现,三层和四层性能差不多等于二层的转发性能。
        二层包交换所经过的包的转发流程:在端口收到数据包---输入端口的处理----入口的ACL的安全的检查和过滤---再执行二层的查找----找到对应的出口或出口VLAN----VLAN的ACL过滤----经常QOS输出的限制----检测输出接口的物理链路----在物理链路进行排队----把帧转发出去。
         三层转发流程:在端口收到数据包---输入端口的处理----入口的ACL的安全的检查和过滤---再执行二层的查找----路由器转发模块----执行输入的访问控制列表检查----检查IP是否能够转发----查找IP转发路由表----输出访问控制器的安全检查(ACL)--- 找到对应的出口或出口VLAN----VLAN的ACL过滤----经常QOS输出的限制----检测输出接口的物理链路----在物理链路进行排队----把帧转发出去。
         三层转发时IP包在输入时和输出时的变化:目的MAC地址改为下一跳地址,原MAC地址改为路由器的MAC地址,TTL=TTL-1,校验合也要重新计算。
        交换机在执行查找的时候,比如根据目的MAC地址查找,它是基于进行二进制去匹配的,把目的MAC当成一个搜索关键字,执行哈稀算法,然后得到一个指针,该指针指向交换机里的内容地址存储器(内存可编址存储器),该地方为所匹配的值。
        交换机里还有三重内容地址表,即可以匹配0、1或都不需要匹配。即为不全匹配地址。集中转发:只有一个转发表(如6500系列和4000系列),转发时所有数据都要通过中央转发引擎,中央引擎中存在转发表。
        分布式转发:在每一个模块、端口上面都可以做本地的转发查找转发决策(比如3550和带分布式转发卡的6500)。
        基于netflow的交换(基于流的交换),即一次路由多次交换。它是把路由处理器和专用集成电路结合起来一起工作,通过交换机的第一个三层转发(路由器通过查寻转发信息表,得到输出接口,把数据包改写,完了之后把改写信息和转发信息传给硬件转发表里,再把数据包转发出去)。第二次数据包要做三层转发的时候就直接查找硬件转发表,不用通过路由处理器了。
        传统的路由的三层包转发模式叫做处理器交换(一秒种只能转发数千个包),基于流的数据交换是基于硬件的交换(一秒钟可以转发数百万个包)。
基于拓扑的交换模式(CISCO特有的,即Cef):在数据包转发以前预先在硬件(专用集成电路)里面建立转发信息表和邻居表,所有数据包转发都不用通过路由处理器而直接通过硬件进行转发。
 
 
配置多层交换:
      1. 了解基于CEF的多层交换的特性和工作原理
      2. 配置和检验CEF
      3. 诊断CEF的故障
         Cef(cisco express forward)包括两个平面(功能模块):控制平面和数据平面。其中控制平面(以路由器为基本组成结构)用负责软件去建立转发信息表和邻居表,并把这些信息存放在三层转发模块和接口上。数据平面负责用硬件转发ip单播,当一个需要路由的ip包到达接口时,由三层转发模块的数据平面负责查找转发信息表,找到下跳mac并改写数据帧。
        CEF查找用到两个表:转发信息表由路由器的路由表计算得到,邻居表有arp协议来发现。三层的数据包先经过三重的转发信息表查找,找到最佳匹配,得到邻居信息,得到邻居指针,用第二层信息对数据帧进行改写,然后转发。
        基于CEF的多层交换机工作过程:接口收到数据包(目的MAC地址是交换机的MAC,交换机便知道数据包需要三层转发)----交换机用目的IP地址去查找IP信息表得到指向邻居表的指针----在邻居表里找到下一跳的MAC地址和VLAN号码----用下一跳MAC和交换机MAC来改写数据包----从输出端口转发出去。
        Arp抑制:当一个新的目的地址被客户pc请求时,在三层交换的转发信息表中不存在这个mac对应的链路路径,在交换机得到正确的链路路径前,所有发往此ip的数据将被丢弃掉。
        多层交换的负载均衡:当到一个目的地址存在多条可达路径时,可在邻居表中可构建多条邻居路径,最多可为6条。分配规则可基于源,目的ip地址。源,目的地址对。
在支持cef的交换机上,cef的功能缺省是开启状态。no ip route-cache cef 命令可以关闭cef功能。
Show inte***ce inte***ce-num | begin L3查看三层包的数量
Show inte***ce inte***ce-num | include switched查看三层交换机的单,组播包的数量
Show ip cef 查看cef的运行状态
Show adjacency 查看交换机的邻居
Debug ip cef 诊断cef的信息
Debug ip cef ipc查看进程间的通信信息
VLAN之间的路由:
        1. 掌握多层交换机做VLAN路由中所用到的各种接口类型
        2. 解释VLAN之间路由的工作原理和配置
        3. 了解末端路由器它的工作原理和配置
        4. 检验VLAN之间路由的配置
交换机常见端口:
      1. 交换端口(二层物理端口)
            (1)接入端口:一般用来连接终端,中属于一个VLAN
            (2)干线端口:属于多上VLAN,可以传送多个VLAN的流量
      2. 虚拟接口(逻辑接口)
      3. 路由端口(三层交换机上有些物理端口就是一个可路由的端口,它不属于任何VLAN,在三层交换机上通过执行no switchport可以把接口置为三层路由端口)
VLAN之间路由配置:
Ip routing 激活交换机路由功能
Router ip_routing_protocol <option> 启用路由协议
Inte***ce lan_id 创建或进入一个虚拟端口,代表一上VLAN
单臂路由:802.1Q有一个native vlan(默认VLAN),它是没有tagged,要用一个子接口把native vlan标出来,这样在native vlan里面就有一个缺省网关(即上述的子接口。)