PC đã có IP, Switch đã chia VLAN, vậy tại sao VLAN 10 vẫn không thể ping VLAN 20?
Đây là một bài LAB rất quen thuộc khi học CCNA. Nhưng điều quan trọng không nằm ở việc nhớ vài dòng lệnh cấu hình.
Câu hỏi cần hiểu là:
Đó chính là bài toán Router-on-a-Stick.
🔎 VÌ SAO SWITCH KHÔNG TỰ ROUTING GIỮA CÁC VLAN?
Giả sử:
VLAN 10 – IT
Network: 192.168.10.0/24
VLAN 20 – HR
Network: 192.168.20.0/24
PC-A:
192.168.10.10/24
PC-B:
192.168.20.10/24
Hai PC có thể cùng kết nối vào một Switch nhưng vẫn thuộc hai broadcast domain và hai IP subnet khác nhau.
Switch Layer 2 chuyển Ethernet Frame dựa trên MAC Address trong phạm vi VLAN, nhưng không thực hiện Layer 3 routing giữa hai subnet.
Khi PC-A gửi traffic đến 192.168.20.10, nó nhận ra destination nằm ngoài subnet 192.168.10.0/24.
Vì vậy packet phải được gửi đến Default Gateway của VLAN 10.
Đây chính là nơi Router tham gia vào bài toán.
🧩 ROUTER-ON-A-STICK HOẠT ĐỘNG THẾ NÀO?
Thay vì sử dụng một cổng vật lý riêng cho từng VLAN, Router sử dụng một interface vật lý và tạo nhiều Sub-interface.
Ví dụ:
G0/0.10 → VLAN 10 → 192.168.10.1/24
G0/0.20 → VLAN 20 → 192.168.20.1/24
Sub-interface là interface logic, không phải cổng vật lý mới.
Mỗi Sub-interface được liên kết với VLAN thông qua 802.1Q VLAN ID.
Nhờ đó, một cổng vật lý G0/0 có thể đồng thời làm Gateway cho nhiều VLAN.
🔌 VÌ SAO SWITCH – ROUTER PHẢI DÙNG TRUNK?
Một kết nối vật lý nhưng phải mang traffic của nhiều VLAN, vì vậy link giữa Switch và Router phải hoạt động ở chế độ Trunk.
Trên trunk, Switch sử dụng 802.1Q tagging để mang thông tin VLAN theo Frame.
Ví dụ:
VLAN 10 → 802.1Q Tag 10 → Trunk → Router
VLAN 20 → 802.1Q Tag 20 → Trunk → Router
Router dựa vào VLAN ID để đưa traffic vào đúng Sub-interface:
G0/0.10 → encapsulation dot1Q 10
G0/0.20 → encapsulation dot1Q 20
Từ đây Router có thể xử lý packet ở Layer 3 và thực hiện routing giữa các subnet.
🧪 PACKET FLOW: VLAN 10 PING VLAN 20
Đây là phần quan trọng nhất của LAB.
PC-A 192.168.10.10/24 ping PC-B 192.168.20.10. 1️⃣ PC-A KIỂM TRA DESTINATION
PC-A nhận thấy 192.168.20.10 không thuộc subnet 192.168.10.0/24.
Vì vậy PC-A gửi packet đến Default Gateway 192.168.10.1.
Nếu chưa biết MAC của Gateway, PC-A sử dụng ARP để tìm MAC tương ứng.
2️⃣ PC-A GỬI FRAME VÀO ACCESS PORT
PC-A thuộc VLAN 10.
Frame đi vào Switch qua Access Port thuộc VLAN 10.
Switch xác định Frame thuộc VLAN 10 và chuyển traffic về phía Router.
3️⃣ SWITCH ĐƯA FRAME LÊN TRUNK
Frame đi ra cổng kết nối Router.
Đây là Trunk Port, cho phép nhiều VLAN cùng đi qua.
Frame VLAN 10 được mang thông tin 802.1Q VLAN ID 10.
Router nhận Frame và xác định traffic này thuộc VLAN 10.
4️⃣ ROUTER XỬ LÝ TẠI G0/0.10
Router đưa traffic vào:
G0/0.10
Sub-interface này có địa chỉ:
192.168.10.1/24
Router xử lý packet ở Layer 3 và kiểm tra destination:
192.168.20.10
Sau đó Router tra Routing Table để xác định đường đi.
5️⃣ ROUTER ROUTING SANG VLAN 20
Routing table cho Router biết:
192.168.20.0/24
là network được kết nối trực tiếp thông qua:
G0/0.20
Router thực hiện Layer 3 routing và chuyển packet sang Sub-interface VLAN 20.
Đây chính là bước mà Switch Layer 2 không thể tự thực hiện.
6️⃣ TRAFFIC QUAY VỀ LAYER 2 VÀ ĐẾN PC-B
Router tạo Ethernet Frame mới cho mạng VLAN 20.
Nếu chưa biết MAC của PC-B, Router sử dụng ARP để tìm MAC tương ứng.
Sau đó Frame được gửi qua trunk về Switch với VLAN 20.
Switch đưa Frame vào VLAN 20 và chuyển đến PC-B.
Flow hoàn chỉnh:
PC-A → Access Port → VLAN 10 → Trunk → 802.1Q → G0/0.10 → Layer 3 Routing → G0/0.20 → Trunk → VLAN 20 → PC-B
Đây chính là bản chất của Router-on-a-Stick.
⚠️ PC CÓ IP NHƯNG VẪN KHÔNG PING ĐƯỢC?
Khi LAB lỗi, đừng chỉ kiểm tra IP. Hãy kiểm tra theo chính packet flow.
❌ Sai Default Gateway
VLAN 10 phải dùng 192.168.10.1, VLAN 20 dùng 192.168.20.1.
❌ Access Port sai VLAN
PC-A phải thuộc VLAN 10, PC-B thuộc VLAN 20.
❌ Link Switch – Router không phải Trunk
Traffic VLAN không thể đến đúng Sub-interface.
❌ VLAN ID không khớp
Ví dụ Switch truyền VLAN 20 nhưng Router cấu hình:
encapsulation dot1Q 30
Traffic sẽ không được map đúng.
❌ Sai Sub-interface hoặc IP
VLAN ID và địa chỉ IP trên Sub-interface phải tương ứng với subnet của VLAN.
Vì vậy có thể kiểm tra theo chuỗi:
IP → Gateway → VLAN → Access Port → Trunk → 802.1Q → Sub-interface → Routing
💡 ĐIỂM DỄ NHẦM TRONG CCNA
Router-on-a-Stick không có nghĩa Router chỉ xử lý một VLAN.
“One Stick” nói đến việc nhiều VLAN cùng sử dụng một kết nối vật lý giữa Switch và Router.
Khả năng phân biệt VLAN đến từ:
802.1Q + Sub-interface
Còn khả năng giao tiếp giữa các subnet đến từ:
Layer 3 Routing
Vì vậy một bài LAB Router-on-a-Stick kết nối rất nhiều kiến thức CCNA:
VLAN + Access Port + Trunk + 802.1Q + Sub-interface + Default Gateway + ARP + Routing
🎯 ĐỪNG CHỈ HỌC “CẤU HÌNH GÌ”
Nếu chỉ nhớ:
interface g0/0.10
encapsulation dot1Q 10
thì rất dễ quên.
Quan trọng hơn là phải hiểu:
Khi hiểu được 6 bước packet flow, bạn không chỉ biết cấu hình Router-on-a-Stick mà còn có thể xác định packet đang bị đứt ở đâu khi LAB không hoạt động.
🔥 Đó mới là cách học CCNA: không chỉ biết cấu hình đúng, mà phải hiểu vì sao packet lại đi như vậy.
📌 Hãy thử dựng LAB Router-on-a-Stick trên Packet Tracer và cố tình tạo lỗi ở từng thành phần. Sau đó dùng packet flow để tìm chính xác điểm bị đứt.
Đây là một bài LAB rất quen thuộc khi học CCNA. Nhưng điều quan trọng không nằm ở việc nhớ vài dòng lệnh cấu hình.
Câu hỏi cần hiểu là:
Khi PC ở VLAN 10 muốn giao tiếp với PC ở VLAN 20, packet thực sự đi qua những đâu?
Đó chính là bài toán Router-on-a-Stick.
🔎 VÌ SAO SWITCH KHÔNG TỰ ROUTING GIỮA CÁC VLAN?
Giả sử:
VLAN 10 – IT
Network: 192.168.10.0/24
VLAN 20 – HR
Network: 192.168.20.0/24
PC-A:
192.168.10.10/24
PC-B:
192.168.20.10/24
Hai PC có thể cùng kết nối vào một Switch nhưng vẫn thuộc hai broadcast domain và hai IP subnet khác nhau.
Switch Layer 2 chuyển Ethernet Frame dựa trên MAC Address trong phạm vi VLAN, nhưng không thực hiện Layer 3 routing giữa hai subnet.
Khi PC-A gửi traffic đến 192.168.20.10, nó nhận ra destination nằm ngoài subnet 192.168.10.0/24.
Vì vậy packet phải được gửi đến Default Gateway của VLAN 10.
Đây chính là nơi Router tham gia vào bài toán.
🧩 ROUTER-ON-A-STICK HOẠT ĐỘNG THẾ NÀO?
Thay vì sử dụng một cổng vật lý riêng cho từng VLAN, Router sử dụng một interface vật lý và tạo nhiều Sub-interface.
Ví dụ:
G0/0.10 → VLAN 10 → 192.168.10.1/24
G0/0.20 → VLAN 20 → 192.168.20.1/24
Sub-interface là interface logic, không phải cổng vật lý mới.
Mỗi Sub-interface được liên kết với VLAN thông qua 802.1Q VLAN ID.
Nhờ đó, một cổng vật lý G0/0 có thể đồng thời làm Gateway cho nhiều VLAN.
🔌 VÌ SAO SWITCH – ROUTER PHẢI DÙNG TRUNK?
Một kết nối vật lý nhưng phải mang traffic của nhiều VLAN, vì vậy link giữa Switch và Router phải hoạt động ở chế độ Trunk.
Trên trunk, Switch sử dụng 802.1Q tagging để mang thông tin VLAN theo Frame.
Ví dụ:
VLAN 10 → 802.1Q Tag 10 → Trunk → Router
VLAN 20 → 802.1Q Tag 20 → Trunk → Router
Router dựa vào VLAN ID để đưa traffic vào đúng Sub-interface:
G0/0.10 → encapsulation dot1Q 10
G0/0.20 → encapsulation dot1Q 20
Từ đây Router có thể xử lý packet ở Layer 3 và thực hiện routing giữa các subnet.
🧪 PACKET FLOW: VLAN 10 PING VLAN 20
Đây là phần quan trọng nhất của LAB.
PC-A 192.168.10.10/24 ping PC-B 192.168.20.10. 1️⃣ PC-A KIỂM TRA DESTINATION
PC-A nhận thấy 192.168.20.10 không thuộc subnet 192.168.10.0/24.
Vì vậy PC-A gửi packet đến Default Gateway 192.168.10.1.
Nếu chưa biết MAC của Gateway, PC-A sử dụng ARP để tìm MAC tương ứng.
2️⃣ PC-A GỬI FRAME VÀO ACCESS PORT
PC-A thuộc VLAN 10.
Frame đi vào Switch qua Access Port thuộc VLAN 10.
Switch xác định Frame thuộc VLAN 10 và chuyển traffic về phía Router.
3️⃣ SWITCH ĐƯA FRAME LÊN TRUNK
Frame đi ra cổng kết nối Router.
Đây là Trunk Port, cho phép nhiều VLAN cùng đi qua.
Frame VLAN 10 được mang thông tin 802.1Q VLAN ID 10.
Router nhận Frame và xác định traffic này thuộc VLAN 10.
4️⃣ ROUTER XỬ LÝ TẠI G0/0.10
Router đưa traffic vào:
G0/0.10
Sub-interface này có địa chỉ:
192.168.10.1/24
Router xử lý packet ở Layer 3 và kiểm tra destination:
192.168.20.10
Sau đó Router tra Routing Table để xác định đường đi.
5️⃣ ROUTER ROUTING SANG VLAN 20
Routing table cho Router biết:
192.168.20.0/24
là network được kết nối trực tiếp thông qua:
G0/0.20
Router thực hiện Layer 3 routing và chuyển packet sang Sub-interface VLAN 20.
Đây chính là bước mà Switch Layer 2 không thể tự thực hiện.
6️⃣ TRAFFIC QUAY VỀ LAYER 2 VÀ ĐẾN PC-B
Router tạo Ethernet Frame mới cho mạng VLAN 20.
Nếu chưa biết MAC của PC-B, Router sử dụng ARP để tìm MAC tương ứng.
Sau đó Frame được gửi qua trunk về Switch với VLAN 20.
Switch đưa Frame vào VLAN 20 và chuyển đến PC-B.
Flow hoàn chỉnh:
PC-A → Access Port → VLAN 10 → Trunk → 802.1Q → G0/0.10 → Layer 3 Routing → G0/0.20 → Trunk → VLAN 20 → PC-B
Đây chính là bản chất của Router-on-a-Stick.
⚠️ PC CÓ IP NHƯNG VẪN KHÔNG PING ĐƯỢC?
Khi LAB lỗi, đừng chỉ kiểm tra IP. Hãy kiểm tra theo chính packet flow.
❌ Sai Default Gateway
VLAN 10 phải dùng 192.168.10.1, VLAN 20 dùng 192.168.20.1.
❌ Access Port sai VLAN
PC-A phải thuộc VLAN 10, PC-B thuộc VLAN 20.
❌ Link Switch – Router không phải Trunk
Traffic VLAN không thể đến đúng Sub-interface.
❌ VLAN ID không khớp
Ví dụ Switch truyền VLAN 20 nhưng Router cấu hình:
encapsulation dot1Q 30
Traffic sẽ không được map đúng.
❌ Sai Sub-interface hoặc IP
VLAN ID và địa chỉ IP trên Sub-interface phải tương ứng với subnet của VLAN.
Vì vậy có thể kiểm tra theo chuỗi:
IP → Gateway → VLAN → Access Port → Trunk → 802.1Q → Sub-interface → Routing
💡 ĐIỂM DỄ NHẦM TRONG CCNA
Router-on-a-Stick không có nghĩa Router chỉ xử lý một VLAN.
“One Stick” nói đến việc nhiều VLAN cùng sử dụng một kết nối vật lý giữa Switch và Router.
Khả năng phân biệt VLAN đến từ:
802.1Q + Sub-interface
Còn khả năng giao tiếp giữa các subnet đến từ:
Layer 3 Routing
Vì vậy một bài LAB Router-on-a-Stick kết nối rất nhiều kiến thức CCNA:
VLAN + Access Port + Trunk + 802.1Q + Sub-interface + Default Gateway + ARP + Routing
🎯 ĐỪNG CHỈ HỌC “CẤU HÌNH GÌ”
Nếu chỉ nhớ:
interface g0/0.10
encapsulation dot1Q 10
thì rất dễ quên.
Quan trọng hơn là phải hiểu:
PC đang ở VLAN nào? Destination nằm cùng subnet hay khác subnet? Gateway ở đâu? Traffic đi qua Access hay Trunk? Router nhận VLAN bằng cách nào? Routing table đưa packet đi đâu?
Khi hiểu được 6 bước packet flow, bạn không chỉ biết cấu hình Router-on-a-Stick mà còn có thể xác định packet đang bị đứt ở đâu khi LAB không hoạt động.
🔥 Đó mới là cách học CCNA: không chỉ biết cấu hình đúng, mà phải hiểu vì sao packet lại đi như vậy.
📌 Hãy thử dựng LAB Router-on-a-Stick trên Packet Tracer và cố tình tạo lỗi ở từng thành phần. Sau đó dùng packet flow để tìm chính xác điểm bị đứt.