Các trường hợp ứng dụng chức năng ảo hóa của mạng
1. Ảo hóa chức năng control plane
Ngày nay tất cả các mạng đều cần chức năng này để trao đổi thông tin trạng thái để có thể có được một đường đi từ nguồn đến đích cho các dòng lưu lượng IP. Có ba ví dụ của các chức năng như sau:
Route Reflectors (RR): RR thường được triển khai ở dạng máy chủ chuyên dụng appliance. Nó sẽ học các địa chỉ mạng, các thông tin định tuyến từ các router BGP láng giềng và giúp phân phối các thông tin liên quan đến các láng giềng đó. Trong các mạng lớn, triển khai máy chủ này sẽ làm tăng khả năng mở rộng bằng cách tránh cấu hình các router láng giềng ở dạng full-mesh.
LISP Map-server/Map-Resolvers (MS/MR): Các router LISP MS/MR thực hiện chức năng lưu trữ thông tin về các đầu cuối trong cơ sở dữ liệu phân bố. MS/MR chấp nhận các địa chỉ mạng nhận dạng của các thiết bị đầu cuối và trả lời các truy vấn từ các router LISP xTR (router đóng gói/ mở gói) tìm kiếm thông tin về các đầu cuối.
Wireless LAN controller (WLC): WLC chịu trách nhiệm trong mạng để quản lý các hoạt động và tình trạng của các access point. Ví dụ một chức năng mà WLC làm là xác thực các máy clients và cấu hình của các APs. Triển khai WLC ảo đặc biệt hiệu quả khi các lưu lượng mạng không dây không cần đóng gói ngược về WLC. Khi đó vWLC chỉ đảm nhận chức năng control plane. Hình bên dưới mô tả khái niệm ảo hóa control plane.
2. Ảo hóa mạng chi nhánh
Một ứng dụng khác của NFV là ở môi trường mạng chi nhánh. Ở nhiều chi nhánh, nhiều phần cứng mạng được triển khai. Router cung cấp kết nối ra Internet và kết nối đến phần còn lại của doanh nghiệp. Các thiết bị tối ưu mạng WAN có thể được cài đặt để tối ưu lưu lượng mạng trên WAN. Các Wireless LAN Controller có thể được triển khai trong các chi nhánh lớn hơn để quản lý các access point. Các thiết bị voice hay bảo mật cũng là một thành phần của kiến trúc mạng chi nhánh. Sau cùng ta sẽ cần các switch để kết nối các thành phần này với nhau. Vì trong thiết kế thường đòi hỏi yếu tố dự phòng, vì vậy một số thiết bị phải thêm phần dự phòng. Tất cả các phần cứng này phải bảo trì, quản lý và vận hành. Nhiều doanh nghiệp đang vận hành các mạng doanh nghiệp với hàng trăm, thậm chí hàng ngàn chi nhánh trãi rộng trên nhiều vùng địa lý khác nhau. Bất kỳ một tác vụ nào, một chi phí phát sinh ở một chi nhánh ngay lập tức có thể nhân lên nhiều lần bởi số chi nhánh trong mạng của tổ chức.
Khả năng ảo hóa các chức năng của một hệ thống mạng có thể ảnh hưởng lớn trong một môi trường như trên. Hãy tưởng tượng các chi nhánh của bạn bao gồm 1 server x-86 (hoặc có thể dùng 2 server cho dự phòng). Trong server đó sẽ chạy định tuyến, tối ưu mạng WAN, Wireless LAN controller và các chức năng khác trong một server phần cứng duy nhất. Điều này sẽ đơn giản hóa việc trang bị phần cứng của chi nhánh. Ngoài ra nếu kết hợp với khả năng lập trình và tự động hóa, viễn cảnh ảo hóa chi nhánh sẽ trở nên rất hấp dẫn với các nhà kiến trúc mạng doanh nghiệp. Hình vẽ bên dưới mô tả khái niệm dùng chung nhiều chức năng mạng trong một máy chủ x86 và chạy các ứng dụng mạng trong các máy ảo VM.
3. Tổng quát về kiến trúc của một hệ thống NFV
Một kiến trúc hệ thống ảo hóa bao gồm 4 thành phần:
Trong kiến trúc ảo hóa cơ bản, các tài nguyên phần cứng như CPU, bộ nhớ và ổ cứng được che dấu bởi một lớp hypervisor. Lớp hypervisor này chỉ đưa ra các CPU ảo/bộ nhớ ảo/ ổ cứng ảo cho các máy hoặc cho các ứng dụng chạy bên trên hypervisor. Mục tiêu chính của NFV là chạy các ứng dụng mạng bên trong các máy ảo chứ không chạy trực tiếp trên hệ điều hành của host.
Hình dưới đây mô tả sự khác biệt giữa hypervisor loại 1 và hypervisor loại 2 và Linux container. Hypervisor loại 1 điều khiển trực tiếp phần cứng và cung cấp một môi trường và các tài nguyên ảo (bộ nhớ, ổ cứng, CPU, I/O…) cho một hoặc nhiều máy ảo. Ví dụ của hypervisor kiểu 1 là VMWare ESXI.
Trong hypervisor kiểu 2, một hệ điều hành chuẩn chẳng hạn như Linux sẽ điều khiển phần cứng của máy chủ và hypervisor sẽ chạy trên hệ điều hành này để cung cấp các dịch vụ cho các máy ảo bên trên. Một ví dụ của hypervisor kiểu 2 là KVM cho Linux.
Trong cả hai trường hợp, một hệ điều hành sẽ được sử dụng bên trong các máy ảo để đáp ứng cho tải của các ứng dụng.
Linux container chạy các ứng dụng trong các môi trường riêng biệt bên trên hệ điều hành của máy host. Không cần một hệ điều hành nào. Các không gian tên được dùng là riêng biệt, các ứng dụng cũng được tách biệt bên trong container. Các tài nguyên hệ thống cũng có thể được tách biệt giữa các ứng dụng và kernel và cũng có thể được phân quyền ưu tiên. Các thư viện cũng được chia sẽ khi phù hợp.
Đối với các chức năng mạng ảo, một hoặc nhiều tiến trình có thể chạy bên trong VM để thực hiện chức năng xử lý gói. Các tiến trình này sử dụng các CPU ảo được cấp phát cho VM.
Như bạn có thể hình dung, ảo hóa chức năng mạng cũng sẽ ảnh hưởng đến cách thức bạn triển khai và vận hành hạ tầng mạng. Hãy xem xét yếu tố hiệu năng của hệ thống. Một hệ thống dùng chức năng ảo thì hiệu năng như thế nào so với phần cứng vật lý? Một khía cạnh khác liên quan đến mô hình triển khai: có bao nhiêu chức năng mạng ta nên triển khai trên một host x86? Và cấu hình các chức năng này có giống như khi cấu hình trên phần cứng vật lý hay không?
Về hiệu năng, một máy ảo chạy các ứng dụng VNF sẽ thấp hơn so với cách dùng các phần cứng và phần mềm chuyên dụng như routers, switch, firewall. Các phần cứng chuyên dụng này đã được tối ưu về cả hai phương diện phần cứng và phần mềm trong nhiều thập kỷ.
VnPro