- SDN tách biệt mặt điều khiển khỏi mặt dữ liệu, cho phép lập trình mạng bằng các bộ điều khiển và API mở như OpenFlow.
- Mạng định nghĩa bằng phần mềm (SDN) giúp đơn giản hóa việc quản lý, cải thiện khả năng hiển thị và mở rộng quy mô, đồng thời giảm chi phí đầu tư (CAPEX) và chi phí vận hành (OPEX) so với các mạng truyền thống.
- Kiến trúc của nó dựa trên các ứng dụng SDN, bộ điều khiển logic tập trung và các đường dẫn dữ liệu lập trình được, được điều phối bởi các giao diện phía bắc và phía nam.
- ONF và các bên liên quan khác đang thúc đẩy các tiêu chuẩn và các trường hợp sử dụng thực tế bao gồm mạng WAN doanh nghiệp, trung tâm dữ liệu, điện toán đám mây, dữ liệu lớn và IoT.

Mạng định nghĩa bằng phần mềm (SDN) đã thay đổi hoàn toàn cách thiết kế, triển khai và quản lý cơ sở hạ tầng truyền thông . Những gì trước đây là một khuôn khổ cứng nhắc gồm các thiết bị vật lý và cấu hình thủ công giờ đây có thể được quản lý gần giống như mã lập trình, với tốc độ, tính linh hoạt và khả năng hiển thị cao hơn nhiều về những gì đang diễn ra ở mọi ngóc ngách của mạng.
Phương pháp tiếp cận mới này không tự nhiên mà có: đó là kết quả của nhiều thập kỷ nghiên cứu và một số cột mốc công nghệ , từ các mạng hoạt động tích cực của những năm 90 đến việc chuẩn hóa OpenFlow và tạo ra một hệ sinh thái hoàn chỉnh gồm các bộ điều khiển, API và ứng dụng. Chúng ta hãy cùng xem xét từng bước quá trình hình thành nên SDN, những vấn đề mà SDN giải quyết, cách thức hoạt động bên trong và những tình huống thực tế nào mà nó đang được sử dụng hiện nay.
Nguồn gốc và lịch sử của mạng định nghĩa bằng phần mềm (SDN)
Câu chuyện về SDN bắt đầu khoảng 20 năm trước, vào buổi bình minh của internet thương mại , khi sự thành công của mạng lưới toàn cầu cho thấy rõ rằng cơ sở hạ tầng truyền thông cần phải được sửa đổi và phát triển dễ dàng hơn nhiều. Từ đó, có thể phân biệt ba giai đoạn chính đã mở đường cho những gì chúng ta hiện gọi là SDN.
Giai đoạn đầu tiên tương ứng với các mạng hoạt động (khoảng năm 1995-2000) . Ý tưởng là mở mạng lưới cho việc lập trình, tương tự như cách lập trình máy tính cá nhân, nhưng áp dụng cho từng nút giao tiếp. Để đạt được điều này, một API đã được định nghĩa trong các thiết bị mạng, cho phép truy cập các tài nguyên như sức mạnh tính toán, bộ nhớ, hàng đợi gói tin và các chức năng xử lý, cho phép tải mã để áp dụng các hành vi tùy chỉnh cho các luồng lưu lượng cụ thể.
Cách tiếp cận này trái ngược với quan điểm của những người cho rằng cách duy nhất để internet mở rộng quy mô và duy trì hoạt động là giữ cho mạng lưới càng đơn giản càng tốt. Tuy nhiên, chương trình mạng lưới chủ động đã thúc đẩy những tiến bộ quan trọng: giảm chi phí tính toán, cải tiến ngôn ngữ lập trình, sự ra đời của máy ảo , và trên hết là ý tưởng rằng mạng lưới có thể được coi là một nền tảng lập trình được chứ không chỉ là một tập hợp các thiết bị khép kín.
Một yếu tố xúc tác quan trọng của thời kỳ đó là sự hỗ trợ từ các cơ quan như DARPA, đã khởi xướng Chương trình Mạng lưới Chủ động (Active Networks Program ), hoạt động từ giữa những năm 90 đến đầu những năm 2000. Mặc dù mạng lưới chủ động chưa bao giờ được triển khai rộng rãi, nhưng chúng đã gieo mầm những khái niệm sau này trở thành nền tảng cho SDN: các chức năng lập trình được trong mạng, ảo hóa tài nguyên và cái nhìn thống nhất về các thiết bị khác nhau (tường lửa, IDS, NAT, v.v.).
Bước sang thập kỷ mới và với sự bùng nổ về lưu lượng truy cập, giai đoạn thứ hai bắt đầu, tập trung vào việc tách biệt mặt phẳng điều khiển và mặt phẳng dữ liệu (2001-2007) . Các bộ định tuyến và bộ chuyển mạch truyền thống kết hợp logic điều khiển (lựa chọn tuyến đường, giao thức định tuyến) và mặt phẳng dữ liệu (chuyển tiếp gói tin thực tế) trong cùng một thiết bị, khiến việc gỡ lỗi, điều chỉnh kỹ thuật lưu lượng hoặc giới thiệu các dịch vụ mới trở nên rất khó khăn.
Để giải quyết tình huống này, các nhà khai thác bắt đầu triển khai chuyển tiếp gói tin trên phần cứng chuyên dụng , trong khi việc điều khiển vẫn được tách biệt hơn, đồng thời họ tìm cách quản lý các mạng ngày càng lớn và phức tạp, với các dịch vụ như VPN và các tính năng nâng cao khác. Từ đó xuất hiện hai hướng đổi mới: một mặt, các giao diện mở giữa điều khiển và chuyển tiếp, chẳng hạn như ForCES (IETF) hoặc Netlink trên Linux; mặt khác, các kiến trúc với điều khiển logic tập trung, chẳng hạn như RCP, SoftRouter hoặc giao thức PCE, cho phép đưa ra các quyết định định tuyến với cái nhìn tổng thể.
Giai đoạn thứ ba xuất hiện với Dự án 4D và Ethane tiếp theo , đã kết tinh ý tưởng về một bộ điều khiển logic trung tâm với bốn mặt phẳng được xác định rõ ràng: dữ liệu (xử lý gói tin theo quy tắc), khám phá (thu thập thông tin về cấu trúc mạng và lưu lượng), phân phối (cài đặt các quy tắc xử lý) và quyết định (các chính sách toàn cục được chuyển đổi thành các quy tắc cụ thể). Ethane, được triển khai trong môi trường thực tế như Đại học Stanford, đã đóng góp một thiết kế chuyển mạch cực kỳ đơn giản, trở thành nền tảng của những gì chúng ta hiện nay biết đến với tên gọi OpenFlow.
Trong khi đó, hệ sinh thái thử nghiệm cũng đang phát triển: các cơ sở hạ tầng như PlanetLab và Emulab, các dự án như GENI và chương trình FIRE của châu Âu, cùng với chương trình Clean Slate của Stanford đã thúc đẩy việc thử nghiệm quy mô lớn các kiến trúc mạng thay thế. Chính trong môi trường này, OpenFlow đã nổi lên như một cách thiết thực để cung cấp khả năng chuyển tiếp gói tin cho bộ điều khiển bên ngoài bằng cách sử dụng API tiêu chuẩn.
Một cột mốc quan trọng trong ngành là màn trình diễn năm 2014 của Avaya , kết hợp công nghệ Shortest Path Bridging với OpenStack để xây dựng mạng định nghĩa bằng phần mềm với cấu hình thủ công tối thiểu. Và dần dần, nhờ các bản cập nhật firmware đơn giản, nhiều thiết bị chuyển mạch thương mại bắt đầu hỗ trợ OpenFlow mà không cần thay đổi phần cứng.
Các vấn đề của mạng truyền thống mà SDN giải quyết
Các mạng lưới truyền thống, hầu như chỉ dựa trên các thiết bị vật lý được cấu hình riêng lẻ , đang dần bộc lộ những hạn chế của chúng trước nhu cầu hiện tại từ các doanh nghiệp, nhà cung cấp dịch vụ và người dùng cuối. Điểm yếu chính của chúng là sự phức tạp tích lũy qua nhiều năm.
Để bao quát mọi kịch bản có thể xảy ra, ngành công nghiệp đã bổ sung ngày càng nhiều giao thức mạng chuyên biệt nhằm giải quyết các vấn đề cụ thể (bảo mật, hiệu quả, dự phòng, v.v.), nhưng chúng thường được thiết kế riêng lẻ. Kết quả là một mạng lưới cơ chế rối rắm cần được phối hợp thủ công, mà không có một lớp trừu tượng chung để đơn giản hóa toàn bộ.
Khi một tổ chức muốn thực thi các chính sách nhất quán trên toàn bộ mạng lưới của mình—ví dụ, xác định ai có thể truy cập vào tài nguyên nào—các quản trị viên phải sửa đổi hàng trăm hoặc hàng nghìn thiết bị . Một thao tác đơn giản như thêm một máy ảo mới cũng có thể liên quan đến việc thay đổi nhiều danh sách kiểm soát truy cập (ACL) nằm rải rác khắp môi trường, tiềm ẩn nguy cơ sai sót của con người và gây chậm trễ hàng giờ.
Thiếu khả năng mở rộng là một vấn đề nghiêm trọng khác. Sự gia tăng của các trung tâm dữ liệu, sự tăng trưởng người dùng và lưu lượng truy cập ngày càng cao đòi hỏi phải bổ sung thêm nhiều thiết bị. Mỗi thiết bị bổ sung đồng nghĩa với việc cấu hình phức tạp hơn, quản lý chặt chẽ hơn và nhiều điểm lỗi tiềm ẩn hơn. Việc giữ cho tất cả những điều này phù hợp với nhu cầu kinh doanh trở thành một nhiệm vụ vô cùng khó khăn.
Từ góc độ kinh tế, các tổ chức chịu thiệt hại nặng nề do phụ thuộc quá nhiều vào chu kỳ sản phẩm của nhà sản xuất . Nếu cần chức năng mạng mới, việc chỉ cập nhật phần mềm thường là không đủ: các tổ chức phải chờ nhà cung cấp phát hành mẫu sản phẩm phù hợp, chờ hoàn tất các chứng nhận nội bộ, chờ mua thiết bị, chờ triển khai – một quá trình có thể mất nhiều năm và kìm hãm sự đổi mới.
Tệ hơn nữa, các xu hướng gần đây càng làm phức tạp thêm bức tranh: các mô hình lưu lượng truy cập đa dạng hơn đang xuất hiện , với các luồng dữ liệu giữa các máy, cơ sở dữ liệu phân tán, kiến trúc vi dịch vụ và người dùng kết nối từ bất cứ đâu bằng điện thoại di động, máy tính bảng và máy tính xách tay. Khối lượng công việc của các quản trị viên đang tăng lên khi họ cố gắng bảo vệ dữ liệu nhạy cảm trong khi ranh giới mạng truyền thống gần như biến mất.
Thêm vào đó là sự phát triển của các dịch vụ đám mây (SaaS, IaaS, PaaS) , đòi hỏi khả năng cung cấp nhanh chóng, mở rộng linh hoạt về điện toán, lưu trữ và mạng, cũng như các yêu cầu bảo mật phức tạp hơn. Sự gia tăng của dữ liệu lớn đòi hỏi băng thông và dung lượng truyền tải khổng lồ trên hàng nghìn máy chủ mà các mạng truyền thống không phải lúc nào cũng đáp ứng được.
SDN thực chất là gì và nó giải quyết vấn đề đó như thế nào?
SDN nổi lên như một kiến trúc mới được thiết kế để cung cấp tính linh hoạt, kiểm soát tập trung và khả năng lập trình cho mạng, chuyển sự phức tạp sang phần mềm và loại bỏ nó khỏi phần cứng. Vấn đề không còn là quản lý từng thiết bị riêng lẻ, mà là xác định hành vi mạng mong muốn từ một lớp logic cao hơn.
Nguyên tắc cốt lõi là sự tách biệt giữa mặt phẳng điều khiển và mặt phẳng dữ liệu . Mặt phẳng dữ liệu chịu trách nhiệm di chuyển các gói dữ liệu với tốc độ cao giữa các điểm cuối; mặt phẳng điều khiển quyết định cách thức và vị trí các gói dữ liệu đó di chuyển, áp dụng các chính sách, tuyến đường và quy tắc. Trong SDN, các mặt phẳng này được tách rời và quyền điều khiển được tập trung vào một hoặc nhiều bộ điều khiển logic.
Một giao diện được xác định rõ ràng được thiết lập giữa hai thiết bị, thường thông qua một giao thức chuẩn như OpenFlow . Nhờ giao diện này, bộ điều khiển có thể cài đặt, sửa đổi hoặc xóa các quy tắc chuyển tiếp trên các thiết bị chuyển mạch và bộ định tuyến, khiến chúng hoạt động như các thiết bị có thể lập trình được chứ không phải là các hệ thống khép kín. OpenFlow không phải là giao thức duy nhất, nhưng nó là giao thức phổ biến nhất và đã trở thành tiêu chuẩn thực tế.
Phía trên các bộ điều khiển, các ứng dụng SDN sử dụng API hướng bắc để thể hiện những hành vi mà chúng cần từ mạng : ưu tiên một số lưu lượng truy cập nhất định, phân chia theo phòng ban, cân bằng tải, cải thiện chất lượng dịch vụ, phản ứng với tấn công từ chối dịch vụ, v.v. Bộ điều khiển dịch các yêu cầu cấp cao này thành các quy tắc chuyển tiếp cụ thể được áp dụng trong mặt phẳng dữ liệu.
Nói cách khác, SDN biến mạng lưới thành một nền tảng nơi các ứng dụng và dịch vụ có thể được phát triển như thể chúng là phần mềm thuần túy , bỏ qua các chi tiết của từng kiểu thiết bị hoặc giao thức cấp thấp. Sự trừu tượng này tạo điều kiện thuận lợi cho tự động hóa, giảm lỗi và cho phép thích ứng nhanh hơn nhiều với những thay đổi về nhu cầu.
Kiến trúc SDN: Bộ điều khiển, API và các thành phần chính
Một mạng SDN điển hình được cấu trúc thành nhiều lớp logic và các thành phần được phân biệt rõ ràng. Trái tim của nó là bộ điều khiển SDN , hoạt động như bộ não của mạng, thu thập thông tin từ lớp dữ liệu và thực hiện các quyết định ứng dụng.
Bộ điều khiển duy trì một cái nhìn tổng quan về mạng: cấu trúc liên kết, khả năng của từng thiết bị, số liệu thống kê lưu lượng, trạng thái liên kết, v.v. Với thông tin này, và dựa vào các mô-đun bổ sung có thể được kích hoạt hoặc vô hiệu hóa (quản lý kho, thu thập số liệu thống kê, mô-đun bảo mật, cân bằng tải, v.v.), nó đưa ra quyết định và truyền đạt chúng đến các thiết bị thông qua API hướng nam, thường là OpenFlow hoặc các giao thức khác như OVSDB hoặc Cisco OpFlex.
Các thiết bị mặt phẳng dữ liệu—các bộ chuyển mạch vật lý, bộ chuyển mạch ảo, bộ định tuyến—thực hiện cái mà ONF gọi là Đường dẫn dữ liệu SDN : một tập hợp các công cụ chuyển tiếp và các chức năng xử lý lưu lượng được hiển thị về mặt logic. Bên trong mỗi đường dẫn dữ liệu là một Tác nhân xử lý giao diện điều khiển (tác nhân CDPI) nhận các chỉ thị từ bộ điều khiển và dịch chúng thành các quy tắc trong bảng luồng hoặc các hành động phần cứng cụ thể.
Ở tầng cao nhất của kiến trúc là các ứng dụng SDN . Đây là các chương trình giao tiếp với bộ điều khiển thông qua các API hướng Bắc (NBI) và thể hiện các nhu cầu nghiệp vụ hoặc kỹ thuật: quản lý địa chỉ IP (IPAM), điều phối dịch vụ, kiểm soát chất lượng dịch vụ (QoS), hệ thống phòng thủ chống tấn công DoS, công cụ phân tích nâng cao, v.v. Mỗi ứng dụng chứa logic riêng và một hoặc nhiều NBI để tương tác với bộ điều khiển.
Giữa các khối này là Giao diện Mặt phẳng Điều khiển-Dữ liệu (CDPI) , chịu trách nhiệm cung cấp khả năng lập trình thông qua việc chuyển tiếp dữ liệu, quảng bá khả năng của thiết bị, hiển thị số liệu thống kê và thông báo các sự kiện. Bộ điều khiển triển khai trình điều khiển cho giao diện này, và các thiết bị triển khai các tác nhân, do đó mỗi cặp trình điều khiển/tác nhân thiết lập một mối quan hệ cụ thể giữa cơ sở hạ tầng vật lý và các ứng dụng.
Ngoài ba lớp chính này, ONF còn xác định một lớp quản lý và điều hành bao gồm các tác vụ tĩnh hơn: phân bổ tài nguyên cho máy khách, cấu hình cơ bản thiết bị vật lý, quản lý thông tin xác thực và liên kết giữa các thực thể logic và vật lý. Các tác vụ này thường được quản lý bên ngoài chu trình điều khiển lưu lượng động.
Giao diện Bắc và Nam, và các mô hình lập trình dòng chảy
API hướng nam kết nối bộ điều khiển với phần cứng hoặc các đường dẫn dữ liệu . OpenFlow là giao diện được áp dụng rộng rãi đầu tiên: nó định nghĩa cách bộ điều khiển cài đặt các mục vào bảng luồng của các thiết bị chuyển mạch, cách thu thập số liệu thống kê, cách báo cáo các sự kiện như gói tin không khớp, v.v. Các lựa chọn thay thế khác, chẳng hạn như Cisco OpFlex, đề xuất các mô hình khác nhau, nhưng có cùng ý tưởng cơ bản là cho phép một yếu tố trung tâm ảnh hưởng đến hành vi của thiết bị.
API hướng bắc cho phép các ứng dụng giao tiếp với bộ điều khiển và nhận được cái nhìn trừu tượng về mạng. Ở đây không có một tiêu chuẩn nào được thiết lập vững chắc như OpenFlow: có rất nhiều đề xuất và thư viện nằm ở các lớp khác nhau của kiến trúc (REST, gRPC, SDK cụ thể, mô hình dựa trên mục đích, v.v.), và chính vì sự đa dạng này mà ONF đã rất chú trọng đến việc định nghĩa các thực tiễn tốt nhất và hướng tới các phương pháp tiếp cận tương thích.
Ở cấp độ vận hành, bộ điều khiển có thể áp dụng mô hình chủ động, phản ứng hoặc kết hợp để triển khai các quy tắc luồng trên thiết bị. Trong phương pháp phản ứng, bộ chuyển mạch sẽ truy vấn bộ điều khiển khi nhận được gói tin không khớp với bất kỳ mục nào trong bảng của nó; bộ điều khiển sẽ phản hồi bằng các hướng dẫn và, nếu cần, sẽ tạo một quy tắc mới cho các gói tin tương tự trong tương lai.
Trong mô hình chủ động, bộ điều khiển cài đặt trước các quy tắc cho các luồng lưu lượng dự kiến , tương tự như cách các bảng định tuyến truyền thống được điền dữ liệu. Điều này giúp giảm thiểu các truy vấn thời gian thực và giảm độ trễ của các giao tiếp ban đầu. Nhiều triển khai thực tế kết hợp cả hai mô hình, phản ứng với lưu lượng không thể dự đoán và chủ động đối với các luồng đã biết.
Sức mạnh thực sự của SDN nằm ở khả năng lập trình được cung cấp bởi các API mở này . Nhờ chúng, có thể điều chỉnh tuyến đường một cách linh hoạt dựa trên tải, ưu tiên lưu lượng truy cập quan trọng, tự động phản hồi các lỗi hoặc sự cố bảo mật, và thậm chí cho phép chính các ứng dụng tự đàm phán các điều kiện cần thiết với mạng (băng thông, độ trễ tối đa, mức độ dự phòng, v.v.).
Các trường hợp sử dụng khả năng lập trình trong SDN
Để minh họa khái niệm về khả năng lập trình mạng, ba trường hợp sử dụng chính thường được thảo luận để chứng minh cách SDN được tận dụng trong thực tế . Trường hợp đầu tiên là tinh chỉnh luồng lưu lượng: với các giao thức như OpenFlow, bộ điều khiển có thể quyết định, gần như tức thời, các loại lưu lượng nhất định nên đi theo đường dẫn nào, cân bằng tải trên các liên kết, tránh tắc nghẽn hoặc áp dụng các chính sách bảo mật nghiêm ngặt hơn khi cần thiết.
Trường hợp quan trọng thứ hai nằm ở khả năng hỗ trợ ứng dụng nâng cao . Thay vì mạng không biết ứng dụng đang làm gì, chúng có thể thể hiện các yêu cầu của mình (ví dụ: độ trễ thấp cho thoại hoặc video, băng thông cao cho một số truyền tải nhất định, cách ly nghiêm ngặt giữa các máy khách), và bộ điều khiển sẽ điều chỉnh cấu hình để đáp ứng các yêu cầu đó. Hơn nữa, việc triển khai tự động—đặc biệt là trong môi trường điện toán đám mây và ảo hóa quy mô lớn—cho phép triển khai nhanh chóng các dịch vụ mới mà không cần quản trị viên phải tự tay thay đổi các tham số.
Yếu tố quan trọng thứ ba là tự động hóa các hoạt động mạng . Trong một kịch bản SDN được thiết kế tốt, mạng có thể tự động phản ứng với nhiều sự kiện: nếu một liên kết bị lỗi, các tuyến đường sẽ được tính toán lại; nếu xuất hiện một mô hình lưu lượng truy cập đáng ngờ, các quy tắc chặn hoặc chuyển hướng đến các hệ thống phân tích sẽ được áp dụng; nếu một ứng dụng mới được khởi chạy, mạng sẽ tự động phân bổ tài nguyên. Vai trò của quản trị viên chuyển từ việc chỉ đơn giản là "thay đổi lệnh" sang việc xác định các chính sách cấp cao và đảm bảo tuân thủ.
Lợi ích của SDN đối với các tổ chức
Giá trị cốt lõi của SDN thể hiện qua hàng loạt lợi thế rõ ràng cho các công ty và nhà cung cấp dịch vụ . Một trong những lợi thế nổi bật nhất là quản lý tập trung: từ bộ điều khiển, các chính sách truy cập, quy tắc bảo mật, ưu tiên lưu lượng và cung cấp dịch vụ có thể được xác định cho toàn bộ mạng, mà không cần phải quản lý từng thiết bị riêng lẻ hoặc phụ thuộc vào giao diện cụ thể của từng nhà sản xuất.
Về khả năng mở rộng, SDN mang lại sự linh hoạt vượt trội. Quản trị viên có thể thêm hoặc xóa thiết bị ảo, phân đoạn mạng, kết nối các văn phòng chi nhánh hoặc trung tâm dữ liệu và điều chỉnh tuyến đường gần như theo thời gian thực, thường được tích hợp với các nền tảng điều phối đám mây. Tất cả những điều này được thực hiện với tác động tối thiểu đến cơ sở hạ tầng vật lý bên dưới, vốn vẫn là một nền tảng tương đối ổn định.
Một ưu điểm quan trọng khác là khả năng quan sát toàn diện hoạt động của mạng . Bằng cách tập trung thông tin vào bộ điều khiển hoặc một nhóm các bộ điều khiển phối hợp, ta có được bức tranh đầy đủ về hiệu suất, điểm nghẽn, luồng hoạt động và các mối đe dọa tiềm tàng. Khả năng quan sát này không chỉ tạo điều kiện thuận lợi cho các hoạt động hàng ngày mà còn cho việc lập kế hoạch năng lực và phát hiện sự cố sớm.
Từ góc độ kinh tế, SDN giúp giảm cả chi phí đầu tư (CAPEX) và chi phí vận hành (OPEX). Một mặt, nó cho phép tái sử dụng phần lớn phần cứng hiện có , vì nhiều thiết bị chuyển mạch có thể kích hoạt các chức năng SDN bằng cách cập nhật firmware đơn giản. Mặt khác, tự động hóa giúp giảm thời gian nhân viên dành cho các tác vụ cấu hình lặp đi lặp lại, giảm lỗi do con người và đơn giản hóa việc bảo trì và nâng cấp.
Nhóm lợi ích chính cuối cùng liên quan đến sự đổi mới và tốc độ phản hồi . Bằng cách tách rời phần cứng và phần mềm, các tổ chức có thể tạo ra các dịch vụ mới, thử nghiệm các mô hình kinh doanh khác nhau hoặc điều chỉnh mạng lưới cho phù hợp với các yêu cầu mới (điện toán đám mây lai, IoT, điện toán biên, dữ liệu lớn) mà không bị ràng buộc bởi lịch trình ra mắt sản phẩm của một nhà sản xuất cụ thể.
Nhược điểm và thách thức của mạng SDN
SDN không phải là giải pháp vạn năng và cũng mang đến những thách thức cần được lưu ý khi thiết kế và vận hành các loại mạng này. Một trong những thách thức được nhắc đến thường xuyên nhất là tính dễ bị tổn thương của bộ điều khiển: do tập trung quá nhiều logic và quá trình ra quyết định, nó trở thành điểm then chốt mà sự cố hoặc xâm phạm của nó có thể làm sụp đổ toàn bộ hệ thống.
Điều này đòi hỏi việc triển khai các cơ chế khả dụng cao, dự phòng và chuyển đổi dự phòng , cũng như các biện pháp kiểm soát truy cập rất nghiêm ngặt. Ví dụ, các cuộc tấn công từ chối dịch vụ (DDoS) nhằm vào bộ điều khiển phải được giảm thiểu bằng dung lượng đủ lớn để ngăn mạng trở nên "mù quáng" trước các sự kiện quan trọng.
Một thách thức khác là khả năng gia tăng độ trễ và độ phức tạp khi số lượng thiết bị và luồng dữ liệu tăng lên. Nếu bộ điều khiển phải quản lý quá nhiều tương tác với mặt phẳng dữ liệu, nó có thể bị quá tải. Một kiến trúc SDN được thiết kế tốt cần phân phối các chức năng, duy trì một số quyền kiểm soát đối với các phần tử phân tán khi cần thiết (ví dụ: để phục hồi nhanh chóng từ các lỗi cục bộ) và mở rộng quy mô bộ điều khiển theo chiều ngang.
Về mặt bảo mật, mặc dù SDN cung cấp khả năng hiển thị được cải thiện, nhưng nó cũng thiếu một số cơ chế đã được tích hợp trước đây vào các bộ định tuyến, bộ chuyển mạch hoặc tường lửa vật lý truyền thống. Điều cần thiết là phải bảo vệ các liên lạc giữa bộ điều khiển, ứng dụng và thiết bị, đảm bảo tính xác thực và toàn vẹn, đồng thời thiết kế một môi trường chính sách mạnh mẽ cho phép xác minh rằng các chính sách được áp dụng chính xác như dự định.
Hơn nữa, việc thiết lập các quy trình điều tra pháp y mạng là vô cùng quan trọng : ghi nhật ký sự kiện chi tiết, khả năng truy vết thay đổi và khả năng tái tạo lại những gì đã xảy ra trong trường hợp xảy ra sự cố. Tất cả những điều này phải cùng tồn tại với tính năng động vốn có của SDN, ngăn chặn việc bảo mật trở thành nút thắt cổ chai đồng thời đảm bảo không còn lỗ hổng nào.
Vai trò của ONF và các bên liên quan khác trong hệ sinh thái SDN
Tổ chức Open Networking Foundation (ONF) đóng vai trò nền tảng trong sự phát triển của SDN. Đây là một tổ chức do người dùng cuối (các nhà mạng, các tập đoàn lớn) điều hành với mục tiêu thúc đẩy việc áp dụng mạng định nghĩa bằng phần mềm thông qua các tiêu chuẩn mở và quy trình hợp tác.
ONF chịu trách nhiệm định nghĩa, duy trì và phát triển tiêu chuẩn OpenFlow , tiêu chuẩn SDN đầu tiên được công nhận và vẫn là yếu tố cốt lõi trong nhiều kiến trúc. Nhưng công việc của ONF còn vượt xa hơn thế: họ dẫn dắt các nhóm làm việc phân tích các yêu cầu cho việc triển khai thương mại, đề xuất các giao diện, mô hình dữ liệu và thuật ngữ mới, đồng thời thúc đẩy một hệ sinh thái đa nhà cung cấp.
Song song đó, các công ty công nghệ và nhà sản xuất thiết bị đã phát triển các nền tảng SDN và phương pháp tiếp cận lai của riêng họ. Một số giải pháp, chẳng hạn như các giải pháp dựa trên bộ điều khiển tập trung về mặt logic như Blue Planet của Ciena, kết hợp các chức năng tập trung (khả năng hiển thị từ đầu đến cuối, chính sách, băng thông) với các khả năng phân tán trên các phần tử mạng để phục hồi lỗi, giám sát cục bộ hoặc bảo mật.
Cách tiếp cận kết hợp này phản ánh một thực tế: không phải tất cả quyền kiểm soát đều phải đặt vào bộ điều khiển trung tâm, và việc duy trì một số cơ chế phản ứng nhanh gần với luồng giao thông là điều thuận tiện, trong khi trí thông minh và sự phối hợp phức tạp hơn được quản lý theo cách tập trung và có thể lập trình được.
SDN, ảo hóa mạng và các trường hợp sử dụng thực tế
Trong nhiều tổ chức, SDN được áp dụng kết hợp với các kỹ thuật ảo hóa mạng để tạo ra các mạng lớp phủ trên cơ sở hạ tầng vật lý hiện có. Các mạng ảo này có thể phân chia các môi trường khác nhau (sản xuất, phát triển, khách hàng riêng biệt) bằng cách tận dụng cùng một phần cứng cơ bản, hoặc chúng có thể kết nối nhiều mạng vật lý như thể chúng là một thực thể logic duy nhất.
Phương pháp này đặc biệt hiệu quả khi được tích hợp với các dịch vụ điện toán đám mây như SaaS, IaaS và PaaS . Mạng định nghĩa bằng phần mềm được phối hợp với các nền tảng điều phối để toàn bộ chu trình cung cấp—máy ảo, lưu trữ, mạng, bảo mật—được thực hiện một cách nhất quán, nhanh chóng và tự động, thường thông qua API.
Trong các doanh nghiệp và nhà mạng lớn, SDN được sử dụng để xây dựng các mạng WAN doanh nghiệp thông minh hơn , nơi lưu lượng truy cập giữa trụ sở chính, trung tâm dữ liệu và các đám mây công cộng được quản lý một cách tinh vi. Ví dụ, Google đã sử dụng SDN trong nhiều năm để kết nối các trung tâm dữ liệu toàn cầu của mình và đã hợp tác với ONF trong việc định nghĩa các giao diện điều khiển mới vượt ra ngoài OpenFlow.
Trong môi trường trung tâm dữ liệu, SDN là một thành phần quan trọng để đạt được khả năng mở rộng nhanh chóng và hiệu quả : cho phép một trung tâm dữ liệu mới đi vào hoạt động chỉ trong vài giờ và tài nguyên mạng được cung cấp trong vài phút. Nó cũng tạo điều kiện thuận lợi cho việc triển khai các môi trường IoT quy mô lớn, quản lý hàng ngàn thiết bị và cảm biến phân tán mà không gây ra sự phức tạp quá mức.
Cuối cùng, SDN là một phần của xu hướng rộng hơn hướng tới cơ sở hạ tầng được định nghĩa bằng phần mềm , nơi không chỉ mạng mà cả lưu trữ (SDS) và các tài nguyên khác được điều khiển từ các mặt phẳng điều khiển logic, độc lập với phần cứng cụ thể. Điều này mang lại cho các tổ chức tính di động, sự linh hoạt cao hơn và khả năng di chuyển khối lượng công việc giữa đám mây và môi trường tại chỗ khi cần thiết.
Với tất cả nền tảng lịch sử, kỹ thuật và thực tiễn này, SDN đang khẳng định vị thế của mình như một cách tiếp cận khác đối với mạng lưới: gần gũi hơn với thế giới phần mềm, tập trung vào tự động hóa và khả năng lập trình, và có khả năng đáp ứng thách thức về tăng trưởng lưu lượng truy cập, điện toán đám mây, dữ liệu lớn và IoT mà không cần phải gia tăng vô hạn phần cứng hoặc độ phức tạp trong vận hành.
