网络技术:VLAN 中继协议(VTP)
VLAN 中继协议
在实际场景下可能在一个 LAN 中会配置多个 VLAN,同时 LAN 当中会使用较多的交换机进行互联,此时就要求所有交换机具有相同的 VLAN 信息。在这种情况下,全局统筹管理网络中的多个 VLAN 和中继成为难题。
VLAN 中继协议(VTP)可以简化交换网络中对 VLAN 的管理,VTP 可以将 VLAN 信息传播并同步到相同区域中的其他交换机。处于 VTP 服务器模式的交换机可以管理域中的 VLAN 添加、删除和重命名信息,并且与相同区域中的启用 VTP 的交换机同步。接入的交换机通常配置为 VTP 客户端,就可以自动从 VTP 服务器更新 VLAN 数据库。
下面是 VTP 必须提供的一些功能:
- 网络中所有交换机的 VLAN 配置都必须一致;
- 让 VLAN 能够跨越不同类型的网络,如以太网和 ATMLANE(或 FDDI);
- 准确地跟踪和监视 VLAN;
- 随时将新增的 VLAN 报告给 VTP 域中其他所有的交换机;
- 以即插即用的方式新增 VLAN。
VTP 组件
VTP 组件 | 定义 |
---|---|
VTP 域 | 同一 VTP 域中的所有交换机可以通过 VTP 通告交换 VLAN 配置信息 |
VTP 通告 | VTP 域中的交换机定期发送 VTP 通告,其他交换机接收通告对 VTP 和 VLAN 配置进行更新 |
VTP 模式 | 交换机可以配置为 VTP 服务器、客户端或者透明模式 |
VTP 密码 | 为 VTP 域中的交换机配置密码 |
VTP 模式
在同一 VTP 域中运行的交换机可以配置为以下 3 种 VTP 模式:
- VTP 服务器:VTP 域中至少需要有一台服务器,只有处于服务器模式的交换机才能在 VTP 域中创建、添加和删除 VLAN;修改VLAN信息时也必须在服务器模式下进行;在处于服务器模式下的交换机中对 VLAN 所作的任何修改都将被通告给整个 VTP 域。
- VTP 客户端:这种模式的交换机接收并转发更新来自 VTP 服务器的信息,它们不能创建、修改或删除 VLAN。
- 透明模式:处于透明模式的交换机不加入 VTP 域,也不分享其 VLAN 数据库,而只通过中继链路转发 VTP 通告。
让远程交换机能够通过未加入
VTP 通告
VTP 包括以下 3 种类型的通告。
VTP 通告 | 定义 |
---|---|
总结通告 | 通知邻接交换机 VTP 域名和配置修订版本号 |
通告请求 | 当总结通告包含的配置修订版本号高于当前值时对总结通告做出的响应 |
子集通告 | 包含 VLAN 信息(包括所有更改) |
默认情况下,思科交换机每 5 分钟发出一次总结通告,总结通告会通知邻接 VTP 交换机当前的 VTP 域名和配置修订版本号。配置修订版本号代表 VTP 数据包的修订级别,它是一个 32 位的数字。每个 VTP 设备会跟踪分配给自己的 VTP 配置修订版本号。每当添加VLAN、删除 VLAN 或更改 VLAN 名称时,配置修订版本号都会按 1 递增。
当交换机接收到总结通告数据包时,它会将通告中的 VTP 域名与自身的 VTP 域名进行比较:如果域名不同,交换机将忽略该数据包。如果域名相同,交换机会继续比较通告中的配置修订版本号和自身的配置修订版本号。如果自己的配置修订版本号高于数据包的配置修订版本号或二者相等,则忽略该数据包。如果自己的配置修订版本号较低,则会发送通告请求,询问子集通告消息。
配置 VTP
实验拓扑
设备 | 接口 | IP 地址 | 子网掩码 |
---|---|---|---|
PC0 | NIC | 192.168.10.1 | 255.255.255.0 |
PC1 | NIC | 192.168.20.1 | 255.255.255.0 |
PC2 | NIC | 192.168.30.1 | 255.255.255.0 |
PC3 | NIC | 192.168.30.2 | 255.255.255.0 |
PC4 | NIC | 192.168.20.2 | 255.255.255.0 |
PC5 | NIC | 192.168.10.2 | 255.255.255.0 |
S1 | VLAN 99 | 192.168.99.1 | 255.255.255.0 |
S2 | VLAN 99 | 192.168.99.2 | 255.255.255.0 |
S3 | VLAN 99 | 192.168.99.3 | 255.255.255.0 |
在 S1、S2 和 S3 上配置中继
首先给 3 台交换机配置 vlan 99 和 vlan 999,并给 vlan 99 配置 IP 地址。
S1(config)#vlan 99
S1(config-vlan)#name Management
S1(config-vlan)#vlan 999
S1(config-vlan)#int vlan 99
S1(config-if)#ip address 192.168.99.1 255.255.255.0
S2(config)#vlan 99
S2(config-vlan)#name Management
S2(config-vlan)#vlan 999
S2(config-vlan)#int vlan 99
S2(config-if)#ip address 192.168.99.2 255.255.255.0
S3(config)#vlan 99
S3(config-vlan)#name Management
S3(config-vlan)#vlan 999
S3(config-vlan)#int vlan 99
S3(config-if)#ip address 192.168.99.3 255.255.255.0
使用 show vlan brief 命令,验证 S1 上配置的 VLAN。
S1#show vlan brief
动态中继协议 (DTP) 管理思科交换机之间的中继链路。目前所有交换机端口都处于默认中继模式,即“动态自动”中继模式。a.在交换机 S1 和 S2 的 GigabitEthernet 0/1 接口上,将中继链路配置为“动态期望”模式。
S1(config)# interface g0/1
S1(config-if)# switchport mode dynamic desirable
对于 S1 与 S3 之间的中继链路,在 GigabitEthernet 0/2 接口上配置静态中继链路。想要在 S3 上配置静态中继链路,只需要将 S3 的 g0/2 配置为 vlan 的 trunk 模式即可。
S1(config)# interface g0/2
S1(config-if)# switchport mode trunk
S3(config)# interface g0/2
S3(config-if)# switchport mode trunk
使用 show interfaces trunk 命令验证所有交换机是否均已启用中继。
S1# show interfaces trunk
将 VLAN 999 配置为 S1、S2、S3 上的中继链路的本地 VLAN。
S1(config)# interface range g0/1 - 2
S1(config-if-range)# switchport trunk native vlan 999
S2(config)# interface range g0/1 - 2
S2(config-if-range)# switchport trunk native vlan 999
S3(config)# interface range g0/1 - 2
S3(config-if-range)# switchport trunk native vlan 999
配置并验证 VTP
S1 将被配置为 VTP 服务器,S2 将被配置为 VTP 客户端。所有交换机都将配置到 VTP 域 CCNA 中,并使用 VTP 密码 cisco。可以在 VTP 服务器上创建 VLAN,然后将这些 VLAN 分发给 VTP 域中的其他交换机。
将 S1 配置为 VTP 服务器
将 S1 配置为 CCNA 域中的 VTP 服务器,将 CCNA 配置为 VTP 域名,密码为 cisco。
S1(config)# vtp mode server
S1(config)# vtp domain CCNA
S1(config)# vtp password cisco
在交换机上使用 show vtp status 命令确认 VTP 模式和域是否已配置正确。要检查 VTP 口令,可使用 show vtp password 命令。
S1# show vtp status
S1# show vtp password
将 S2 和 S3 添加到 VTP 域
必须将 S2 和 S3 设置到与 S1 相同的 VTP 域中,S2 和 S3 才能接受来自 S1 的 VTP 通告。将 S2 配置为 VTP 客户端,S3 设置为 VTP 透明模式,以 CCNA 作为 VTP 域名,并且以 cisco 作为 VTP 密码,VTP 域名区分大小写。
S2(config)# vtp mode client
S2(config)# vtp domain CCNA
S2(config)# vtp password cisco
S3(config)# vtp mode Transparent
S3(config)# vtp domain CCNA
S3(config)# vtp password cisco
在 S1 上创建多个 VLAN
在 S1 上,创建 VLAN 10、20、30,并将其按表格内容命名。
VLAN 编号 | VLAN 名称 |
---|---|
10 | 红色 |
20 | 蓝色 |
30 | 黄色 |
S1(config)#vlan 10
S1(config-vlan)#name Red
S1(config-vlan)#vlan 20
S1(config-vlan)#name Blue
S1(config-vlan)#vlan 30
S1(config-vlan)#name Yellow
在 S1 和 S2 上使用 show vtp status 命令确认 VTP 模式和域是否已正确配置。
S2#show vtp status
S2#show vlan brief
可以看到 S2 配置了 10 个 vlan 且与 S1 相同,因为我们在配置时将 S2 设置为了 VTP 的客户端,它能接收来自服务器的 vlan 消息,此时 S2 与 S1 vlan 相同则说明客户端已经成功接收到了服务器的 vlan 消息。
VTP 透明模式
S3 目前配置为 VTP 透明模式,使用 show vtp status 命令查看。
S3#show vtp status
S3#show vlan brief
因为我们在配置 S3 时只是将他加入了 VTP 域,配置为透明模式。透明模式只是为 VTP 的数据起到了中转作用,没有设为客户端,所以它无法接收服务器上的 vlan 消息。因此我们在 S1 上创建的 3 个新 vlan 它无法接收到,同时因为无法接收,所以版本号依旧不变。
由于 S3 处于透明模式只转发VTP的数据但是自己不收下,因此将 S3 改为 vtp 客户端,这样 S3 就会接收到以 S1 的 vlan 信息。
S3(config)# vtp mode client
为端口分配 VLAN
使用 switchport access vlan vlan-id 命令将 VLAN 分配给接入端口。
端口 | 作业 | 网络 |
---|---|---|
S2 F0/1 – 8 | ||
S3 F0/1 – 8 | VLAN 10(红色) | 192.168.10.0 /24 |
S2 F0/9 – 16 | ||
S3 F0/9 – 16 | VLAN 20(蓝色) | 192.168.20.0 /24 |
S2 F0/17 – 24 | ||
S3 F0/17 – 24 | VLAN 30(黄色) | 192.168.30.0 /24 |
S2(config-if)# interface range f0/1 - 8
S2(config-if-range)# switchport mode access
S2(config-if-range)# switchport access vlan 10
S2(config-if-range)# interface range f0/9 -16
S2(config-if-range)# switchport mode access
S2(config-if-range)# switchport access vlan 20
S2(config-if-range)# interface range f0/17 - 24
S2(config-if-range)# switchport mode access
S2(config-if-range)# switchport access vlan 30
S3(config-if)# interface range f0/1 - 8
S3(config-if-range)# switchport mode access
S3(config-if-range)# switchport access vlan 10
S3(config-if-range)# interface range f0/9 -16
S3(config-if-range)# switchport mode access
S3(config-if-range)# switchport access vlan 20
S3(config-if-range)# interface range f0/17 - 24
S3(config-if-range)# switchport mode access
S3(config-if-range)# switchport access vlan 30
将端口配置为接入模式后,所有 PC 可以 ping 到 vlan 内的其他主机上。
参考资料
《思科网络技术学院教程(第6版):扩展网络》,[加] Bob Vachon,[美] Allan Johnson 著,思科系统公司 译,人民邮电出版社
《CCNA 学习指南(第 7 版)》,[美] Todd Lammle 著,袁国忠 徐宏 译,人民邮电出版社