Software-Defined Networking là gì?

Software-Defined Networking (SDN) là một phương pháp networking sử dụng các controllers dựa trên phần mềm hoặc các APIs để giao tiếp với hạ tầng phần cứng bên dưới và điều khiển traffic trên 1 mạng.
Mô hình này khác với mạng truyền thống, khi mạng truyền thống sử dụng các phần cứng chuyên dụng như routes hay switches để điều khiển network traffic. SDN có thể tạo và điều khiển virtual network hoặc điều khiển phần cứng truyền thống - tất cả đều thông qua phần mềm.
Trong khi ảo hóa network cho phép các doanh nghiệp chia các mạng ảo hóa khác nhau trong cùng một mạng vật lý, hoặc kết nối các thiết bị trên các mạng vật lý khác để tạo thành một mạng ảo hóa duy nhất, SDN là một cách mới để điều khiển routing của các data packet qua một server tập trung.
Tại sao SDN lại quan trọng?
SDN thể hiện một bước tiến đáng kể so với mạng truyền thống:
Tăng tốc và linh hoạt hơn trong việc điều khiển: Thay vì phải cấu hình rất nhiều các thiết bị phần cứng, developers có thể điều khiển flow của traffic trên network chỉ bằng cách lập trình một controller phần mềm. Admin network cũng có thêm sự linh hoạt trong việc chọn lựa thiết bị networking vì họ có thể chọn một giao thức duy nhất cho việc giao tiếp với bất kỳ số lượng thiết bị phần cứng nào thông qua một controller tập trung.
Tùy chỉnh kiến trúc hạ tầng network: Với SDN, admin co thể cấu hình các dịch vụ network và giao các resource để thay đổi hạ tầng network trong thời gian thực thông qua một vị trí tập trung. Việc này cho phép các admin tối ưu flow của dữ liệu đi qua network và ưu tiên các ứng dụng cần nhiều sự khả dụng hơn (availability)
Bảo mật: Một SDN mang lại khả năng hiển thị toàn bộ mạng, cung cấp cái nhìn toàn diện hơn tới các vấn đề bảo mật. Với sự phát triển của các thiết bị thông minh kết nối tới internet, SDN mang lại những lợi ích đáng kể so với mạng truyền thống. Người vận hành có thể tạo các vùng (zone) riêng biệt cho các thiết bị yêu cầu các mức độ bảo mật khác nhau hoặc ngay lập tức cô lập các thiết bị bị xâm nhập trái phép từ đó không ảnh hưởng đến toàn bộ network
Điểm khác biệt quan trọng nhất giữa SDN và mạng truyền thống chính là hạ tầng: SDN dựa trên phần mềm trong khi mạng truyền thống dựa trên phần cứng. Bởi vì control plane dựa trên phần mềm nên SDN sẽ linh hoạt hơn nhiều so với mạng truyền thống. Nó cho phép admin điều khiển network, thay đổi cấu hình, theo dõi tài nguyên và tăng dung lượng mạng - tất cả chỉ từ một UI tập trung không cần nhiều phần cứng hơn.
SDN cũng mang các khác biệt về mặt bảo mật so với mạng truyền thống. SDN mang lại bảo mật tốt hơn trong nhiều mặt tuy nhiên vì SDN dùng một controller tập trung, việc bảo mật controller là tối quan trọng để duy trì một mạng bảo mật.
SDN hoạt động ra sao?
SDN hoạt động cơ bản như sau: Trong SDN cũng như bất kỳ thứ gì khác được ảo hóa, phần mềm được tách ra khỏi phần cứng. SDN di chuyển control plane xác định nơi gửi traffic tới phần mềm và để data plane thực sự di chuyển dữ liệu ở trong phần cứng. Từ đó các admin của mạng dùng SDN để lập trình và điều khiển toàn bộ network thông qua một controller duy nhất thay vì device by device.
Có 3 thành phần trong một kiến trúc SDN cơ bản:
Applications, giao tiếp các request về tài nguyên hoặc thông tin về toàn mạng
Controllers, sử dụng thông tin từ applications để quyết định làm sao để route data packet
Networking devices, nhận thông tin từ controllers về nơi cần đưa data tới

Lợi ích của SDN
Rất nhiều các dịch vụ và ứng dụng hiện nay đặc biệt khi chúng được chuyển lên cloud, không thể sử dụng được nếu không có SDN. SDN cho phép dữ liệu di chuyển dễ dàng giữa các vị trí phân tán - một đặc tính quan trọng của các ứng dụng cloud.
Thêm vào đó, SDN hỗ trợ việc di chuyển các workloads qua mạng một cách nhanh chóng. Ví dụ, chia mạng ảo hóa thành các sections sử dụng một kĩ thuật gọi là NFV (Network Functions Virtualization) cho phép các nhà cung cấp viễn thông chuyển các dịch vụ khách hàng tới các server tiết kiệm chi phí hơn hoặc thậm chí tới server của riêng khách hàng.
Cuối cùng, do tốc độ và tính linh hoạt mà SDN mang lại, nó có thể hỗ trợ việc áp dụng các công nghệ hiện đại như edge computing và IoT - những công nghệ yêu cầu việc di chuyển dữ liệu nhanh chóng và đơn giản giữa các địa điểm từ xa.
Các mô hình SDN khác nhau như thế nào?
- Open SDN: Các admin của network sử dụng một giao thức mở (open protocol) ví dụ như OpenFlow để điều khiển hành vi của các switch vật lý và ảo hóa trong tầng data plane.
SDN bởi APIs: Thay vì dùng giao thức mở, API điều khiển cách dữ liệu di chuyển qua network trên từng thiết bị.
Mô hình SDN Overlay: Một loại SDN khác chạy một mạng ảo hóa trên một hạ tầng vật lý đã có, tạo ra các tunnels để phân biệt data center vật lý và từ xa. Mạng ảo hóa chỉ định băng thông thông qua nhiều kênh và chỉ định thiết bị tới từng kênh, hoàn toàn không phải động tay tới mạng vật lý.
Hybrid SDN: Mô hình này kết hợp SDN với mạng truyền thống trong một môi trường để hỗ trợ các chức năng khác nhau trong một mạng. Các giao thức mạng cơ bản tiếp tục chuyển một vài traffic trong khi SDN chịu trách nhiệm cho các traffic khác.



