1、VLAN Trunk技术原理
当一个VLAN 跨过不同的交换机时,在同一VLAN上但是却是在不同的交换机上
的计算机进行通信时需要配置VLAN Trunk中继链路。Trunk 技术使得在一条物理线
路上可以传送多个VLAN 的信息,交换机从属于某一VLAN(例如VLAN 2)的端口接
收到数据,在Trunk 链路上进行传输前,会加上一个标记,表明该数据是VLAN 2
的;到了对方交换机,交换机会把该标记去掉,只发送到属于VLAN 2的端口上。

Trunk采用帧标记技术,实现了在单一链路上传送不同VLAN的数据帧,从而大
大提高了链路的利用率。有两种常见的帧标记技术:ISL和802.1Q。ISL技术在原有
的帧上重新加了一个帧头,并重新生成了帧较验序列(FCS),ISL是思科特有的技
术,因此不能在Cisco交换机和非Cisco交换机之间使用。而802.1Q技术在原有帧的
源MAC地址字段后插入标记字段,同时用新的FCS字段替代了原有的FCS字段,该技
术是国际标准,得到所有厂家的支持。
2、VLAN Trunk的配置
S1(config)#int f0/24
S1(config-if)#switchport trunk encanpsulation dot1q
//配置trunk链路的封装类型,同一链路的两端封装要相同
S1(config-if)#switchport mode trunk
//接口配置为trunk
S2(config)#int f0/24
S2(config-if)#switchport trunk encanpsulation dot1q
S2(config-if)#switchport mode trunk
l查看交换机端口的trunk状态
检查Trunk链路的状态,测试跨交换机、同一VLAN主机间的通信使用“show interface f0/24 trunk”可以查看交换机端口的trunk状态,如下:
Port Mode Encapsulation Status Native vlan
Fa0/24 on 802.1q trunking 1
//f0/24接口已经为trunk链路了,封装为802.1q
需要在链路的两端都确认trunk 的形成。
3、VTP协议
(1)VTP介绍
VTP(VLAN Trunk Protocol)提供了一种用于在交换机上管理全部VLAN的方法,
该协议使得我们可以一个或者几个中央点(Server)上创建、修改、删除VLAN,
VLAN 信息通过Trunk链路自动扩散到其他交换机,任何参与VTP 的交换机就可以
接受这些修改,所有交换机保持相同的VLAN信息。
VTP被组织成管理域(VTP Domain),相同域中的交换机能共享VLAN信息。根据
交换机在VTP域中的作用不同,VTP可以分为三种模式:
服务器模式(Server):在VTP服务器上能创建、修改、删除VLAN,同时这些信
息会通告给域中的其他交换机。
默认情况下,交换机是服务器模式。每个VTP域必须至少有一台服务器,域中的
VTP服务器可以有多台。
客户机模式(Client):VTP客户机上不允许创建、修改、删除VLAN,但它会监听来自其他交换机的VTP通告并更改自己的VLAN信息。接收到的VTP信息也会在Trunk链路上向其他交换机转发,因此这种交换机还能充当VTP中继。
透明模式(Transparent):这种模式的交换机不参与VTP。可以在这种模式的交换机上创建、修改、删除VLAN,但是这些VLAN信息并不会通告给其他交换机,它也不接受其他交换机的VTP通告而更新自己的VLAN信息。然而需要注意的是,它会通过Trunk链路转发接收到的VTP通告从而充当了VTP中继的角色,因此完全可以把该交换机看成是透明的。
VTP通告是以组播帧的方式发送的,VTP通告中有一个字段称为修订号(Revision),初始值为0。只要在VTPServer上创建、修改、删除VLAN,通告的Revision就增加1,通告中还包含了VLAN的变化信息。需要注意的是:高Revision的通告会覆盖低Revision的通告,而不管谁是Server还是Client。交换机只接受比本地保存的Resivison号更高的通告;如果交换机收到Resivison号更低的通告,会用自己的VLAN信息反向覆盖。VTP Revision号保存在Flash中,关机也不会复位,可采用将交换机的模式改为透明模式,又改为服务器模式或者改变交换机的VTP域的域名。
(2)VTP配置
把两台交换机的配置清除干净,重启交换机
S1#delete flash:vlan.dat
S1#erase startup-config
S1#reload
S2#delete flash:vlan.dat
S2#erase startup-config
S2#reload
检查S1和S2之间链路trunk是否自动形成,如果没有应先配置VLAN trunk。
配置S1为VTP server
S1(config)#vtp mode server
Device mode already VTP SERVER.
//以上配置S1为VTP server,实际上这是默认值
S1(config)#vtp domain VTP-TEST
Changing VTP domain name from NULL to VTP-TEST
//配置VTP域名为VTP-TEST
S1(config)#vtp password cisco
Setting device VLAN database password to cisco
//配置VTP的密码,目的是为了安全,防止不明身份的交换机加入域
配置S2为VTP client
S2(config)#vtp mode client
Setting device to VTP CLIENT mode.
S2(config)#vtp domain VTP-TEST
Domain name already set to VTP-TEST.
S2(config)#vtp password cisco
在S1上创建VLAN,检查S2上的VLAN信息的变化情况(show vlan命令)
S2#show vlan
S2#show vtp status //查看VTP信息
观察VTP的revision数值的变化,在S1上修改、创建或者删除VLAN,
在S2上观察revision数值是否每次增加1。
S1(config)#vtp pruning //配置VTP修剪
S1(config)#vtp version 2 //配置VTP的版本
【提示】VTP修剪和VTP版本只需要在一个VTP server进行即可,其他server或者
client会自动跟着更改。VTP修剪是为了防止不必要的流量从trunk链路上通过,通
常需要启用。
构建基于VLAN中继协议隔离的局域网.ppt(下载附件 924 KB)
实验十二 交换机VLAN Trunk与VTP配置.doc(下载附件 940 KB)
【参考视频】

