端口协商参数:

    speed - 速率; 

duplex - 双工模式

          半双工 - 同一时刻,只能收或者发;

  全双工 - 同一时刻,可以同时收和发;

建议:

    不同类型的设备之间进行互联链路时,需要手动指定速率和双工


========================================================


传统交换网络存在的问题:

       单点故障

  

解决方案:

       增加冗余链路

  增加冗余设备

      

  搞清楚环路是如何形成?


随之而来的问题:

       数据转发环路;

  产生环路的数据,会不断的在网络中进行传输,从而消耗

  网络中链路资源和设备资源;

解决方案:

在交换机上运行 STP 协议;  

  

-------------------------------------------------------   

STP  - 生成树协议; (802.1D)

     

-作用

        存在冗余链路的情况下,实现环路的防护;

    -实现 

        BPDU - 桥接协议数据单元

    -分类

 PVST \ RSTP  \ MSTP 

工作过程:

1、确定交换机角色

       根交换机

       非根交换机

          原则:比较每个交换机的 BID(桥ID),越小越好;

      组成:

       优先级+MAC

   优先级 - 默认是32768

MAC - 交换机的主板MAC(基MAC)

      - 查看命令:show version 

       

2、确定端口角色

   根端口 - 每一个非根交换机只有一个距离根交换机最近的口

   指定端口 - 每一个“冲突域”中都存在一个距离根交换机最近的口

   非指定端口- 其他所有端口,都叫做非指定端口

    如何表示“距离” ?

   在 STP 中,通过 cost 表示一个路径的距离;

对于某些链路,均有默认的 cost 值:

   10M - cost 100 ; 

100M - cost 19 ; 

1G - cost 4 ;

10G - cost 2 ;

    BPDU - 

 Root-ID   //表示根交换机是谁;

 Cost      //表示发送该BPDU的交换机到达 根交换机 的距离

 BID       //表示发送该BPDU的交换机的名字;

 Port-ID   //表示发送方交换机是在哪个端口发送出来的;

              -组成:

      端口优先级.端口号

     -优先级默认值为 128 ; 


3、确定端口状态

    disable     // 相当于shutdown,此时端口不能使用;

    listening   //侦听,该状态侦听的是BPDU,用于确定端口角色

    learning    //学习,该状态学习的是MAC,形成MAC地址表;

    forwarding  // 转发, 即端口的最终转发状态;

   (根端口 、指定端口)

    block       // 阻塞,此时的端口是不可以发送数据的;

        (非指定端口)


-------------------------------------------------------   

修改交换机的 STP 优先级:

     SW2(config)#spanning-tree vlan 1 priority 0   


     导致的结果,此时网络中的“根交换机”由 SW1 变成了 SW2 ; 


     注意:

    当我们修改交换机的优先级的时候,发现问题:

 

SW2(config)#spanning-tree vlan 1 priority 1

% Bridge Priority must be in increments of 4096.

% Allowed values are:

  0     4096  8192  12288 16384 20480 24576 28672

  32768 36864 40960 45056 49152 53248 57344 61440  

 


即:交换机的 STP 优先级必须得是 4096 的倍数;


-----------------------------------------------------------

开启一个 VLAN 的 STP 协议: 

默认情况下,交换机为每个 VLAN 打开了 STP ; 

想关闭:

    no spanning-tree vlan 200

    验证:

    show spanning-tree 

交换机如何区分不同 VLAN 的 BPDU :

    我们使用 BID 中的 2 个字节的优先级中的 低12 bit 作为

vlan 号 ;

由此得出:

   前面2个字节的优先级字段,真正用来表示优先级的,仅有4

bit ; 所有呢,优先级只能有 16 个 ; 

但是,在表示优先级数值的时候,后面的12bit,都必须算上

同时,必须是0;

即,每个交换机的 STP 的优先级,都是 2的12次方的 0-15

倍数,即 4096的倍数;

LAN中存在的一个问题:

        单点故障


      解决方案:

      增加冗余的链路或者设备;

-------------------------------------------------------

STP 

   - 生成树协议;  

   

   - 作用: 

        网络中存在冗余链路的时候,防止  局域网 环路;

默认情况下,STP 是开启的;

终极目标:

   在LAN中,保证任何两个通信终端之间永远只有一个:

   最短、无环 的 转发路径;

   - 分类:

      STP --->  PVST -->  RSTP -->  MSTP 

   - 报文:

       BPDU - 桥接协议数据单元   fanyi.baidu.com  

                                          www.baidu.com

   - 工作过程 

         1、确定交换机角色

           根交换机  - 一个VLAN/LAN 有且只有一个根

非根交换机 - 除了根,其他都叫非根交换机

  选举原则:

      比较BID,越小越好;

     BID组成 - 优先级+MAC 

           优先级 - 默认32768 

MAC  - 交换机基MAC

    show version 

2、确定端口角色

      根端口 -    

        非根交换机上,有且只有一个,距离根交换机

      最近的,端口

 

  指定端口 -

      每一个冲突域中,有且只有一个,距离根交换机

  最近的,端口;

  

  非指定端口 - 其他端口,都是非指定端口;

  

      STP中如何表示距离?

        答: 通过 cost 表示;

 

10M - 100 ;

                         100M - 19 ; 

                         1G   - 4 ; 

                         10G  - 2 ;

        3、确定端口状态:

            disable , 

            listening 

            learning 

            forwarding 

block

  

STP收敛速度优化方案


Port-Fast特性:

        可以确保将 access 链路上连接的 终端设备,

直接从disable 状态 变成 转发状态;

端口状态转换时间,从原来的 30s 降低为 0 s ; 


配置命令:

    interface  fas0/1    // 连接的 PC ; 

 swtichport mode access

 swtichport  access vlan 1 

 spanning-tree portfast   // 开启port-fast功能;

验证命令:

show spanning-tree interface fas0/1  portfast 


----------------------------------------------------------

Uplink Fast 特性:

        针对的是交换机之间的 Trunk链路

        当交换机发现自己本身的链路出现故障以后,

        会快速的将备份链路转换为主链路进行使用,

        切换时间,从原来的30s ,降低为 0 s ,实现秒切;

 

配置命令:

        SW(config)# spanning-tree  uplinkfast   

验证命令:

       SW# show spanning-tree  summary

注意:

        1、仅针对设备发现的直连故障的链路切换;

        2、仅在本地设备开启即可,对端设备可以不开启;

        3、STP的优先级,必须是默认的 32768;



STP安全性优化方案:

 

BPDU Guard : BPDU 保护 

          即开启了该特定的端口,不允许接收BPDU,

          如果接收到 BPDU,端口会进入 err-disable 状态。

配置命令:

        interface  fas0/2 

         spanning-tree portfast bpdugard  //开启BPDU保护;

 

注意: 

    该特性一般使用在 access 链路上;


--------------------------------------------------------

Root Guard :根交换机保护

       在端口上配置该命令,表示将该端口强制性的指定为指定端口

  如果经过正常的 BPDU 比较,无法使得该端口成为指定端口,

  在将该端口设置为“非一致”状态,此时的端口不能转发数据;

  从而实现了对原根交换机的保护;


配置命令: 

     interface  fas0/24 

   spanning-tree  guard  root 


验证命令:

     show spanning-tree 

   从而可以看到该端口的角色一致是 "指定端口"

  

注意:  

     该特性,不一定非得配置在根交换机;


  

-------------------------------------------------------------

HSRP组成员路由器身份确定:

       HSRP启动以后,通过比较报文中的优先级来确定成员路由器的

       主和备的身份。优先级的值越大越好。

       默认优先级是100 ; 


配置命令:

   interface gi0/0

       standby 10 priority  210 ; 

  

并且,必须得开启所有成员路由器的“抢占功能” ;

    interface  gi0/0 

       standby  10  preempt //开启 该网段在组10中的抢占功能

  

验证命令: 

    show standby 



------------------------------------------------------------


HSRP 链路跟踪 (模拟器无法实现降低指定数量的优先级)

      启用了 HSRP 的网关,可以跟踪连接外网的链路的状态;

 如果被跟踪的链路 down,则该网段端口会在对应的 hsrp 组

 中降低指定的优先级,从而可以让原网中的备份网关转换为

 主网关;

配置命令: 

    interfce  gi0/0  // 进入网关端口;

  standby 10 track gi0/1  priority 150 //跟踪链路 gi0/1 

注意: 

        上述命令中的 gi0/1 应该路由器上连接外网的链路;