W1(config)# show interface fastEthernet 0/xx switchport      
   查看的是xx端口上所有与vlan相关的参数信息;

SVI -交换虚拟端口
每一个VLAN都对应的一个SVI,即 interface vlan x;

 VLAN间路由
     即在不同的 VLAN 之间,配置好网关设备,确保不同网段互通
    
    实现方案:
        路由器
          - 每个VLAN均使用一个独立的路由器接口,配置好网关IP
             优点:简单易懂
             缺点:浪费端口
        多层交换机
          - 为每个 VLAN 配置一个网关IP ,但使用的是逻辑接口;
            每一个 VLAN 都对应一个逻辑接口 - interface vlan X
              将多层交换机作为网关:
                1、开启路由功能;
                    SW(config)# ip routing
                2、创建/确保 设备有对应的VLAN;
                    SW(config)# vlan 12
                    SW(config-vlan)# name CCIE
                    SW(config)# vlan 34
                    SW(config-vlan)# name CCNP
                3、为每个VLAN配置网关IP地址    
                    SW(config)#interface vlan 12
                    SW(config-if)# no shutdown
                    SW(config-if)# ip address x.x.x.x /24
                    SW(config)# interface vlan 34
                    SW(config-if)# no shutdown
                    SW(config-if)# ip address x.x.x.x /24
                4、配置多层交换与级联交换机的互联链路 - trunk

wKiom1nl8Cqy0VO7AAAV7F8XmxM772.png

                    SW(config)# interface fas0/13
                    SW(config-if)# no shutdown
                    SW(config-if)# switchport trunk encapsulation dot1q
                    SW(config-if)# switchport mode trunk
                                  
                    SW2(config)# interface fas0/13
                    SW2(config-if)# no shutdown
                    SW2(config-if)# switchport mode trunk        
           


注意:
    当交换机收到一个带有标签(vlan-id)的数据时,
    如果本地交换机上没有该 vlan , 则直接将其丢弃;
    
    交换网络中的数据流所经过的每一个交换机,必须拥有
    相同的 VLAN 数据库。(即确保全网交换机的VLAN数据库相同)

    
    交换机的工作原理:
         成表:
            当交换机在端口上收到一个数据包时,
            首先判定入端口属于的 vlan 号 ,
            其次查看数据包中的源MAC地址
            然后形成 vlan-id --- MAC 和入端口的对应关系,即
              Mac地址表条目:  vlan-id - MAC - Port
         查表:
            当交换机收到数据包之后,
            首先,查找入端口所属于的 vlan 号,
            其次,在属于该 vlan号的 mac-address-table 中查找
                  目标MAC地址;
                     如果能够查到该MAC,则在对应端口转发;
                     如果查不到,则向属于该vlan的其他所有端口以及 trunk 端口进行转发;
                                   (入端口除外)   

总结:
        交换机形成MAC地址表是 : 从左向右;
        即,首先形成 vlan-id   (数据的入端口属于的VLAN号)
            其次形成 mac-address (通过数据包中的源MAC)
            最后查看 port      (数据的入端口的号码)
        
        交换机查找MAC地址表是 : 从左向右;
        即,首先查看 vlan-id    (数据的入端口属于的VLAN号)
            其次查看 mac-address (通过数据中的目标MAC地址)
            最后查看 port


LAN 标记协议:
     ISL - 思科私有协议;为数据增加的标签,长度为30个字节;
    

    802.1q - 公有标准, 主流协议;为数据增加的标签,长度为4个字节;
        其中12个bit用来表示 vlan,所有 vlan 的空间大小为 :0--4095,共4096个;
          系统保留vlan ; 1 , 1002-1005 ;
          
重要命令:
    show interface  fas0/1  switchport
        查看的是该端口上所有与 vlan 相关的参数信息;    
          

Trunk 的 vlan 控制:
        默认情况下, trunk 上允许所有 vlan 通过;
        如果想控制 trunk 上的 vlan 通信,可以使用如下命令:
    SW1(config)#interface fas0/23  //进入 trunk 链路;
    SW1(config-if)#switchport trunk allowed vlan ? (查看帮助)
        word  // 表示的是 vlan 号;
        add   // 添加特定vlan 都现有的允许列表中;
        remove  // 将特定的 vlan 在现有允许列表中移除掉;
        all   // 表示的是该 trunk 链路允许所有的 vlan ;
                 这是默认行为;
 例如:
  SW1(config)#interface fas0/23  // 此时默认允许所有的 vlan
  SW1(config-if)# switchport trunk allowed vlan  120 

    //输入该命令后,该trunk仅允许一个vlan 120


  SW1(config-if)#switchport trunk allowed vlan add 1
      //将vlan 1 添加到现有的允许的vlan列表中,即此时该trunk链路同时允许 1 和 120 两个 vlan ;
 

  SW1(config-if)#switchport trunk allowed vlan add 12
      //将vlan 12 添加到现有的允许的vlan列表中,即此时 该trunk链路同时允许 vlan 1\12\120
  SW1(config-if)#switchport trunk allowed vlan remove 12
       //将 vlan 12 在以上的允许列表中删除掉,此时的trunk链路仅仅允许 vlan 1 和 120 ;            
        
Trunk - native vlan 修改;
        默认情况下,trunk 的native vlan  为 1 ;
        该 vlan 中的数据包,经过 trunk 时,不需要标签;
        在该 vlan 中传输的数据包一般是交换机之间的管理协议;
        所以这种类型的数据极为重要。
        出于安全方面考虑,我们更改 trunk 上的native vlan
      

wKiom1nl8Cqy0VO7AAAV7F8XmxM772.png

        SW1(config)#interface fas0/1
        SW1(config-if)#switchport trunk native vlan 144
        show interface trunk
        
        同时,必须保证该 native vlan 中不能有任何的成员端口
     1、必须使用一个不常用的 vlan 作为 native ;
     2、两边的 native vlan 必须相同;
     3、每个交换机上的native vlan 中不能有成员端口;
     4、trunk链路建议均为手动配置,不能自动配置;
     5、同时一定要关闭trunk链路上的自动协商功能 ,即关闭DTP