Mạng được điều khiển bằng phần mềm (Software Defined Network - SDN) được định nghĩa là một kiến trúc mạng mới được sử dụng để đơn giản hóa việc quản lý mạng và giảm độ phức tạp trong công nghệ mạng. Trong mô hình này, bộ điều khiển mạng được coi như một thành phần mới trong mạng. Bộ điều khiển này có toàn quyền để quản lý và lập trình mạng. Lập trình mạng không giống như cấu hình các thiết bị mạng. Trong quá trình cấu hình, kỹ sư mạng sử dụng một tập hợp các lệnh được xác định trước để thay đổi cài đặt của các thiết bị mạng nhằm thực hiện một số tác vụ nhất định. Ngược lại, khả năng lập trình mạng là quá trình mà một chuyên gia mạng viết các chương trình điều khiển nhiều thiết bị chuyển tiếp gói tin có thể được cấu hình bằng cách sử dụng một số giao thức như OpenFlow. Ví dụ, thiết bị chuyển mạch tầng 2 có thể được lập trình thông qua bộ điều khiển để hoạt động như bất kỳ thiết bị mạng nào, chẳng hạn như tường lửa hoặc bộ định tuyến. Sử dụng cách tiếp cận này, độ phức tạp của quản lý mạng và gỡ lỗi giao thức có thể được giảm bớt. Hơn nữa, nhiều vấn đề bảo mật, chẳng hạn như nhiễm độc giao thức phân giải địa chỉ (ARP) có thể được giải quyết.
SDN là công nghệ mạng mới tách mặt phẳng dữ liệu khỏi mặt phẳng điều khiển. Mặt phẳng dữ liệu được xử lý bởi phần cứng bên dưới truyền các luồng hoặc chặn nó dựa trên các cấu hình được thao tác bởi bộ điều khiển. Tuy nhiên, mặt phẳng điều khiển được xử lý bởi giao thức Openflow và bộ điều khiển. Để hiểu các yếu tố này, Hình 1 cho thấy một sơ đồ đơn giản của cấu trúc liên kết mạng SDN. Trong cấu trúc liên kết này, có thể quan sát thấy ba loại phần cứng khác nhau; Switch, Server ‘bộ điều khiển’ và Computer ‘người dùng’ và hai loại liên kết khác nhau; liên kết điều khiển - chuyển mạch và các liên kết truy cập. Trong phần phụ tiếp theo, chúng tôi sẽ giới thiệu bộ điều khiển (Controller) và liên kết điều khiển - chuyển mạch (Controller-Switch Link) vì chúng là những bộ phận quan trọng nhất trong kiến trúc này.
Hình 1. Cấu trúc liên kết SDN đơn giản
Bộ điều khiển mạng (Controller) là phần chính của mạng SDN. Nó là một máy chủ nơi các nhà phát triển có thể phát triển và viết các thuật toán và cấu trúc liên kết của họ. Nói cách khác, họ lập trình cách mạng sẽ phản ứng với các sự kiện khác nhau. Các ứng dụng này có thể được viết bằng các ngôn ngữ lập trình khác nhau tùy thuộc vào bộ điều khiển được cài đặt. Nhiều bộ điều khiển đã được phát triển trong nhiều năm. Bảng I trình bày tóm tắt về một số bộ điều khiển SDN. Nhiều tài liệu nghiên cứu đã được thực hiện trong lĩnh vực so sánh các số liệu hiệu suất, chẳng hạn như, độ trễ, số lượng luồng và tắc nghẽn của các bộ điều khiển này.
Controller | Development Language |
Floodlight | JAVA |
OpenIRIS | JAVA |
Maestro | JAVA |
NOX | C++/Python |
POX | Python |
Ryu | Python |
Liên kết điều khiển - chuyển mạch (Controller-Switch link): phần quan trọng thứ hai của kiến trúc SDN là giao thức chạy trên liên kết giữa Switch và máy chủ điều khiển. Giao thức này được gọi là Openflow. Openflow định nghĩa định dạng thông điệp, hành động và quy tắc. Trước khi bất kỳ thông điệp nào chuyển giữa bộ điều khiển và Switch, kết nối TCP phải được thiết lập qua Controller-Switch Link. Các bước sau đây cho thấy kiến trúc SDN hoạt động như thế nào.
Đầu tiên, Switch hỗ trợ SDN xử lý thông điệp từ bất kỳ người dùng nào qua bất kỳ liên kết truy cập nào. Nó kiểm tra xem gói tin mới đến có khớp với bất kỳ quy tắc luồng nào được đưa vào trong Switch hay không. Nếu gói tin phù hợp với bất kỳ quy tắc luồng nào, Switch sẽ hoạt động theo hành động được đính kèm với quy tắc này. Thứ hai, nếu không có quy tắc nào được tìm thấy cho gói tin này, Switch sẽ đặt gói tin vào một thông điệp và gửi nó đến bộ điều khiển qua Controller-Switch Link. Thứ ba, bộ điều khiển xử lý gói tin và phân tích nó theo thuật toán đang chạy. Sau đó, nó tạo ra một quy tắc quyết định cho luồng này. Cuối cùng, bộ điều khiển gửi quy tắc luồng mới này đến Switch để thao tác với loại gói tin này.
Tài liệu tham khảo
1. M. Z. Masoud, Y. Jaradat and I. Jannoud, "On preventing ARP poisoning attack utilizing Software Defined Network (SDN) paradigm," 2015 IEEE Jordan Conference on Applied Electrical Engineering and Computing Technologies (AEECT), 2015, pp. 1-5, doi: 10.1109/AEECT.2015.7360549.
Web lưu trữ kiến thức cá nhân đã tham khảo và thấy hữu ích cho người đọc. Các bạn có thể đóng góp bài viết qua địa chỉ: dzokha1010@gmail.com