2022-02-09 · 3

VLAN 与 Inter-VLAN

network

这篇文章发布已超过两年,内容可能已过时。

拓扑

什么是 VLAN(Inter-VLAN)?

是把交换机各端口划分为彼此不同网络的功能。

使用 VLAN 会拆分广播域,从而防止交换机的网络变得过大,减轻交换机承受的负载。随着网络配置的变化,管理员可以通过配置操作简单地应对。

什么是端口? 指应用了 VLAN 的交换机端口。端口类型有 Access / Trunk。

  1. Access Port:只属于单个 VLAN 的端口。可与同一 VLAN 的其他端口通信,不能与不同 VLAN 的端口通信。默认应配置为 Access Port。
  2. Trunk Port:把一个端口指定为允许多个 VLAN 的帧通过的方式。与 Access port 不同,它不属于任何 vlan。

因此即使在同一网段,vlan 不同也无法通信。于是在 VLAN 之间做 Routing,就能实现不同 VLAN 间的通信。这叫 Inter-VLAN。看上面的拓扑,Switch1 上有一台 PC 和一台服务器,这两台设备在不同 VLAN 所以无法通信。但只要做路由,通信就成为可能。

配置

pc16 配置

server0 的配置

pc17 的配置

server1 的配置

Switch(config)#vlan 10
Switch(config-vlan)#name pc
Switch(config-vlan)#ex
Switch(config)#vlan 20
Switch(config-vlan)#name server
Switch(config-vlan)#ex
Switch(config)#int fa0/1
Switch(config-if)#switchport mode access 
Switch(config-if)#switchport access vlan 10
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config)#int fa0/10
Switch(config-if)#switchport mode trunk 
Switch(config-if)#switchport trunk allowed vlan all
Switch(config-if)#int g0/1
Switch(config-if)#switchport mode trunk 
Switch(config-if)#switchport trunk allowed vlan all
Switch(config)#do wr

这是左侧交换机的配置。创建 VLAN 10 和 20,名字各按拓扑上写的来,把 fa0/1 设为 vlan10、fa0/2 设为 vlan20。而通往另一台交换机或路由器的端口必须设为 trunk,vlan 们才能自由通行。按上面同样的方式配置右侧交换机。

Switch(config-if)#do sh vlan
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/3, Fa0/4, Fa0/5, Fa0/6
                                                Fa0/7, Fa0/8, Fa0/9, Fa0/11
                                                Fa0/12, Fa0/13, Fa0/14, Fa0/15
                                                Fa0/16, Fa0/17, Fa0/18, Fa0/19
                                                Fa0/20, Fa0/21, Fa0/22, Fa0/23
                                                Fa0/24, Gig0/2
10   pc                               active    Fa0/1
20   server                           active    Fa0/2
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

可以查看 VLAN 配置。

Router(config)#int g0/0
Router(config-if)#no sh
Router(config-if)#int g0/0.10
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip add 192.168.1.254 255.255.255.0
Router(config-subif)#int g0/0.20
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip add 192.168.2.254 255.255.255.0
Router(config-subif)#do wr

这是路由器配置。在 g0/0 所在处创建 0.10、0.20 这样的虚拟端口,让通信从这里走。

从 pc16 向 pc17 ping

它们本来就在同一 VLAN,当然 ping 应该通。

从 pc16 向 server1 ping

可以确认 Inter-VLAN 配置良好。可以看到即使是不同网段的不同 VLAN,ping 也能通。因为是服务器,我们也用浏览器窗口确认一下。

可以确认正常连接。当然 192.168.2.2 也正常连接。

分析

跑仿真确认的结果是:基本的数据包移动与之前写的 MAC 地址转换没有区别,但路由器一侧有差异。

从交换机往路由器出去开始,因为要经过我们创建的虚拟端口,所以会进入所谓的 Ethernet 802.1q。

**Ethernet 802.1q(IEEE 802.1Q)**是在单个以太网网络上支持虚拟 LAN(VLAN)的网络标准。

由于经过虚拟端口,似乎就以这种网络进行了传输。

之后同样地路由器转换 DEST ADDR 和 SRC ADDR,再经虚拟端口出去移动到交换机,从交换机移动到交换机,

在右侧交换机上从虚拟网络改为 Ethernet2 进行传输。除此之外,与之前做的 MAC 地址转换相同。

仿真及文件(视频)

视频服务已终止,无法播放该内容。

[

vlan.pkt

0.10MB

](https://blog.kakaocdn.net/dna/louWg/btrsVKCuU5U/AAAAAAAAAAAAAAAAAAAAAPhN4mc9ojZ7znwTV3b69jN6-w_3NDQNkMpWFjtn4isM/vlan.pkt?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1790780399&allow_ip=&allow_referer=&signature=4QewlGuqoMUQEs24YNFe7K0Z2ew%3D&attach=1&knm=tfile.pkt)


原文(韩语): tistory — 发布于 2022-02-09,已迁移至本博客。本翻译由 AI 协助完成。

评论

删除这条评论?

相关文章

VLAN 与 Inter-VLAN · 나봄하랑