Cisco Express Forwarding – Giúp tăng tốc chuyển tiếp gói tin của Cisco
Nếu coi bộ định tuyến Cisco như một “trạm thu phí” trên đường cao tốc, thì Cisco Express Forwarding (CEF) chính là làn thu phí tự động ETC, cho phép xe chạy qua gần như không cần dừng lại. Không còn cảnh “bóp còi” để chờ CPU quyết định đường đi cho từng gói tin, CEF biến việc chuyển tiếp dữ liệu thành một quy trình siêu nhanh, hầu hết được xử lý bằng phần cứng. 1. Nguyên lý của Cisco Express Forwarding
CEF tách mặt phẳng điều khiển (Control Plane) ra khỏi mặt phẳng dữ liệu (Data Plane).
Điểm đặc biệt là CEF không cần “học” từng luồng gói tin như Fast Switching — nó đã có sẵn tất cả đường đi và thông tin rewrite header ngay từ đầu.
2. Hai bảng “xương sống” của CEF
Bảng FIB (Forwarding Information Base)
Ví dụ: Nếu có hai route 192.168.0.0/16 và 192.168.1.0/24, gói tin đến 192.168.1.10 sẽ chọn /24 vì khớp dài hơn. Bảng Liền Kề (Adjacency Table)
Ví dụ: Nếu FIB nói “next-hop là 10.1.1.2”, bảng liền kề sẽ biết MAC của 10.1.1.2 là gì và header Ethernet sẽ như thế nào.
3. Vai trò của khoảng cách quản trị (Administrative Distance – AD)
Khi nhiều giao thức định tuyến chạy song song (OSPF, EIGRP, BGP...), mỗi giao thức có Routing Information Base (RIB) riêng.
4. Cơ chế xử lý gói trong CEF
Khi gói tin đến:
Nhờ đó, CEF có thể xử lý hàng triệu gói mỗi giây mà không “đè” CPU.
5. Trường hợp CEF không thể xử lý bằng phần cứng
Không phải gói nào cũng được “ưu tiên làn ETC”. Một số gói vẫn phải quay về CPU xử lý (Process Switching) vì lý do đặc biệt, ví dụ:
Những gói này gọi là IP exception packets — tốc độ xử lý sẽ chậm hơn.
6. Lợi ích rõ ràng của CEF
💡 Ví dụ thực tế:
Một router CEF-enabled đang chạy OSPF và BGP. Khi nhận gói đi 203.0.113.10:
Nếu coi bộ định tuyến Cisco như một “trạm thu phí” trên đường cao tốc, thì Cisco Express Forwarding (CEF) chính là làn thu phí tự động ETC, cho phép xe chạy qua gần như không cần dừng lại. Không còn cảnh “bóp còi” để chờ CPU quyết định đường đi cho từng gói tin, CEF biến việc chuyển tiếp dữ liệu thành một quy trình siêu nhanh, hầu hết được xử lý bằng phần cứng. 1. Nguyên lý của Cisco Express Forwarding
CEF tách mặt phẳng điều khiển (Control Plane) ra khỏi mặt phẳng dữ liệu (Data Plane).
- Control Plane: Xây dựng bảng FIB và bảng liền kề (Adjacency Table) bằng phần mềm.
- Data Plane: Chuyển tiếp gói unicast IP bằng phần cứng dựa trên thông tin đã chuẩn bị sẵn.
Điểm đặc biệt là CEF không cần “học” từng luồng gói tin như Fast Switching — nó đã có sẵn tất cả đường đi và thông tin rewrite header ngay từ đầu.
2. Hai bảng “xương sống” của CEF
Bảng FIB (Forwarding Information Base)
- Được tạo từ bảng định tuyến IP (Routing Table).
- Chứa tất cả các tuyến đường đã biết, được sắp xếp để tra cứu nhanh nhất.
- Lưu trữ trong TCAM (Ternary Content-Addressable Memory) — tối ưu tra cứu theo khớp dài nhất (Longest Prefix Match).
Ví dụ: Nếu có hai route 192.168.0.0/16 và 192.168.1.0/24, gói tin đến 192.168.1.10 sẽ chọn /24 vì khớp dài hơn. Bảng Liền Kề (Adjacency Table)
- Lấy từ bảng ARP.
- Chứa địa chỉ MAC đích và thông tin rewrite Layer 2 cho từng “next-hop”.
- Mỗi khi một quan hệ liền kề (adjacency) được hình thành, router tính sẵn phần header Layer 2, để khi cần chỉ việc chèn vào gói tin và gửi đi.
Ví dụ: Nếu FIB nói “next-hop là 10.1.1.2”, bảng liền kề sẽ biết MAC của 10.1.1.2 là gì và header Ethernet sẽ như thế nào.
3. Vai trò của khoảng cách quản trị (Administrative Distance – AD)
Khi nhiều giao thức định tuyến chạy song song (OSPF, EIGRP, BGP...), mỗi giao thức có Routing Information Base (RIB) riêng.
- Router sẽ chọn tuyến tốt nhất dựa vào AD — giá trị thể hiện “độ tin cậy” của giao thức.
- AD càng thấp → giao thức càng ưu tiên.
Ví dụ: EIGRP (AD 90) sẽ được chọn thay vì OSPF (AD 110) nếu cùng biết đường đến đích.
4. Cơ chế xử lý gói trong CEF
Khi gói tin đến:
- Router tra FIB để tìm “next-hop” nhanh nhất.
- Router tra Adjacency Table để lấy sẵn thông tin Layer 2.
- Chuyển tiếp ngay bằng phần cứng.
Nhờ đó, CEF có thể xử lý hàng triệu gói mỗi giây mà không “đè” CPU.
5. Trường hợp CEF không thể xử lý bằng phần cứng
Không phải gói nào cũng được “ưu tiên làn ETC”. Một số gói vẫn phải quay về CPU xử lý (Process Switching) vì lý do đặc biệt, ví dụ:
- Gói có IP Options (ví dụ Record Route).
- TTL đã hết hạn.
- Gói phải fragment vì vượt MTU của interface.
- Gói được gửi qua tunnel hoặc kiểu đóng gói không hỗ trợ CEF.
Những gói này gọi là IP exception packets — tốc độ xử lý sẽ chậm hơn.
6. Lợi ích rõ ràng của CEF
- Tốc độ cực cao: Nhờ xử lý bằng ASIC/TCAM, không phải chờ CPU.
- Ổn định: Không phụ thuộc việc “cache” đường đi như fast switching, tránh “cache miss” gây trễ.
- Tối ưu CPU: CPU tập trung xử lý control plane, không phải chuyển tiếp từng gói.
💡 Ví dụ thực tế:
Một router CEF-enabled đang chạy OSPF và BGP. Khi nhận gói đi 203.0.113.10:
- FIB biết “next-hop” là 192.0.2.1.
- Adjacency Table đã có sẵn MAC 00:1A:2B:3C:4D:5E.
- Router ghép MAC vào frame và gửi ngay — toàn bộ diễn ra trong phần cứng, không qua CPU.