VLAN(Virtual LAN)
·VLAN可以隔离2层的广播域。
·A VLAN =(一个) 广播域 = (一个)逻辑子网
  路由器是隔离广播域的
·单个端口只能承载单个VLAN的流量。
·使用VLAN好处:
 1.有效的带宽利用
 2.提高了安全性
 3.隔离故障域
·端到端的VLAN:
  可以扩展到整个网络的VLAN
·本地VLAN:
  局限于特定域的VLAN,只在本接入层交换机或小范围的分布层之间起作用
 在单个配线架之内的单台接入交换机上配置最少数目的VLAN,
 而不是在单台交换机上配置多个部门的VLAN。
VLAN的模式:
·静态VLAN(基于端口的VLAN):
 手工配置交换机端口,将其设为特定的VLAN。
 只要接到这个端口的设备就属于此VLAN。
Sw1#show cdp neighbors detail
·动态VLAN:
 根据已经输入到VMPS(VLAN Management Policy Server)中的源MAC地址来分配VLAN。
Sw1(config)#vmps server 192.168.1.1
配管理地址----SVI
Interface vlan 1
Ip address 100.1.1.1 255.255.255.0
 
·VLAN的范围:
 根据平台和软件版本不同,Cisco交换机最多支持4094个VLAN。
 0,4095:保留,仅限系统使用。用户不能查看。
 1:CISCO默认VLAN,不能删除。
 2-1001:用于以太网的VLAN,用户可自己创建的VLAN
 1002-1005:用于FDDI和令牌环的默认VLAN,不能删除。
 1006-4094:仅用于以太网的VLAN.  扩展的VLAN,只有3550以上的交换机才能配,且必须将VTP模式设为透明模式。

<创建VLAN>
VLAN的配置分为全局配置模式和数据库配置模式(只能支持1-1005个VLAN)
一、Sw1(config)#vlan 2
  Sw1(config-vlan)#name WOLF
Sw1#show vlan
Sw1#show vlan brief
二、Sw3#vlan database (此命令在老版本中使用,新版本可直接写vlan)此命令在特权模式下用
Sw3(vlan)#vlan 3 name CCIE
Sw3(vlan)#exit
  创建完VLAN后,一定要写exit,否则不生效。
注意:一旦删除了VLAN,需要手动将端口移动到别的VLAN,否则这些接入端口将进入“非活跃”状态。使用show vlan brie  查看的时候将看不到。

<同一交换机VLAN内通信>
1)在Sw1上将R1&R2连到Sw的端口都划入VLAN 2
 Sw1(config)#int f0/6
 Sw1(config-if)#switchport mode access     (指定为接入端口)
 Sw1(config-if)#switchport access vlan 2   (将接口划入VLAN2)
(假如没有创建vlan直接打此命令会自动创建此vlan)
 
 Sw1(config-if)#switchport host  将端口配置为主机设备所使用,配置后默认对端口启用portfast和禁用ehterchannel特性
  Sw1#show interfaces f0/6 switchport   查看接口的的模式,封装等信息,常用命令。
·将多个不连续端口同时加入同一个VLAN:
 Sw1(config)#interface range fastEthernet 0/1 , fastEthernet 0/5
·将多个连续端口同时加入同一个VLAN:
 Sw1(config)#interface range fastEthernet 0/1 - 15
  Sw1(config)#interface range fastethernet 0/1 - 15,fastethernet 0/17 - 22
Sw1#show mac-address-table
Sw1#show mac-address-table aging-time
 默认每个VLAN中的MAC地址表老化时间是300S。
Sw1(config)#mac-address-table aging-time 600 (vlan 2)
Sw1(config)#mac address-table aging-time 600
-----------------------------------------------------------------------------------------
<VLAN Trunk>
·Trunk:在单条物理链路上承载多个VLAN的流量。
  一般用在交换机与交换机之间。
·Trunk运用的2种协议:
 802.1Q:基本标准的IEEE协议,属业界标准。
 ISL(Inter-Switch Link):Cisco专有的Trunk封装方式。
·ISL(Inter-Switch Link):
 26(报头)+4(CRC)=30Bytes     (CRC:Cyclic Redundancy Check)
 Vlan ID 一共有15个bit,但只用到10个bit,2^10=1024字节
  所以,ISL最多只能支持1024个VLAN
 Sw2940/2950接口不支持ISL封装,仅支持802.1Q
  在SW3550中,接口强行起Trunk模式,必须先指定一种封装模式
 MTU:1548 bytes
 如果设备接收到没有被封装的帧,那么ISL将丢弃这些帧,而且所有帧都要封装
 
·802.1Q:
Dest Src Len/Etype Data FCS 
Dest Src Tag    
在SM和Type字段之间插入4个字节的Tag字段,并将原有的FCS重写。
 (FCS:Frame Check Sequence)
 MTU:1522 bytes
  使用12个bit来表示VLAN-ID,所以最多可支持4096个VLAN
·对比ISL,802.1Q有如下好处:
 1.具有更低的开销,因此转发效率略高,(4/30 bytes)
 2.业界标准,有更广泛的支持。
 3.支持Qos的802.1p字段。(就是Tag中的3bit的PRI位)
 
 如果不支持802.1Q的设备接收到此帧,该设备将忽略帧中的Tag,当作标准的以太网帧转发。

·Native VLANs
 在802.1Q中允许设定一个Native VLANs,这个VLAN中的流量不用打tag,本技术是dot1q中才有的。
 802.1Q把Untag的帧定义为Native VLAN。(默认是VLAN1)一个小的优化方法,指定的VLAN数据在传输过程中不用打上TAG来标识,系统默认就知道。每台交换机必须指定一样的,只能有一个VLAN成为Native Vlan。
 Sw1(config-if)#switchport trunk native vlan 2  
 Sw1#show int f0/6 switchport
 
·802.1Q-in-Q:(802.1Q Tunneling)
 802.1Q支持隧道特性,允许服务提供商在其VLAN内部传输用户VLAN,保留单独客户的VLAN分配,而无需要求它们的VLAN分配是唯一的。
服务提供商配置:
Sw1(confit-if)#switchport access vlan 30          划入SP的VLAN
Sw1(confit-if)#switchport mode dotlq-tunnel       Q-in-Q
客户端配置:
Sw3(config-if)#switchport mode trunk
Sw3(config-if)#switchport trunk encapsulation [dot1q | isl]
Sw3(config-if)#switchport trunk allowed vlan 1-100,111
 (在此Trunk口上只允许VLAN1-100,111的流量通过)

DTP(Dynamic Trunking Protocol)cisco专有
·在交换链路上发送此种报文,来协商双方是否能形成Trunk。
·接口的五种模式:
Access,trunk,desirable,auto,(nonegotiate)
        Send  Receive (DTP:Dynamic Trunk Protol)
access     -    - (此接口接设备)
trunk(on)    √        √ (本端无条件Trunk.不管对端是否起trunk)
desirable    √    √ (收发DTP,愿意成为Trunk,)默认就是这种类型
auto      ×    √ (平时仅收DTP,愿意成为Trunk)
nonegotiate     ×     ×(禁止DTP信息)通常和trunk联用,即起trunk,又不用发DTP帧
Sw1(config-if)#switchport mode access
Sw1(config-if)#switchport mode dynamic desirable(默认模式)
Sw1(config-if)#switchport mode dynamic auto
Sw1(config-if)#switchport mode trunk
Sw1(config-if)#switchport nonegotiate
(nonegotiate只能和trunk联用)
Sw1(config-if)#switchport trunk encapsulation dotlq 指定封装格式
Sw1#show interface trunk  查看trunk端口信息,验证是否已经起了trunk
Sw1#Show interface f0/24 switchport  查看端口的配置
注意:3550默认是dynamic desirable、3560默认是dynamic auto。
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
VTP(VLAN Trunk Protocol)CISCO私有的协议
·作用:用来在交换区域内同步VLAN的信息
·VTP是一种2层消息协议,通过管理VTP域内的VLAN增/删/改,保持VLAN配置的一致性。
 交换机只能在802.1Q/ISL Trunk中传送VTP信息。
·要实现VTP,首先要配置一个VTP域,每台交换机都可以配置一个VTP域名,一个VTP域就是由一组VTP域名相同的交换机组成,一台交换机只能加入一个VTP域。
·VTP模式:
               Server Client Transparent(透明模式)
增/删/改                 √   ×    √(仅在本地有效)
转发VTP(vlan)信息    √   √    √
同步vlan信息        √   √    ×
保存NVRAM             √   ×    √
·VTP一个重要元素:Configuration Revision(配置修订版本号)
 每当修改VLAN信息一次,版本号就加1,版本低的SW跟版本高的SW学习VLAN信息。
·VTP信息每5分钟通告一次, 或触发更新(VLAN配置改变时通告)。
·VTP帧发向组播MAC地址,0100.0ccc.cccc
·VTP有四种消息类型:1、汇总通告  2、子网通告  3、通告请求  4、VTP加入消息
·VTP的同步是由低版本号的交换机跟着高版本号的交换机做同步,server和client谁跟谁学不是看模式,而是看配置版本号。
·CISCO的交换机默认都是Server模式,而且没有域名,一旦一台SW配置了域名,其他SW都会学习过去。
·影响VTP的因素:1.trunk  必须在trunk上传输
   2.domain 域名(须取相同名称)
   3.password 密码

注意:交换机与交换机之间用协商模式起Trunk的时候,如果两端VTP信息不匹配,也起不了Trunk,切记这一点。
所以,起TRUNK有三点关联:
      1、封装类型
      2、接口模式
      3、两端VTP信息是否匹配
Sw1(config)#vtp domain WOLF
Sw1(config)#vtp mode [Server|Client|Transparent]
Sw3#vlan database
Sw3(vlan)#vtp domain WOLF
Sw3(vlan)#vtp [Server|Client|Transparent]
Sw1#show vtp status (查看VTP信息)
<VTP Pruning>
·VTP修剪能够确定Trunk何时正在扩散不必要的流量。并将其VLAN修剪掉。
Sw1(config)#vtp pruning
在Server端配置,其他SW会学习到。
·VTP版本:(V1/V2/V3)
 默认是V1。Cisco 建议一个域中版本一致。
Sw1(config)#vtp version 2
Sw3#vlan database
Sw3(vlan)#vtp v2-mode
·VTP认证:
Sw2(config)#vtp password aaa
Sw3#vlan database
Sw3(vlan)#vtp password aaa
如何检查密码相同/不同:
 1.Sw2#show vtp password
vlan的信息在固化的设备上保存在FLASH中,在模块化的设备上保存在NVRAM中。
---------------------------------------------------------------------------------------------------------------------------------------------------
在交换机中建立VLAN后,会在FLASH中生成一个VLAN文件,可用下列命令查看、删除。
Show flash
Delete vlan.dat
Delete config.text  删除配置文件