Software defined networking architecture

Các phần tử trong kiến trúc phần mềm điều khiển bởi phần mềm (SDN: Software Defined Networking) được mô tả trong hình 1.  Lớp điều khiển dữ liệu Data Plane bao gồm các thiết bị chuyển mạch kết nối với nhau tạo thành một mạng lưới. Tuy nhiên, thay vì dựa vào phần mềm độc quyền chạy trên mỗi thiết bị chuyển mạch để kiểm soát hành vi chuyển tiếp của nó, các thiết bị chuyển mạch trong kiến trúc SDN được điều khiển bởi một hệ điều hành mạng (NOS: Network OS) tương tác với các thiết bị chuyển mạch để cung cấp một mô hình trừu tượng của cấu trúc liên kết mạng sang các ứng dụng chạy trên NOS. Các ứng dụng có thể thích ứng với các hành vi để phù hợp với các yêu cầu cụ thể, ví dụ, việc cung cấp dịch vụ ảo hóa cho phép nhiều mạng logic chia sẻ một mạng vật lý duy nhất – tương tự như cách thức một hypervisor cho phép nhiều máy ảo chia sẻ một máy vật lý.

Lưu ý: Trong khi sơ đồ cho thấy NOS như một thực thể logic, nó có khả năng thực hiện như một cụm phân tán của bộ điều khiển để cung cấp khả năng mở rộng và chịu lỗi.

Open APIs để truy cập với thiết bị chuyển mạch là điều kiện tiên quyết để xây dựng một mạng được quản lý bởi phần mềm:

  1. Forwarding: Giao thức OpenFlow đã được phát triển để các nhà nghiên cứu có thể thử nghiệm với kiểm soát bên ngoài các gói tin chuyển tiếp của bộ chuyển mạch. OpenFlow, nhanh chóng được hỗ trợ, dẫn đến sự hình thành của tổ chức ONF – Open Networking Foundation – để phát triển và thúc đẩy chuẩn OpenFlow.
  2. Configuration: OpenFlow một mình là không đủ – một giao thức cấu hình là cần thiết để gán cấu hình các thiết bị chuyển mạch được quản lý bởi controller nào, cấu hình port và hàng đợi provision. Gần đây, ONF đã phát hành đặc tả OF-Config phiên bản 1.0 để cấu hình thiết bị chuyển mạch OpenFlow. OF-Config là một phần mở rộng của giao thức NETCONF, nó cung cấp một api khả trình XML/RPC mà rất phù hợp với SDN.
  3. Visibility: Những nỗ lực hiện nay trong cộng đồng SDN đang tập trung vào việc cung cấp các dịch vụ mạng. Xa hơn chỉ đơn thuần là cung cấp kết nối để tạo ra một NOS nhận biết được hiệu suất mạng yêu cầu một API cho phép theo dõi lưu lượng chuyển mạch. NOS giám sát hiệu năng cho phép các ứng dụng quản lý phân bổ nguồn lực, cần bằng tải và đảm bảo chất lượng dịch vụ.

Phần còn lại của bài viết này xem xét các cách tiếp cận khác nhau để giám sát hiệu suất chuyển đổi, điểm mạnh và điểm yếu của chúng trong bối cảnh mạng được điều khiển bởi phần mềm.

NetFlow/IPFIX and sFlow

Hình 2. NetFlow/IPFIX and sFlow

API phổ biến nhất để theo dõi hiệu suất chuyển mạch, NetFlow/IPFIX và sFlow, được mô tả trong hình 2.

  1. NetFlow/IPFIX: Cisco NetFlow và IPFIX định nghĩa một giao thức cho việc export các bản ghi flow. Một bản ghi flow tóm tắt một tập hợp các gói tin chia sẻ các thuộc tính chung – ví dụ, một flow bao gồm giao diện xâm nhập, địa chỉ IP nguồn, IP đích, giao thức IP, cổng TCP/UDP nguồn, cổng TCP/UDP đích, IP ToS, thời gian bắt đầu, thời gian kết thúc, số gói dữ liệu và số byte. Hình 2 cho thấy các bước thực hiện việc chuyển đổi để xây dựng flow records. . . .  .
  2. sFlow: Với sự giám sát sFlow, việc giải mã, băm, flow cache và flush không còn được thực hiện trên thiết bị chuyển mạch. Thay vào đó, headers của mẫu gói tin được gửi đến các ứng dụng phân tích lưu lượng, giải mã các gói và tập hợp dữ liệu. Ngoài ra, sFlow cung cấp một chức năng polling, định kỳ gửi các bộ đếm giao tiếp chuẩn tới ứng dụng phân tích lưu lượng, loại bỏ sự cần thiết SNMP polling, xem Link utilization.

Do sự khác biệt giữa hai công nghệ, các thuộc tính sau làm nổi bật tính năng của sFlow mà làm cho nó là một lựa cho hấp dẫn để cung cấp khả năng giám sát trong môi trường SDN:

  1. Software Defined: Với sFlow, việc giải mã và phân tích lưu lượng mạng được thực hiện bởi phần mềm bên ngoài, cho phép NOS điều chỉnh việc đo cho phù hợp với mô hình mạng nội bộ của mình. Ngược lại, việc giải mã, băm, flush, pipline cần thiết để tạo ra các bản ghi flow records thường được thực hiện trong phần cứng. Đo đạc dựa trên phần cứng là không linh hoạt, đòi hỏi phải nâng cấp phần cứng/phần sụn của nhà cung cấp để thực hiện các phép đo mới. Sự khác biết phần cứng có nghĩa là đo lường không phù hợp giữa các nhà cung cấp, hoặc thậm chí giữa các sản phẩm khác nhau từ một nhà cung cấp.
  2. Lightweight: Kiến trúc sFlow giảm thiểu tài nguyên tiêu thu trên thiết bị chuyển mạch. Ngược lại, việc đo dựa trên sự tiêu thụ các nguồn tài nguyên khan hiếm TCAM sẽ được sử dụng tốt hơn để tăng số lượng các gói tin chuyển tiếp.

 

Trong trung tâm dữ liệu, SDN đang được sử dụng như một thành phần của hệ thống đám mây như: OpenStack CloudStack  để quản lý mạng, máy chủ và các tài nguyên ứng dụng để cung cấp cơ sở hạ tầng như một dịch vụ (IaaS: Infrastructure as a Service), nền tảng như một dịch vụ (PaaS: Platform as a Service) và phần mềm như một dịch vụ (SaaS: Software as a Service). Chuẩn sFlow hỗ trợ điện toán đám mây bằng cách cung cấp thống nhất, khả năng giám sát liên kết mạng, hệ thống và hiệu suất ứng dụng trong một hệ thống tích hợp duy nhất.

About The Author