A segmented network, tested in GNS3
Two switches, six virtual PCs and three VLANs. Verify cross-switch connectivity, prove Layer 2 isolation and trace a configuration fault from failure to recovery.
Native GNS3 topology

Measured connectivity & recovery
All results below were recorded from the virtual devices. Isolation tests deliberately put a host in another VLAN into the same IP subnet, so a missing route cannot explain the failure.
| Test | Source | Measured result | Check |
|---|---|---|---|
| VLAN 10: cross-switch connectivity | VLAN10-A | 5/5 replies · reachable | PASS |
| VLAN 20: cross-switch connectivity | VLAN20-A | 5/5 replies · reachable | PASS |
| VLAN 30: cross-switch connectivity | VLAN30-A | 5/5 replies · reachable | PASS |
| VLAN 10 to VLAN 20: same-subnet isolation | VLAN10-A | 0/5 replies · isolated | PASS |
| VLAN 10 to VLAN 30: same-subnet isolation | VLAN10-A | 0/5 replies · isolated | PASS |
| Injected access-port mismatch: connectivity fails | VLAN10-A | 0/5 replies · isolated | PASS |
| Access-port repair: connectivity restored | VLAN10-A | 5/5 replies · reachable | PASS |
The two VLAN-isolation cases and the injected port mismatch failed ARP resolution as expected. After restoring the access port to VLAN 10, all five ICMP requests succeeded. No router or inter-VLAN routing is part of this Layer 2 lab.
Device console evidence
Expand a test to inspect its recorded VPCS command and output.
VLAN 10: cross-switch connectivity
VLAN10-A> ping 192.168.10.12 -c 5 ping 192.168.10.12 -c 5 84 bytes from 192.168.10.12 icmp_seq=1 ttl=64 time=0.269 ms 84 bytes from 192.168.10.12 icmp_seq=2 ttl=64 time=0.489 ms 84 bytes from 192.168.10.12 icmp_seq=3 ttl=64 time=0.571 ms 84 bytes from 192.168.10.12 icmp_seq=4 ttl=64 time=0.406 ms 84 bytes from 192.168.10.12 icmp_seq=5 ttl=64 time=0.352 ms VLAN10-A>
VLAN 20: cross-switch connectivity
VLAN20-A> ping 192.168.20.12 -c 5 ping 192.168.20.12 -c 5 84 bytes from 192.168.20.12 icmp_seq=1 ttl=64 time=0.348 ms 84 bytes from 192.168.20.12 icmp_seq=2 ttl=64 time=0.637 ms 84 bytes from 192.168.20.12 icmp_seq=3 ttl=64 time=0.437 ms 84 bytes from 192.168.20.12 icmp_seq=4 ttl=64 time=0.422 ms 84 bytes from 192.168.20.12 icmp_seq=5 ttl=64 time=0.370 ms VLAN20-A>
VLAN 30: cross-switch connectivity
VLAN30-A> ping 192.168.30.12 -c 5 ping 192.168.30.12 -c 5 84 bytes from 192.168.30.12 icmp_seq=1 ttl=64 time=0.325 ms 84 bytes from 192.168.30.12 icmp_seq=2 ttl=64 time=0.551 ms 84 bytes from 192.168.30.12 icmp_seq=3 ttl=64 time=0.508 ms 84 bytes from 192.168.30.12 icmp_seq=4 ttl=64 time=0.330 ms 84 bytes from 192.168.30.12 icmp_seq=5 ttl=64 time=0.406 ms VLAN30-A>
VLAN 10 to VLAN 20: same-subnet isolation
VLAN10-A> ping 192.168.10.99 -c 5 ping 192.168.10.99 -c 5 host (192.168.10.99) not reachable VLAN10-A>
VLAN 10 to VLAN 30: same-subnet isolation
VLAN10-A> ping 192.168.10.98 -c 5 ping 192.168.10.98 -c 5 host (192.168.10.98) not reachable VLAN10-A>
Injected access-port mismatch: connectivity fails
VLAN10-A> ping 192.168.10.12 -c 5 ping 192.168.10.12 -c 5 host (192.168.10.12) not reachable VLAN10-A>
Access-port repair: connectivity restored
VLAN10-A> ping 192.168.10.12 -c 5 ping 192.168.10.12 -c 5 84 bytes from 192.168.10.12 icmp_seq=1 ttl=64 time=0.290 ms 84 bytes from 192.168.10.12 icmp_seq=2 ttl=64 time=0.328 ms 84 bytes from 192.168.10.12 icmp_seq=3 ttl=64 time=0.424 ms 84 bytes from 192.168.10.12 icmp_seq=4 ttl=64 time=0.355 ms 84 bytes from 192.168.10.12 icmp_seq=5 ttl=64 time=0.379 ms VLAN10-A>
Inside the trunk capture
69 measured Ethernet frames, all tagged with 802.1Q. The capture includes ARP resolution, ICMP echo requests and replies, and unanswered ARP during isolation and fault tests.
69 captured frames
| Frame | VLAN | Protocol | Source IP | Destination IP | Bytes |
|---|---|---|---|---|---|
| 1 | 10 | ARP request | 192.168.10.11 | 192.168.10.12 | 68 |
| 2 | 10 | ARP reply | 192.168.10.12 | 192.168.10.11 | 68 |
| 3 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 4 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 5 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 6 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 7 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 8 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 9 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 10 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 11 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 12 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 13 | 20 | ARP request | 192.168.20.11 | 192.168.20.12 | 68 |
| 14 | 20 | ARP reply | 192.168.20.12 | 192.168.20.11 | 68 |
| 15 | 20 | ICMP echo request | 192.168.20.11 | 192.168.20.12 | 102 |
| 16 | 20 | ICMP echo reply | 192.168.20.12 | 192.168.20.11 | 102 |
| 17 | 20 | ICMP echo request | 192.168.20.11 | 192.168.20.12 | 102 |
| 18 | 20 | ICMP echo reply | 192.168.20.12 | 192.168.20.11 | 102 |
| 19 | 20 | ICMP echo request | 192.168.20.11 | 192.168.20.12 | 102 |
| 20 | 20 | ICMP echo reply | 192.168.20.12 | 192.168.20.11 | 102 |
| 21 | 20 | ICMP echo request | 192.168.20.11 | 192.168.20.12 | 102 |
| 22 | 20 | ICMP echo reply | 192.168.20.12 | 192.168.20.11 | 102 |
| 23 | 20 | ICMP echo request | 192.168.20.11 | 192.168.20.12 | 102 |
| 24 | 20 | ICMP echo reply | 192.168.20.12 | 192.168.20.11 | 102 |
| 25 | 30 | ARP request | 192.168.30.11 | 192.168.30.12 | 68 |
| 26 | 30 | ARP reply | 192.168.30.12 | 192.168.30.11 | 68 |
| 27 | 30 | ICMP echo request | 192.168.30.11 | 192.168.30.12 | 102 |
| 28 | 30 | ICMP echo reply | 192.168.30.12 | 192.168.30.11 | 102 |
| 29 | 30 | ICMP echo request | 192.168.30.11 | 192.168.30.12 | 102 |
| 30 | 30 | ICMP echo reply | 192.168.30.12 | 192.168.30.11 | 102 |
| 31 | 30 | ICMP echo request | 192.168.30.11 | 192.168.30.12 | 102 |
| 32 | 30 | ICMP echo reply | 192.168.30.12 | 192.168.30.11 | 102 |
| 33 | 30 | ICMP echo request | 192.168.30.11 | 192.168.30.12 | 102 |
| 34 | 30 | ICMP echo reply | 192.168.30.12 | 192.168.30.11 | 102 |
| 35 | 30 | ICMP echo request | 192.168.30.11 | 192.168.30.12 | 102 |
| 36 | 30 | ICMP echo reply | 192.168.30.12 | 192.168.30.11 | 102 |
| 37 | 20 | ARP request | 192.168.10.99 | 192.168.10.99 | 68 |
| 38 | 20 | ARP request | 192.168.10.99 | 192.168.10.99 | 68 |
| 39 | 20 | ARP request | 192.168.10.99 | 192.168.10.99 | 68 |
| 40 | 10 | ARP request | 192.168.10.11 | 192.168.10.99 | 68 |
| 41 | 10 | ARP request | 192.168.10.11 | 192.168.10.99 | 68 |
| 42 | 10 | ARP request | 192.168.10.11 | 192.168.10.99 | 68 |
| 43 | 20 | ARP request | 192.168.20.12 | 192.168.20.12 | 68 |
| 44 | 20 | ARP request | 192.168.20.12 | 192.168.20.12 | 68 |
| 45 | 20 | ARP request | 192.168.20.12 | 192.168.20.12 | 68 |
| 46 | 30 | ARP request | 192.168.10.98 | 192.168.10.98 | 68 |
| 47 | 30 | ARP request | 192.168.10.98 | 192.168.10.98 | 68 |
| 48 | 30 | ARP request | 192.168.10.98 | 192.168.10.98 | 68 |
| 49 | 10 | ARP request | 192.168.10.11 | 192.168.10.98 | 68 |
| 50 | 10 | ARP request | 192.168.10.11 | 192.168.10.98 | 68 |
| 51 | 10 | ARP request | 192.168.10.11 | 192.168.10.98 | 68 |
| 52 | 30 | ARP request | 192.168.30.12 | 192.168.30.12 | 68 |
| 53 | 30 | ARP request | 192.168.30.12 | 192.168.30.12 | 68 |
| 54 | 30 | ARP request | 192.168.30.12 | 192.168.30.12 | 68 |
| 55 | 10 | ARP request | 192.168.10.11 | 192.168.10.12 | 68 |
| 56 | 10 | ARP request | 192.168.10.11 | 192.168.10.12 | 68 |
| 57 | 10 | ARP request | 192.168.10.11 | 192.168.10.12 | 68 |
| 58 | 10 | ARP request | 192.168.10.11 | 192.168.10.12 | 68 |
| 59 | 10 | ARP reply | 192.168.10.12 | 192.168.10.11 | 68 |
| 60 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 61 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 62 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 63 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 64 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 65 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 66 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 67 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
| 68 | 10 | ICMP echo request | 192.168.10.11 | 192.168.10.12 | 102 |
| 69 | 10 | ICMP echo reply | 192.168.10.12 | 192.168.10.11 | 102 |
Decoded from the downloadable PCAP. This table presents recorded packets; it is not a live network connection or a Wireshark screenshot.
Download decoded packetsAddressing & implementation
| VLAN | Purpose | PC-A | PC-B | Subnet |
|---|---|---|---|---|
| 10 | Staff | 192.168.10.11 | 192.168.10.12 | /24 |
| 20 | Servers | 192.168.20.11 | 192.168.20.12 | /24 |
| 30 | Guest | 192.168.30.11 | 192.168.30.12 | /24 |
GNS3 Server 2.2.54 · Dynamips 0.2.25 built-in Ethernet switches · VPCS 0.8.4 · uBridge 1.0.1. The native project uses built-in nodes and needs no Cisco IOS image. The source package includes automation and a reproducible test procedure.
Packet Tracer companion
The package also includes an equivalent two-switch Cisco configuration kit and rebuild guide for Packet Tracer. The measured evidence on this page comes from GNS3; the companion kit is supplied as a build guide.
Download Packet Tracer configuration kitLearning references: GNS3 built-in switches and Cisco networking lab concepts. Topology and recorded results were produced for this original lab.