SDN là gì?
SDN (Software-Defined Networking) là một kiến trúc có khả năng trừu tượng hóa các layer khác nhau của mạng, giúp mạng trở nên linh hoạt hơn. Mục tiêu chính của SDN là cải thiện khả năng kiểm soát mạng bằng cách cho phép các doanh nghiệp và nhà cung cấp dịch vụ đáp ứng nhanh chóng khi các nhu cầu kinh doanh thay đổi.
Trong một mạng SDN, quản trị viên có thể định hình lưu lượng từ một console điều khiển tập trung mà không cần phải xử lý từng switch ở trong mạng. Bộ điều khiển SDN tập trung sẽ định hướng cho các switch cung cấp dịch vụ mạng ở bất cứ nơi nào ta cần, với mọi kết nối giữa server và thiết bị.
Kiến trúc của SDN
Một kiến trúc điển hình của SDN bao gồm 3 lớp: lớp ứng dụng, lớp điều khiển và lớp cơ sở hạ tầng.
Không có gì ngạc nhiên khi lớp ứng dụng chứa các ứng dụng mạng hoặc chức năng điển hình mà các tổ chức sử dụng. Nó có thể bao gồm hệ thống phát hiện xâm nhập, cân bằng tải (load balancing) hay firewall. Trong trường hợp mạng truyền thống sử dụng thiết bị chuyên dụng, chẳng hạn như firewall hay bộ cân bằng tải, một SDN sẽ thay thế thiết bị bằng một ứng dụng sử dụng controller để quản lý hành vi của data plane.
Kiến trúc mạng SDN chia thành ba lớp riêng biệt, được kết nối thông qua các API.
Lớp điều khiển (control layer) đại diện cho phần mềm điều khiển SDN tập trung, hoạt động như một bộ não của SDN. Bộ điều khiển này nằm trên một server và quản lý các chính sách cũng như luồng lưu lượng trên toàn mạng.
Lớp cơ sở hạ tầng được tạo từ các switch vật lý ở trong mạng.
Ba lớp này giao tiếp với nhau bằng cách sử dụng các API (Application Programming Interface) southbound và northbound.
Ví dụ: Các ứng dụng giao tiếp với bộ điều khiển thông qua northbound interface, còn bộ điều khiển và switch giao tiếp với nhau bằng southbound interface, như OpenFlow.
Cách hoạt động của SDN
Tiếp theo hãy cũng tìm hiểu cách hoạt động của SDN là gì. SDN bao gồm nhiều loại công nghệ, gồm có phân tách chức năng, ảo hóa mạng và tự động hóa thông qua khả năng lập trình.
Ban đầu, công nghệ Software-defined networking chỉ tập trung phân tách network control plane từ data plane. Trong đó control plan quyết định cách các packet sẽ truyền qua mạng, còn data plane thì di chuyển các packet từ nơi này sang nơi khác.
Cách hoạt động điển hình là: một packet đến một switch mạng, và các quy tắc được tích hợp trong firmware cho biết nơi mà switch cần chuyển tiếp packet đó. Các quy tắc xử lý packet này được gửi đến switch từ một bộ điều khiển tập trung.
Switch – hay còn gọi là thiết bị data plane – truy vấn controller để được hướng dẫn nếu cần, đồng thời cung cấp cho controller thông tin về lưu lượng mà nó xử lý. Switch sẽ gửi mọi packet đến cùng một điểm đến, theo cùng một đường dẫn và xử lý theo một cách duy nhất.
SDN sử dụng một cơ chế hoạt động gọi là adaptive hay dynamic. Trong đó, một switch đưa ra một route request cho controller đối với một packet không có route cụ thể. Quá trình này tách biệt với adaptive routing – đưa ra các route request thông qua router với các thuật toán dựa trên cấu trúc liên kết mạng, chứ không phải thông qua một controller.
Ưu điểm của SDN
SDN có rất nhiều ưu điểm khác nhau, chẳng hạn như:
Với SDN, các quản trị viên có thể thay đổi bất kỳ quy tắc nào của switch khi cần – ưu tiên, loại bỏ hay thậm chí chặn các packet cụ thể với mức độ kiểm soát và bảo mật có độ chi tiết cao. Việc này đặc biệt hữu ích trong kiến trúc điện toán đám mây có nhiều người sử dụng, vì nó cho phép người quản trị quản lý lưu lượng một cách hiệu quả, linh hoạt. Về cơ bản, nó cho phép người quản trị sử dụng các switch có chi phí thấp hơn, có nhiều quyền kiểm soát hơn với các luồng lưu lượng mạng.
Một số lợi ích khác nữa là quản lý mạng và hiển thị end-to-end. Người quản trị chỉ cần xử lý một controller tập trung để phân phối policy đến các switch được kết nối với nhau. Điều này trái ngược với việc cấu hình nhiều thiết bị riêng lẻ. Nó cũng là một lợi thế bảo mật, vì controller có thể giám sát lưu lượng và triển khai các chính sách bảo mật khác. Ví dụ: nếu controller cho rằng có lưu lượng truy cập đáng ngờ, nó có thể dễ dàng định tuyến lại, hoặc drop các packet đó.
SDN còn có thể ảo hóa phần cứng và dịch vụ mà trước đây thường được xử lý bởi phần cứng chuyên dụng. Từ đó giúp giảm diện tích phần cứng và chi phí hoạt động.
Việc áp dụng SDN cho phép doanh nghiệp
Bên cạnh đó, SDN cũng góp phần vào sự ra đời của công nghệ SD-WAN (Software-defined wide area network). SD-WAN sử dụng khả năng virtual overlay của công nghệ SDN. Nó trừu tượng hóa các liên kết kết nối của tổ chức thông qua một WAN, tạo ra một mạng ảo để có thể sử dụng bất kỳ kết nối nào mà controller cho là phù hợp để gửi lưu lượng.
Nhược điểm của SDN
Đối tượng chính sử dụng SDN là những nhà cung cấp dịch vụ, nhà khai thác mạng, viễn thông, cùng một số công ty lớn như Facebook hay Google. Tất cả đều có nguồn lực to lớn để giải quyết và đóng góp vào một công nghệ mới nổi như SDN. Tuy nhiên, vẫn còn một số thách thức như:
- Khả năng bảo mật của SDN là một con dao hai lưỡi. Vì nếu bộ điều khiển tập trung có lỗi, kẻ tấn công có thể tấn công vào toàn mạng.
- Trớ thêu thay, một khó khăn khác nữa cho SDN là: trong ngành công nghiệp mạng không hề có định nghĩa về “Software-defined networking”. Các nhà cung cấp khác nhau cung cấp các cách tiếp cận khác nhau cho SDN, từ mô hình tập trung phần cứng và nền tảng ảo hóa cho đến các thiết kế mạng siêu hội tụ hay những phương pháp không cần controller.
- Một số sáng kiến mạng thường bị nhầm lần với SDN, gồm kết nối mạng white box, phân tách mạng, tự động hóa mạng hay mạng có khả năng lập trình. Mặc dù Software-defined networking có thể tận dụng ưu điểm của những công nghệ vừa kể đến, chúng vẫn là những công nghệ hoàn toàn khác biệt. SDN nổi lên vào năm 2011 khi nó được giới thiệu cùng với giao thức OpenFlow. Kể từ đó, việc ứng dụng Software-defined networking lại diễn ra tương đối chậm, đặc biệt là ở các doanh nghiệp có mạng nhỏ hoặc ít tài nguyên. Ngoài ra, nhiều doanh nghiệp cũng cho rằng chi phí triển khai SDN là một thách thức lớn.
Ứng dụng của SDN
- DevOps – phương pháp tiếp cận dựa trên SDN có thể giúp tự động hóa các bản cập nhật và triển khai ứng dụng, từ đó tạo điều kiện thuận lợi cho DevOps. Cụ thể, SDN giúp tự động hóa các thành phần có sở hạ tầng khi các ứng dụng và nền tảng của DevOps được triển khai.
- Campus network (mạng campus) – Các mạng campus thường khó để quản lý, đặc biệt là khi đang có nhu cầu về việc thống nhất mạng WiFi và Ethernet. SDN controller có thể giúp cung cấp khả năng quản lý tập trung và tự động hóa cho mạng campus. Từ đó cải thiện bảo mật và chất lượng dịch vụ ở cấp độ ứng dụng trên toàn mạng.
- Mạng nhà cung cấp dịch vụ – SDN giúp các nhà cung cấp dịch vụ đơn giản hóa và tự động hóa việc cung cấp mạng để quản lý và kiểm soát dịch vụ và end-to-end.
- Bảo mật trung tâm dữ liệu – SDN hỗ trợ bảo vệ tập trung hơn và đơn giản hóa việc quản trị firewall. Nói chung, một doanh nghiệp phụ thuộc vào tương lửa để bảo mật trung tâm dữ liệu của nó. Tuy nhiên, một trung tâm có thể tạo ra một hệ thống tường lửa phân tán bằng cách thêm các tường lửa ảo để bảo vệ các máy ảo. Lớp bảo mật bổ sung này giúp ngăn vi phạm giữa các máy ảo. Ngoài ra, kiểm soát tập trung và tự động hóa SDN cho phép admin có thể xem, sửa đổi và kiểm soát hoạt động mạng để giảm nguy cơ vi phạm.
SDN cho phép kiểm soát và tự động hóa hoạt động mạng, giúp giảm thiểu nguy cơ vi phạm bảo mật.
Lời kết
Như vậy là bạn đã biết, khái niệm, cách thức hoạt động và ứng dụng của mạng SDN, hy vọng qua bài viết này bạn có thể học được thêm nhiều kiến thức mới, cảm ơn bạn đã dành thời gian đọc bài!