🔥 IP Routing – Điều gì thực sự xảy ra khi một packet “đi qua router”?
Rất nhiều người học CCNA hiểu routing là “router chọn đường tốt nhất”.
Nhưng thực tế… đó chỉ là phần nổi của tảng băng.
👉 Điều quan trọng hơn là:
Router xử lý từng packet như thế nào, từng bước một, từ Layer 2 đến Layer 3.
Nếu bạn chưa từng “nhìn tận mắt” quá trình này, thì bài này sẽ giúp bạn hiểu rõ bản chất của IP Routing — thứ mà CCNP/CCIE đều phải nắm rất chắc.
📌 Mô hình lab
Theo sơ đồ trong tài liệu (trang 1):
👉 Nhiệm vụ: H1 gửi packet đến H2
🚀 1. H1 – Bước đầu tiên: Quyết định Local hay Remote
H1 tạo IP packet:
Câu hỏi đầu tiên:
👉 Destination nằm cùng subnet hay khác subnet?
H1 kiểm tra:
=> Network: 192.168.1.0/24
👉 192.168.2.2 KHÔNG thuộc subnet này
➡️ Đây là remote network
🔍 Điều gì xảy ra tiếp theo?
H1 phải gửi packet qua default gateway (192.168.1.254)
Nhưng để gửi frame Ethernet, nó cần MAC address.
👉 H1 kiểm tra ARP table:
Nếu chưa có:
Nếu có:
📦 Frame được tạo
Theo hình minh họa (trang 2):
👉 Điểm cực kỳ quan trọng:
🧠 2. R1 – Router xử lý packet như thế nào?
Khi frame đến R1, nó KHÔNG xử lý ngay IP.
👉 Nó xử lý Layer 2 trước.
🔍 Bước 1: Kiểm tra FCS (Frame Check Sequence)
👉 Đây là lý do packet loss có thể xảy ra ở Layer 2
🔍 Bước 2: Kiểm tra MAC đích
Router chỉ xử lý frame nếu:
🔄 Bước 3: De-encapsulation
Router:
🔍 Bước 4: Kiểm tra IP header
Router kiểm tra:
Nếu checksum sai → drop
🧭 Bước 5: Routing decision
Router lookup bảng định tuyến:
Ví dụ (trang 4):
192.168.2.0/24 via 192.168.12.2
👉 Nghĩa là:
🔁 Recursive routing (rất quan trọng)
Router phải tìm:
👉 Đây gọi là recursive lookup
💡 CCIE thường hỏi sâu phần này
⏳ Bước 6: Giảm TTL
👉 Đây là lý do traceroute hoạt động
🔍 Bước 7: ARP next-hop
Router kiểm tra:
Nếu chưa:
📦 Bước 8: Encapsulation lại
Router tạo frame mới:
👉 Frame được gửi đến R2
🔁 3. R2 – Lặp lại toàn bộ quá trình
R2 thực hiện:
📍 Điểm khác biệt quan trọng
Theo bảng routing (trang 6):
192.168.2.0/24 is directly connected
👉 R2 nhận ra:
➡️ Đây là directly connected network
🔽 Bước tiếp theo
🎯 4. H2 – Nhận packet
H2 sẽ:
👉 Sau đó chuyển lên Layer 4 (TCP/UDP)
🧩 Tổng kết cực kỳ quan trọng
🔥 Host sẽ:
🔥 Router sẽ:
💡 Insight CCNA → CCIE
👉 Sai lầm phổ biến:
“Router chỉ cần routing table là đủ”
❌ Sai
👉 Thực tế:
Routing chỉ là 1 bước trong 8–10 bước xử lý packet
🎯 Ví dụ thực tế
Khi bạn:
👉 Có thể lỗi ở:
🚀 Kết luận
IP Routing không phải là “định tuyến đường đi”.
👉 Nó là một chuỗi xử lý cực kỳ chi tiết giữa Layer 2 và Layer 3.
Hiểu được flow này:
Rất nhiều người học CCNA hiểu routing là “router chọn đường tốt nhất”.
Nhưng thực tế… đó chỉ là phần nổi của tảng băng.
👉 Điều quan trọng hơn là:
Router xử lý từng packet như thế nào, từng bước một, từ Layer 2 đến Layer 3.
Nếu bạn chưa từng “nhìn tận mắt” quá trình này, thì bài này sẽ giúp bạn hiểu rõ bản chất của IP Routing — thứ mà CCNP/CCIE đều phải nắm rất chắc.
📌 Mô hình lab
Theo sơ đồ trong tài liệu (trang 1):
- H1: 192.168.1.1
- R1 – R2 kết nối qua mạng 192.168.12.0
- H2: 192.168.2.2
👉 Nhiệm vụ: H1 gửi packet đến H2
🚀 1. H1 – Bước đầu tiên: Quyết định Local hay Remote
H1 tạo IP packet:
- Source IP: 192.168.1.1
- Destination IP: 192.168.2.2
Câu hỏi đầu tiên:
👉 Destination nằm cùng subnet hay khác subnet?
H1 kiểm tra:
- IP: 192.168.1.1
- Mask: 255.255.255.0
=> Network: 192.168.1.0/24
👉 192.168.2.2 KHÔNG thuộc subnet này
➡️ Đây là remote network
🔍 Điều gì xảy ra tiếp theo?
H1 phải gửi packet qua default gateway (192.168.1.254)
Nhưng để gửi frame Ethernet, nó cần MAC address.
👉 H1 kiểm tra ARP table:
Nếu chưa có:
- Gửi ARP Request: “Ai là 192.168.1.254?”
Nếu có:
- Lấy MAC của gateway
📦 Frame được tạo
Theo hình minh họa (trang 2):
- Source MAC: MAC của H1
- Destination MAC: MAC của R1
- Source IP: 192.168.1.1
- Destination IP: 192.168.2.2
👉 Điểm cực kỳ quan trọng:
- MAC thay đổi theo từng hop
- IP giữ nguyên từ đầu đến cuối
🧠 2. R1 – Router xử lý packet như thế nào?
Khi frame đến R1, nó KHÔNG xử lý ngay IP.
👉 Nó xử lý Layer 2 trước.
🔍 Bước 1: Kiểm tra FCS (Frame Check Sequence)
- Nếu sai → drop ngay
- Ethernet không có cơ chế recover
👉 Đây là lý do packet loss có thể xảy ra ở Layer 2
🔍 Bước 2: Kiểm tra MAC đích
Router chỉ xử lý frame nếu:
- MAC đích = MAC của router
- Broadcast
- Multicast mà router subscribe
🔄 Bước 3: De-encapsulation
Router:
- Bóc bỏ Ethernet frame
- Lấy ra IP packet
🔍 Bước 4: Kiểm tra IP header
Router kiểm tra:
- Header checksum
- Destination IP
Nếu checksum sai → drop
🧭 Bước 5: Routing decision
Router lookup bảng định tuyến:
Ví dụ (trang 4):
192.168.2.0/24 via 192.168.12.2
👉 Nghĩa là:
- Muốn đến 192.168.2.0 → đi qua R2
🔁 Recursive routing (rất quan trọng)
Router phải tìm:
- Next-hop IP → 192.168.12.2
- Interface → Gi0/2
👉 Đây gọi là recursive lookup
💡 CCIE thường hỏi sâu phần này
⏳ Bước 6: Giảm TTL
- TTL: 255 → 254
- Recalculate checksum
👉 Đây là lý do traceroute hoạt động
🔍 Bước 7: ARP next-hop
Router kiểm tra:
- Có MAC của 192.168.12.2 chưa?
Nếu chưa:
- Gửi ARP request
📦 Bước 8: Encapsulation lại
Router tạo frame mới:
- Source MAC: MAC của R1
- Destination MAC: MAC của R2
- IP giữ nguyên
👉 Frame được gửi đến R2
🔁 3. R2 – Lặp lại toàn bộ quá trình
R2 thực hiện:
- Check FCS
- De-encapsulation
- Check IP
- Lookup routing table
📍 Điểm khác biệt quan trọng
Theo bảng routing (trang 6):
192.168.2.0/24 is directly connected
👉 R2 nhận ra:
➡️ Đây là directly connected network
🔽 Bước tiếp theo
- Giảm TTL (254 → 253)
- ARP tìm MAC của H2
- Encapsulate frame mới
🎯 4. H2 – Nhận packet
H2 sẽ:
- Check FCS
- Check MAC đích
- Bóc frame
- Xử lý IP packet
👉 Sau đó chuyển lên Layer 4 (TCP/UDP)
🧩 Tổng kết cực kỳ quan trọng
🔥 Host sẽ:
- Kiểm tra local/remote
- Dùng ARP cho:
- Destination (nếu local)
- Gateway (nếu remote)
🔥 Router sẽ:
- Check FCS
- Check MAC
- De-encapsulation
- Check IP header
- Routing lookup
- Giảm TTL
- ARP next-hop
- Encapsulation lại
- Forward
💡 Insight CCNA → CCIE
👉 Sai lầm phổ biến:
“Router chỉ cần routing table là đủ”
❌ Sai
👉 Thực tế:
Routing chỉ là 1 bước trong 8–10 bước xử lý packet
🎯 Ví dụ thực tế
Khi bạn:
- Ping không được
- Nhưng routing đúng
👉 Có thể lỗi ở:
- ARP
- MAC mismatch
- FCS
- TTL expired
- Interface down
🚀 Kết luận
IP Routing không phải là “định tuyến đường đi”.
👉 Nó là một chuỗi xử lý cực kỳ chi tiết giữa Layer 2 và Layer 3.
Hiểu được flow này:
- Debug nhanh hơn
- Thi CCNP/CCIE dễ hơn
- Thiết kế mạng chuẩn hơn