目录
13.1 VLAN,Trunk 和VTP 简介
13.1.1 VLAN
13.1.2 Trunk
13.1.3 VTP
13.1.4 EtherChannel
13.2 实验1:划分VLAN
1.实验目的
2.实验拓扑
3.实验步骤
4.实验调试
13.3 实验2:Trunk 配置
1.实验目的
2.实验拓扑
3.实验步骤
13.4 实验3:VTP 配置
1.实验目的
2.实验拓扑
3.实验步骤
4.实验调试
13.5 实验4:EtherChannel 配置
1.实验目的
2.实验拓扑
3.实验步骤
13.6 VLAN、Trunk 和VTP 命令汇总
Cisco 交换机不仅仅具有2 层交换功能,它还具有VLAN 功能。VLAN 技术使我们很容易地控制广播域的大小。有了VLAN,交换机之间的级联链路就需要Trunk 技术来保证望该链路可以同时传输多个VLAN 的数据。同时为了方便管理各交换机上的VLAN 信息,VTP 也被引入了。交换贡之间的级联链路带宽如果不够,我们可以把多条链路捆绑起来形成链路。本章将一一介绍以上各种技术的具体配置。
13.1 VLAN,Trunk 和VTP 简介
13.1.1 VLAN
如图所示,虚拟局域网(Virtual LAN,VLAN)是交换机端口的逻辑组合。VLAN 工作在OSI 的第2 层,一个VLAN 就是一个广播域,VLAN 之间的通信是通过第3 层的路由器来完成的。VLAN 有以下优点。
①控制网络的广播问题:每一个VLAN 是一个广播域,一个VLAN 上的广播不会扩散到另一VLAN;
②简化网络管理:当VLAN 中的用户位置移动时,网络管理员只需设置几条命令即可;
③提高网络的安全性:VLAN 能控制广播,VLAN 之间不能直接通信;
定义交换机的商品在哪个VLAN 上的常用方法,如下所述。
①基于端口的VLAN:管理员把交换机某一商品指定为某一VLAN 的成员;
②基于MAC 地址的VLAN:交换机根据节点的MAC 地址,决定将其旋转于哪个VLAN 中。
13.1.2 Trunk
当一个VLAN 跨过不同的交换机时,在同一VLAN 上但是却是在不同的交换机上的计算机进行通过时需要使用Trunk。Trunk 技术使得一条物理线路可以传送多个VLAN 的数据。交换机从属于某一VLAN(例如VLAN 3)的端口接收到数据,在Trunk 链路上进行传输前,会加上一个标记,表明该数据是VLAN 3 的;到了对方交换机,交换机会把该标记去掉,只发送到属于VLAN 3 的端口上。
有两种常见的帧标记技术:ISL 和802.1Q。ISL 技术在原有的帧上重新加了一个帧头,并重新生成了帧检验序列(FCS),ISL 是Cisco 特有的技术,因此不能在Cisco 交换机和非Cisco 交换机之间使用。而802.1Q 技术在原有帧的源MAC 地址字段后插入标记字段,同时用新的FCS 字段替代了原有的FCS 字段,该技术是国际标准,得到所有厂家的支持。Cisco 交换机之间的链路是否形成Trunk 是可以自动协商的,这个协议称为DTP(Dynamic Trunk Protocol),DTP 还可以协商Trunk 链路的封装类型。下表是链路两端是否会形成Trunk 的总结。
13.1.3 VTP
VTP(VLAN Trunk Protocol)提供了一种用于在交换机上管理VLAN 的方法,该协议使得我们可以在一个或者几个中央点(Server)上创建、修改和删除VLAN,VLAN 信息通过Trunk 链路自动扩散到其他交换机,任何参与VTP 的交换都可以接受这些修改,所有交换机保持相同的VLAN 信息。
VTP 被组织成管理域(VTP Domain),相同域中的交换机能共享VLAN 信息。根据交换机在VTP 域中的作用不同,VTP 可以分为以下3 种模式。
①服务器模式(Server):在VTP 服务器上能创建、修改和删除VLAN,同时这些信息会通告给域中的其他的交换机。在默认情况下,交换机是服务器模式。每个VTP 域必须至少有一台服务器,域中的VTP 服务器可以有多台。
②客户机模式(Llient):VTP 客户机上不允许创建、修改和删除VLAN,但它会监听来自其他交换机的VTP 通告并更改自己的VLAN 信息。接收到的VTP 信息也会在Trunk 链路上向其他交换机转发,因此这种交换机还能充当VTP 中继。
③透明模式(Transparent):这种模式的交换机不参与VTP。可以在这种模式的交换机创建、修改和删除VLAN,但是这些VLAN 信息并不会通告给其他交换机,它也不接受其他交换机的VTP 通告而更新自己的VLAN 信息。然而需要注意的是,它会通过Trunk 链路转发接收到的VTP 通告,从而充当 了VTP 中继的角色,因此完全可以把该交换机看成是透明的。
VTP 通告是以组播帧的方式发送的,VTP 通告中有一个字段称为修订号(Revision),初始值为0.只要在VTP Server上创建、修改和删除VLAN,通告的Revision 就增加1,通告中还包含了VLAN 的变化信息。需要注意的是:高Revision的通告会覆盖低Revision 的通告,而不管发送者是Server 还是Client。交换机只打官腔比本地在哪保存的Resivison号更高的通告;如果交换机收到比自己的Resivison 号更低的通告,会用自己的VLAN 信息反向覆盖。
13.1.4 EtherChannel
EtherChannel(以太通道)是由Cisco 公司开发的,应用于交换机之间的多链路捆绑技术。它的基本原理是:将两个设备间多条快速以太或千兆以太物理链路捆绑在一起组成一条逻辑链路,从而达到带宽倍增的目的。除了增加带宽外,EtherChannel 还可以在多条链路上均衡分配流量,起到负载分担的作用。当一条或多条链路出现故障时,只要还有链路正常,流量将转移到其他的链路上,整个过程在几毫秒内完成,从而直到冗余的作用。在EtherCnahnel中,负载在各个链路上的分布可以根据源IP 地址、IP 地址、源MAC 地址、目的MAC 地址、源IP 地址和IP 地址组合,以及源MAC地址和目的MAC 地址组合等来进行分布。
两台交换机之间是否形成EtherChannel 也可以用协议自动协商。目前有两个协商协议:PAGP 和LACP,前者是Cisco 专有的协议,而LACP 是公共的标准。
PAGP 协商的规律总结
LACP协商的规律总结。
13.2 实验1:划分VLAN
1.实验目的
通过本实验,可以掌握如下技能:
①熟悉VLAN 的创建;
②把交换机接口划分到特定VLAN
2.实验拓扑
3.实验步骤
本配置VLAN,首先要创建VLAN,然后才把交换机的端口划分到特定的端口上。
①步骤1:在划分VLAN 前,配置路由器R1 和R2 的g0/0 接口,从R1 ping 192.168.12.2 进行测试。默认时,交换机的全部接口都在VLAN 1 上,R1 和R2 应该能够通信。
②步骤2:在S1 上创建VLAN。
S1#vlan database //进入到VLAN 配置模式
S1(vlan)#vlan 2 name VLAN2
//以上创建VLAN,2 就是VLAN 的编号,VLAN 号的范围为1~1001,VLAN2 是该VLAN 的名字
S1(vlan)#vlan 3 name VLAN3
S1(vlan)#exit
//退出VLAN 模式,创建的VLAN 立即生效
【提示】
交换机中的VLAN 信息存放在单独的文件中flash;vlan.dat,因此如果要完全清除交换机的配置,除了使用”erase starting-config”命令外,还可使用”delete flash;vlan.dat”命令把VLAN 数据删除。
【提示】
新的IOS 版本中,可以在全局配置模式中创建VLAN,如下所述。
S1(config)#vlan 2
S1(config-vlan)#name VLAN 2
S!(config-vlan)#exit
S1(config)#vlan 3
S1(config-vlan)#name VLAN 3
③步骤3:把端口划分在VLAN 中
S1(config)#interface f0/1
S1(config-if)#switch mode access
//以上把交换机端口的模式改为access 模式,说明该端口是用于连接计算机的,而不是用于Trunk
S1(config-if)#switch access vlan 2
//然后把该端口f0/1 划分到VLAN2 中
S1(config)#interface f0/2
S1(config-if)#switch mode access
S1(config-if)#switch access vlan 3
【提示】
默认时,所有交换机接口都在VLAN 1 上,VLAN 1 是不能删除的。如果有多个接口需要划分到同一VLAN 下,也可以采用如下节约时间,注意”-”前的空格。
S1(config)#interface range f0/2 - 3
S1(config-if-range)#switch mode access
S1(config-if-range)#switch access vlan 2
【提示】
如果要删除VLAN,使用”no vlan 2”命令即可。删除某一VLAN 后,要记得把该VLAN 上的端口重新划分到别的VLAN上,否则将导致端口的”消失”。
4.实验调试
(1)查看VLAN
使用”show vlan”或者”show vlan brief”命令查看VLAN 信息,以及每个VLAN 上有什么端口。要注意这里只能看到的是本交换机上哪个端口在VLAN 上,而不能看到其他交换机的端口在什么VLAN 上。如下:
SwA#show vlan
//在交换机,VLAN1 是默认VLAN,不能删除,也不能改名。此外,还有1002 和1003 等VLAN 存在。
(2)VLAN 间的通信
由于f0/1 和f0/2 属于不同VLAN,从R1 ping 192.168.12.2 应该不能成功了。
13.3 实验2:Trunk 配置
1.实验目的
通过本实验,读者可以掌握如下技能:
①配置交换机接口的Trunk;
②理解DTP 的协商规律
2.实验拓扑
3.实验步骤
在实验1 的基础上继续本实验
①根据实验1 的步骤在S2 上创建VLAN,并把接口划分在图13-3 所示的VLAN 中。
②配置Trunk:
S1(config)#int f0/13
S1(config-if)#switchport trunk encanpsulation dot1q
//以上是配置Trunk 链路的封装类型,同一链路的两端封装要相同。有的交换机,例如2950 只能封装dot1q,因此无须执行该命令
S1(config-if)#switch mode trunk
//以上是把接口配置为Trunk
S2(config)#int f0/13
S2(config-if)#switchport trunk encanpsulation dot1q
S2(config-if)#switch mode trunk
③检查Trunk 链路的状态,测试跨交换机、同一VLAN 主机间的通信。
使用”show interface f0/13 trunk”可以查看交换机端口的trunk 状态,如下:
Port Mode Encapsulation Status Native vlan
Fa0/13 on 802.1q trunking 1
//f0/13 接口已经为Trunk 链路了,封装为802.1q
Port Vlans allowed on trunk
Fa0/13 1-4094
Port Vlans allowed and active in management domain
Fa0/13 1-3
Port Vlans in spanning tree forwarding state and not pruned
Fa0/13 2-3
需要在链路的两端都确认Trunk 的形成。测试R1 和R3 以及R2 和R4 之间的通信。由于R1 和R3 在同一VLAN 上,所以R1 应该能ping 通R3 。R2 和R4 之间也应该能相互ping 通。
④配置Native VLAN:
S1(config)#int f0/13
S1(config-if)#switchport trunk native vlan 2
//以上是在Trunk 链路上配置Native VLAN,我们把它改为VLAN 2 了,默认是VLAN 1
S2(config)#int f0/13
S2(config-if)#switchport trunk native vlan 2
S1#show interface f0/13 trunk
【技术要点】
之前介绍说在Trunk 链路上,数据帧会根据ISL 或者802.1Q 被重新封装,然而如果是Native VLAN 的数据,是不会被重新封装而就在Trunk 链路上传输。很显然链路两端Native VLAN 是要一样的。如果不一样,交换机会提示出错。
⑤DTP 配置
【技术要点】
和DTP 配置有关的命令如下所述,这些命令不能任意组合。
“switchport trunk encapsulation{negotiate|isl|dot1q}”:配置Trunk 链路上的封装类型,可以是双方协商确定,也可以是指定的isl 或者dot1q。
“switchport nonegotiate”:Trunk 链路上不发送协商包,默认是发送的。
“switch mode {trunk|dynamic desirable|dynamic auto}”:
- Turnk——该设置将端口置为永久trunk 模式,封装类型由”switchport trunk encapsulation”命令决定;
- Dynamic desirable——端口主动变为trunk,如果另一端为negotiate,dynamic desirable 和dynamic auto,将成功协商;
- Dynamic auto——被动协商,如果另一端为negotiate 和dynamic desirable,将成功协商。
如果想把接口配置为negotiate,使用:
S1(config-if)#switchport trunk encapsulation {isl|dot1q}
S1(config-if)#switchport mode trunk
S1(config-if)#no switchport negotiate
如果想把接口配置为nonegotiate,使用:
S1(config-if)#switchport trunk encapsulation {isl|dot1q}
S1(config-if)#switchport mode trunk
S1(config-if)#no switchport nonegotiate
如果想把接口配置为desirable,使用:
S1(config-if)#switchport mode dynamic desirable
S1(config-if)#switch trunk encapsulation{negotiate|isl|dot1q}
如果想把接口配置为auto,使用:
S1(config-if)#switchport mode dynamic auto
S1(config-if)#switch trunk encapsulation{negotiate|isl|dot1q}
在这里,进行如下配置:
S1(config-if)#switchport mode dynamic desirable
S1(config-if)#switch trunk encapsulation negotiate
S2(config-if)#switchport mode dynamic auto
S2(config-if)#switch trunk encapsulation negotiate
S1#show interfaces f0/13 trunk
Port Mode Encapsulation Status Native vlan
Fa0/13 desirable n-isl trunking 1
//可以看到Trunk 已经形成,封装为n-isl,这里的”n”表示封装类型也是自动协商的。需要在两端都进行检查,确认两端都形成Trunk 才行
【提示】
由于交换机有默认配置,进行以上配置后,使用”show running”可能看不到我们配置的命令。默认时,catalyst2950和3550 的配置是desirable 模式;而catalyst 3560 是auto 模式,所以,两台3560 交换机之间不会自动形成Trunk,3560 交换机和2950 交换机之间却可以形成Trunk。
13.4 实验3:VTP 配置
1.实验目的
通过本实验,读者可以掌握如下技能:
①理解VTP 的3 种模式;
②熟悉VTP 的配置。
2.实验拓扑
3.实验步骤
(1)把3 台交换机配置清除干净,重启交换机
S1#delete flash;vlan.dat
S1#erase startup-config
S1#reload
//S2 和S3 采用相同步骤
(2)检查
检查S1 和S3 之间、S3 和S2 之间链路Trunk 是否自动形成,如果没有形成,请参照实验2 步骤配置Trunk。
(3)配置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 域名
S1(config)#vtp password cisco
Setting device VLAN database password to cicso
//以上配置VTP 的密码,目的是为了安全,防止不明身份的交换机加入到域中
(4)配置S3 为VTP transparent
S3#vlan database
S3(vlan)#vtp transparent
Setting device VTP TRANSPARENT mode.
S3(vlan)#vtp domain VTP-TEST
Domain name already set to VTP-TSET
S3(config)#vtp password cisco
Setting device VLAN database password to cicso
【提示】
有的IOS 版本只支持在VLAN Database 下配置VLAN。
(5)配置S2 为VTP client
S2(vlan)#vtp mode client
Setting device VTP CLIENT mode.
S2(vlan)#vtp domain VTP-TEST
Domain name already set to VTP-TSET
S2(config)#vtp password cisco
Setting device VLAN database password to cicso
4.实验调试
(1)在S1 上创建VLAN,检查S2 和S3 上的VLAN 信息
S1(config)#vlan 2
S1(config)#vlan 3
S2#show vlan
S3#show vlan
//可以看到S2 上有了VLAN2 和VLAN3,而S3 上并没有,因为S3 是透明模式
(2)查看VTP 信息
S1#show vtp status
VTP Version ; 2 //该VTP 支持版本2
Configuration Revision ; 2 //修订号为2,该数值非常重要
Maximum VLANs supported locally ; 1005
Number of existing VLANs ; 7 //VLAN 数量
VTP Operating Mode ; Server //VTP 模式
VTP Domain Name ; VTP-TEST //VTP 域名
VTP Pruning Mode ; Disabled //VTP 修剪没有启用
VTP V2 Mode ; Disabled //VTP 版本2 没有启用,现在是版本1
VTP Traps Generation ; Disabled
MD5 digest ; 0xD4 0x30 0xE7 0xB7 0xDC 0xDF 0x1B 0xD8
Configuration last modified by 0.0.0.0 at 3-1-93 00;22;16
Local updater ID is 0.0.0.0(no valid interface found)
(3)观察VTP 的revision 数值在S1 上,修改、创建或删除VLAN,在S2 和S3 上使用”Show vtp status”命令观察revision 数值是否增加1 。
(4)配置修剪、版本2
S1(config)#vtp pruning
S1(config)#vtp version 2
S1#show vtp status
【提示】
VTP 修剪和VTP 版本只需要在一个VTP server 上进行即可,其他server 或者client 会自动跟着更改。VTP 修剪是为了防止不必要必要的流量从Trunk 链路上通过,通常需要启用。
13.5 实验4:EtherChannel 配置
1.实验目的
通过本实验,读者可以掌握如下技能:
①EtherChannel 的工作原理;
②EtherChannel 的配置。
2.实验拓扑
3.实验步骤
构成EnterChannel 的端口必须具有相同的特性,如双工模式、速度和Trunking 的状态等。配置EtherChannel 有手支配置和自动配置(PAGP 或者LAGP)两种方法,自动配置就是让EtherChannel 协商协议自动协商EtherChannel 的建立。
(1) 手动配置EtherChannel
S1(config)#interface port-channel 1
//以上是创建以太通道,要指定一个唯一的通道组号,组号的范围是1~6 的正整数。要取消EtherChannel 时用”no interface port-channel 1”命令
S1(config)#interface f0/13
S1(config-if)#channel-group 1 mode on
S1(config)#interface f0/14
S1(config-if)#channel-group 1 mode on
//以上将物理接口指定到已创建的通道中
S1(config)#int port-channel 1
S1(config-if)#switchport 1 mode trunk
S1(config-if)#speed 100
S1(config-if)#duplex full
//以上配置通道中的物理接口的速率及双工等属性
S2(config)#interface port-channel 1
S2(config)#interface f0/13
S2(config-if)#channel-group 1 mode on
S2(config)#interface f0/14
S2(config-if)#channel-group 1 mode on
S2(config)#int port-channel 1
S2(config-if)#switchport 1 mode trunk
S2(config-if)#speed 100
S2(config-if)#duplex full
S1(config)#port-channel load-balance dst-msc
S2(config)#port-channel load-balance dst-msc
//以上是配置EtherChannel 的负载平衡方式,命令格式为”port-channel load-balance method”,负载平衡的方式有:dst-ip、dst-mac、src-dst-ip、src-dst-mac 等
(2)查看EtherChannel 信息
S1#show etherchannel summary
//可以看到EtherChannel 已经形成,”SU”表示EtherChannel 正常,如果显示为”SD”,表示把EthernetChannel 接口关掉重新开启。
(3)配置PAGP 或者LAGP
【技术要点】
- 要想把接口配置为PAGP 的desirable 模式使用命令:”channel-group 1 mode desirable”;
- 要想把接口配置为PAGP 的auto 模式使用命令:”channel-group 1 mode auto”;
- 要想把接口配置为LACP 的active 模式使用命令:”channel-group 1 mode active”;
- 要想把接口配置为LACP 的passive 模式使用命令:”channel-group 1 mode passive”。
在这里进行如下配置:
S1(config)#interface range f0/13 – 14
S1(config-if)#channel-group 1 mode desirable
S2(config)#interface range f0/13 – 14
S2(config-if)#channel-group 1 mode desirable
S1#show etherchannel summary
//可以看到EtherChannel 协商成功。注意:应在链路的两端都进行检查,确认两端都形成以太通道才行
13.6 VLAN、Trunk 和VTP 命令汇总
命令 作用
vlan database 进入到VLAN Database 配置模式
vlan 2 name VLAN 2 创建VLAN 2
switch access vlan 2 把端口划分到VLAN 2 中
interface range f0/2 -3 批量配置接口的属性
show vlan 查看VLAN 的信息
switchport trunk encanpsulation 配置Trunk 链路的封装类型
switch mode trunk 把接口配置为Trunk
show interface f0/13 trunk 查看交换机端口的Trunk 状态
switchport nonegotiate Trunk 链路上不发送Trunk 协商包
vtp mode server 配置交换机为VTP server
vtp domain VTP-TEST 配置VTP 域名
vtp password cisco 配置VTP 的密码
vtp mode client 配置交换机为VTP client
vtp transparent 配置交换机为VTP transparent
show vtp status 显示VTP 的状态
vtp pruning 启用VTP 修剪
vtp version 2 VTP 版本为 2
interface port-channel 1 创建以太通道
channel-group 1 mode on 把接口加入到以太通道中,并指明以太通道模式
port-channel load-balance dst-mac 配置EtherChannel 的负载平衡方式
show etherchannel summary 查看EtherChannel 的简单信息