VLAN - Virtual Local Area Network
What is VLAN?
VLAN stands for Virtual Local Area Network. It is a network configuration that allows devices on different physical LANs to be grouped into the same logical network, as if they were on the same physical LAN.
Why is VLAN useful?
Segmentation – Separates network traffic for better performance and security.
Security – Limits broadcast domains and isolates sensitive data.
Efficiency – Reduces unnecessary traffic and improves bandwidth usage.
Flexibility – Devices can be grouped logically regardless of physical location.
Simplified Management – Easier to manage and troubleshoot network segments.
How it works?
Switch Configuration: VLANs are configured on managed switches.
Port Assignment – Each switch port is assigned to a specific VLAN.
Tagging (802.1Q) – VLAN tags are added to Ethernet frames to identify VLAN membership.
Traffic Isolation – Devices in different VLANs cannot communicate unless routed.
Inter-VLAN Routing – A Layer 3 device (router or Layer 3 switch) enables communication between VLANs.
Where is VLAN used?
Enterprise Networks – To separate departments like HR, Finance, and IT.
Data Centers – For isolating services and tenants in virtualized environments.
Educational Institutions – To separate student, faculty, and administrative networks.
VoIP and IP Cameras – To isolate voice and video traffic from data traffic.
Guest Networks – To provide internet access without exposing internal resources.
Which OSI layer does this protocol belong to?
VLAN operates at Layer 2 of the OSI model.
It modifies Ethernet frames using VLAN tags (IEEE 802.1Q).
VLAN-aware switches use these tags to forward traffic within the correct VLAN.
Although VLANs are Layer 2, inter-VLAN routing requires Layer 3 functionality.
Topics in this section,
:ref VLAN Feature : Integration with STP <VLAN_step18>
In this section, you are going to learn
Terminology
Version Info
VLAN Version |
VLAN Number |
Year |
Core Idea / Contribution |
---|---|---|---|
VLAN Aggregation |
RFC 3069 |
2001 |
Introduced Super-VLANs to allow multiple VLANs to share a single IP subnet and gateway using Proxy ARP. |
RADIUS VLAN Attributes |
RFC 4675 |
2006 |
Defined RADIUS attributes for dynamic VLAN assignment and traffic prioritization (e.g., VLAN ID, priority table). |
RADIUS Tunnel Support |
RFC 2868 |
2000 |
Enabled dynamic VLAN assignment using Tunnel-Private-Group-ID during user authentication. |
VLAN MIBs |
RFC 2674 |
1999 |
Defined SNMP MIBs for managing VLANs and priority tagging (IEEE 802.1Q and 802.1p). |
VXLAN |
RFC 7348 |
2014 |
Introduced VXLAN, a Layer 2 overlay over Layer 3 networks using 24-bit VNIs for scalable virtual networks. |
EVPN |
RFC 7432 |
2015 |
Defined Ethernet VPN using BGP as a control plane for VXLAN/MPLS networks. |
EVPN-VXLAN Integration |
RFC 8365 |
2018 |
Combined EVPN with VXLAN for scalable, policy-driven, multi-tenant data centers. |
Private VLANs |
RFC 5517 |
2010 |
Described Layer 2 isolation within VLANs (Isolated, Community, Promiscuous ports) for secure shared environments. |
VLAN Interface Creation Test Case
This test verifies that a VLAN interface can be successfully created on a Linux system using the ip command. The interface should be visible in the system with the specified VLAN ID and IP configuration.
Step-1: Identify your physical interface.
Note
In this example, we assume eth0 is the physical interface. Adjust according to your system.
Step-2: Create VLAN interface.
test:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test:~$ sudo ip addr add 192.168.100.1/24 dev eth0.100 test:~$ sudo ip link set dev eth0.100 upStep-3: Verify VLAN interface creation.
test:~$ ip -d link show eth0.100Expected result:
VLAN interface eth0.100 is created successfully.
It appears in the ip -d link show output with the correct VLAN ID.
Interface should be UP and have the IP address 192.168.100.1/24 assigned.
Step-4: Validation
test:~$ ip addr show eth0.100 eth0.100@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ... inet 192.168.100.1/24 scope global eth0.100 vlan protocol 802.1Q id 100 <REORDER_HDR> ...Result: VLAN interface is created with name eth0.100.
VLAN Ping Test Case
This test verifies basic connectivity between two machines on the same VLAN using ICMP ping. Successful ping confirms correct VLAN setup and tagging (802.1Q).
Step-1: Configure VLAN interface on test1.
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.1/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 up test1:~$ ip -d link show eth0.100Step-2: Configure VLAN interface on test2.
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip addr add 192.168.100.2/24 dev eth0.100 test2:~$ sudo ip link set dev eth0.100 up test2:~$ ip -d link show eth0.100Step-3: Ping from test1 to test2 and vice versa.
test1:~$ ping 192.168.100.2 test2:~$ ping 192.168.100.1Step-4: Verify ICMP echo and reply packets are tagged with 802.1Q VLAN header using packet capture (e.g., Wireshark or tcpdump).
Expected result:
Ping should succeed between test1 and test2 with 0% packet loss.
ICMP echo request/reply packets are visible and correctly tagged with VLAN ID 100.
Step-5: Wireshark Capture
VLAN Isolation Test Case
This test verifies that devices on different VLANs cannot communicate directly. When VLAN isolation is functioning correctly, ping between devices in different VLANs will fail.
Step-1: Configure VLAN 100 on test1.
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.1/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 up test1:~$ ip -d link show eth0.100Step-2: Configure VLAN 200 on test2.
test2:~$ sudo ip link add link eth0 name eth0.200 type vlan id 200 test2:~$ sudo ip addr add 192.168.200.1/24 dev eth0.200 test2:~$ sudo ip link set dev eth0.200 up test2:~$ ip -d link show eth0.200Step-3: Attempt to ping from test1 to test2.
test1:~$ ping 192.168.200.1Step-4: Capture packets using Wireshark to verify that no ICMP traffic is exchanged between VLANs.
Expected result:
Ping fails with 100% packet loss.
No ICMP echo request/reply packets are seen.
Confirms VLAN isolation is working as expected.
Step-5: Wireshark Capture
VLAN Persistence Across Reboots Test Case
This test verifies that VLAN interfaces persist after a system reboot by using persistent network configuration via Netplan.
Step-1: Edit the Netplan configuration file on test1 to define a VLAN interface.
network: version: 2 ethernets: eth0: dhcp4: no vlans: vlan100: id: 100 link: eth0 addresses: - 192.168.100.1/24
Save the file as /etc/netplan/01-netcfg.yaml (or the appropriate Netplan config file for your system).
Step-2: Apply the Netplan configuration.
test1:~$ sudo netplan applyStep-3: Reboot the system.
test1:~$ sudo rebootStep-4: After reboot, verify that vlan100 interface exists and has the correct IP address.
test1:~$ ip addr show vlan100Expected result:
The interface vlan100 should be present after reboot.
It should have the correct IP address 192.168.100.1/24.
Confirms VLAN persistence via Netplan.
ARP Resolution with VLAN Tag Test Case
This test verifies that ARP request and reply packets are correctly tagged with a VLAN ID (802.1Q) when VLAN interfaces are used. It also confirms basic IP connectivity through successful ping.
Step-1: Configure VLAN interface on test1.
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.1/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 up test1:~$ ip -d link show eth0.100Step-2: Configure VLAN interface on test2.
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip addr add 192.168.100.2/24 dev eth0.100 test2:~$ sudo ip link set dev eth0.100 up test2:~$ ip -d link show eth0.100Step-3: Ping between test1 and test2.
test1:~$ ping 192.168.100.2 test2:~$ ping 192.168.100.1Step-4: Use Wireshark to capture packets and inspect for ARP resolution.
Look specifically for ARP request and reply frames tagged with VLAN ID 100.
Confirm that ICMP packets are also properly VLAN tagged.
Expected result:
Ping should succeed with 0% packet loss between test1 and test2.
ARP packets (request and reply) must include the VLAN tag (802.1Q) in packet capture.
ICMP packets must also include VLAN tag.
Step-5: Wireshark Capture
TCP 3-Way Handshake with VLAN Tag Test Case
This test verifies that TCP 3-way handshake packets and data packets are properly VLAN-tagged (802.1Q) when transmitted between two machines with VLAN interfaces on the same subnet.
Step-1: Configure VLAN interface on test1.
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.2/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 up test1:~$ ip -d link show eth0.100Step-2: Configure VLAN interface on test2.
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip addr add 192.168.100.3/24 dev eth0.100 test2:~$ sudo ip link set dev eth0.100 up test2:~$ ip -d link show eth0.100Step-3: Create a basic TCP server on test2.
test2:~$ vi tcp_server.c // Insert basic TCP server code test2:~$ gcc tcp_server.c -o tcp_serverStep-4: Create a basic TCP client on test1.
test1:~$ vi tcp_client.c // Insert basic TCP client code test1:~$ gcc tcp_client.c -o tcp_clientStep-5: Run the TCP server and client to establish a connection.
test2:~$ ./tcp_server test1:~$ ./tcp_clientStep-6: Capture packets using Wireshark on either side.
Look for TCP 3-way handshake packets (SYN, SYN-ACK, ACK) and ensure they are tagged with VLAN ID 100.
Also verify that any data packets exchanged are VLAN tagged.
Expected result:
TCP connection is successfully established.
Packet capture shows TCP handshake and data packets tagged with VLAN ID (802.1Q).
Confirms correct VLAN tagging for TCP traffic.
Step-7: Wireshark Capture
UDP Packets with VLAN Tag Test Case
This test verifies that UDP packets are properly tagged with a VLAN ID (802.1Q) when transmitted between two machines with VLAN interfaces on the same subnet.
Step-1: Configure VLAN interface on test1.
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.2/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 up test1:~$ ip -d link show eth0.100Step-2: Configure VLAN interface on test2.
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip addr add 192.168.100.3/24 dev eth0.100 test2:~$ sudo ip link set dev eth0.100 up test2:~$ ip -d link show eth0.100Step-3: Create a basic UDP server on test2.
test2:~$ vi udp_server.c // Insert basic UDP server code test2:~$ gcc udp_server.c -o udp_serverStep-4: Create a basic UDP client on test1.
test1:~$ vi udp_client.c // Insert basic UDP client code test1:~$ gcc udp_client.c -o udp_clientStep-5: Run the UDP server and client to exchange packets.
test2:~$ ./udp_server test1:~$ ./udp_clientStep-6: Capture packets using Wireshark
Inspect the UDP packets for VLAN tagging with VLAN ID 100.
Expected result:
UDP client-server communication is successfully established.
Wireshark capture confirms that UDP packets are tagged with VLAN ID (802.1Q).
Step-7: Wireshark Capture
Ping Using Hostname (DNS) with VLAN Tag Test Case
This test verifies that DNS queries and ICMP packets are correctly VLAN tagged when hostname-based communication is performed over VLAN interfaces.
Step-1: Configure VLAN interface on test1.
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.2/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 upStep-2: Configure VLAN interface on test2.
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip addr add 192.168.100.3/24 dev eth0.100 test2:~$ sudo ip link set dev eth0.100 upStep-3: Install and configure dnsmasq on test1.
test1:~$ sudo apt update test1:~$ sudo apt install dnsmasq
Edit /etc/dnsmasq.conf and add:
address=/vm1.local/192.168.100.2 address=/vm2.local/192.168.100.3
Restart the dnsmasq service:
test1:~$ sudo systemctl restart dnsmasq test1:~$ sudo systemctl status dnsmasqStep-4: Configure test2 to use test1 as its DNS server.
Edit /etc/resolv.conf on test2:
nameserver 192.168.100.2 search localSave and close the file.
Step-5: Test ping using hostname.
test2:~$ ping vm1Step-6: Capture packets using Wireshark on test1 or test2.
Look for DNS query/response packets and ICMP packets.
Confirm that all packets include VLAN tag (802.1Q) with VLAN ID 100.
Expected result:
DNS query resolves hostname successfully.
Ping to hostname succeeds with 0% packet loss.
Both DNS and ICMP packets are correctly VLAN tagged.
Step-7: Wireshark Capture
Ping Between Two Machines (DHCP) with VLAN Tag Test Case
This test verifies that a VLAN-tagged interface can receive an IP address via DHCP, and confirms that both DHCP and ICMP packets carry VLAN tags (802.1Q).
Step-1: Configure VLAN interface on test1 (DHCP Server).
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.1/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 up test1:~$ ip -d link show eth0.100Step-2: Install and configure DHCP server on test1.
test1:~$ sudo apt update test1:~$ sudo apt install isc-dhcp-server
Edit DHCP server interface configuration file:
test1:~$ sudo nano /etc/default/isc-dhcp-server
Change the line:
INTERFACESv4=""To:
INTERFACESv4="eth0.100"Configure DHCP range in /etc/dhcp/dhcpd.conf:
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.50 192.168.100.100; option routers 192.168.100.1; option subnet-mask 255.255.255.0; option domain-name-servers 8.8.8.8; default-lease-time 600; max-lease-time 7200; }Save and restart DHCP server:
test1:~$ sudo systemctl restart isc-dhcp-server test1:~$ sudo systemctl enable isc-dhcp-server test1:~$ sudo systemctl status isc-dhcp-serverStep-3: Configure VLAN interface on test2 (DHCP Client).
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip link set dev eth0.100 upStep-4: Install DHCP client and request an IP address.
test2:~$ sudo apt install isc-dhcp-client test2:~$ sudo dhclient eth0.100Step-5: Verify IP address on test2.
test2:~$ ip a show eth0.100Step-6: Ping from test1 to the dynamically assigned IP on test2.
test1:~$ ping <test2-assigned-IP>Step-7: Packet Capture and VLAN Verification
Capture packets using Wireshark or tcpdump on either machine.
Look for:
DHCP Discover / Offer / Request / ACK packets
ICMP Echo Request / Reply
All packets should contain VLAN ID 100 (802.1Q tag)
Expected result:
DHCP IP address is successfully assigned to test2 on VLAN interface.
Ping between test1 and test2 succeeds with 0% packet loss.
All DHCP and ICMP packets are VLAN tagged.
Step-8: Wireshark Capture
VLAN Tested with IPv4 Web Server (Own) - Test Case
This test verifies that a self-hosted IPv4 web server is reachable via a VLAN-tagged interface and that all traffic (TCP 3-way handshake and HTTP content) carries VLAN tags.
Step-1: Configure VLAN interface on test1 (Web Server).
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.3/24 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 upStep-2: Install and configure Apache2 on test1.
test1:~$ sudo apt update test1:~$ sudo apt install apache2 -y test1:~$ sudo ufw allow 'Apache Full' test1:~$ sudo systemctl start apache2 test1:~$ sudo systemctl enable apache2Step-3: Create custom HTML page for the web server.
test1:~$ sudo mkdir -p /var/www/myvlanweb.com/html test1:~$ sudo nano /var/www/myvlanweb.com/html/index.html
Sample HTML page:
<html> <head><title>VLAN Web Test</title></head> <body> <h1>Welcome to VLAN Web Server</h1> <p>This is a test page served over VLAN 100</p> </body> </html>test1:~$ sudo chown -R www-data:www-data /var/www/myvlanweb.com/html test1:~$ sudo chmod -R 755 /var/www/myvlanweb.comStep-4: Configure Apache virtual host.
test1:~$ sudo nano /etc/apache2/sites-available/myvlanweb.com.conf
Add the following content:
<VirtualHost * :80> ServerAdmin webmaster@localhost ServerName myvlanweb.com DocumentRoot /var/www/myvlanweb.com/html <Directory /var/www/myvlanweb.com/html> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/myvlanweb_error.log CustomLog ${APACHE_LOG_DIR}/myvlanweb_access.log combined </VirtualHost>test1:~$ sudo a2ensite myvlanweb.com.conf test1:~$ sudo a2dissite 000-default.conf test1:~$ sudo apache2ctl configtest test1:~$ sudo systemctl reload apache2Step-5: Configure VLAN interface on test2 (Client).
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip addr add 192.168.100.2/24 dev eth0.100 test2:~$ sudo ip link set dev eth0.100 upStep-6: Test connectivity and fetch webpage.
test2:~$ curl http://192.168.100.3Step-7: Capture packets using Wireshark.
Verify presence of: - TCP 3-way handshake (SYN, SYN-ACK, ACK) - HTTP GET / 200 OK responses - All packets must have VLAN ID 100 (802.1Q tag)
Expected Result:
Client receives full HTML response from server.
Ping and HTTP communication succeed.
VLAN tags are present in TCP and HTTP packets.
Step-8: Wireshark Capture
VLAN Tested with IPv6 Web Server (Own) - Test Case
This test verifies that an IPv6 web server hosted on a VLAN-tagged interface is reachable from another VLAN-tagged client, and that all traffic (TCP handshake and HTTP response) carries the correct 802.1Q VLAN tags.
Step-1: Configure VLAN interface with IPv6 address on test1 (Web Server).
test1:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test1:~$ sudo ip addr add 192.168.100.3/24 dev eth0.100 test1:~$ sudo ip addr add 2001:db8:100::3/64 dev eth0.100 test1:~$ sudo ip link set dev eth0.100 upStep-2: Install and configure Apache2 on test1.
test1:~$ sudo apt update test1:~$ sudo apt install apache2 -y test1:~$ sudo ufw allow 'Apache Full' test1:~$ sudo systemctl start apache2 test1:~$ sudo systemctl enable apache2Step-3: Create custom HTML content for the website.
test1:~$ sudo mkdir -p /var/www/myvlanweb.com/html test1:~$ sudo nano /var/www/myvlanweb.com/html/index.html
Sample HTML page:
<html> <head><title>IPv6 VLAN Web Test</title></head> <body> <h1>Welcome to VLAN IPv6 Web Server</h1> <p>This page is served over IPv6 and VLAN 100.</p> </body> </html>test1:~$ sudo chown -R www-data:www-data /var/www/myvlanweb.com/html test1:~$ sudo chmod -R 755 /var/www/myvlanweb.comStep-4: Configure Apache virtual host.
test1:~$ sudo nano /etc/apache2/sites-available/myvlanweb.com.conf
Add the following content:
<VirtualHost * :80> ServerAdmin webmaster@localhost ServerName myvlanweb.com DocumentRoot /var/www/myvlanweb.com/html <Directory /var/www/myvlanweb.com/html> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/myvlanweb_error.log CustomLog ${APACHE_LOG_DIR}/myvlanweb_access.log combined </VirtualHost>test1:~$ sudo a2ensite myvlanweb.com.conf test1:~$ sudo a2dissite 000-default.conf test1:~$ sudo apache2ctl configtest test1:~$ sudo systemctl reload apache2Step-5: Configure VLAN interface with IPv6 on test2 (Client).
test2:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 test2:~$ sudo ip addr add 192.168.100.2/24 dev eth0.100 test2:~$ sudo ip addr add 2001:db8:100::2/64 dev eth0.100 test2:~$ sudo ip link set dev eth0.100 upStep-6: Test connectivity and fetch web content.
test2:~$ ping6 2001:db8:100::3 test2:~$ curl http://[2001:db8:100::3]/Step-7: Packet capture and VLAN verification.
Use Wireshark to capture traffic on eth0 or eth0.100.
Confirm presence of: - TCP 3-way handshake packets - HTTP GET and 200 OK responses - All packets tagged with VLAN ID 100 (802.1Q)
Expected Result:
Web server is accessible from client over IPv6 on VLAN.
Curl outputs the expected HTML content.
TCP and HTTP packets show correct VLAN tagging in the capture.
Step-8: Wireshark Capture
Switch-to-Switch VLAN Trunk Test Case
This test verifies that a trunk connection between two Layer 2 switches correctly allows VLAN-tagged traffic to pass between two VPCS nodes in the same VLAN.
Step-1: Setup and connect topology in simulation tool (e.g., Cisco Packet Tracer, GNS3, or EVE-NG).
Drag and drop: - 2 Layer 2 switches (Switch A and Switch B) - 2 VPCS nodes (PC1 and PC2)
Connect as follows:
PC1 <--> Gi0/1 (Switch A) Switch A Gi0/2 <--> Gi0/2 Switch B Gi0/1 (Switch B) <--> PC2Step-2: Configure VLAN 10 and ports on Switch A.
SwitchA> enable SwitchA# configure terminal SwitchA(config)# vlan 10 SwitchA(config-vlan)# name VLAN10 SwitchA(config-vlan)# exit SwitchA(config)# interface Gi0/1 SwitchA(config-if)# switchport mode access SwitchA(config-if)# switchport access vlan 10 SwitchA(config-if)# no shutdown SwitchA(config-if)# exit SwitchA(config)# interface Gi0/2 SwitchA(config-if)# switchport trunk encapsulation dot1q SwitchA(config-if)# switchport mode trunk SwitchA(config-if)# no shutdown SwitchA(config-if)# exitStep-3: Configure VLAN 10 and ports on Switch B (repeat similar steps).
SwitchB> enable SwitchB# configure terminal SwitchB(config)# vlan 10 SwitchB(config-vlan)# name VLAN10 SwitchB(config-vlan)# exit SwitchB(config)# interface Gi0/1 SwitchB(config-if)# switchport mode access SwitchB(config-if)# switchport access vlan 10 SwitchB(config-if)# no shutdown SwitchB(config-if)# exit SwitchB(config)# interface Gi0/2 SwitchB(config-if)# switchport trunk encapsulation dot1q SwitchB(config-if)# switchport mode trunk SwitchB(config-if)# no shutdown SwitchB(config-if)# exitStep-4: Configure IP addresses on VPCS nodes.
PC1> ip 192.168.10.2 255.255.255.0 PC2> ip 192.168.10.3 255.255.255.0Step-5: Perform Ping Test.
PC1> ping 192.168.10.3 PC2> ping 192.168.10.2Step-6: Capture traffic using Wireshark on the trunk link (Gi0/2 <–> Gi0/2).
Filter: vlan
Check for: - ICMP Echo Requests and Replies - 802.1Q VLAN tags (ID: 10)
Expected Result:
Ping should be successful with 0% packet loss.
ICMP packets are encapsulated with 802.1Q VLAN tags on trunk port.
Step-7: Wireshark Capture
Linux-to-Linux VLAN Trunk Test Case
This test verifies that VLAN trunking works between two Linux machines configured with multiple VLAN interfaces, allowing communication over multiple VLANs (e.g., VLAN 10 and VLAN 20).
Step-1: Configure VLAN interfaces on test1 (Linux Machine 1).
test1:~$ sudo ip link add link eth0 name eth0.10 type vlan id 10 test1:~$ sudo ip addr add 192.168.10.1/24 dev eth0.10 test1:~$ sudo ip link set dev eth0.10 up test1:~$ sudo ip link add link eth0 name eth0.20 type vlan id 20 test1:~$ sudo ip addr add 192.168.20.1/24 dev eth0.20 test1:~$ sudo ip link set dev eth0.20 upStep-2: Configure VLAN interfaces on test2 (Linux Machine 2).
test2:~$ sudo ip link add link eth0 name eth0.10 type vlan id 10 test2:~$ sudo ip addr add 192.168.10.2/24 dev eth0.10 test2:~$ sudo ip link set dev eth0.10 up test2:~$ sudo ip link add link eth0 name eth0.20 type vlan id 20 test2:~$ sudo ip addr add 192.168.20.2/24 dev eth0.20 test2:~$ sudo ip link set dev eth0.20 upStep-3: Test connectivity over VLAN interfaces from test1.
test1:~$ ping 192.168.10.2 # VLAN 10 test1:~$ ping 192.168.20.2 # VLAN 20Step-4: Verify VLAN tag presence in packets using Wireshark.
Confirm: - ICMP Echo Requests and Replies - VLAN 802.1Q tags (ID 10 and 20)
Expected Result:
Ping should be successful for both VLAN 10 and VLAN 20.
VLAN tags (802.1Q) should be present in ICMP packets during capture.
Step-5: Wireshark Capture
VLAN Tag Priority Bits (PCP) Test Case
This test verifies that all 7 combinations of PCP (Priority Code Point) values (001 to 111) in the 802.1Q VLAN tag are correctly set and visible in packet captures using Wireshark.
Step-1: Prepare the common VLAN packet send code (vlan_send_template.c)
test1:~$ vi vlan_send_template.c # (Write the common C code that constructs and sends a VLAN tagged Ethernet frame) # (This includes logic to set the TCI field using PCP_VALUE macro)Step-2: Create one example wrapper file (send_pcp1.c) for PCP value = 1
#define PCP_VALUE 1 #include "vlan_send_template.c"test1:~$ gcc send_pcp1.c -o send_pcp1 test1:~$ sudo ./send_pcp1Step-3: Repeat Step-2 for remaining PCP values (2, 3, 4, 5, 6, 7)
Create send_pcp0.c, send_pcp2.c, …, send_pcp7.c by changing PCP_VALUE
Compile and run each one similarly to generate corresponding packets
Step-4: Capture packets using Wireshark while each binary is run
Apply display filter in Wireshark: vlan
Observe the “Priority” field in the VLAN tag
Confirm PCP field shows values 1–7 as expected
Expected Result:
Each compiled binary should send a packet with correct PCP bits (0–7).
Wireshark should display the VLAN tag with corresponding PCP (Priority) field value.
Step-5: Wireshark Capture
VLAN Tag DEI (Drop Eligible Indicator) Bit Test Case
This test verifies that the DEI (Drop Eligible Indicator) bit in the 802.1Q VLAN tag can be set to 1 using raw socket programming in Linux and is visible in packet captures using Wireshark.
Step-1: Write a C program to send ICMP packet with VLAN tag (DEI = 1)
Step-2: Compile and run the code on a Linux machine with proper permissions
test1:~$ gcc dei_bit.c -o dei_bit test1:~$ sudo ./dei_bitStep-3: Capture the outgoing packet using Wireshark on the same interface
Apply display filter: vlan
Check the DEI (Drop Eligible Indicator) field in the VLAN header
Ensure DEI = 1 is present in the packet
Expected Result:
The ICMP Echo Request packet should be visible in Wireshark.
VLAN tag with DEI = 1 should be clearly shown under VLAN header details.
Step-4: Wireshark Capture
Notes:
DEI field is useful in congestion management. It marks the frame as eligible for discard if congestion occurs.
Default DEI is 0. This test explicitly sets it to 1.
Same VLAN, Different Subnets Ping Test Case
This test verifies that devices in the same VLAN but assigned to different subnets can communicate when routed via a router subinterface using dot1Q encapsulation.
Step-1: Configure VLAN 10 on the Switch (Layer 2)
Switch> enable Switch# configure terminal Switch(config)# interface GigabitEthernet0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 Switch(config-if)# exit Switch(config)# interface GigabitEthernet0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 Switch(config-if)# exit Switch(config)# interface GigabitEthernet0/0 Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport trunk allowed vlan 10 Switch(config-if)# exit Switch(config)# exit Switch# write memoryStep-2: Configure Router subinterfaces for inter-subnet routing over VLAN 10
Router> enable Router# configure terminal Router(config)# interface FastEthernet0/0.10 Router(config-subif)# encapsulation dot1Q 10 Router(config-subif)# ip address 192.168.1.1 255.255.255.224 Router(config-subif)# ip address 192.168.1.33 255.255.255.224 secondary Router(config-subif)# exit Router(config)# interface FastEthernet0/0 Router(config-if)# no ip address Router(config-if)# no shutdown Router(config-if)# exit Router# write memoryStep-3: Assign IP addresses to PCs in different subnets (still in same VLAN)
PC1> ip 192.168.1.10 255.255.255.224 192.168.1.1 PC2> ip 192.168.1.40 255.255.255.224 192.168.1.33Step-4: Test inter-subnet connectivity
PC1> ping 192.168.1.40 PC2> ping 192.168.1.10Step-5: Verify packets using Wireshark (capture on trunk or router interface)
Confirm: - ICMP Echo Request and Reply packets - 802.1Q VLAN tags with VLAN ID 10 - Routing is performed between subnets even within the same VLAN
Expected Result:
Ping should succeed between hosts on different subnets but within the same VLAN.
ICMP packets should contain 802.1Q VLAN tag with VLAN ID 10.
Routing should occur on the router’s subinterface with multiple subnet addresses.
Step-6: Wireshark Capture
IP Communication Across Aggregated VLANs (IRB with BVI) Test Case
This test verifies communication between hosts in different VLANs but in the same IP subnet using Integrated Routing and Bridging (IRB) with a Bridge Virtual Interface (BVI) on the router.
Step-1: Enable Integrated Routing on the Router
Router> enable Router# configure terminal Router(config)# bridge irbStep-2: Configure VLANs on the Switch
Switch> enable Switch# configure terminal Switch(config)# vlan 10 Switch(config-vlan)# exit Switch(config)# vlan 20 Switch(config-vlan)# exit Switch(config)# interface GigabitEthernet0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 Switch(config-if)# exit Switch(config)# interface GigabitEthernet0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 20 Switch(config-if)# exit Switch(config)# interface GigabitEthernet0/3 Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan 10,20 Switch(config-if)# exit Switch# write memoryStep-3: Configure Router Subinterfaces for VLANs
Router(config)# interface FastEthernet0/0.10 Router(config-subif)# encapsulation dot1Q 10 Router(config-subif)# bridge-group 1 Router(config-subif)# no ip address Router(config-subif)# exit Router(config)# interface FastEthernet0/0.20 Router(config-subif)# encapsulation dot1Q 20 Router(config-subif)# bridge-group 1 Router(config-subif)# no ip address Router(config-subif)# exitStep-4: Configure Bridge Virtual Interface (BVI)
Router(config)# interface BVI1 Router(config-if)# ip address 192.168.10.1 255.255.255.0 Router(config-if)# no shutdown Router(config-if)# exit Router(config)# bridge 1 protocol ieee Router(config)# bridge 1 route ip
Step-5: Assign IP addresses to PCs in different VLANs but same subnet
PC1> ip 192.168.10.10 255.255.255.0 192.168.10.1 PC2> ip 192.168.10.20 255.255.255.0 192.168.10.1
Step-6: Test Connectivity Between PCs
PC1> ping 192.168.10.20 PC2> ping 192.168.10.10Step-7: Wireshark Capture Verification
Confirm: - ICMP Echo Request and Echo Reply - VLAN tags (802.1Q) for VLAN 10 and VLAN 20 - Communication is successful across VLANs through the BVI interface
Expected Result:
Ping should succeed between devices on different VLANs but within the same subnet.
VLAN-tagged packets (with VLAN IDs 10 and 20) should be visible in the capture.
Routing is achieved via the router’s BVI interface, enabling cross-VLAN communication.
Step-8: Wireshark Capture
Broadcast Isolation Across VLANs Test Case
This test verifies that layer 2 broadcasts are isolated between VLANs, even if the IP subnet is shared, by sending a directed broadcast from one VLAN and ensuring it is not propagated to hosts in another VLAN.
Prerequisite:
Use the same setup as described in the previous test case (IRB routing via router subinterfaces and BVI).
PC1 is in VLAN 10 and PC2 is in VLAN 20.
Both are in the same IP subnet 192.168.10.0/24.
Step-1: Send Directed Broadcast from PC1 (VLAN 10)
PC1> ping 192.168.10.255Step-2: Monitor PC2 (VLAN 20) for Response
No response should be observed.
Optionally, run Wireshark or packet capture on PC2 or on a trunk port between switch and router.
Step-3: Wireshark Verification
On VLAN 20 side (PC2 or router trunk): - No ICMP Echo Requests for destination 192.168.10.255 should be seen.
On VLAN 10 side: - ICMP Echo Request should be seen. - Destination MAC should be broadcast (FF:FF:FF:FF:FF:FF) - VLAN tag with ID 10 should be present.
Expected Result:
PC2 (in VLAN 20) should not receive any of the broadcast ICMP packets sent by PC1 (in VLAN 10).
Layer 2 broadcast traffic is contained within VLAN 10.
Step-4: Wireshark Capture
Super VLAN Hierarchy Communication Test Case
This test verifies communication between hosts assigned to different Sub-VLANs under a common Super VLAN, using Integrated Routing and Bridging (IRB) on a router to forward traffic.
Step-1: Configure VLANs and Ports on the Switch
Switch> enable Switch# configure terminal Switch(config)# vlan 100 Switch(config-vlan)# name SuperVLAN Switch(config-vlan)# exit Switch(config)# vlan 101 Switch(config-vlan)# name SubVLAN1 Switch(config-vlan)# exit Switch(config)# vlan 102 Switch(config-vlan)# name SubVLAN2 Switch(config-vlan)# exit Switch(config)# interface GigabitEthernet0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 101 Switch(config-if)# exit Switch(config)# interface GigabitEthernet0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 102 Switch(config-if)# exit Switch(config)# interface GigabitEthernet0/3 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan 101,102 Switch(config-if)# exit Switch(config)# write memoryStep-2: Configure Router IRB and Subinterfaces
Router> enable Router# configure terminal Router(config)# bridge irb Router(config)# interface FastEthernet0/0.101 Router(config-subif)# encapsulation dot1Q 101 Router(config-subif)# bridge-group 1 Router(config-subif)# no ip address Router(config-subif)# exit Router(config)# interface FastEthernet0/0.102 Router(config-subif)# encapsulation dot1Q 102 Router(config-subif)# bridge-group 1 Router(config-subif)# no ip address Router(config-subif)# exit Router(config)# interface BVI1 Router(config-if)# ip address 10.0.0.1 255.255.255.0 Router(config-if)# no shutdown Router(config-if)# exit Router(config)# bridge 1 protocol ieee Router(config)# bridge 1 route ipStep-3: Configure IP Addresses on End Devices (PC1 & PC2)
PC1> ip 10.0.0.10 255.255.255.0 10.0.0.1 PC2> ip 10.0.0.20 255.255.255.0 10.0.0.1Step-4: Test IP Connectivity
PC1> ping 10.0.0.20 # To PC2 PC1> ping 10.0.0.1 # To Router BVI1 PC2> ping 10.0.0.10 # To PC1Step-5: Wireshark Verification
Verify on router or switch trunk port: - ICMP Echo Requests and Replies are seen - VLAN tags (802.1Q) with IDs 101 and 102 are present - Destination MAC reflects correct endpoint
Expected Result:
Ping between PC1 and PC2 (from different Sub-VLANs) is successful
Router forwards packets between sub-VLANs under the same Super VLAN
802.1Q tags with VLAN ID 101/102 are visible in packet captures
Step-6: Wireshark Capture
Setup
Echo Request Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
1 |
Echo Request |
It is a type of message used in the ICMP to test the reachability of a network device. |
42 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
Type |
Indicates the type of ICMP message 8 - specifies this is an Echo Request |
1 |
|
Code |
Provides further information about the type 0 - Always Zero for echo requests |
1 |
|
Checksum |
Used for error-checking the ICMP header and data. |
2 |
|
Identifier |
Used to match requests and replies, usually set by sender. |
2 |
|
Sequence Number |
Used to match requests and replies |
2 |
|
Data |
Optional data sent with the request |
32 |
Echo Reply Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
2 |
Echo Reply |
The response to an echo request, confirming the machine’s status and providing round-trip time data. |
42 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
Type |
Indicates the type of ICMP message 0 - specifies this is an Echo Reply |
1 |
|
Code |
Provides further information about the type 0 - Always Zero for echo replies |
1 |
|
Checksum |
Used for error-checking the ICMP header and data. |
2 |
|
Identifier |
Matches the identifier from the Echo Request |
2 |
|
Sequence Number |
Matches the sequence number from the Echo Request |
2 |
|
Data |
Optional data sent with the request |
32 |
DNS Query Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
3 |
DNS Query Packet |
Client sends a query to a DNS server requesting the IP address associated with a domain name. |
2850 bytes |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
Header |
Contains essential information about the DNS query or response. |
12 |
|
ID |
Copied in the corresponding response to match queries and responses |
2 |
|
QR |
Indicates whether the message is a query (0) or a response (1) |
2 bits |
|
Opcode |
Specifies the kind of query (e.g., standard query, inverse query) |
2 bits |
|
AA (Authoritative Answer) |
Indicates if the responding server is an authority for the domain name. |
2 bits |
|
TC (Truncation) |
Indicates if the message was truncated |
2 bits |
|
RD (Recursion Desired) |
Set by the client to indicate if recursive query support is desired |
2 bits |
|
RA (Recursion Available) |
Set by the server to indicate if recursive query support is available |
2 bits |
|
Z |
Reserved for future use, must be zero |
2 bits |
|
RCODE (Response Code) |
Indicates the status of the response |
2 bits |
|
QDCOUNT |
Number of entries in the question section |
2 |
|
ANCOUNT |
Number of resource records in answer section |
2 |
|
NSCOUNT |
Number of name server resource records in the authority section |
2 |
|
ARCOUNT |
Number of resource records in the additional records section |
2 |
|
Question Section |
Contains the query for the DNS server |
||
QNAME |
The domain name being queried |
variable (255) |
|
QTYPE |
The type of the query (e.g., A, MX) |
2 |
|
QCLASS |
The class of the query (e.g., IN for internet) |
2 |
DNS Response Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
4 |
DNS Response Packet |
Sent by a DNS server to reply to a client’s query |
45100 bytes |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
Header |
Contains essential information about the DNS query or response |
12 |
|
ID |
Copied in the corresponding response to match queries and responses |
2 |
|
QR |
Indicates whether the message is a query (0) or a response (1) |
2 bits |
|
Opcode |
Specifies the kind of query |
2 bits |
|
AA (Authoritative Answer) |
Indicates if the server is authoritative |
2 bits |
|
TC (Truncation) |
Indicates if the message was truncated |
2 bits |
|
RD (Recursion Desired) |
Set by the client |
2 bits |
|
RA (Recursion Available) |
Set by the server |
2 bits |
|
Z |
Reserved for future use |
2 bits |
|
RCODE (Response Code) |
Indicates the status of the response |
2 bits |
|
QDCOUNT |
Number of entries in the question section |
2 |
|
ANCOUNT |
Number of resource records in answer section |
2 |
|
NSCOUNT |
Number of name server resource records in the authority section |
2 |
|
ARCOUNT |
Number of resource records in the additional records section |
2 |
|
Question Section |
Contains the query for the DNS server |
||
QNAME |
The domain name being queried |
variable (255) |
|
QTYPE |
The type of the query (e.g., A, MX) |
2 |
|
QCLASS |
The class of the query (e.g., IN) |
2 |
|
Answer Section |
Contains resource records answering the question |
||
NAME |
Domain name to which this resource record pertains |
variable (255) |
|
TYPE |
Type of the resource record (e.g., A, MX) |
2 |
|
CLASS |
Class of the resource record (e.g., IN) |
2 |
|
TTL |
Time interval that the record may be cached |
4 |
|
RDLENGTH |
Length of the RDATA field |
2 |
|
RDATA |
Data of the resource record |
variable (65535) |
|
Authority Section |
Contains resource records pointing to authoritative name servers |
||
NAME |
Domain name |
variable (255) |
|
TYPE |
Type of the resource record |
2 |
|
CLASS |
Class of the resource record |
2 |
|
TTL |
Time interval that the record may be cached |
4 |
|
RDLENGTH |
Length of the RDATA field |
2 |
|
RDATA |
Data of the resource record |
variable (65535) |
|
Additional Section |
Contains additional information |
||
NAME |
Domain name |
variable (255) |
|
TYPE |
Type of the resource record |
2 |
|
CLASS |
Class of the resource record |
2 |
|
TTL |
Time interval that the record may be cached |
4 |
|
RDLENGTH |
Length of the RDATA field |
2 |
|
RDATA |
Data of the resource record |
variable (65535) |
DHCP Discover Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
5 |
DHCP Discover |
Sent by a client to locate available DHCP servers |
262 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
Operation Code (op) |
Specifies the type of DHCP message 1 (BOOT REQUEST) |
1 |
|
Hardware Type (htype) |
Indicates the type of hardware used for the network |
1 |
|
Hardware Address Length (hlen) |
Specifies the length of the hardware address (MAC address) in bytes |
1 |
|
Hops |
Number of relay agents that have forwarded this message |
1 |
|
Transaction Identifier (xid) |
Unique identifier used by the client to match responses |
4 |
|
Seconds (secs) |
Elapsed time since the client started the DHCP process |
2 |
|
Flags |
Broadcast flag |
2 |
|
Client IP Address (ciaddr) |
Client’s IP address (if already assigned) |
4 |
|
Your IP Address (yiaddr) |
IP address to be assigned |
4 |
|
Server IP Address (siaddr) |
Next server IP (e.g., for TFTP) |
4 |
|
Gateway IP Address (giaddr) |
Relay agent IP address |
4 |
|
Client Hardware Address |
Clients MAC address |
16 |
|
Server Hostname (sname) |
Optional server hostname |
64 |
|
Boot File Name (file) |
Optional boot file name |
128 |
|
Options |
DHCP Message Type (53=1), Parameter Request List (55), Client ID (61), Hostname (12), Requested IP (50) |
Variable |
DHCP Offer Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
6 |
DHCP Offer |
Sent by server in response to Discover, offering IP and config |
271 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
Operation Code (op) |
2 (BOOT REPLY) |
1 |
|
Hardware Type (htype) |
Type of hardware |
1 |
|
Hardware Address Length (hlen) |
Length of MAC address |
1 |
|
Hops |
Number of relay agents |
1 |
|
Transaction Identifier (xid) |
Matches clients Discover |
4 |
|
Seconds (secs) |
Time since DHCP started |
2 |
|
Flags |
Broadcast flag |
2 |
|
Client IP Address (ciaddr) |
Clients IP (if any) |
4 |
|
Your IP Address (yiaddr) |
Offered IP address |
4 |
|
Server IP Address (siaddr) |
Servers IP |
4 |
|
Gateway IP Address (giaddr) |
Relay agent IP |
4 |
|
Client Hardware Address |
Clients MAC address |
16 |
|
Server Hostname (sname) |
Optional |
64 |
|
Boot File Name (file) |
Optional |
128 |
|
Options |
DHCP Message Type (53=2), Server ID (54), Subnet Mask (1), Router (3), Lease Time (51), DNS (6) |
37 |
DHCP Request Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
7 |
DHCP Request |
Sent by client to accept the offered IP and request configuration |
267 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
4 |
|
Operation Code (op) |
1 (BOOT REQUEST) |
1 |
|
Hardware Type (htype) |
Type of hardware |
1 |
|
Hardware Address Length (hlen) |
Length of MAC address |
1 |
|
Hops |
Number of relay agents |
1 |
|
Transaction Identifier (xid) |
Matches Offer |
4 |
|
Seconds (secs) |
Time since DHCP started |
2 |
|
Flags |
Broadcast flag |
2 |
|
Client IP Address (ciaddr) |
Clients IP (if any) |
4 |
|
Your IP Address (yiaddr) |
Requested IP |
4 |
|
Server IP Address (siaddr) |
Servers IP |
4 |
|
Gateway IP Address (giaddr) |
Relay agent IP |
4 |
|
Client Hardware Address |
Clients MAC address |
16 |
|
Server Hostname (sname) |
Optional |
64 |
|
Boot File Name (file) |
Optional |
128 |
|
Options |
DHCP Message Type (53=3), Server ID (54), Requested IP (50), Parameter List (55), Client ID (61) |
31 |
DHCP ACK Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
8 |
DHCP ACK |
Sent by server to confirm lease and finalize configuration |
273 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
4 |
|
Operation Code (op) |
2 (BOOT REPLY) |
1 |
|
Hardware Type (htype) |
Type of hardware |
1 |
|
Hardware Address Length (hlen) |
Length of MAC address |
1 |
|
Hops |
Number of relay agents |
1 |
|
Transaction Identifier (xid) |
Matches Request |
4 |
|
Seconds (secs) |
Time since DHCP started |
2 |
|
Flags |
Broadcast flag |
2 |
|
Client IP Address (ciaddr) |
Clients IP (if any) |
4 |
|
Your IP Address (yiaddr) |
Assigned IP |
4 |
|
Server IP Address (siaddr) |
Servers IP |
4 |
|
Gateway IP Address (giaddr) |
Relay agent IP |
4 |
|
Client Hardware Address |
Clients MAC address |
16 |
|
Server Hostname (sname) |
Optional |
64 |
|
Boot File Name (file) |
Optional |
128 |
|
Options |
DHCP Message Type (53=5), Server ID (54), Subnet Mask (1), Router (3), DNS (6), Lease Time (51) |
37 |
SYN Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
9 |
SYN Packet |
Used to initiate a TCP connection. Part of the three-way handshake. |
20 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
Source Port |
Port number of the sender (Client) |
2 |
|
Destination Port |
Port number of the receiver |
2 |
|
Sequence Number |
Initial sequence number |
4 |
|
Acknowledgment Number |
0 (not set) |
0 |
|
Data Offset |
4-bit field specifying TCP header size in 32-bit words |
1 |
|
Reserved |
3 bits reserved for future use |
1 |
|
Flags |
SYN flag set |
2 |
|
Window Size |
Sender’s receive window size |
2 |
|
Checksum |
Error-checking field |
2 |
|
Urgent Pointer |
Points to urgent data if URG flag is set |
2 |
|
Options |
May include MSS, window scaling, timestamps |
variable |
|
Data (Payload) |
No payload |
0 |
SYN-ACK Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
10 |
SYN-ACK Packet |
Sent by receiver to acknowledge SYN and establish connection |
24 |
VLAN Tag |
IEEE 802.1Q tag |
2 |
|
Source Port |
Receiver’s port |
2 |
|
Destination Port |
Sender’s port |
2 |
|
Sequence Number |
Server’s Initial Sequence Number |
4 |
|
Acknowledgment Number |
Client’s ISN + 1 |
4 |
|
Data Offset |
TCP header size |
1 |
|
Reserved |
Reserved bits |
1 |
|
Flags |
SYN = 1, ACK = 1 |
2 |
|
Window Size |
Receiver’s window size |
2 |
|
Checksum |
Error-checking |
2 |
|
Urgent Pointer |
Urgent data pointer |
2 |
|
Options |
MSS, window scaling, timestamps |
variable |
|
Data (Payload) |
No payload |
0 |
ACK Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
11 |
ACK Packet |
Acknowledges received data or control packets |
24 |
VLAN Tag |
IEEE 802.1Q tag |
2 |
|
Source Port |
Sender’s port |
2 |
|
Destination Port |
Receiver’s port |
2 |
|
Sequence Number |
Next byte expected to be received |
4 |
|
Acknowledgment Number |
Last received byte + 1 |
4 |
|
Data Offset |
TCP header size |
1 |
|
Reserved |
Reserved bits |
1 |
|
Flags |
ACK = 1 |
2 |
|
Window Size |
Sender’s window size |
2 |
|
Checksum |
Error-checking |
2 |
|
Urgent Pointer |
Urgent data pointer |
2 |
|
Options |
Optional TCP options |
variable |
|
Data (Payload) |
May carry data if piggybacked |
variable |
PSH-ACK Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
12 |
PSH-ACK Packet |
Pushes data immediately and acknowledges receipt |
24 |
VLAN Tag |
IEEE 802.1Q tag |
2 |
|
Source Port |
Sender’s port |
2 |
|
Destination Port |
Receiver’s port |
2 |
|
Sequence Number |
First byte of current message |
4 |
|
Acknowledgment Number |
Next expected byte |
4 |
|
Data Offset |
TCP header size |
1 |
|
Reserved |
Reserved bits |
1 |
|
Flags |
PSH = 1, ACK = 1 |
2 |
|
Window Size |
Sender’s window size |
2 |
|
Checksum |
Error-checking |
2 |
|
Urgent Pointer |
Urgent data pointer |
2 |
|
Options |
Optional TCP options |
variable |
|
Data (Payload) |
Carries data to be processed immediately |
variable (1460) |
FIN Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
13 |
FIN Packet |
Used to terminate a TCP connection |
24 |
VLAN Tag |
IEEE 802.1Q tag |
2 |
|
Source Port |
Sender’s port |
2 |
|
Destination Port |
Receiver’s port |
2 |
|
Sequence Number |
Last byte sent |
4 |
|
Acknowledgment Number |
Acknowledges received data |
4 |
|
Data Offset |
TCP header size |
1 |
|
Reserved |
Reserved bits |
1 |
|
Flags |
FIN = 1 |
2 |
|
Window Size |
Sender’s window size |
2 |
|
Checksum |
Error-checking |
2 |
|
Urgent Pointer |
Urgent data pointer |
2 |
|
Options |
Optional TCP options |
variable |
|
Data (Payload) |
No payload |
0 |
FIN-ACK Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
14 |
FIN-ACK Packet |
Acknowledges FIN and signals end of transmission |
24 |
VLAN Tag |
IEEE 802.1Q tag |
2 |
|
Source Port |
Sender’s port |
2 |
|
Destination Port |
Receiver’s port |
2 |
|
Sequence Number |
Last byte sent |
4 |
|
Acknowledgment Number |
Next expected byte |
4 |
|
Data Offset |
TCP header size |
1 |
|
Reserved |
Reserved bits |
1 |
|
Flags |
FIN = 1, ACK = 1 |
2 |
|
Window Size |
Sender’s window size |
2 |
|
Checksum |
Error-checking |
2 |
|
Urgent Pointer |
Urgent data pointer |
2 |
|
Options |
Optional TCP options |
variable |
|
Data (Payload) |
No payload |
0 |
UDP Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
15 |
UDP Packet |
A connectionless transport layer protocol used for fast data transmission. |
65537 |
VLAN Tag |
IEEE 802.1Q tag containing VLAN ID, Priority, and CFI |
2 |
|
UDP Header |
Contains control information for UDP communication |
8 |
|
Source Port |
Identifies the port number of the sender |
2 |
|
Destination Port |
Identifies the port number of the receiver |
2 |
|
Length |
Total length of the UDP packet (header + data) |
2 |
|
Checksum |
Error-checking for header and data |
2 |
|
Data (UDP Payload) |
Contains the actual payload being transmitted |
variable (65507) |
ARP Request Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
16 |
ARP Request Packet |
Used to request the MAC address corresponding to a known IP address. |
32 |
VLAN Tag (802.1Q) |
Contains VLAN ID and priority (TPID + TCI) |
4 |
|
Hardware Type (HTYPE) |
Specifies type of hardware (1 for Ethernet) |
2 |
|
Protocol Type (PTYPE) |
Type of protocol (e.g., 0x0800 for IPv4) |
2 |
|
Hardware Address Length (HLEN) |
Length of the hardware address (e.g., 6 for MAC) |
1 |
|
Protocol Address Length (PLEN) |
Length of the protocol address (e.g., 4 for IPv4) |
1 |
|
Operation (OPER) |
1 for request, 2 for reply |
2 |
|
Sender Hardware Address (SHA) |
MAC address of sender |
6 |
|
Sender Protocol Address (SPA) |
IP address of sender |
4 |
|
Target Hardware Address (THA) |
MAC address of target (0 in request) |
6 |
|
Target Protocol Address (TPA) |
IP address of target |
4 |
ARP Reply Packet
S.No |
Protocol Packets |
Description |
Size(bytes) |
---|---|---|---|
17 |
ARP Reply Packet |
Responds to ARP request with the MAC address for the requested IP. |
32 |
VLAN Tag (802.1Q) |
Contains VLAN ID and priority (TPID + TCI) |
4 |
|
Hardware Type (HTYPE) |
Specifies type of hardware (1 for Ethernet) |
2 |
|
Protocol Type (PTYPE) |
Type of protocol (e.g., 0x0800 for IPv4) |
2 |
|
Hardware Address Length (HLEN) |
Length of the hardware address (e.g., 6 for MAC) |
1 |
|
Protocol Address Length (PLEN) |
Length of the protocol address (e.g., 4 for IPv4) |
1 |
|
Operation (OPER) |
1 for request, 2 for reply |
2 |
|
Sender Hardware Address (SHA) |
MAC address of sender |
6 |
|
Sender Protocol Address (SPA) |
IP address of sender |
4 |
|
Target Hardware Address (THA) |
MAC address of target |
6 |
|
Target Protocol Address (TPA) |
IP address of target |
4 |
S.no |
Use Case |
Description |
---|---|---|
1 |
Departmental Segmentation |
VLANs separate traffic between departments (e.g., HR, Finance, IT) to improve security and reduce broadcast domains. |
2 |
Guest Network Isolation |
Guest users are placed in a separate VLAN to prevent access to internal resources while still allowing internet access. |
3 |
Voice and Data Separation |
IP phones and computers are placed in different VLANs to prioritize voice traffic (VoIP) and ensure call quality. |
4 |
Data Center Multi-Tenancy |
VLANs isolate tenants or applications in data centers, enabling secure and scalable multi-tenant environments. |
5 |
Wireless Network Segmentation |
Different SSIDs are mapped to different VLANs to separate user groups (e.g., staff, students, guests). |
6 |
Security Zones |
VLANs are used to create zones (e.g., DMZ, internal, external) for applying different security policies. |
7 |
Load Balancing and Traffic Management |
VLANs help distribute traffic across multiple paths or devices, improving performance and fault tolerance. |
8 |
Simplified Network Management |
VLANs allow logical grouping of devices regardless of physical location, making network changes easier. |
9 |
Compliance and Auditing |
VLANs help enforce data access policies and simplify auditing by isolating sensitive systems |
10 |
Disaster Recovery and Backup |
VLANs can segment backup traffic from production traffic to ensure performance and security during recovery operations. |
S.no |
Feature |
Description |
---|---|---|
1 |
Logical Segmentation |
VLANs allow logical grouping of devices regardless of physical location, improving network organization. |
2 |
Broadcast Control |
VLANs limit broadcast domains, reducing unnecessary traffic and improving performance. |
3 |
Improved Security |
Devices in different VLANs cannot communicate without a router or Layer 3 switch, enhancing isolation. |
4 |
Traffic Management |
VLANs help prioritize and manage traffic, especially for time-sensitive data like voice or video. |
5 |
Simplified Administration |
VLANs make it easier to manage and reconfigure networks without changing physical cabling. |
6 |
Scalability |
VLANs support large and growing networks by segmenting traffic and reducing congestion. |
7 |
Quality of Service (QoS) |
VLANs can be used with QoS policies to ensure bandwidth for critical applications. |
8 |
Support for Multi-Tenancy |
VLANs enable isolation of different tenants or departments in shared environments like data centers. |
9 |
Dynamic Assignment |
VLANs can be assigned dynamically using protocols like RADIUS and 802.1X for user-based access control. |
10 |
Integration with STP |
VLANs work with Spanning Tree Protocol (STP) variants to prevent loops and ensure redundancy. |
Logical Segmentation - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Create VLAN on switch |
Define VLAN ID 10 |
VLAN created |
2 |
Assign port to VLAN |
Port 1 to VLAN 10 |
Port isolated to VLAN 10 |
3 |
Assign multiple ports to VLAN |
Ports 14 to VLAN 20 |
All ports grouped logically |
4 |
Remove port from VLAN |
Port 2 from VLAN 20 |
Port removed from group |
5 |
Create multiple VLANs |
VLANs 10, 20, 30 |
VLANs created successfully |
6 |
Verify VLAN isolation |
Devices in VLAN 10 and 20 |
No communication between VLANs |
7 |
Enable inter-VLAN routing |
Router-on-a-stick setup |
VLANs can communicate |
8 |
Disable inter-VLAN routing |
ACL blocks traffic |
VLANs isolated |
9 |
Assign VLAN to wireless SSID |
SSID1 VLAN 30 |
Wireless clients segmented |
10 |
Assign VLAN to VoIP phones |
VLAN 40 for voice |
Voice traffic isolated |
11 |
Assign VLAN to CCTV |
VLAN 50 for cameras |
Surveillance traffic isolated |
12 |
Assign VLAN to guest network |
VLAN 60 for guests |
Guest traffic isolated |
13 |
Assign VLAN to printers |
VLAN 70 for printers |
Printer traffic isolated |
14 |
Assign VLAN to servers |
VLAN 80 for servers |
Server traffic isolated |
15 |
Assign VLAN to management |
VLAN 90 for admin |
Management traffic isolated |
16 |
Test VLAN trunking |
Trunk between switches |
VLANs passed correctly |
17 |
Test native VLAN mismatch |
Different native VLANs |
Warning or dropped packets |
18 |
Test VLAN tagging |
802.1Q tags |
Tags applied correctly |
19 |
Test untagged traffic |
Access port |
Traffic assigned to default VLAN |
20 |
Test VLAN propagation via VTP |
VLANs shared across switches |
VLANs synchronized |
21 |
Test VTP pruning |
Unused VLANs pruned |
Bandwidth optimized |
22 |
Test VLAN on L2 switch |
Basic segmentation |
VLANs function correctly |
23 |
Test VLAN on L3 switch |
Routing between VLANs |
Inter-VLAN routing works |
24 |
Test VLAN with DHCP |
VLAN-specific scopes |
IPs assigned correctly |
25 |
Test VLAN with static IPs |
Manual config |
Devices communicate within VLAN |
26 |
Test VLAN with firewall rules |
VLAN-based ACLs |
Traffic filtered |
27 |
Test VLAN with QoS |
Prioritize VLAN 40 |
Voice traffic prioritized |
28 |
Test VLAN with SNMP |
VLAN-specific monitoring |
Data collected per VLAN |
29 |
Test VLAN with syslog |
VLAN-based logging |
Logs show VLAN activity |
30 |
Test VLAN with multicast |
VLAN-specific multicast |
Multicast scoped to VLAN |
31 |
Test VLAN with spanning tree |
Per-VLAN STP |
Loop prevention per VLAN |
32 |
Test VLAN with port security |
MAC binding per VLAN |
Unauthorized access blocked |
33 |
Test VLAN with storm control |
Broadcast limit per VLAN |
Storms mitigated |
34 |
Test VLAN with mirror port |
Monitor VLAN 10 |
Traffic mirrored correctly |
35 |
Test VLAN with redundant links |
Trunk failover |
VLANs remain active |
36 |
Test VLAN with loopback detection |
Loop in VLAN 20 |
Loop blocked |
37 |
Test VLAN with access control |
VLAN-based user access |
Access restricted |
38 |
Test VLAN with dynamic assignment |
RADIUS assigns VLAN |
User placed in correct VLAN |
39 |
Test VLAN with MAC-based VLAN |
MAC address triggers VLAN |
Device assigned correctly |
40 |
Test VLAN with voice VLAN |
Auto-detect VoIP |
Phone placed in voice VLAN |
41 |
Test VLAN with guest VLAN |
Unauthenticated user |
Placed in guest VLAN |
42 |
Test VLAN with management VLAN |
Switch admin access |
Only via VLAN 90 |
43 |
Test VLAN with backup link |
Trunk failover |
VLANs rerouted |
44 |
Test VLAN with cloud-managed switch |
VLAN config via cloud |
VLANs applied remotely |
45 |
Test VLAN with SDN controller |
VLANs via OpenFlow |
Dynamic segmentation |
46 |
Test VLAN with hybrid port |
Tagged + untagged |
Both traffic types handled |
47 |
Test VLAN with IoT devices |
VLAN 100 for IoT |
Devices isolated |
48 |
Test VLAN with BYOD policy |
VLAN 110 for personal devices |
Segmented from corporate |
49 |
Test VLAN with VLAN hopping attack |
Malicious tagging |
Attack blocked |
50 |
Test VLAN with compliance audit |
VLANs documented |
Audit passed |
Broadcast Control - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Broadcast within same VLAN |
Devices in VLAN 10 |
Broadcast received |
2 |
Broadcast across different VLANs |
VLAN 10 to VLAN 20 |
Broadcast blocked |
3 |
Broadcast storm in VLAN |
High broadcast rate |
Contained within VLAN |
4 |
Broadcast from trunk port |
Tagged VLAN 30 |
Only VLAN 30 receives |
5 |
Broadcast from access port |
VLAN 40 |
Only VLAN 40 receives |
6 |
Broadcast from wireless client |
SSID mapped to VLAN 50 |
VLAN 50 receives |
7 |
Broadcast from wired client |
Port in VLAN 60 |
VLAN 60 receives |
8 |
Broadcast with VLAN tagging |
802.1Q tag present |
Routed to correct VLAN |
9 |
Broadcast with no VLAN tag |
Untagged frame |
Assigned to native VLAN |
10 |
Broadcast with VLAN mismatch |
Tag doesn’t match port VLAN |
Dropped |
11 |
Broadcast with VTP enabled |
VLANs synced |
Broadcast scoped correctly |
12 |
Broadcast with VTP disabled |
Manual VLAN config |
Broadcast scoped correctly |
13 |
Broadcast with STP enabled |
Loop prevention |
No broadcast loop |
14 |
Broadcast with STP disabled |
Loop exists |
Broadcast storm risk |
15 |
Broadcast with port mirroring |
Monitor VLAN 70 |
Broadcast visible on mirror |
16 |
Broadcast with ACL applied |
VLAN 80 filtered |
Broadcast blocked |
17 |
Broadcast with ACL not applied |
VLAN 90 open |
Broadcast allowed |
18 |
Broadcast with DHCP request |
VLAN 100 client |
DHCP server in same VLAN responds |
19 |
Broadcast with DHCP relay |
Server in different VLAN |
Relay agent forwards |
20 |
Broadcast with ARP request |
VLAN 110 |
ARP reply received |
21 |
Broadcast with ARP spoofing |
VLAN 120 |
Detected and blocked |
22 |
Broadcast with IGMP snooping |
VLAN 130 multicast |
Controlled broadcast |
23 |
Broadcast with multicast traffic |
VLAN 140 |
Broadcast limited to group |
24 |
Broadcast with unknown MAC |
VLAN 150 |
Flooded within VLAN |
25 |
Broadcast with known MAC |
VLAN 160 |
Directed unicast |
26 |
Broadcast with loopback detection |
VLAN 170 |
Loop blocked |
27 |
Broadcast with storm control |
VLAN 180 |
Broadcast rate limited |
28 |
Broadcast with QoS |
VLAN 190 |
Prioritized handling |
29 |
Broadcast with SNMP trap |
VLAN 200 |
Trap sent to manager |
30 |
Broadcast with syslog |
VLAN 210 |
Logs show broadcast events |
31 |
Broadcast with mirrored VLAN |
VLAN 220 |
Traffic visible on mirror port |
32 |
Broadcast with isolated VLAN |
VLAN 230 |
No inter-port communication |
33 |
Broadcast with community VLAN |
VLAN 240 |
Limited broadcast scope |
34 |
Broadcast with private VLAN |
VLAN 250 |
Broadcast scoped to primary |
35 |
Broadcast with voice VLAN |
VLAN 260 |
Voice traffic isolated |
36 |
Broadcast with guest VLAN |
VLAN 270 |
Guest traffic isolated |
37 |
Broadcast with IoT VLAN |
VLAN 280 |
IoT traffic isolated |
38 |
Broadcast with BYOD VLAN |
VLAN 290 |
Personal devices isolated |
39 |
Broadcast with management VLAN |
VLAN 300 |
Admin traffic isolated |
40 |
Broadcast with native VLAN |
VLAN 1 |
Untagged traffic scoped |
41 |
Broadcast with mismatched native VLANs |
Trunk ports |
Broadcast dropped |
42 |
Broadcast with hybrid port |
Tagged + untagged |
Scoped correctly |
43 |
Broadcast with SDN controller |
VLAN 310 |
Controlled via policy |
44 |
Broadcast with cloud-managed switch |
VLAN 320 |
Scoped via cloud config |
45 |
Broadcast with VLAN hopping attempt |
Malicious tag |
Attack blocked |
46 |
Broadcast with MAC-based VLAN |
VLAN assigned by MAC |
Scoped correctly |
47 |
Broadcast with dynamic VLAN |
Assigned via RADIUS |
Scoped correctly |
48 |
Broadcast with static VLAN |
Manual config |
Scoped correctly |
49 |
Broadcast with VLAN pruning |
Unused VLANs pruned |
Broadcast not forwarded |
50 |
Broadcast with inter-VLAN ACL |
VLAN 330 to VLAN 340 |
Broadcast blocked |
Improved Security - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Device in VLAN 10 pings VLAN 20 |
No L3 routing |
Ping fails |
2 |
Device in VLAN 10 accesses VLAN 10 |
Same VLAN |
Access allowed |
3 |
Device in VLAN 10 accesses VLAN 20 |
No router |
Access denied |
4 |
Device in VLAN 10 accesses VLAN 20 |
With L3 switch |
Access allowed |
5 |
Device in VLAN 10 accesses VLAN 20 |
ACL blocks traffic |
Access denied |
6 |
Device in VLAN 10 accesses VLAN 20 |
ACL allows traffic |
Access allowed |
7 |
VLAN 30 has no gateway |
No routing |
Isolation enforced |
8 |
VLAN 40 has gateway |
Routing enabled |
Communication possible |
9 |
VLAN 50 has firewall rules |
Traffic filtered |
Access controlled |
10 |
VLAN 60 has no firewall |
Open routing |
Access allowed |
11 |
VLAN 70 has port security |
MAC filtering |
Unauthorized blocked |
12 |
VLAN 80 has no port security |
Open access |
All devices allowed |
13 |
VLAN 90 has DHCP |
IP assigned securely |
Device isolated |
14 |
VLAN 100 has static IPs |
Manual config |
Isolation maintained |
15 |
VLAN 110 has rogue DHCP |
Unauthorized server |
Detected and blocked |
16 |
VLAN 120 has ARP spoofing |
Attack attempt |
Blocked by security |
17 |
VLAN 130 has IP spoofing |
Fake IP used |
Blocked by ACL |
18 |
VLAN 140 has MAC spoofing |
Fake MAC used |
Blocked by port security |
19 |
VLAN 150 has guest devices |
Guest VLAN |
Isolated from internal |
20 |
VLAN 160 has internal devices |
Trusted VLAN |
No guest access |
21 |
VLAN 170 has IoT devices |
Segmented VLAN |
No access to core |
22 |
VLAN 180 has servers |
Server VLAN |
Access restricted |
23 |
VLAN 190 has printers |
Printer VLAN |
Access controlled |
24 |
VLAN 200 has VoIP phones |
Voice VLAN |
Isolated from data |
25 |
VLAN 210 has CCTV |
Surveillance VLAN |
No external access |
26 |
VLAN 220 has management devices |
Admin VLAN |
Access restricted |
27 |
VLAN 230 has BYOD devices |
Personal VLAN |
Segmented from corporate |
28 |
VLAN 240 has VLAN hopping attempt |
Malicious tag |
Attack blocked |
29 |
VLAN 250 has ACL logging |
Access attempts logged |
Logs updated |
30 |
VLAN 260 has SNMP traps |
Security alerts |
Traps sent |
31 |
VLAN 270 has syslog |
Security events logged |
Logs show isolation |
32 |
VLAN 280 has mirrored port |
Security monitoring |
Traffic observed |
33 |
VLAN 290 has STP enabled |
Loop prevention |
Secure topology |
34 |
VLAN 300 has STP disabled |
Loop risk |
Broadcast storm possible |
35 |
VLAN 310 has trunk port |
Tagged traffic |
VLANs isolated |
36 |
VLAN 320 has access port |
Untagged traffic |
VLAN assigned |
37 |
VLAN 330 has hybrid port |
Tagged + untagged |
Isolation maintained |
38 |
VLAN 340 has native VLAN mismatch |
Trunk misconfig |
Security warning |
39 |
VLAN 350 has inter-VLAN ACL |
Specific access allowed |
Controlled communication |
40 |
VLAN 360 has no inter-VLAN ACL |
Open routing |
All VLANs accessible |
41 |
VLAN 370 has DHCP snooping |
Rogue DHCP blocked |
Secure IP assignment |
42 |
VLAN 380 has dynamic VLAN assignment |
RADIUS-based |
Secure segmentation |
43 |
VLAN 390 has static VLAN assignment |
Manual config |
Isolation enforced |
44 |
VLAN 400 has MAC-based VLAN |
Device-specific VLAN |
Access controlled |
45 |
VLAN 410 has VLAN-based firewall rules |
Per-VLAN policy |
Access filtered |
46 |
VLAN 420 has VLAN-based QoS |
Prioritized traffic |
Secure and efficient |
47 |
VLAN 430 has VLAN-based monitoring |
VLAN-specific logs |
Security visibility |
48 |
VLAN 440 has VLAN-based alerts |
Intrusion detection |
Alerts triggered |
49 |
VLAN 450 has VLAN-based compliance |
Audit-ready config |
Passed audit |
50 |
VLAN 460 has VLAN-based encryption |
Encrypted VLAN traffic |
Secure communication |
Traffic Management - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Assign voice VLAN |
VLAN 10 for VoIP |
Voice traffic prioritized |
2 |
Assign video VLAN |
VLAN 20 for video |
Video traffic prioritized |
3 |
Assign data VLAN |
VLAN 30 for data |
Standard priority |
4 |
Apply QoS to voice VLAN |
High priority |
Low latency for voice |
5 |
Apply QoS to video VLAN |
Medium priority |
Smooth video playback |
6 |
Apply QoS to data VLAN |
Best-effort |
Normal traffic handling |
7 |
Test voice call quality |
VLAN 10 |
No jitter or delay |
8 |
Test video stream quality |
VLAN 20 |
No buffering |
9 |
Test file transfer |
VLAN 30 |
Normal speed |
10 |
Simulate congestion |
All VLANs |
Voice/video prioritized |
11 |
Apply bandwidth limit |
VLAN 30 |
Data rate controlled |
12 |
Remove bandwidth limit |
VLAN 30 |
Full speed restored |
13 |
Enable traffic shaping |
VLAN 10 |
Smooth traffic flow |
14 |
Disable traffic shaping |
VLAN 10 |
Bursty traffic allowed |
15 |
Enable traffic policing |
VLAN 20 |
Excess traffic dropped |
16 |
Disable traffic policing |
VLAN 20 |
All traffic allowed |
17 |
Enable priority queuing |
VLAN 10 |
Voice packets first |
18 |
Enable weighted fair queuing |
VLAN 20 |
Balanced traffic handling |
19 |
Enable class-based queuing |
VLAN 30 |
Traffic classified |
20 |
Monitor traffic per VLAN |
SNMP or NetFlow |
Usage stats collected |
21 |
Log traffic per VLAN |
Syslog |
Logs show usage |
22 |
Mirror VLAN traffic |
VLAN 10 |
Traffic visible on monitor port |
23 |
Apply ACL to limit traffic |
VLAN 30 |
Access restricted |
24 |
Remove ACL |
VLAN 30 |
Access restored |
25 |
Test VLAN with multicast |
VLAN 40 |
Efficient group delivery |
26 |
Test VLAN with broadcast |
VLAN 50 |
Scoped broadcast |
27 |
Test VLAN with unicast |
VLAN 60 |
Direct delivery |
28 |
Test VLAN with storm control |
VLAN 70 |
Broadcast storm prevented |
29 |
Test VLAN with loop prevention |
VLAN 80 |
STP active |
30 |
Test VLAN with redundant links |
VLAN 90 |
Traffic rerouted |
31 |
Test VLAN with trunk port |
VLAN tags preserved |
Traffic passed correctly |
32 |
Test VLAN with access port |
Untagged traffic |
VLAN assigned |
33 |
Test VLAN with hybrid port |
Tagged + untagged |
Traffic handled properly |
34 |
Test VLAN with native VLAN |
VLAN 1 |
Untagged traffic handled |
35 |
Test VLAN with mismatched native VLANs |
Trunk ports |
Warning or drop |
36 |
Test VLAN with SDN controller |
Dynamic traffic rules |
Traffic managed |
37 |
Test VLAN with cloud-managed switch |
Remote config |
Traffic prioritized |
38 |
Test VLAN with dynamic VLAN assignment |
RADIUS |
Traffic routed correctly |
39 |
Test VLAN with static VLAN assignment |
Manual config |
Traffic routed correctly |
40 |
Test VLAN with MAC-based VLAN |
Device-specific |
Traffic routed correctly |
41 |
Test VLAN with voice detection |
Auto VLAN assignment |
Voice prioritized |
42 |
Test VLAN with video detection |
Auto VLAN assignment |
Video prioritized |
43 |
Test VLAN with guest traffic |
VLAN 100 |
Isolated and limited |
44 |
Test VLAN with IoT traffic |
VLAN 110 |
Segmented and controlled |
45 |
Test VLAN with BYOD traffic |
VLAN 120 |
Segmented and limited |
46 |
Test VLAN with server traffic |
VLAN 130 |
High throughput |
47 |
Test VLAN with printer traffic |
VLAN 140 |
Low priority |
48 |
Test VLAN with backup traffic |
VLAN 150 |
Scheduled and limited |
49 |
Test VLAN with alerting |
Traffic spike |
Alert triggered |
50 |
Test VLAN with compliance policy |
Traffic logs |
Policy enforced |
Simplified Administration - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Create VLAN remotely |
Via switch CLI or GUI |
VLAN created |
2 |
Assign port to VLAN remotely |
No physical access |
Port reassigned |
3 |
Move device to new VLAN |
Change config only |
Device reassigned |
4 |
Rename VLAN |
Update VLAN name |
Name updated |
5 |
Delete unused VLAN |
Remove from config |
VLAN deleted |
6 |
Add new VLAN for department |
HR VLAN created |
Devices grouped |
7 |
Merge two VLANs |
Combine VLAN 10 & 20 |
Unified traffic |
8 |
Split VLAN into two |
VLAN 30 30 & 31 |
Segmented traffic |
9 |
Assign VLAN to new port |
Plug-and-play |
Device joins VLAN |
10 |
Change VLAN for wireless SSID |
Update controller |
Clients reassigned |
11 |
Apply VLAN config via template |
Bulk config |
Multiple switches updated |
12 |
Apply VLAN config via script |
Automated deployment |
VLANs created |
13 |
Apply VLAN config via SDN |
Centralized control |
VLANs pushed |
14 |
Apply VLAN config via cloud |
Remote management |
VLANs updated |
15 |
Backup VLAN configuration |
Save config file |
Backup created |
16 |
Restore VLAN configuration |
Load config file |
VLANs restored |
17 |
Audit VLAN configuration |
Review settings |
Report generated |
18 |
Document VLAN layout |
Export config |
Documentation updated |
19 |
Schedule VLAN changes |
Maintenance window |
Changes applied |
20 |
Rollback VLAN changes |
Revert config |
Previous state restored |
21 |
Assign VLAN via RADIUS |
Dynamic assignment |
User placed in VLAN |
22 |
Assign VLAN via MAC address |
MAC-based VLAN |
Device auto-assigned |
23 |
Assign VLAN via port profile |
Predefined settings |
VLAN applied |
24 |
Assign VLAN via policy |
Role-based access |
VLAN assigned |
25 |
Assign VLAN via DHCP option |
VLAN ID in DHCP |
Device joins VLAN |
26 |
Assign VLAN via SNMP |
Remote config |
VLAN updated |
27 |
Assign VLAN via API |
Programmatic change |
VLAN applied |
28 |
Assign VLAN via GUI |
Web interface |
VLAN assigned |
29 |
Assign VLAN via CLI |
Command line |
VLAN assigned |
30 |
Assign VLAN via mobile app |
Cloud-managed switch |
VLAN assigned |
31 |
Monitor VLAN usage |
SNMP or NetFlow |
Traffic stats collected |
32 |
Log VLAN changes |
Syslog enabled |
Changes recorded |
33 |
Alert on VLAN change |
Notification system |
Admin alerted |
34 |
Test VLAN config on test port |
Lab setup |
VLAN verified |
35 |
Clone VLAN config to new switch |
Replication |
Config copied |
36 |
Sync VLANs across switches |
VTP or manual |
VLANs consistent |
37 |
Prune unused VLANs |
Clean config |
Unused VLANs removed |
38 |
Lock VLAN config |
Prevent changes |
Config protected |
39 |
Tag VLANs with metadata |
Department, purpose |
Easier tracking |
40 |
Visualize VLAN topology |
Network map |
VLAN layout shown |
41 |
Export VLAN config |
CSV or JSON |
File generated |
42 |
Import VLAN config |
From file |
VLANs created |
43 |
Validate VLAN config |
Check for errors |
Validation passed |
44 |
Simulate VLAN changes |
Test environment |
Impact analyzed |
45 |
Apply VLAN config to stack |
Multi-switch config |
VLANs applied |
46 |
Apply VLAN config to fabric |
SDN fabric |
VLANs deployed |
47 |
Apply VLAN config to virtual switch |
Hypervisor |
VLANs applied |
48 |
Apply VLAN config to container network |
Docker/K8s |
VLANs applied |
49 |
Apply VLAN config to cloud VPC |
AWS/Azure/GCP |
VLAN-like segmentation |
50 |
Apply VLAN config to remote site |
WAN link |
VLANs extended |
Scalability - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Create 10 VLANs |
Small-scale segmentation |
VLANs created |
2 |
Create 100 VLANs |
Medium-scale deployment |
VLANs created |
3 |
Create 4094 VLANs |
Maximum VLANs supported |
VLANs created |
4 |
Assign 1000 ports to VLANs |
Large port assignment |
Ports grouped |
5 |
Add new VLAN without downtime |
Live network |
No disruption |
6 |
Remove unused VLANs |
Clean-up |
Resources freed |
7 |
Expand VLANs across switches |
Multi-switch config |
VLANs propagated |
8 |
Use VTP for VLAN sync |
Centralized management |
VLANs synced |
9 |
Use manual VLAN config |
Distributed control |
VLANs consistent |
10 |
Use VLANs in data center |
High-density environment |
Traffic segmented |
11 |
Use VLANs in campus network |
Multi-building setup |
VLANs extended |
12 |
Use VLANs in enterprise network |
Thousands of users |
Traffic managed |
13 |
Use VLANs in ISP network |
Customer segmentation |
Traffic isolated |
14 |
Use VLANs in cloud environment |
Virtual networks |
VLANs mapped |
15 |
Use VLANs in hybrid cloud |
On-prem + cloud |
VLANs integrated |
16 |
Use VLANs in SDN fabric |
Software-defined |
VLANs scalable |
17 |
Use VLANs in container networks |
Kubernetes/Docker |
VLANs applied |
18 |
Use VLANs in virtual machines |
Hypervisor-based |
VLANs assigned |
19 |
Use VLANs in IoT deployments |
Many small devices |
Traffic segmented |
20 |
Use VLANs in smart buildings |
Multiple systems |
VLANs organized |
21 |
Use VLANs in industrial networks |
SCADA/PLC |
VLANs isolated |
22 |
Use VLANs in retail chains |
Multi-site stores |
VLANs replicated |
23 |
Use VLANs in education networks |
Classrooms/labs |
VLANs separated |
24 |
Use VLANs in healthcare networks |
Devices/patients |
VLANs secured |
25 |
Use VLANs in government networks |
Departmental segmentation |
VLANs enforced |
26 |
Use VLANs in financial networks |
High-security zones |
VLANs isolated |
27 |
Use VLANs in hospitality networks |
Guest/staff separation |
VLANs enforced |
28 |
Use VLANs in transportation systems |
Stations/vehicles |
VLANs extended |
29 |
Use VLANs in smart cities |
Public infrastructure |
VLANs scalable |
30 |
Use VLANs in large events |
Temporary networks |
VLANs deployed |
31 |
Use VLANs with automation tools |
Ansible/SaltStack |
VLANs deployed |
32 |
Use VLANs with cloud APIs |
AWS/Azure/GCP |
VLANs provisioned |
33 |
Use VLANs with orchestration |
Terraform |
VLANs managed |
34 |
Use VLANs with monitoring tools |
SNMP/NetFlow |
VLAN stats collected |
35 |
Use VLANs with logging tools |
Syslog/SIEM |
VLAN activity logged |
36 |
Use VLANs with alerting tools |
Prometheus/Zabbix |
VLAN alerts triggered |
37 |
Use VLANs with compliance tools |
PCI/HIPAA |
VLANs audited |
38 |
Use VLANs with backup systems |
VLAN-based routing |
Backup traffic isolated |
39 |
Use VLANs with load balancers |
VLAN-aware routing |
Traffic balanced |
40 |
Use VLANs with firewalls |
VLAN-based rules |
Traffic filtered |
41 |
Use VLANs with VPNs |
VLAN tagging |
Secure segmentation |
42 |
Use VLANs with wireless networks |
SSID to VLAN mapping |
Clients segmented |
43 |
Use VLANs with VoIP systems |
Voice VLANs |
Traffic prioritized |
44 |
Use VLANs with video systems |
Streaming VLANs |
Traffic optimized |
45 |
Use VLANs with storage networks |
iSCSI/NAS VLANs |
Storage isolated |
46 |
Use VLANs with printers |
VLAN for peripherals |
Traffic separated |
47 |
Use VLANs with guest access |
VLAN 100 for guests |
Traffic isolated |
48 |
Use VLANs with BYOD |
VLAN 200 for personal devices |
Traffic segmented |
49 |
Use VLANs with automation scripts |
Dynamic scaling |
VLANs created on demand |
50 |
Use VLANs with AI/ML workloads |
High-bandwidth VLANs |
Traffic optimized |
Quality of Service (QoS) - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Apply QoS to voice VLAN |
VLAN 10 for VoIP |
Voice traffic prioritized |
2 |
Apply QoS to video VLAN |
VLAN 20 for video |
Video traffic prioritized |
3 |
Apply QoS to data VLAN |
VLAN 30 for data |
Best-effort delivery |
4 |
Set DSCP value for voice |
DSCP 46 (EF) |
Marked correctly |
5 |
Set DSCP value for video |
DSCP 34 (AF41) |
Marked correctly |
6 |
Set DSCP value for data |
DSCP 0 (BE) |
Marked correctly |
7 |
Enable QoS on switch |
Global config |
QoS features active |
8 |
Disable QoS on switch |
Global config |
QoS features inactive |
9 |
Configure priority queue |
Voice VLAN |
Voice gets highest priority |
10 |
Configure weighted queue |
Video VLAN |
Balanced traffic handling |
11 |
Configure bandwidth limit |
VLAN 40 |
Traffic capped |
12 |
Remove bandwidth limit |
VLAN 40 |
Full bandwidth restored |
13 |
Apply traffic shaping |
VLAN 50 |
Smooth traffic flow |
14 |
Apply traffic policing |
VLAN 60 |
Excess traffic dropped |
15 |
Monitor QoS statistics |
VLAN 10 |
Stats collected |
16 |
Log QoS events |
VLAN 20 |
Logs show QoS actions |
17 |
Alert on QoS drop |
VLAN 30 |
Notification triggered |
18 |
Test voice call under load |
VLAN 10 |
No jitter or delay |
19 |
Test video stream under load |
VLAN 20 |
No buffering |
20 |
Test file transfer under load |
VLAN 30 |
Lower priority |
21 |
Apply QoS to trunk port |
Tagged VLANs |
QoS policies applied |
22 |
Apply QoS to access port |
Untagged VLAN |
QoS policies applied |
23 |
Apply QoS to hybrid port |
Mixed traffic |
QoS applied correctly |
24 |
Apply QoS to wireless SSID |
VLAN-mapped SSID |
Traffic prioritized |
25 |
Apply QoS to guest VLAN |
VLAN 70 |
Limited bandwidth |
26 |
Apply QoS to IoT VLAN |
VLAN 80 |
Controlled traffic |
27 |
Apply QoS to BYOD VLAN |
VLAN 90 |
Lower priority |
28 |
Apply QoS to server VLAN |
VLAN 100 |
High throughput |
29 |
Apply QoS to printer VLAN |
VLAN 110 |
Low priority |
30 |
Apply QoS to backup VLAN |
VLAN 120 |
Scheduled bandwidth |
31 |
Apply QoS to management VLAN |
VLAN 130 |
High priority |
32 |
Apply QoS to CCTV VLAN |
VLAN 140 |
Video prioritized |
33 |
Apply QoS to SCADA VLAN |
VLAN 150 |
Real-time traffic prioritized |
34 |
Apply QoS to cloud VLAN |
VLAN 160 |
Cloud sync optimized |
35 |
Apply QoS to storage VLAN |
VLAN 170 |
iSCSI/NAS traffic prioritized |
36 |
Apply QoS to VLAN with ACL |
VLAN 180 |
QoS + security enforced |
37 |
Apply QoS to VLAN with STP |
VLAN 190 |
No loop interference |
38 |
Apply QoS to VLAN with multicast |
VLAN 200 |
Efficient delivery |
39 |
Apply QoS to VLAN with broadcast |
VLAN 210 |
Controlled broadcast |
40 |
Apply QoS to VLAN with SNMP |
VLAN 220 |
Monitoring traffic prioritized |
41 |
Apply QoS to VLAN with syslog |
VLAN 230 |
Logging traffic prioritized |
42 |
Apply QoS to VLAN with mirrored port |
VLAN 240 |
Monitoring unaffected |
43 |
Apply QoS to VLAN with SDN |
VLAN 250 |
Dynamic policy applied |
44 |
Apply QoS to VLAN with cloud controller |
VLAN 260 |
Remote policy applied |
45 |
Apply QoS to VLAN with automation |
VLAN 270 |
Scripted QoS applied |
46 |
Apply QoS to VLAN with API |
VLAN 280 |
Programmatic control |
47 |
Apply QoS to VLAN with compliance policy |
VLAN 290 |
Policy enforced |
48 |
Apply QoS to VLAN with alerting |
VLAN 300 |
Alerts on threshold |
49 |
Apply QoS to VLAN with logging |
VLAN 310 |
Logs show QoS actions |
50 |
Apply QoS to VLAN with backup schedule |
VLAN 320 |
Bandwidth reserved |
Support for Multi-Tenancy - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Create VLAN for Tenant A |
VLAN 100 |
Tenant A isolated |
2 |
Create VLAN for Tenant B |
VLAN 200 |
Tenant B isolated |
3 |
Create VLAN for Tenant C |
VLAN 300 |
Tenant C isolated |
4 |
Assign ports to Tenant A VLAN |
Ports 110 |
Traffic scoped to Tenant A |
5 |
Assign ports to Tenant B VLAN |
Ports 1120 |
Traffic scoped to Tenant B |
6 |
Assign ports to Tenant C VLAN |
Ports 2130 |
Traffic scoped to Tenant C |
7 |
Prevent inter-VLAN communication |
No L3 routing |
Tenants isolated |
8 |
Enable inter-VLAN routing |
With ACLs |
Controlled access |
9 |
Apply ACL to block Tenant A from Tenant B |
Security policy |
Access denied |
10 |
Apply ACL to allow Tenant A to access shared services |
Controlled access |
Access allowed |
11 |
Assign VLANs to virtual machines |
Hypervisor config |
VMs isolated |
12 |
Assign VLANs to containers |
Docker/K8s |
Containers isolated |
13 |
Assign VLANs to cloud workloads |
VPC segmentation |
Tenants isolated |
14 |
Assign VLANs to physical servers |
Rack-based config |
Traffic segmented |
15 |
Assign VLANs to storage systems |
NAS/iSCSI |
Storage isolated |
16 |
Assign VLANs to backup systems |
VLAN 400 |
Backup traffic isolated |
17 |
Assign VLANs to monitoring systems |
VLAN 500 |
Monitoring scoped |
18 |
Assign VLANs to management systems |
VLAN 600 |
Admin access isolated |
19 |
Assign VLANs to guest tenants |
VLAN 700 |
Guest traffic isolated |
20 |
Assign VLANs to test environments |
VLAN 800 |
Test traffic isolated |
21 |
Assign VLANs to production environments |
VLAN 900 |
Production traffic isolated |
22 |
Assign VLANs to development environments |
VLAN 1000 |
Dev traffic isolated |
23 |
Assign VLANs to staging environments |
VLAN 1100 |
Staging traffic isolated |
24 |
Assign VLANs to finance department |
VLAN 1200 |
Sensitive data isolated |
25 |
Assign VLANs to HR department |
VLAN 1300 |
HR traffic isolated |
26 |
Assign VLANs to engineering department |
VLAN 1400 |
Engineering traffic isolated |
27 |
Assign VLANs to sales department |
VLAN 1500 |
Sales traffic isolated |
28 |
Assign VLANs to support department |
VLAN 1600 |
Support traffic isolated |
29 |
Assign VLANs to marketing department |
VLAN 1700 |
Marketing traffic isolated |
30 |
Assign VLANs to legal department |
VLAN 1800 |
Legal traffic isolated |
31 |
Assign VLANs to compliance systems |
VLAN 1900 |
Compliance traffic isolated |
32 |
Assign VLANs to analytics systems |
VLAN 2000 |
Analytics traffic isolated |
33 |
Assign VLANs to AI/ML workloads |
VLAN 2100 |
High-bandwidth traffic isolated |
34 |
Assign VLANs to public-facing services |
VLAN 2200 |
External access scoped |
35 |
Assign VLANs to internal services |
VLAN 2300 |
Internal access scoped |
36 |
Assign VLANs to shared infrastructure |
VLAN 2400 |
Controlled access |
37 |
Assign VLANs to load balancers |
VLAN 2500 |
Traffic balanced per tenant |
38 |
Assign VLANs to firewalls |
VLAN 2600 |
Security enforced per tenant |
39 |
Assign VLANs to VPN gateways |
VLAN 2700 |
Secure remote access |
40 |
Assign VLANs to DNS/DHCP servers |
VLAN 2800 |
Network services scoped |
41 |
Assign VLANs to logging systems |
VLAN 2900 |
Logs isolated per tenant |
42 |
Assign VLANs to alerting systems |
VLAN 3000 |
Alerts scoped per tenant |
43 |
Assign VLANs to orchestration tools |
VLAN 3100 |
Automation scoped |
44 |
Assign VLANs to SDN controller |
VLAN 3200 |
Dynamic segmentation |
45 |
Assign VLANs to cloud controller |
VLAN 3300 |
Remote management scoped |
46 |
Assign VLANs to compliance audit tools |
VLAN 3400 |
Audit traffic isolated |
47 |
Assign VLANs to billing systems |
VLAN 3500 |
Financial data isolated |
48 |
Assign VLANs to tenant-specific VLAN groups |
Grouped config |
Logical separation |
49 |
Assign VLANs to tenant-specific QoS policies |
Bandwidth control |
Performance optimized |
50 |
Assign VLANs to tenant-specific ACLs |
Security policy |
Access controlled |
Dynamic Assignment - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
User logs in via 802.1X |
RADIUS assigns VLAN 10 |
User placed in VLAN 10 |
2 |
User logs in with different credentials |
RADIUS assigns VLAN 20 |
User placed in VLAN 20 |
3 |
Guest user logs in |
RADIUS assigns guest VLAN |
Guest isolated |
4 |
Employee logs in |
RADIUS assigns employee VLAN |
Access granted |
5 |
Admin logs in |
RADIUS assigns admin VLAN |
Full access granted |
6 |
Invalid credentials |
RADIUS denies access |
No VLAN assigned |
7 |
RADIUS server unreachable |
Fallback VLAN used |
Default VLAN assigned |
8 |
RADIUS server timeout |
Retry mechanism |
VLAN assigned after retry |
9 |
MAC-based authentication |
Device MAC triggers VLAN |
VLAN assigned |
10 |
Device without 802.1X support |
MAC auth fallback |
VLAN assigned |
11 |
VLAN assigned based on user role |
Role = HR |
HR VLAN assigned |
12 |
VLAN assigned based on device type |
Device = printer |
Printer VLAN assigned |
13 |
VLAN assigned based on location |
Switch port mapping |
VLAN assigned accordingly |
14 |
VLAN assigned based on time of day |
Business hours |
VLAN 30 assigned |
15 |
VLAN assigned based on policy |
Policy engine decision |
VLAN assigned |
16 |
VLAN assigned via RADIUS attribute |
Tunnel-Private-Group-ID |
VLAN ID applied |
17 |
VLAN assigned via dynamic ACL |
RADIUS sends ACL |
Access controlled |
18 |
VLAN assigned via VLAN override |
Local config overridden |
RADIUS VLAN used |
19 |
VLAN assigned via fallback policy |
RADIUS fails |
Default VLAN used |
20 |
VLAN assigned via guest portal |
Captive portal login |
VLAN assigned post-auth |
21 |
VLAN assigned via posture check |
Compliant device |
VLAN assigned |
22 |
VLAN denied due to non-compliance |
Antivirus missing |
Access denied |
23 |
VLAN assigned via certificate auth |
EAP-TLS |
VLAN assigned securely |
24 |
VLAN assigned via username group |
AD group mapping |
VLAN assigned |
25 |
VLAN assigned via endpoint profile |
Device fingerprinting |
VLAN assigned |
26 |
VLAN assigned via NAC policy |
Network Access Control |
VLAN enforced |
27 |
VLAN assigned via switch config |
Dynamic VLAN enabled |
VLAN assigned |
28 |
VLAN assigned via wireless controller |
SSID + RADIUS |
VLAN assigned |
29 |
VLAN assigned via VPN login |
Remote user |
VLAN assigned virtually |
30 |
VLAN assigned via cloud RADIUS |
Azure AD or Okta |
VLAN assigned |
31 |
VLAN assigned via local RADIUS |
On-prem server |
VLAN assigned |
32 |
VLAN assigned via hybrid RADIUS |
Cloud + local fallback |
VLAN assigned |
33 |
VLAN assigned via VLAN pooling |
Load balancing |
VLAN selected from pool |
34 |
VLAN assigned via VLAN override on port |
Port config ignored |
RADIUS VLAN used |
35 |
VLAN assigned via dynamic VLAN on trunk |
Tagged VLAN assigned |
Traffic routed correctly |
36 |
VLAN assigned via dynamic VLAN on access port |
Untagged VLAN assigned |
Traffic routed correctly |
37 |
VLAN assigned via dynamic VLAN on hybrid port |
Mixed traffic handled |
VLAN assigned |
38 |
VLAN assigned via dynamic VLAN on virtual switch |
VM login |
VLAN assigned |
39 |
VLAN assigned via dynamic VLAN on container |
Container startup |
VLAN assigned |
40 |
VLAN assigned via dynamic VLAN on IoT device |
MAC-based auth |
VLAN assigned |
41 |
VLAN assigned via dynamic VLAN on mobile device |
802.1X auth |
VLAN assigned |
42 |
VLAN assigned via dynamic VLAN on printer |
MAC-based VLAN |
VLAN assigned |
43 |
VLAN assigned via dynamic VLAN on guest laptop |
Captive portal + RADIUS |
VLAN assigned |
44 |
VLAN assigned via dynamic VLAN on smart TV |
Device profile |
VLAN assigned |
45 |
VLAN assigned via dynamic VLAN on VoIP phone |
LLDP-MED + RADIUS |
Voice VLAN assigned |
46 |
VLAN assigned via dynamic VLAN on switch uplink |
Trunk port |
VLANs passed correctly |
47 |
VLAN assigned via dynamic VLAN on SDN controller |
Policy-based |
VLAN assigned |
48 |
VLAN assigned via dynamic VLAN on cloud-managed switch |
Remote config |
VLAN assigned |
49 |
VLAN assigned via dynamic VLAN with logging |
Syslog enabled |
Assignment logged |
50 |
VLAN assigned via dynamic VLAN with alerting |
Assignment failure |
Alert triggered |
Integration with STP - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Enable STP on VLAN 10 |
Basic loop prevention |
STP active |
2 |
Enable STP on VLAN 20 |
Redundant links |
STP blocks loop |
3 |
Enable STP on all VLANs |
Global config |
STP active per VLAN |
4 |
Use PVST+ with VLANs |
Per-VLAN STP |
Independent trees |
5 |
Use RPVST+ with VLANs |
Rapid convergence |
Fast recovery |
6 |
Use MSTP with VLANs |
VLANs mapped to instances |
Efficient STP |
7 |
Configure STP priority |
VLAN 10 root bridge |
VLAN 10 elected root |
8 |
Configure STP cost |
VLAN 20 path selection |
Optimal path chosen |
9 |
Configure STP port roles |
VLAN 30 |
Roles assigned correctly |
10 |
Configure STP timers |
VLAN 40 |
Timers adjusted |
11 |
Simulate link failure |
VLAN 50 |
STP re-converges |
12 |
Simulate switch failure |
VLAN 60 |
STP re-elects root |
13 |
Add redundant link |
VLAN 70 |
STP blocks one port |
14 |
Remove redundant link |
VLAN 80 |
STP unblocks port |
15 |
Enable BPDU guard |
VLAN 90 |
Rogue switch blocked |
16 |
Enable BPDU filter |
VLAN 100 |
BPDUs suppressed |
17 |
Enable root guard |
VLAN 110 |
Root bridge protected |
18 |
Enable loop guard |
VLAN 120 |
Loop prevented |
19 |
Enable portfast |
VLAN 130 access port |
Fast transition |
20 |
Disable portfast |
VLAN 130 trunk port |
Normal STP behavior |
21 |
Test STP convergence time |
VLAN 140 |
Converges within expected time |
22 |
Test STP topology change |
VLAN 150 |
Change detected |
23 |
Monitor STP status |
VLAN 160 |
STP active and stable |
24 |
Log STP events |
VLAN 170 |
Events recorded |
25 |
Alert on STP failure |
VLAN 180 |
Notification triggered |
26 |
Test STP with VLAN trunking |
Tagged VLANs |
STP operates correctly |
27 |
Test STP with VLAN access ports |
Untagged VLANs |
STP operates correctly |
28 |
Test STP with hybrid ports |
Mixed traffic |
STP functions properly |
29 |
Test STP with VLAN pruning |
Unused VLANs removed |
STP unaffected |
30 |
Test STP with VLAN mismatch |
Native VLAN conflict |
Warning generated |
31 |
Test STP with VLAN hopping attempt |
Malicious traffic |
STP blocks loop |
32 |
Test STP with VLAN-based ACLs |
Filtered traffic |
STP unaffected |
33 |
Test STP with VLAN-based QoS |
Prioritized traffic |
STP unaffected |
34 |
Test STP with VLAN-based monitoring |
VLAN 190 |
STP status visible |
35 |
Test STP with VLAN-based logging |
VLAN 200 |
Logs show STP activity |
36 |
Test STP with VLAN-based alerting |
VLAN 210 |
Alerts triggered on change |
37 |
Test STP with SDN controller |
VLAN 220 |
STP managed dynamically |
38 |
Test STP with cloud-managed switch |
VLAN 230 |
STP configured remotely |
39 |
Test STP with automation tools |
VLAN 240 |
STP deployed via script |
40 |
Test STP with orchestration tools |
VLAN 250 |
STP managed centrally |
41 |
Test STP with virtual switches |
VLAN 260 |
STP active in VMs |
42 |
Test STP with container networks |
VLAN 270 |
STP active in containers |
43 |
Test STP with IoT VLANs |
VLAN 280 |
Loops prevented |
44 |
Test STP with guest VLANs |
VLAN 290 |
Isolation maintained |
45 |
Test STP with voice VLANs |
VLAN 300 |
Fast convergence |
46 |
Test STP with video VLANs |
VLAN 310 |
No loop interference |
47 |
Test STP with backup VLANs |
VLAN 320 |
Redundant paths managed |
48 |
Test STP with management VLANs |
VLAN 330 |
Admin access protected |
49 |
Test STP with compliance VLANs |
VLAN 340 |
Secure topology maintained |
50 |
Test STP with multi-tenant VLANs |
VLAN 350 |
Isolation and redundancy ensured |
Reference links