# 一、实验名称 Vlan划分与Vlan间通信 # 二、实验目的 两台交换机连接六台 PC,使其可以相互 Ping 通 # 三、实验内容 (1)分别把交换机命名为SWA,SWB。 (2)划分虚拟局域网vlan,并静态地把端口划分到vlan中。 第一,使用两种方法划分vlan。 - 在全局模式下划分vlan:使用这种方法在SWA交换机上创建三个vlan,分别为:vlan2,vlan3和vlan4,vlan名称可任意定义。 - 进入vlandatabase划分vlan:使用这种方法在SWB交换机上创建三个vlan,分别为:vlan2,vlan3和vlan4,vlan名称可任意定义。 第二,按下面的要求把端口静态地划分到vlan中。 把SWA交换机上的F0/5端口划分到vlan2,F0/6端口划分到vlan3,F0/7端口划分到vlan4里面。 把SWB交换机上的F0/5端口划分到vlan2,F0/6端口划分到vlan3,F0/7端口划分到vlan4里面。 第三,删除vlan信息。 - 在SWA交换机上删除vlan2,vlan3信息。 - 在SWB交换机上删除vlan2,vlan3信息。 保留三个vlan, 使用单臂路由达成不同vlan之间的通信 # 四、实验仪器 Cisco Packet Tracer Version:8.2.2.0400 # 五、实验原理 # 六、实验过程及实验结果 ### 1. 连接基本拓扑 ![](http://IMG-HOST-REMOVED/blog-img/20250322103132501.webp) | 名称 | 相连的接口 | IP地址 | | --- | ----- | ---------- | | PC0 | F0/5 | 172.1.1.2 | | PC1 | F0/6 | 172.1.1.3 | | PC2 | F0/7 | 172.1.1.4 | | PC3 | F0/5 | 172.1.1.10 | | PC4 | F0/6 | 172.1.1.11 | | PC5 | F0/7 | 172.1.1.12 | ### 2. 交换机基本配置 进入Switch0的CLI, 配置如下 ```bash switch>en switch#config t switch(config)#hostname swA swA(config)#end swA# ``` 同理对Switch1进行如下配置 ```bash switch>en switch#config t switch(config)#hostname swB swB(config)#end swB# ``` 此时测试主机之间的通信情况 ![](http://IMG-HOST-REMOVED/blog-img/20250321220650446.webp) 发现PC1,PC2,PC3,PC4,PC5,PC6都是互通的。 ### 3. 划分vlan和静态地把端口划分到vlan中 1. 划分vlan swA的配置如下: ```bash swA#config t SWA(config)#vlan 2 swA(config-vlan)#name vlan2 swA(config-vlan)#exit swA(config)#vlan 3 SwA(config-vlan)#name vlan3 swA(config-vlan)#exit swA(config)#vlan4 SwA(config-vlan)#name vlan4 swA(config-vlan)#exit ``` swB配置同上 2. 把端口静态地划分到vlan中 ```bash swA#config t swA(congfig)#int F0/5 swA(congfig-if)#switchport mode access swA(congfig-if)#switchport access vlan 2 swA(congfig-if)#exit SwA(congfig)#int F0/6 swA(congfig-if)#switchport mode access swA(congfig-if)#switchport access vlan 3 swA(congfig-if)#exit swA(congfig)#int F0/7 swA(congfig-if)#switchport mode access swA(congfig-if)#switchport access vlan 4 swA(congfig-if)#end ``` swB配置同上 ### 4. 查看配置 使用 `show vlan` 查看配置 ![](http://IMG-HOST-REMOVED/blog-img/20250321223609154.webp) ### 5. 测试vlan间是否互通 在PC0尝试使用ping命令联通PC1 PC3 PC5, 均失败 ### 6. 三根线连接不同vlan 在两个交换机之间连接三条线路,用以连接不同的vlan。其中,两个交换机连接的接口情况为:F0/8—F0/8;F0/9一F0/9;F0/10一F0/10; ![](http://IMG-HOST-REMOVED/blog-img/20250322103223003.webp) 将双方的F0/8静态地划分到vlan2中,F0/9静态划分到vlan3,F0/10静态划分到vlan4 ```bash SWA>en SWA#conf t Enter configuration commands, one per line. End with CNTL/Z. SWA(config)#int f0/8 SWA(config-if)#switchport mode access SWA(config-if)#switchport access vlan 2 SWA(config-if)#exit SWA(config)#int f0/9 SWA(config-if)#switchport mode access SWA(config-if)#switchport access vlan 3 SWA(config-if)#exit SWA(config)#int f0/10 SWA(config-if)#switchport mode access SWA(config-if)#switchport access vlan 4 SWA(config-if)# %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/8 (2), with SWB FastEthernet0/8 (1). %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/9 (3), with SWB FastEthernet0/9 (1). %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/10 (4), with SWB FastEthernet0/10 (1). SWA(config)#exit SWA# ``` swB配置同上. 在PC0中对其他五台PC发送ping命令, 发现只有PC3能够ping通 经过尝试, PC0和PC3能相互ping通, PC1和PC4能够相互ping通, PC2和PC5能够相互ping通, 其余组合均无法ping通 ### 7. 使用一根trunk线连接 在两个交换机之间建立一条trunk中继线线路代替上面的三条连线,双方都接F0/12。 ![](http://IMG-HOST-REMOVED/blog-img/20250322103255259.webp) swA中: ```bash SWA>en SWA#conf t Enter configuration commands, one per line. End with CNTL/Z. SWA(config)#int f0/12 SWA(config-if)#switch mode trunk SWA(config-if)# %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/12, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/12, changed state to up SWA(config)#exit SWA# ``` swB配置同上 再次尝试使用ping命令测试各个主机间的连通性, 结论依旧和使用三条线联通交换机的一样 PC0和PC3能相互ping通, PC1和PC4能够相互ping通, PC2和PC5能够相互ping通, 其余组合均无法ping通 ### 8. 删除vlan 在SWA交换机上删除vlan2,vlan3信息 ```bash SWA>en SWA#config t SWA(config)#no vlan 2 SWA(confiq)#no vlan 3 SA(config)#end ``` SWB配置同上 此时仅剩PC2和PC5之间能够相互ping通, 其余组合均无法ping通 ### 9. 思考题 把vlan2,vlan3,vlan4都删除了,两个交换机只连一条线,也就是在上述基础上再增加一条指令 `SWA(confiq)#no vlan 4` 此时六台PC任意两台都不能相互访问, 还需把各个端口静态地划分到同一个vlan中 ```bash swA#config t swA(congfig)#int F0/5 swA(congfig-if)#switchport access vlan 1 swA(congfig-if)#exit SwA(congfig)#int F0/6 swA(congfig-if)#switchport access vlan 1 swA(congfig-if)#exit swA(congfig)#int F0/7 swA(congfig-if)#switchport access vlan 1 swA(congfig-if)#end ``` swB配置同上 经过测试, 此时任意两台PC相互之间都能ping通, 也就是说任意两台PC之间都能相互访问 ### 10. 单臂路由实现不同vlan间通信 基于第三部分中划分vlan和静态地把端口划分到vlan中的拓扑图, 再用一个路由器2811接在swA上, 电缆连接Router0的Fa0/0端口, 和swA的Fa0/1端口 ![](http://IMG-HOST-REMOVED/blog-img/20250322103342162.webp) 在swA中配置如下 ```bash SWA>en SWA#conf t Enter configuration commands, one per line. End with CNTL/Z. SWA(config)#int f0/1 SWA(config-if)#switch mode trunk ``` 在Router0中配置如下: ```bash Router>en Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#int f0/0.2 Router(config-subif)#encapsulation dot1q 2 Router(config-subif)#ip address 192.168.2.254 255.255.255.0 Router(config-subif)#int f0/0.3 Router(config-subif)#encap dot1q 3 Router(config-subif)#ip address 192.168.3.254 255.255.255.0 Router(config-subif)#int f0/0.4 Router(config-subif)#encap dot1q 4 Router(config-subif)#ip address 192.168.4.254 255.255.255.0 Router(config-subif)#int f0/0 Router(config-if)#no shutdown Router(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up %LINK-5-CHANGED: Interface FastEthernet0/0.2, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.2, changed state to up %LINK-5-CHANGED: Interface FastEthernet0/0.3, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.3, changed state to up %LINK-5-CHANGED: Interface FastEthernet0/0.4, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.4, changed state to up Router(config-if)#exit Router(config)# ``` | 名称 | 相连的接口 | IP地址 | **网关** | 子网掩码 | | --- | ----- | ----------- | ------------- | ------------- | | PC0 | F0/5 | 192.168.2.1 | 192.168.2.254 | 255.255.255.0 | | PC1 | F0/6 | 192.168.3.1 | 192.168.3.254 | 255.255.255.0 | | PC2 | F0/7 | 192.168.4.1 | 192.168.4.254 | 255.255.255.0 | | PC3 | F0/5 | 192.168.2.2 | 192.168.2.254 | 255.255.255.0 | | PC4 | F0/6 | 192.168.3.2 | 192.168.3.254 | 255.255.255.0 | | PC5 | F0/7 | 192.168.4.2 | 192.168.4.254 | 255.255.255.0 | 再次尝试使用ping命令测试各个主机间的连通性, 发现任意两台PC相互之间都能ping通, 但是有一个额外的发现: *不同vlan间ping总会在第一个包发生 `Request timed out`, 而相同vlan间不会* # 七、讨论与结论 ### 实验现象分析 通过本次实验,我们成功地在两个交换机上划分了VLAN,并尝试了不同方式的配置以实现VLAN间的通信。最初的测试表明,在未进行任何VLAN划分时,所有PC之间都是互通的。但是,当根据VLAN进行端口分配后,仅属于相同VLAN的PC能够互相ping通,而不同VLAN之间的通信则被阻断,这符合VLAN的基本工作原理——隔离广播域。 在采用单臂路由方案进行不同VLAN间通信时,观察到首次从一个VLAN内的主机ping另一个VLAN的主机会出现 `Request timed out`,而后续的ping请求则正常, 并且第二次ping请求仍然正常。这种现象可能是由于ARP表初始化或路由表和子接口初始化过程中的延迟所引起的。一旦路由器学习到了必要的MAC地址信息,后续的通信就会变得顺畅。这一发现提示我们在设计网络时需要考虑到这些初始化延迟,并可能需要优化相关的网络配置以减少此类影响。 ### 实验故障及处理方法 **VLAN间通信问题**:在实验过程中,我们遇到了VLAN间无法直接通信的问题。这是因为VLAN本质上是用于分隔广播域的技术,默认情况下,不同VLAN间的设备不能直接通信。为了解决这个问题,我们采用了单臂路由(Router on a Stick)的方法,通过路由器的一个物理接口连接到交换机,并创建多个子接口来对应不同的VLAN,从而实现了跨VLAN的通信。 ### 心得体会 这次实验加深了我们对VLAN概念的理解及其在实际网络中的应用。特别是如何利用单臂路由技术解决VLAN间的通信问题,让我们认识到灵活运用网络设备可以有效提高网络性能和安全性。同时,也意识到在网络设计初期做好充分规划的重要性,包括合理的IP地址规划、选择合适的网络拓扑结构等,这些都是构建高效、稳定网络的关键因素。对于首次跨VLAN通信时出现的“Request timed out”现象的理解,进一步增强了我们对网络初始化过程的认识