2.1-VLAN/TRUNK/VTP

    注意:配置VLAN时要退出VLAN配置模式才会执行

如果VLAN被删除或者shutdown,那么属于这个vlan的接口将被阻塞(灯一直是橙色,变不了绿色)。

排错的时候如果发现端口一直变不到绿色,可以用sh vlan brief查看该端口是否划到了一个被

shutdown或者删除的vlan中。

接口类型:

1.Access(访问端口)

一个Access Port,只能属于一个Access Vlan

int fa 0/1

switchport mode access

switchport access vlan 10

除了一种情况例外:(还可以加入一个Voice Vlan)

vlan 200

name voice

switchport voice vlan 200

1.Trunk(中继端口)

1.ISL  (cisco 私有,重封装)

Destination MAC |Source MAC | Type | Data |CRC

isl(26bytes)|Destination MAC |Source MAC | Type | Data |CRC|vlan CRC

2.802.1q(业界标准,打标记)

Destination MAC |Source MAC |tag| Type | Data |dot1q CRC

access-port:

可以接受的帧:

802.3

Ethernet II

当vlan id和pvid相同,也可以接dot1q帧,如果vlan id和pvid不一样则drop。

可以发送的帧:

802.3

Ethernet II

Trunk port:

接受 802.1q、ISL、(native vlan 802.3和ethernet II)

发送 802.1q、ISL、(native vlan 802.3和ethernet II)

Native Vlan 不是vlan(只是巧合默认序号是1),是一个Trunk链路上的一个特性,

Trunk针对该vlan的流量不用Trunk封装,其他vlan用Trunk封装。

switch(config-if)#switchport trunk native vlan

DTP:Dynamic Trunking protocol

Switchport mode:

Access    手工指定访问端口,不发DTP(dynamic trunking protocol)

Trunk     手工指定中继端口,发送DTP

Dynamic   动态协商

   auto   被动协商,不主动发DTP,收到DTP可回应。

desirable 主动协商,主动发DTP

Trunk   手工指定中继端口

step1:

sw1(config-if)#switchport trunk encapsulation dot1q(如果交换机只支持一种协议,那么这条命令可以不写)

step2:

sw1(config-if)#switchport mode trunk

Dynamic 动态协商:auto

sw1(config-if)#switchport mode dynamic auto

Dynamic 动态协商:desirable

sw1(config-if)#switchport mode dynamic desirable

关闭DTP的情况:

sw1(config-if)#switchport nonegotiate(关闭DTP,此命令必须mode trunk后才可用)

3种:对方非cisco交换机

    带trunk接口能力网卡的 服务器

    单臂路由器

sh int trunk

switch(config)#int fa 5/8

switch(config)#shutdown 配置前先关掉是良好习惯

switch(config)#switchport trunk encapsulation dot1q

switch(config)#switchport trunk allowed vlan 1,5,11,1002-1005

switch(config)#switchport mode trunk

switch(config)#switchport trunk native vlan 99

switch(config)#switchport nonegotiate

switch(config)#no shut

VTP三种模式:

Server 可以增加、修改、和删除vlan信息,vlan信息存在flash中的vlan.dat文件中

client 不可以增加、修改和删除vlan信息,vlan信息存在flash中的vlan.dat文件中

Transparent 可以增加、修改和删除vlan信息,vlan信息存在配置当中,默认不发送VTP

sh vtp status:

交换机默认是server模式,域名为null,可以接受任何的vtp,并且可以学习到域名(学习到一个域名后就不可以学习到别的域名的信息)。

如果已有域名,只能接受到该域名信息,如果想更改域名,只能删除vlan.dat。

sw1#show flash:

sw1#delete flash:vlan.dat

reload

configuration revision很重要,所以新加一个交换机之前必须把模式变为transperent模式(configuration revision自动清零)。

vtp version 1和2的区别,1为默认,2可以透传vtp信息:domain 1 ->domain 2 ->domain 1

server上启用即可

switch(config)#vtp version 2

生成树:

802.1D  STP        -->PVST(只支持ISL)、PVST+(同时支持ISL、DOT1Q)

802.1W  Rapid-STP  -->Rapid-PVST

802.1s  MSTP       -->MSTP (可以成批把VLAN放到一个实例)

CST(commond spanning tree)独立生成树(只有一个实例)

BPDU网桥协议数据单元

修改cost值计算类型。

sw1(congig)#spanning-tree pathcost method long

查看详细BPDU信息

sh spanning-tree vlan 1 interface fa0/1 detail

根桥收到TCN的时候会flood BPDU给所有SWITCH,然后所有交换机把MAC地址MAX AGE由300秒改为15秒,加速MAC地址表收敛。

在PVST、PVST+中VLAN ID就是VLAN实例ID(extend system id),如优先级别root id为4096的vlan 1则bridge id priority是4097

不推荐:

switch(config)#spanning-tree vlan 1 priority primary(优先级在学到根桥BPDU基础上减两级:一个级别为4096)

                                             secondary(自动降一个级别)

这个命令只有一次作用,选定根桥后就无效了,如果后来又加新的进来,优先级不能影响,所以最好手动指优先级为0或者较低优先级。

敲完命令后会自动产生一个priority,如果想要再敲一次这个命令,则需要先no掉原来产生的priority。

推荐:

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

PortFast模式(接口模式下配):

swich(config)#int fa 0/47

swich(config-if)#spanning-tree vlan 1 portfast

swich(config-if)#keepalive 1(默认是10,这个时间过后端口才会变绿,但省了端口listen和learning的30秒)

UplinkFast(全局模式下blocking交换机配)--只对直连链路有用(当fwd端口坏了的时候,blocked端口切换的时间接近为0,而跳过block->listen->learning状态)swich(config)#spanning-tree uplink-fast

BackbonFast(全局模式下所有交换机配)--对非直连链路有用(可以缩短20秒blocking老化时间):

MST:区域需要三个参数同时匹配:

area name

revision number

VLAN association table 映射表需要一致

SWA  inst 1    1-500vlan

     inst 2    501-1000vlan

SWB  inst 1    501-1000

     inst 2    1-500

则以上两个交换机不在同一个域

extended system id与实例id一致,而在pvst中与vlan id一致。

配置方式

sw1/2(config)#vlan 10/20/30/40

sw1/2(config-vlan)#name ccna/ccnp/ccie/wolf

inst 1  ->vlan 10/30

inst 2  ->vlan 20/40

每个实例分配两个VLAN,SW1作为INST 1的根,SW2作为INST 2的根

step1:

sw1(config)#spanning-tree mode mst

step2:

sw1(config)#spanning-tree mst configuration进入MST配置模式

step3:三个参数一致:

sw1(config-mst)#name ccnp

sw1(config-mst)#revision 11

sw1(config-mst)#instance 1 vlan 10,30

sw1(config-mst)#instance 2 vlan 20,40

step4:

sw2把sw1的配置重复一遍就完成了

sw2(config)#spanning-tree mode mst

sw2(config)#spanning-tree mst configuration

sw2(config-mst)#name ccnp

sw2(config-mst)#revision 11

sw2(config-mst)#instance 1 vlan 10,30

sw2(config-mst)#instance 2 vlan 20,40

step5:

让sw1成为实例1的根,sw2成为实例1的根。

sw1(config)#spanning-tree mst 1 priority 0

sw2(config)#spanning-tree mst 2 priority 0

step6:检查

sh spanning-tree {1/2}

因为先进,COST都改为长字节型。

EtherChannel

配置一(不好的配置方法,有缺陷):如果遇到配置不错但是起不来那么只好删除重做。

sw1/2(config)#int port-channel 1

sw1/2(config-if)#exit

sw1/2(config)#int fa 0/10

sw1/2(config-if)#channel-group 1 mode on

sw1/2(config)#int fa 0/11

sw1/2(config-if)#channel-group 1 mode on

配置二:

step1:

default int fa 0/10

default int fa 0/11

sw1/2(config)#int range fa0/10 ,f0/11

sw1/2(config-if-range)#shutdown

step2:

sw1/2(config)#channel-group 1 mode on(cisco建议两边用desirable)

自动创建interface port-channel 1

step3:

sw1/2(config)#no shut(两台同时要尽快,经验!)

检验:

sh int port-channel 1

mode on      是不启用动态协商协议;所以不能和任何别的mode协商

mode auto    被动的pagp协商

desirable    主动的pagp协商

passive      被动的lacp协商

active       主动的lacp协商

虚拟局域网VLAN的核心目的:

Segementation);

广播有ARP、DHCP);

    广播流量不能穿越VLAN的边界:A vlan:a broadcast domain ;

    为了实现VLAN之间的数据通信需要实现VLAN间路由:A logical network (subnet);

一个VLAN对应着一个广播域,最好对应一个网络子网(为VLAN间的路由作准备);VLAN限制了广播域的范围,VLAN间路由又允许了VLAN间的数据包通信。

    HUB:    所有端口都在一个冲突域和一个广播域中;

    Switch:一个端口对应一个冲突域,所有端口都在一个广播域中;

    Router:一个端口对应一个冲突域,一个端口对应一个广播域。

VLAN的分类:

Static VLAN):由MAC表建立的VLAN→匹配信息存储在MAC表;

Dynamic VLAN):由服务器VMPS建立的VLAN→匹配信息存储在VMPS。

CDP(Connect Discover Protocol):

    CDP是CISCO私有的协议,只可以发现直链的设备!

交换环境中的2种连接类型:

Frame Tagging):当帧到达每个交换机,会首先检查VLAN ID然后决定如何对帧进行处理,当VLAN ID和Access link匹配的时候会移去VLAN标识符;Access-link设备不能与VLAN外通信除非建立了Vlan间路由;

网线/光纤)上同时传输多个vlan的信息(1次最多可以携带1005个VLAN的信息),必须使用100Mbps以上的端口来进行点对点连接,Trunk使你的单独的1个端口同时成为数个VLAN的端口,这样可以不需要L3设备;如果在Switch之间使用了Trunk,那么多个VLAN间的信息将从这个连接上通过;如果没有使用Trunk而使用一般的连接,那么将只有VLAN1的信息能通过这个连接传递:VLAN1默认作为管理VLAN。

VLAN标识符(VLAN Identification Method)的种类:

  VLAN标识符:在交换机的trunk link上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN.附加VLAN信息的方法,最具有代表性的有:

Inter-Switch Link):Cisco私有,只能在快速和千兆以太网连接中使用;ISL路由可以用在Switch端口、Router接口和服务器接口卡之上;

IEEE 802.1Q):由IEEE创建属于业界标准,在有非Cisco设备的连接上不能使用ISL时就必须使用802.1Q;802.1Q识别信息tag位于数据帧的源MAC地址与类型字段之间,大小为4Byte(其中包含12bits的VLAN-ID);IEEE 802.1Q附加的VLAN信息就像在传递物品时附加的标签:当交换机检测到数据包的目标地址不在本交换机而应当发到某条trunk链路时,先进行trunk封装就是添加上tag并重新计算其FCS校验,完成封装后就可以从trunk链路上发给对方交换机了。

VTP协议(Vlan Trunk Protocol):

    VTP也是Cisco创建的但是现在已经不为Cisco所私有,是用来自动协商、通告和同步Trunk信息的协议,必须依靠Trunk来传播;

    VTP采用触发更新,周期为5min;

客户模式(Client)→不能操作VLAN信息但是会转发变动通告/会同步VLAN信息/VLAN信息不会保存在NVRAM里;服务器模式(Server)→可以对VLAN进行建立、删除和修改等操作并发出变动通告/会同步VLAN信息/配置好的VLAN信息会保存在NVRAM里;透明模式(Transparent)→自己可以创建VLAN/可以转发信息/不能同步信息/配置好的VLAN信息会保存在NVRAM中;

注意:VTP不能完成将端口放入VLAN的工作!这需要在每一个交换机上配置。

Only "global" VLAN information regarding VLAN number,name,and description is exchanged.

Informaton on how ports are assigned to VLANs on a given switch is kept local to switch

and is not part of a VTP advertisement.

Vlans deleted on one switch may be deleted on all switches in the VTP domain, and thus

all ports removed from that VLAN.Delete VLANs with caution on a switch that is participating in a VTP domain with other switches.

VTP的工作过程:

    交换机启动后如果VTP名字为空,就会在网络上查找VTP信息并且把自己的名字改为查找到的VTP名字,和对方是客户端还是服务器是没有关系的。

VTP的修正号(Configuration Revision)和版本(Version):

sh vtp status查看VTP信息(保存vlan.dat文件中),注意#sh ru是看不到VTP信息的!

    在运行同一VTP的VLAN中每进行一次配置或修改则会在修正号的基础上加1→客户端的不能导致修正号的变化;VLAN信息是由高版本号向低版本号的覆盖而不管是Client端还是Server端;

    VTP的Ve1和Ve2是不兼容的:在一个server上改成版本2那么所有的交换机都会同步到版本2→Transparent例外。

VTP修剪(VTP pruning):

VLAN1是作为管理VLAN存在的!用(v)#vtp pruning打开VTP修剪。

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

LAB1:VLAN的创建,修改,删除和接口操作:

STEP1:VLAN的创建:

新方法,主流设备):(c)#vlan 10 →exit ;

老式机用法):(c)#vlan database →vlan 20 →apply (应用,即保存了所做的配置)→exit ;

(注意:在使用老方法创建,修改vlan时,如果不使用apply,而直接使用ctrl+z推出,则所有配置都不保存)

sh vl br查看vlan的摘要信息;

STEP2:VLAN的修改:

vlan 10 →name ENG →exit ;

vlan database →vlan 20 name DRAGON →apply →exit(可以在建立时name);

STEP3:VLAN的删除:

no vlan 10 →exit ;

vlan database →no vlan 20 →apply →exit ;

    STEP4:将端口划分入VLAN:

switchport access vlan x;

in range fastethernet 0/1 - 5 ,0/9(注意空格!);

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

   LAB2:跨交换机的同一VLAN通讯:

STEP1:构建Trunk:

    Trunk有两种→有自动协商:

(c-i)#switchport trunk encapsulation dot1q →switchport mode trunk ;

(c-i)#switchport trunk encapsulation isl →switchport mode trunk ;

    两个交换机要配置相同的Trunk;

STEP2:察看Trunk链路的连接状态:

sh int tru

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

vlan下面为什么不能自动获取上网_链路

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

   LAB3:VTP的配置:

STEP1:确认Trunk已经建立:

sh in tr确认;

STEP2:确定一个VTP域名并确认Server/Client:

    一般以网络中用最高端/中心的交换机做Server,考虑到冗余性可以建立两个Server;

vtp domain CCNP →vtp mode server/client(服务器/客户端);

sh vtp status查看VTP信息,注意sh ru是看不到VTP信息的!(VTP信息保存vlan.dat文件中)

STEP3:查看版本号的变化:

    通过在Server端增加/修改/删除vlan来观察Client上VLAN信息的同步和VTP修订版本号的变化;

STEP4:VTP的认证:

vtp password 123来加密VTP区域;可以用#sh vtp password来查看密码;

STEP5:VTP的修剪(在Server端做):

vtp pruning 。