CEF (Cisco Express Forwarding) công nghệ chuyển mạch nhanh của Cisco

ngày 26-08-2019

CEF là một kỹ thuật chuyển mạch IP ở lớp 3 do Cisco phát triển cho các sản phẩm Multilayer Switch (Switch Layer 3) và Router của mình. CEF được đánh giá là kỹ thuật chuyển mạch lớp 3 có tốc độ xử lý khá cao, giúp tối ưu hóa hiệu suất và sự linh động của mạng. CEF được tạo ra để khắc phục những khuyết điểm của các công nghệ chuyển mạch cũ khi nhận thấy những công nghệ chuyển mạch cũ làm tiêu tốn quá nhiều tài nguyên CPU để xử lý quá trình chuyển mạch nhưng không mang lại hiệu quả cao.
 
Trước khi tìm hiểu về CEF, ta sẽ xem qua cách thức hoạt động của các công nghệ chuyển mạch cũ trước khi CEF ra đời. Ở đây mình sẽ đưa ra 2 công nghệ chuyển mạch phổ biến đó là Process Switching và Fast Switching. 
 
Process Switching: là một kỹ thuật chuyển mạch chậm chạp, trước khi gói tin được gửi ra ngoài phải trải qua nhiều bước. Switch nhận gói tin từ interface đầu vào sau đó mở gói tin và so sánh địa chỉ IP đích với thông tin trong bảng định tuyến của mình. Nếu thông tin về đường đi đến mạng đích đã được lưu trong bảng định tuyến thì switch sẽ tìm địa chỉ MAC của next-hop tương ứng với mạng đích của gói tin.
 
Nếu chưa có địa chỉ MAC, switch sử dụng giao thức ARP để xác định địa chỉ MAC tương ứng với next-hop. Sau khi có được địa chỉ MAC, switch sẽ rewrite lại thông tin lớp 2 (địa chỉ MAC nguồn và MAC đích) của gói tin và chuyển gói tin sang interface đầu ra. Tiến trình sẽ hoạt động lặp đi lặp lại như vậy với mỗi gói tin switch nhận được. Toàn bộ quá trình trên đều được thực hiển bởi CPU do đó sẽ làm hao tốn một lượng lớn tài nguyên và gây độ trễ trong quá trình định tuyến.
 
Fast Switching: còn gọi là Route Caching, là phương pháp chuyển mạch cải tiến của process switching. So với cơ chế chuyển mạch sử dụng tài nguyên CPU để xử lý tất cả các gói tin đến thì Fast Switching sẽ chỉ xử lý gói tin đầu tiên qua các bước tương tự như Process Switching nhưng sau đó lưu cache lại các thông tin đã được xử lý. Các gói tin đi sau sẽ dựa trên thông tin đã được cache sẵn để đi đến mạng đích. Như vậy nếu như có 100 gói tin đi đến thì switch chỉ cần xử lý 1 gói tin đầu tiên, còn 99 gói tin còn lại sẽ được chuyển mạch dựa trên thông tin đã lưu lại của gói tin trước đó.
 
CEF (Cisco Express Forwarding): hay còn gọi là Topology-base Switching, là phương thức chuyển mạch cho Cisco phát triển để áp dụng cho các dòng Multilayer Switch và Router của hãng. Các thiết bị này được trang bị thêm một bộ chip hardware đặc biệt gọi là Application-Specific Intergrated Circuits (ASICs) được lập trình sẵn và thiết kế để định tuyến giữa các Ethernet port với tốc độ cao. 
 
Mô hình chuyển mạch sử dụng CEF gồm 2 thành phần chính là Control Plane và Data Plane.
 
  • Control Plan: có nhiệm vụ xây dựng và duy trì thông tin định tuyến bao gồm routing table và ARP table. Các thông tin từ các giao thức định tuyến sẽ được tập trung lưu trữ tại đây. Với mỗi gói tin ip đi đến sẽ được xác định chuyển ra interface nào với địa chỉ đích là bao nhiêu. Cơ chế Layer 3 routing của router đề cập ở trên hoạt động tương tự với cơ chế của control plane. 
  • Data Plane: làm nhiệm vụ định tuyến các gói tin dựa trên những thông tin học được từ control plane. Trong khi ở control plane mọi thứ đều được xử lý bởi CPU thì tại data plane quá trình xử lý định tuyến sẽ được thực hiện bằng phần cứng nhờ vào ASICs. Quá trình xử lý này còn được gọi là layer 3 switching.

 

 
Với CEF, khi gói tin đi vào sẽ được xử lý trực tiếp tại data plane mà không cần phải di chuyển lên control plan. Do đó, quá trình xử lý không tiêu tốn tài nguyên CPU. Mặt khác, data plane hoạt động dựa trên phần cứng ASICs nên sẽ giúp cho CEF đạt được hiệu suất cao hơn rất nhiều so với các phương pháp định tuyến thông thường.
 
Tại data plane, CEF sẽ tạo ra 2 bảng là Forwarding Information Base (FIB table) và Adjacency Table.
 
  • FIB table: được hình thành từ việc trích lọc các thông tin trong routing table. Nó cũng tương tự như một bảng định tuyến, và chỉ bao gồm các thôn tin tối thiểu đủ để forward gói tin mà không chứa thông tin về các giao thức định tuyến.
  • Adjacency table: được hình thành từ việc trích lọc thông tin trong ARP table. Nó chứa thông tin về địa chỉ MAC của các node mạng liền kề (các node mạng được xem là liền kề khi chúng có thể liên lạc với nhau qua một thiết bị layer 2). Các thông tin trong Adjacency table được sử dụng trong quá trình rewrite thông tin lớp 2 của gói tin.
Quá trình trích lọc thông tin để xây dựng bảng FIB và bảng Adjacency
 
Quá trình chuyển mạch gói tin của CEF
 
Mặc định, CEF đã được enable tự động trên hầu hết các thiết bị sử dụng hệ điều hành Cisco IOS phiên bản 12.0 trở lên. Để kiểm tra hoạt động của CEF trên thiết bị ta gõ lệnh như sau: 
 
 
Nếu như cef chưa được bật thì hệ thống sẽ trả về kết quả như hình bên dưới:
 
 
Để bật chức năng CEF, ta gõ lệnh: 
 
 
Để kiểm tra thông tin bảng Adjacency, ta gõ lệnh:
 
 
CHƯƠNG TRÌNH ĐÀO TẠO