TỔNG QUAN VỀ SDN
Giới thiệu 3
1.1 Sự ra đời của SDN
Mạng định nghĩa bằng phần mềm (SDN) là công nghệ tiên tiến giúp tối ưu hóa hiệu quả và giảm chi phí trong việc vận hành và quản trị hệ thống mạng cho các doanh nghiệp.
Trong kiến trúc mạng truyền thống, data plane và control plane được tích hợp trên cùng một thiết bị vật lý, dẫn đến sự độc lập giữa các thiết bị Điều này khiến cho các chính sách chuyển tiếp lưu lượng được thiết lập riêng lẻ, không cho phép hiển thị toàn bộ mạng lưới và có thể không tối ưu.
Hình 1 1: Control plane và Data plane
Control plane chịu trách nhiệm xây dựng và trao đổi thông tin định tuyến, đồng thời quyết định cách thức xử lý gói tin Một số phần tử quan trọng của control plane bao gồm các thành phần hỗ trợ trong việc quản lý và điều phối lưu lượng mạng.
● Giao thức định tuyến IP
● Bảng định tuyến IP (RIP – Routing Information Based): cơ sở dữ liệu cho tất cả các giao thức phân phối IP
Data plane: chịu trách nhiệm chuyển tiếp gói tin Nó dựa vào thông tin từ Control
Plane cung cấp Một số nhiệm vụ của mặt phẳng chuyển tiếp:
● Bảng chuyển tiếp IP (FIB – Forwarding Information Based)
Hình 1 2: Control plane nằm trong các thiết bị mạng
Số lượng thiết bị tăng lên sẽ làm cho mạng lưới trở nên phức tạp hơn, gây khó khăn cho người quản trị mạng trong việc vận hành và điều khiển.
Hình 1 3: Khó khăn cho người vận hành hệ thống
Sự thay đổi trong mô hình lưu lượng, sự gia tăng dịch vụ đám mây và nhu cầu phát triển của các nhà khai thác đang tạo ra áp lực cần thiết phải tìm kiếm các giải pháp sáng tạo.
Vì vậy công nghệ mạng truyền thông không thể đáp ứng những nhu cầu đó và nảy sinh các vấn đề Các yếu tố hạn chế:
● Chính sách không nhất quán
● Khả năng mở rộng quy mô kém
● Phụ thuộc vào nhà cung cấp
Các nhà nghiên cứu đã phát triển một kiến trúc mạng cho phép các bộ điều khiển xử lý nhiệm vụ điều khiển mạng, tác động đến phần cứng, bộ nhớ và chức năng của các thiết bị định tuyến và chuyển mạch Điều này giúp mạng lưới trở nên linh hoạt, hiệu suất cao và dễ quản lý hơn Động lực chính cho SDN là đơn giản hóa, khi mà các thiết bị mạng ngày càng phức tạp do thiết kế độc lập và tự chủ Mặc dù việc tích hợp nhiều chức năng vào phần cứng có thể đơn giản hóa thiết bị, nhưng nó cũng có thể làm tăng độ phức tạp do khó khăn trong việc xử lý gói tin giữa phần cứng và phần mềm.
Cố gắng đơn giản hóa thiết bị cũ thường dẫn đến việc phức tạp hóa triển khai Sự phát triển của Bộ xử lý trung tâm (CPU) minh họa cho điều này, khi chúng ngày càng phức tạp để hỗ trợ nhiều chức năng hơn Cuối cùng, mô hình Điện Toán Bộ Lệnh Giảm (RISC) đã xuất hiện như một giải pháp đơn giản và dễ sử dụng Tương tự, kiến trúc RISC có thể được xem như một sự thiết lập lại cho kiến trúc CPU, và SDN cũng có thể đóng vai trò tương tự trong việc đơn giản hóa thiết kế thiết bị mạng.
SDN không chỉ giúp đơn giản hóa thiết bị mà còn mang lại cơ hội tối ưu hóa quản lý mạng Thay vì dựa vào các công cụ quản lý truyền thống như SNMP và CLI, các nhà khai thác mạng hiện nay ưa chuộng các hệ thống quản lý dựa trên chính sách, mà SDN có khả năng hỗ trợ hiệu quả.
Mạng SDN, theo định nghĩa của ONF (Open Networking Foundation), là một kiến trúc mạng mới, năng động và dễ quản lý Nó được thiết kế để tiết kiệm chi phí, dễ thích nghi và đáp ứng tốt nhu cầu mạng ngày càng tăng Kiến trúc này phân tách phần điều khiển mạng (Control Plane) và chức năng vận chuyển dữ liệu (Forwarding Plane), mang lại sự linh hoạt và hiệu quả cho các hệ thống mạng hiện đại.
Data Plane cho phép điều khiển mạng trở nên lập trình được, đồng thời tạo ra cơ sở hạ tầng mạng độc lập với các ứng dụng và dịch vụ mạng.
SDN, hay mạng điều khiển bằng phần mềm, là công nghệ dựa trên việc tách biệt kiểm soát luồng mạng và luồng dữ liệu thông qua cơ chế control plane và data plane Được phát triển từ giao thức Openflow, SDN là kết quả nghiên cứu của Đại học Stanford và California Berkeley Công nghệ này cho phép định tuyến và chuyển các luồng dữ liệu một cách riêng biệt, đồng thời chuyển giao kiểm soát luồng đến thiết bị kiểm soát luồng (Flow Controller), từ đó giúp kiểm soát luồng gói dữ liệu qua mạng một cách lập trình.
Hình 1 4: Control plane được tách ra khỏi các thiết bị mạng
Trong SDN, control plane được tách rời khỏi thiết bị vật lý và chuyển giao cho các bộ điều khiển, cho phép kỹ sư mạng tối ưu hóa chính sách chuyển tiếp dựa trên cái nhìn tổng thể về mạng Các bộ điều khiển tương tác với thiết bị mạng thông qua giao thức OpenFlow tiêu chuẩn Nhờ SDN, quản lý mạng trở nên đơn giản hơn với một giao diện duy nhất, thay vì phải cấu hình từng thiết bị mạng như trong mạng truyền thống.
Hình 1 5: Vận hành mạng thông qua 1 giao diện duy nhất.
Sự khác biệt giữa SDN với mạng truyền thống 7
Để phân biệt rõ ràng giữa mạng truyền thống và SDN, chúng ta cần xem xét hai khía cạnh chính: kiến trúc và tính năng của từng loại mạng.
2.1 Kiến trúc Đối với hệ thống mạng truyền thống, các thiết bị mạng lớp 2 và lớp 3 phải đảm nhận nhiều chức năng để đảm bảo hoạt động, ví dụ các chức năng của Layer switch hiện nay như VLAN, Spanning tree, Quality of Service, Security… và đa số các thiết bị mạng và các giao thức này hoạt động độc lập với nhau vì mỗi nhà sản xuất thiết bị cung cấp các giải pháp mạng khác nhau Điều này tạo ra sự phân mảnh đối với toàn bộ hệ thống mạng đồng thời làm giảm hiệu năng hoạt động Đối với mạng điều khiển bằng phần mềm SDN, việc điều khiển được tập trung tại lớp Controller Layer, các thiết bị mạng chỉ có nhiệm vụ chuyển tiếp gói tin do đó sự khác biệt giữa các nhà sản xuất sẽ không ảnh hưởng tới toàn hệ thống mạng Điều này tương tự như sự phát triển của máy tính hiện nay, mỗi máy tính được sản xuất và cung cấp bởi các hãng khác nhau (như Dell, HP, IBM, Apple, Google ) và chạy các hệ điều hành khác nhau (như Windows, MacOS, Linux, Unix, …) nhưng đều có khả năng truy cập và sử dụng internet dựa trên giao thức mạng TCP/IP
Người quản trị mạng không cần trực tiếp thao tác trên thiết bị mà có thể cấu hình và tích hợp hệ thống thông qua các API, chỉ cần kiến thức cơ bản về TCP/IP SDN với khả năng quản lý tập trung mang lại nhiều lợi ích nhưng cũng tiềm ẩn nguy cơ bảo mật cao hơn so với mạng truyền thống Sự khác biệt giữa mạng truyền thống và mạng SDN có thể được nhận diện qua ba điểm chính.
Hình 1 7: Kiến trúc của mạng truyền thống và SDN
Trong mạng truyền thống, chức năng điều khiển và chuyển tiếp dữ liệu được tích hợp trong cùng một thiết bị, trong khi mạng SDN tách biệt phần điều khiển ra khỏi thiết bị mạng và chuyển giao cho bộ điều khiển SDN.
Trong mạng truyền thống, chức năng thu thập và xử lý thông tin được thực hiện ở tất cả các phần tử, trong khi ở mạng SDN, chức năng này được xử lý tập trung tại bộ điều khiển SDN.
Mạng truyền thống không cho phép lập trình qua ứng dụng, với việc cấu hình thiết bị mạng diễn ra một cách thủ công và riêng lẻ Ngược lại, trong mô hình SDN, mạng có thể được lập trình thông qua các ứng dụng, cho phép bộ điều khiển SDN tương tác với tất cả các thiết bị trong mạng.
Bộ điều khiển SDN tách rời phần điều khiển khỏi thiết bị mạng, cho phép các thiết bị phần cứng chỉ cần nhận và vận chuyển dữ liệu mà không cần hiểu các giao thức phức tạp Nhờ vào bộ điều khiển SDN, các nhà khai thác và quản trị mạng có thể lập trình cấu hình một cách dễ dàng, thay vì thực hiện hàng ngàn câu lệnh thủ công trên từng thiết bị Điều này giúp triển khai nhanh chóng các ứng dụng mới và dịch vụ mạng.
Sự khác biệt chính giữa SDN và mạng truyền thống là SDN sử dụng phần mềm, trong khi mạng truyền thống chủ yếu dựa vào phần cứng Nhờ vào nền tảng phần mềm, SDN mang lại tính linh hoạt cao hơn, cho phép người dùng kiểm soát và quản lý tài nguyên một cách hiệu quả hơn, chủ yếu thông qua mặt phẳng điều khiển.
Ngược lại, các mạng truyền thống dựa vào bộ chuyển mạch, bộ định tuyến và hạ tầng vật lý khác để thiết lập kết nối và giao tiếp trong mạng.
Bộ điều khiển SDN sử dụng giao diện API cho phép các nhà phát triển lập trình trực tiếp mạng, khác với các giao thức của mạng truyền thống SDN cho phép người dùng sử dụng phần mềm để triển khai thiết bị mới, thay vì phụ thuộc vào cơ sở hạ tầng vật lý Nhờ đó, quản trị viên có khả năng định tuyến đường truyền, quản lý lưu lượng và chủ động lập lịch cho các dịch vụ mạng.
Khác với các thiết bị chuyển mạch truyền thống, SDN có khả năng giao tiếp tốt hơn với các thiết bị trong mạng Sự ảo hóa là điểm khác biệt chính giữa SDN và mạng truyền thống, khi SDN ảo hóa toàn bộ mạng, nó tạo ra bản sao của mạng vật lý và cho phép cung cấp tài nguyên từ một vị trí tập trung.
Trong mạng truyền thống, vị trí vật lý của mặt phẳng điều khiển phân tán trên các thiết bị mạng gây khó khăn cho quản trị viên trong việc kiểm soát luồng lưu lượng Ngược lại, với SDN, mặt phẳng điều khiển được xây dựng trên nền tảng phần mềm, cho phép truy cập qua một thiết bị kết nối Điều này giúp quản trị viên quản lý lưu lượng từ giao diện người dùng tập trung với độ chi tiết và chính xác cao Vị trí tập trung này mang lại khả năng kiểm soát tốt hơn về cách thức hoạt động và cấu hình mạng, đồng thời cho phép xử lý nhanh các cấu hình mạng khác nhau, đặc biệt hữu ích trong việc phân tách và quản lý các node mạng.
SDN đã trở thành một giải pháp thay thế phổ biến cho mạng truyền thống nhờ khả năng quản lý tập trung và cung cấp tài nguyên, băng thông linh hoạt mà không cần đầu tư thêm vào cơ sở hạ tầng vật lý Trong khi mạng truyền thống yêu cầu phần cứng mới để mở rộng dung lượng, SDN cho phép mở rộng dễ dàng chỉ bằng cách lập trình và thao tác trên một màn hình.
Kiến trúc của SDN 10
Hình 1 8: Kiến trúc của mạng truyền thống và SDN
● Một đại diện điển hình của kiến trúc SDN bao gồm ba lớp: lớp ứng dụng, lớp điều khiển và lớp cơ sở hạ tầng
● Ba lớp này giao tiếp bằng cách sử dụng các giao diện lập trình ứng dụng (API) cầu bắc (northbound API) và cầu nam (southbound API) tương ứng
Các phần mềm ứng dụng tương tác với lớp điều khiển qua API phía bắc, trong khi lớp điều khiển và các bộ chuyển mạch trong lớp hạ tầng giao tiếp thông qua API phía nam, chẳng hạn như OpenFlow.
OpenFlow là một giao thức Southbound API quan trọng trong SDN, cho phép giao tiếp hiệu quả giữa lớp hạ tầng và lớp điều khiển.
OpenFlow là một trong những giao thức phổ biến nhất trong số nhiều giao thức khác, nhờ vào lịch sử phát triển và vai trò của nó như là tiêu chuẩn đầu tiên cho các API southbound.
Hình 1 9: Các lớp trong kiến trúc SDN
3.1 Lớp ứng dụng Đúng như tên gọi của nó, lớp này chứa các ứng dụng hoặc các chức năng mạng điển hình mà các tổ chức sử dụng như các hệ thống phát hiện xâm nhập, cân bằng tải hoặc tường lửa Điều này khác với một mạng truyền thống, với kiến trúc mạng truyền thống, trong mạng truyền thống, để thực hiện các chức năng này, mạng sẽ cần sử dụng một thiết bị chuyên dụng, như tường lửa hoặc thiết bị cân bằng tải riêng biệt Trong khi với SDN các thiết bị này sẽ được thay thế bằng một ứng dụng phần mềm sử dụng bộ điều khiển để quản lý hành vi của mặt phẳng dữ liệu
Các thiết bị chuyển mạch, bao gồm cả vật lý và ảo hóa, trong mạng thực hiện việc chuyển tiếp gói tin dưới sự điều khiển của Lớp điều khiển Một thiết bị mạng có thể được điều khiển bởi nhiều controller khác nhau, điều này góp phần tăng cường khả năng ảo hóa của mạng.
Lớp điều khiển trong mạng SDN hoạt động như bộ não, quản lý chính sách và luồng lưu lượng trên toàn mạng từ một máy chủ Nó cung cấp giao diện Northbound API để giao tiếp với lớp ứng dụng, thực hiện các quyết định về định tuyến, chuyển tiếp, redirect và cân bằng tải.
Hình 1 10: Lớp điều khiển trong kiến trúc của SDN
Các phần mềm ứng dụng giao tiếp với lớp điều khiển thông qua northbound API Hiện tại, chưa có tiêu chuẩn chung cho các northbound API như OpenFlow đối với southbound API Tuy nhiên, OpenDaylight đang trở thành một tiêu chuẩn thực tế phổ biến và được nhiều nhà cung cấp hỗ trợ.
● Lớp điều khiển và các bộ chuyển mạch trong lớp hạ tầng giao tiếp với nhau thông qua các southbound API, như OpenFlow, OVSDB, ForCES, OF-Config
● Nền tảng SDN có thể sử dụng để triển khai trên nhiều mô hình khác nhau như trong các Data center, LAN, WAN, Telecom, Enterprise…
3.4 Giao diện hướng Bắc (Northbound API)
Giao diện hướng Bắc cho phép người quản trị mạng truy cập và cấu hình bộ điều khiển SDN, đồng thời cung cấp API để các ứng dụng khác có thể tương tác với bộ điều khiển Điều này hỗ trợ việc viết kịch bản và quản lý mạng tự động thông qua API, cho phép nhiều ứng dụng cùng truy cập vào bộ điều khiển SDN.
● Sử dụng giao diện GUI thông qua API để truy cập vào bộ điều khiển SDN
● Sử dụng các đoạn scripts java hoặc python để thông qua API truy cập vào bộ điều khiển SDN
3.5 Giao diện hướng Nam (Southbound API)
Bộ điều khiển SDN giao tiếp với các thiết bị bên dưới thông qua giao diện hướng Nam
API không phải là một giao diện vật lý mà là một giao diện mềm, cho phép ứng dụng truy cập vào các ứng dụng khác thông qua các chức năng và cấu trúc dữ liệu đã được xác định Trong lĩnh vực SDN, một số giao diện hướng Nam phổ biến hiện nay bao gồm OpenFlow, CLI và Cisco OpFlex.
Hình 1 11: Kiến trúc SDN theo (a) miền, (b) lớp, (c) kiến trúc thiết kế hệ thống
Cách hoạt động của SDN 13 4.1 Phương thức hoạt động
Control plane quyết định cách thức truyền tải các gói dữ liệu qua mạng, trong khi data plane thực hiện việc chuyển các gói từ vị trí này sang vị trí khác.
Khi một gói tin đến bộ chuyển mạch trong mạng, các quy tắc tích hợp trong firmware độc quyền của bộ chuyển mạch sẽ xác định hướng chuyển tiếp gói Những quy tắc này được gửi từ bộ điều khiển tập trung đến bộ chuyển mạch để xử lý gói tin.
Các thiết bị chuyển mạch, hay còn gọi là thiết bị mặt phẳng dữ liệu, thực hiện việc truy vấn bộ điều khiển để nhận chỉ thị và quy tắc định hướng khi cần thiết Đồng thời, chúng cung cấp cho bộ điều khiển thông tin về lưu lượng mà chúng đang xử lý.
Chế độ hoạt động của SDN được biết đến với tên gọi thích ứng hoặc động, trong đó một bộ chuyển mạch gửi yêu cầu định tuyến đến bộ điều khiển cho các gói tin chưa được định tuyến cụ thể.
Trong các mạng truyền thống, switch thực hiện việc gửi yêu cầu định tuyến thông qua các bộ định tuyến Thuật toán định tuyến của bộ định tuyến hoạt động dựa trên cấu trúc liên kết của mạng mà không cần thông qua bộ điều khiển tập trung.
Lớp ứng dụng trong mạng chứa các chức năng điển hình như hệ thống phát hiện xâm nhập, cân bằng tải và tường lửa mà các tổ chức thường sử dụng Thay vì sử dụng các thiết bị chuyên dụng trong mạng truyền thống, như tường lửa hay cân bằng tải, SDN (Mạng định nghĩa bằng phần mềm) cho phép quản lý các hành động của data plane thông qua các ứng dụng sử dụng bộ điều khiển.
Lớp điều khiển trong SDN đóng vai trò như bộ não của hệ thống, với phần mềm điều khiển tập trung được cài đặt trên một máy chủ Bộ điều khiển này có nhiệm vụ quản lý các chính sách và luồng lưu lượng trên toàn bộ mạng.
APIs Nam trong SDN được sử dụng để truyền thông tin đến các thiết bị Router và Switch Mặc dù nhiều người cho rằng OpenFlow đồng nghĩa với SDN, nhưng thực tế nó chỉ là một phần trong kiến trúc tổng thể của SDN OpenFlow là một tiêu chuẩn mở cho giao thức truyền thông, cho phép control plane tương tác với forwarding plane Cần lưu ý rằng OpenFlow không phải là giao thức duy nhất có sẵn hoặc đang được phát triển cho SDN.
API Bắc cho phép SDN giao tiếp hiệu quả với các ứng dụng logic, giúp quản trị viên mạng dễ dàng quản lý lưu lượng truy cập và triển khai dịch vụ một cách nhanh chóng.
● Lớp cơ sở hạ tầng được tạo thành từ các thiết bị vật lý trong mạng
Hình 1: Hoạt động của SDN Hinh 4 1: Hoạt động của SDN
Hình 1 12: Hoạt động của SDN
Lợi ích và thách thức của SDN 15
Mạng được định nghĩa bằng phần mềm (SDN) là một kiến trúc mạng cho phép điều khiển thông minh và tập trung thông qua ứng dụng phần mềm, giúp quản lý toàn bộ mạng một cách nhất quán mà không cần lo lắng về công nghệ nền tảng Với SDN, quản trị viên có khả năng thay đổi quy tắc chuyển mạch, ưu tiên hoặc chặn các loại gói tin cụ thể, mang lại mức độ kiểm soát và bảo mật cao Điều này đặc biệt hữu ích trong kiến trúc điện toán đám mây, cho phép quản lý lưu lượng linh hoạt và hiệu quả hơn, đồng thời tối ưu hóa việc sử dụng thiết bị chuyển mạch và kiểm soát lưu lượng mạng.
SDN mang lại nhiều lợi ích, bao gồm khả năng quản lý và hiển thị rõ ràng các thành phần mạng Quản trị viên chỉ cần sử dụng một bộ điều khiển tập trung để phân phối chính sách cho các bộ chuyển mạch, thay vì cấu hình từng thiết bị riêng lẻ Điều này không chỉ tiết kiệm thời gian mà còn nâng cao bảo mật, khi bộ điều khiển có thể giám sát lưu lượng và triển khai chính sách bảo mật một cách đồng bộ Nếu phát hiện lưu lượng đáng ngờ, bộ điều khiển có khả năng định tuyến lại hoặc loại bỏ các gói ngay lập tức mà không cần chuyển tiếp đến thành phần khác.
SDN cho phép ảo hóa phần cứng và dịch vụ mà không cần thiết bị chuyên dụng, giúp giảm thiểu dấu hiệu nhận diện phần cứng Điều này không chỉ làm giảm khả năng tấn công của hacker mà còn giảm chi phí vận hành và triển khai mạng.
SDN đã đóng vai trò quan trọng trong sự phát triển của công nghệ mạng diện rộng định nghĩa bằng phần mềm (SD-WAN) Công nghệ SD-WAN tận dụng lớp phủ ảo của SDN để trừu tượng hóa các kết nối trong mạng LAN, tạo ra một mạng ảo linh hoạt có khả năng sử dụng bất kỳ kết nối nào mà bộ điều khiển xác định là phù hợp để truyền tải lưu lượng.
Quản lý tập trung mang lại sự thuận tiện trong việc kết nối mạng, nhưng cũng tiềm ẩn rủi ro bảo mật lớn Nó tạo ra một điểm tấn công duy nhất, và nếu điểm này bị xâm phạm, toàn bộ mạng sẽ bị ảnh hưởng.
Hiện tại, không tồn tại tiêu chuẩn toàn cầu cho các API hướng bắc, dẫn đến việc các nhà cung cấp và tổ chức nguồn mở phát triển các API khác nhau cho bộ điều khiển SDN của họ Sự đa dạng này gây khó khăn cho các nhà phát triển trong việc tạo ứng dụng, vì họ buộc phải xây dựng nhiều phiên bản ứng dụng để tương tác với các bộ điều khiển khác nhau.
Xu hướng phát triển của SDN 16 VII Công nghệ Software-Defined Wide Area Network (SD-WAN) 17
SDN hiện đang thu hút sự chú ý lớn trong nghiên cứu và ứng dụng, đặc biệt là trong các môi trường mạng tập trung với lưu lượng cao như mạng doanh nghiệp, mạng Campus và trung tâm dữ liệu Công nghệ này cũng được áp dụng trong hệ thống mạng phục vụ điện toán đám mây Các "gã khổng lồ" công nghệ như Google và Facebook đã đầu tư vào nghiên cứu và phát triển trung tâm dữ liệu sử dụng SDN Dự đoán rằng trong tương lai gần, SDN sẽ phá vỡ sự độc quyền của CISCO trong lĩnh vực thiết bị mạng, mở ra một cuộc cách mạng tương tự như sự ra đời của iPhone bởi Apple.
Các nhà cung cấp dịch vụ viễn thông đang tích cực giải quyết thách thức của mạng truyền thống, mở ra nhiều cơ hội mới cho thị trường mạng phần mềm Trong năm năm qua, họ đã tìm kiếm công nghệ mới từ cộng đồng và ngành công nghiệp nguồn mở, thử nghiệm các giải pháp như OPNFV, ONOS và OpenDaylight Những nỗ lực này thúc đẩy việc áp dụng công nghệ mạng thế hệ tiếp theo như SDN, nhằm cải thiện hiệu quả, tính linh hoạt, khả năng mở rộng và khả năng lập trình của mạng viễn thông.
VII Công nghệ Software-Defined Wide Area Network (SD-WAN)
SD-WAN là công nghệ sử dụng phần mềm và công nghệ đám mây nhằm đơn giản hóa việc quản lý và vận hành mạng diện rộng (WAN).
Mạng WAN kết nối các vị trí địa lý khác nhau, bao gồm văn phòng chi nhánh, trung tâm dữ liệu và tài nguyên đám mây.
Hình 1 14: Khác nhau giữa WAN truyền thông và SD-WAN
Mạng WAN truyền thống thường sử dụng các mạch chuyên dụng như MPLS, kênh thuê riêng hoặc chuyển tiếp khung, nhưng những mạch này có thể gây tốn kém, thiếu linh hoạt và khó quản lý.
SD-WAN giải quyết các vấn đề mạng bằng phần mềm điều khiển và quyết định định tuyến thông minh dựa trên điều kiện mạng Nó cho phép tổ chức kết hợp nhiều mạch như internet băng thông rộng, LTE và MPLS để tối ưu hóa hiệu suất và giảm chi phí Với khả năng quản lý tập trung, SD-WAN cung cấp khả năng hiển thị và bảo mật, giúp quản trị viên dễ dàng giám sát và bảo vệ mạng Hơn nữa, SD-WAN cải thiện hiệu suất ứng dụng thông qua các kỹ thuật như cân bằng tải, định hình lưu lượng và ưu tiên.
SD-WAN là giải pháp linh hoạt, tiết kiệm chi phí và có khả năng mở rộng, giúp các tổ chức đơn giản hóa cơ sở hạ tầng WAN và nâng cao hiệu suất mạng.
7.2 Hoạt động của SD-WAN
SD-WAN tạo ra một mạng kết nối rộng ảo, kết hợp các kết nối như Internet, MPLS, và 4G/5G, nhằm cung cấp cho người dùng một mạng chất lượng cao và bảo mật.
Các thiết bị SD-WAN kết nối các mạng với nhau, giúp phân phối lưu lượng trên nhiều đường truyền nhằm giảm thiểu sự cố và nâng cao hiệu suất mạng Khi một đường truyền gặp sự cố, SD-WAN tự động chuyển hướng lưu lượng sang đường truyền khác.
SD-WAN leverages technologies such as Network Function Virtualization (NFV) and Software-Defined Networking (SDN) to create a virtual network, enabling more flexible and easier network management configurations.
SD-WAN cung cấp tính năng bảo mật như VPN và tường lửa, đảm bảo an toàn thông tin trên mạng Tất cả thiết bị SD-WAN được quản lý từ một trung tâm duy nhất, giúp quản trị viên dễ dàng kiểm soát mạng Tóm lại, SD-WAN tạo ra một mạng kết nối rộng ảo, phân phối lưu lượng trên nhiều đường truyền khác nhau để nâng cao hiệu suất và bảo mật thông tin.
7.3 Lợi ích của SD-WAN
Hình 1 15: Lợi ích của SD-WAN
SD-WAN cung cấp tính linh hoạt vượt trội nhờ vào việc sử dụng phần mềm để quản lý lưu lượng mạng, cho phép dễ dàng thích ứng với các thay đổi trong mô hình lưu lượng và nhu cầu mạng Điều này giúp tổ chức dễ dàng quản lý và mở rộng quy mô khi phát triển.
SD-WAN tăng cường bảo mật với các tính năng như mã hóa, tường lửa và phát hiện, ngăn chặn xâm nhập, giúp bảo vệ mạng và dữ liệu khỏi các mối đe dọa trên mạng, đặc biệt quan trọng khi kết nối với tài nguyên đám mây.
SD-WAN giúp đơn giản hóa quản lý mạng bằng cách cho phép quản trị viên dễ dàng giám sát và quản lý từ một vị trí trung tâm Điều này không chỉ giảm thiểu nhu cầu hỗ trợ CNTT tại chỗ mà còn tăng cường khả năng khắc phục sự cố và giải quyết vấn đề một cách nhanh chóng.
SD-WAN tối ưu hóa hiệu suất ứng dụng bằng cách áp dụng các chính sách định tuyến lưu lượng và nhận biết ứng dụng, giúp cải thiện luồng lưu lượng mạng Điều này đảm bảo rằng các ứng dụng quan trọng được cung cấp băng thông và tài nguyên cần thiết, từ đó nâng cao trải nghiệm người dùng.
TỔNG QUAN VỀ OPENFLOW
Giới thiệu Openflow 20 I Lịch sử phát triển của Openflow 20 II Kiến trúc và giao thức 20
OpenFlow là công nghệ tiên tiến có khả năng nâng cao giá trị dịch vụ của các trung tâm dữ liệu Việc triển khai OpenFlow mang lại cho các nhà quản lý mạng khả năng kiểm soát tốt hơn các nguồn tài nguyên, quản trị tích hợp máy chủ và mạng, cùng với giao tiếp quản trị mở cho hệ thống Router và Switch.
OpenFlow là tiêu chuẩn API phổ biến nhất cho SDN, cung cấp thông số kỹ thuật chung cho các thiết bị chuyển tiếp hỗ trợ OpenFlow Nó cũng thiết lập các kênh giao tiếp giữa dữ liệu và thiết bị trong mặt phẳng điều khiển.
II Lịch sử phát triển của Openflow
Khi ý tưởng về SDN ra đời, nhiều công ty lớn như Google, Microsoft, Facebook và Cisco đã đề xuất một tiêu chuẩn chung cho mạng SDN, dẫn đến sự ra đời của OpenFlow OpenFlow, được phát triển từ giao thức chuyển mạch OpenFlow Switching Protocol, được đề xuất bởi tổ chức Open Networking Foundation (ONF).
Phiên bản 1.1 của giao thức OpenFlow được phát hành vào ngày 28 tháng 2 năm 2011, với sự phát triển tiêu chuẩn này được quản lý bởi ONF (Open Network Foundation).
● Vào tháng 12 năm 2011, hội đồng quản trị ONF đã phê duyệt OpenFlow phiên bản 1.2 và xuất bản nó vào tháng 2 năm 2012
● Phiên bản hiện tại của OpenFlow là 1.5.1 Tuy phiên bản 1.6 đã có từ tháng 9 năm 2016 nhưng chỉ các thành viên của ONF mới có thể truy cập được
III Kiến trúc và giao thức
Openflow Switch là thiết bị chuyển mạch thuộc lớp data plane trong kiến trúc SDN, được phát hành bởi tổ chức ONF Hiện nay, nhiều hãng như Nokia, Cisco, Huawei và NEC đã tích hợp Openflow Switch vào sản phẩm của họ Thiết bị này được giám sát và quản lý bởi SDN controller thông qua giao thức Openflow.
Hình 1 16: Cấu trúc OpenFlow Switch
● Một OpenFlow switch bao gồm ít nhất ba thành phần: a Flow table
Có trách nhiệm giao tiếp với switch để chỉ ra rằng phải xử lý flow ra sao, mỗi hành động tương ứng với 1 flow-entry
Có ba loại tập hợp các flow tables:
Một flow table sẽ kết hợp các gói tin với một flow cụ thể và chỉ định các chức năng cần thực hiện trên các gói tin đó Trong một pipeline, có thể có nhiều flow tables hoạt động đồng thời.
Một flow table có khả năng chuyển đổi một luồng vào một Group Table, cho phép kích hoạt đồng thời nhiều hành động tác động đến một hoặc nhiều flow.
Một Meter Table có thể kích hoạt nhiều hành động liên quan tới hiệu năng trên một flow
Một flow là chuỗi các gói tin trong mạng có cùng các giá trị trường header Chẳng hạn, một flow có thể bao gồm tất cả gói tin với địa chỉ nguồn và đích giống nhau, hoặc tất cả gói tin có cùng VLAN id.
Các switch OpenFlow có nhiều bảng flow table, bắt đầu từ table 0, và quá trình xử lý pipeline luôn khởi đầu tại table này Các bảng khác sẽ được sử dụng tùy thuộc vào kết quả của match entry trong table đầu tiên Việc sử dụng nhiều flow table thay vì chỉ một giúp tiết kiệm thời gian xử lý gói tin.
Kết nối switch với controller sử dụng giao thức OpenFlow chạy qua Secure Sockets Layer (SSL), để gửi các commands và các packets c OpenFlow Protocol
Giao thức cung cấp phương thức tiêu chuẩn và mở cho một bộ điều khiển truyền thông với thiết bị
Hình 1 18 Giao thức OpenFlow d Quá trình xử lý một gói tin bởi Openflow Switch
Hình 1 19: Quá trình xử lý gói tin
Khi một gói tin từ bên ngoài được gửi đến Switch, quá trình xử lý bắt đầu từ table 0 Gói tin sẽ được kiểm tra để xác định xem có flow entry nào phù hợp và có trỏ gói tin tới table thứ n hay không.
Nếu không có chúng sẽ được tìm kiếm trong table miss flow entry (ANY) Nếu tiếp tục không tìm thấy thì gói tin lập tức bị drop
Nếu có một flow entry phù hợp với gói tin trong flow table hoặc nếu xảy ra table miss, counter sẽ được cập nhật và thực hiện các lệnh như cập nhật thiết lập hành động, các trường gói tin và metadata Gói tin sau đó được gửi đến table thứ n, nơi nó sẽ được kiểm tra xem có cần gửi đến table khác hay không Nếu cần, gói tin sẽ tiếp tục được chuyển đến table đó; nếu không, hành động đã được thiết lập sẽ được thực thi.
OpenFlow cho phép các ứng dụng phần mềm bên ngoài điều khiển mặt phẳng chuyển tiếp của thiết bị mạng, tương tự như cách mà tập lệnh của CPU điều khiển hệ thống máy tính.
Giao thức OpenFlow được triển khai trên cả hai giao diện của kết nối giữa các thiết bị cơ sở hạ tầng mạng và phần mềm điều khiển SDN
OpenFlow sử dụng khái niệm "flow" để nhận diện lưu lượng mạng dựa trên các quy tắc được lập trình sẵn bởi phần mềm điều khiển SDN Giao thức này cho phép định nghĩa các tham số như mô hình lưu lượng, ứng dụng và tài nguyên cần thiết để điều hướng lưu lượng qua các thiết bị mạng Nhờ đó, OpenFlow cho phép mạng được lập trình dựa trên luồng lưu lượng, cung cấp điều khiển chi tiết và khả năng phản hồi theo thời gian thực với sự thay đổi của ứng dụng, người dùng và mức phiên Trong khi đó, mạng định tuyến IP hiện tại không thể cung cấp mức độ điều khiển này, vì tất cả các luồng lưu lượng giữa hai điểm cuối phải đi theo cùng một đường, mặc dù yêu cầu của chúng có thể khác nhau.
Giao thức OpenFlow mô tả cách thức trao đổi thông tin giữa OpenFlow Controller và OpenFlow Switch, cho phép bộ điều khiển thực hiện các thao tác như thêm, cập nhật, chỉnh sửa và xóa flow entry trong flow table Giao thức này hỗ trợ ba loại bản tin khác nhau.
Các bản tin từ controller đến switch được khởi tạo bởi controller và có thể yêu cầu hoặc không yêu cầu phản hồi từ switch Chúng cho phép controller quản lý trạng thái logic của switch, bao gồm cấu hình và chi tiết về flow entry trong flow table hoặc group table Bên cạnh đó, các bản tin Packet-out được sử dụng khi switch gửi một gói tin tới controller, cho phép controller quyết định không hủy gói mà chuyển hướng tới một output port của switch.
CÁC VẤN ĐỀ AN TOÀN TRONG SDN
Các mối đe dọa và giải pháp 26
Giả mạo luồng traffic có thể tấn công thiết bị chuyển mạch và bộ điều khiển, với mối đe dọa này có thể xuất phát từ các thiết bị bị lỗi hoặc người dùng độc hại Kẻ tấn công có thể lợi dụng các phần tử mạng để thực hiện cuộc tấn công DoS nhằm vào các switch OpenFlow, chẳng hạn như tràn bảng TCAMs và làm cạn kiệt tài nguyên của bộ điều khiển.
Sử dụng hệ thống phát hiện xâm nhập kết hợp với phân tích thời gian truy cập hệ thống giúp phát hiện các hoạt động truy cập bất thường.
1.2 Khai thác lỗ hổng trong switch
Tấn công vào lỗ hổng của switches có thể gây ra thiệt hại nghiêm trọng cho hệ thống mạng Một switch có khả năng làm chậm hoặc loại bỏ các gói tin, chuyển hướng lưu lượng mạng để thực hiện các hành vi trộm cắp dữ liệu, hoặc thậm chí gia tăng lưu lượng truy cập nhằm làm quá tải bộ điều khiển hoặc thiết bị chuyển mạch lân cận.
Sử dụng các cơ chế của phần mềm chứng thực, như giải pháp quản lý tin tưởng cho các thành phần phần mềm, có thể giúp giảm thiểu rủi ro.
Cơ chế giám sát và phát hiện hành vi bất thường của các thiết bị mạng cũng có thể hữu ích để đánh bại loại mối đe dọa
1.3 Khai thác lỗ hổng trong bộ điều khiển
Khai thác lỗ hổng trong bộ điều khiển có thể gây ra mối đe dọa nghiêm trọng nhất cho SDN Một bộ điều khiển bị lỗi hoặc độc hại có thể ảnh hưởng đến toàn bộ mạng, cho phép ứng dụng độc hại thực hiện bất kỳ hành động nào trong hệ thống mạng.
Một số kỹ thuật có thể được áp dụng để cải thiện an ninh hệ thống, bao gồm sao chép để phát hiện và loại bỏ hành vi bất thường, đa dạng hóa việc sử dụng các bộ điều khiển, giao thức, ngôn ngữ lập trình và hình ảnh phần mềm, cũng như thực hiện phục hồi định kỳ để đảm bảo hệ thống luôn ở trạng thái an toàn và đáng tin cậy.
Triển khai mạng an toàn trong SDN 27
SDN là quá trình chuyển đổi từ mạng có thể cấu hình sang mạng có thể lập trình, yêu cầu doanh nghiệp tích hợp tất cả thiết bị như bộ cân bằng tải, tường lửa, hệ thống truyền thông, thiết bị không dây và hệ thống lưu trữ vào các bộ điều khiển SDN Các nhà sản xuất SDN cung cấp công cụ để di dời cấu hình hiện tại sang các bộ điều khiển này Tất cả thiết bị trong mạng cần hỗ trợ SDN, điều này rất quan trọng vì doanh nghiệp đang xây dựng một chức năng mạng SDN đồng nhất, áp dụng cho mọi thiết bị và nền tảng của các nhà sản xuất khác nhau.
Bước thứ 2 trong quy trình triển khai SDN là thử nghiệm và triển khai các bộ điều khiển Doanh nghiệp cần tạo ra một môi trường thử nghiệm với các thiết bị mạng có khả năng giao tiếp với bộ điều khiển SDN, đảm bảo mọi thứ hoạt động trơn tru Tất cả các thiết bị phải sử dụng chung một giao thức, như OpenFlow hoặc OpenStack, để đảm bảo sự tương thích và thành công trong việc giao tiếp giữa các thiết bị mạng và bộ điều khiển.
Bước thứ 3 là bật SDN tương tác với ứng dụng Để ứng dụng tận dụng tối đa mạng SDN, cần áp dụng các chính sách ưu tiên lệnh thực thi cao hơn lệnh báo cáo, giúp luồng dữ liệu quan trọng chạy mượt mà Các bộ điều khiển SDN cần nhận diện gói dữ liệu qua header mà không cần đọc toàn bộ dữ liệu để xác định loại dữ liệu.
2.2 Giải quyết những khó khăn
Một mạng SDN được triển khai đúng cách với các biện pháp bảo mật thích hợp có thể loại trừ những lo ngại về an ninh trước đây Mặc dù một số chuyên gia bảo mật lo ngại rằng SDN loại bỏ lớp phần cứng như tường lửa, nhưng thực tế, SDN giám sát các gói dữ liệu ở nhiều tầng khác nhau trong mạng Để đảm bảo an toàn cho bộ điều khiển, mạng cần cài đặt cẩn thận các bản vá và cập nhật, đồng thời nâng cấp điều khiển máy chủ lên cấp AAA Đây là thành phần quan trọng trong cơ sở hạ tầng, đòi hỏi sự quan tâm cao từ các nhà quản trị.
Sử dụng hệ thống phát hiện xâm nhập kết hợp với phân tích thời gian truy cập hệ thống giúp phát hiện các truy cập bất thường hiệu quả.
CÁC BỘ ĐIỀU KHIỂN PHỔ BIẾN TRONG SDN
Các bộ điều khiển trong SDN 28
Một số SDN Controller phổ biến bao gồm OpenDaylight, ONOS, Ryu Controller,
Các bộ điều khiển SDN như Floodlight cung cấp nhiều tính năng và lợi ích khác nhau, được ứng dụng phổ biến trong các dự án SDN và hệ thống mạng tổng thể.
OpenDaylight is an open-source project developed by the Linux Foundation that offers a platform for creating Software-Defined Networking (SDN) solutions It provides a centralized network controller system for managing network devices and services.
OpenDaylight được xây dựng trên nền tảng Java và sử dụng giao thức truyền thông OpenFlow để tương tác với các thiết bị mạng Nó cung cấp một số chức năng quản lý mạng và các API mạng mở cho phép tương tác với các ứng dụng và dịch vụ mạng
OpenDaylight offers robust features for managing network services, including Virtual Network Forwarding and Policy-based Forwarding, enhancing the efficiency and flexibility of network operations.
Quản lý chuyển mạch mạng: OpenDaylight hỗ trợ quản lý chuyển mạch mạng và điều khiển các thiết bị mạng bằng cách sử dụng giao thức OpenFlow
OpenDaylight cung cấp các API mạng mở, cho phép tương tác hiệu quả với các ứng dụng mạng khác thông qua các giao thức như REST và NETCONF.
OpenDaylight cung cấp khả năng quản lý và điều khiển đa dạng các thiết bị mạng, bao gồm switch Ethernet, router và tường lửa, giúp tối ưu hóa hiệu suất mạng.
OpenDaylight cung cấp một kiến trúc mô-đun linh hoạt, cho phép các nhà phát triển dễ dàng tích hợp các tính năng mới vào hệ thống mạng.
OpenDaylight là một nền tảng mạnh mẽ được áp dụng phổ biến trong các dự án triển khai mạng SDN, đặc biệt là trong các mạng lớn và phức tạp nhờ vào các tính năng và khả năng vượt trội của nó.
Quản lý Topology: OpenDaylight áp dụng nhiều giao thức khác nhau để thu thập thông tin về cấu trúc và topology của mạng Topology Manager sẽ xử lý các thông tin này và cập nhật cấu trúc mạng trong ODL.
OpenDaylight supports various SDN protocols, including OpenFlow, BGP, NETCONF, and SNMP These protocol libraries enable ODL to communicate effectively with network devices and other applications.
OpenDaylight sử dụng các southbound APIs để giao tiếp với các switch và router trong mạng, cho phép ODL điều khiển thiết bị thông qua giao thức OpenFlow hoặc các giao thức khác.
OpenDaylight cung cấp các northbound APIs, cho phép các ứng dụng mạng, an ninh, giám sát và nhiều ứng dụng khác truy cập vào các tính năng của ODL.
OpenDaylight cung cấp các dịch vụ mạng đa dạng như quản lý lưu lượng, cân bằng tải và phân phối địa chỉ IP, giúp tối ưu hóa hiệu suất mạng và đơn giản hóa quá trình quản lý.
OpenDaylight cung cấp một giao diện người dùng web mạnh mẽ cho việc quản lý và giám sát mạng Giao diện này cho phép người dùng dễ dàng cấu hình các thiết bị mạng, theo dõi lưu lượng mạng và triển khai các ứng dụng khác, nâng cao hiệu quả quản lý mạng.
OpenDaylight là một bộ điều khiển SDN mạnh mẽ, cung cấp các tính năng nổi bật như quản lý topology, hỗ trợ nhiều giao thức khác nhau, cùng với các API southbound và northbound Nó cũng tích hợp các dịch vụ mạng và giao diện người dùng web, mang lại trải nghiệm quản lý mạng hiệu quả.
Mininet 35
Hình 1 21: Topo mạng trong được dựng trong Mininet
Mininet là công cụ mô phỏng mạng ảo lý tưởng cho việc phát triển, kiểm thử và đánh giá ứng dụng mạng SDN (Software-Defined Networking) Nó cho phép người dùng tạo ra các mạng ảo với switch, router, host và kết nối mạng ảo, mang đến môi trường thử nghiệm chính xác như thực tế Được viết bằng ngôn ngữ Python và chạy trên hệ điều hành Linux, Mininet hỗ trợ tối ưu cho các nhà phát triển trong việc nghiên cứu và triển khai công nghệ mạng hiện đại.
Mininet là công cụ lý tưởng cho việc phát triển và kiểm thử ứng dụng SDN trước khi triển khai trên mạng thực tế Nó cho phép người dùng kiểm tra hiệu suất và tính ổn định của mạng, khám phá các giao thức mạng khác nhau, tối ưu hóa thiết kế mạng và giảm thiểu lỗi.
Mininet là công cụ phổ biến trong giáo dục và nghiên cứu mạng, cung cấp môi trường thử nghiệm mạng đơn giản và linh hoạt Nó giúp giảm chi phí cho việc tạo ra các mạng thử nghiệm, đồng thời giúp người dùng nắm bắt các khái niệm và công nghệ mạng mới một cách hiệu quả hơn.
Hình 1 22: Mạng mô phỏng và Mạng cứng
Mininet là công cụ mô phỏng mạng cho phép người dùng xây dựng các mạng ảo bao gồm switch, router, host và các kết nối mạng ảo, tạo ra một môi trường thử nghiệm mạng chính xác như trong thực tế.
Mininet có khả năng tích hợp với các SDN Controller như POX, Ryu, Floodlight và OpenDaylight, giúp quản lý mạng ảo và định tuyến dữ liệu hiệu quả Ngoài ra, Mininet cũng cung cấp các công cụ debugging như Wireshark và tcpdump để giám sát và phân tích mạng.
Hỗ trợ nhiều giao thức mạng: Mininet hỗ trợ nhiều giao thức mạng như TCP/IP, Ethernet, OSPF, BGP, MPLS, VLAN, VxLAN, OpenFlow, …
Mininet là công cụ quan trọng giúp người dùng phát triển, kiểm thử và đánh giá ứng dụng SDN Nó cho phép tạo ra môi trường mạng ảo tùy chỉnh, giúp kiểm tra hiệu suất và tính ổn định của mạng trước khi triển khai vào thực tế.
Mininet tạo ra một mạng ảo trên máy tính vật lý hoặc máy ảo, sử dụng công nghệ ảo hóa của Linux để thiết lập các nút mạng ảo và kết nối chúng với nhau.
Trong Mininet, các nút mạng ảo bao gồm switch, router và host Switch có chức năng chuyển tiếp gói tin giữa các host trong mạng, trong khi router định tuyến gói tin giữa các mạng khác nhau Host là các thiết bị kết nối trực tiếp với mạng, có thể là máy tính, điện thoại hoặc bất kỳ thiết bị nào có khả năng kết nối mạng.
Mininet cung cấp các công cụ mạnh mẽ như Topo và Net để tạo ra mạng ảo phức tạp Những công cụ này cho phép người dùng thiết kế mạng ảo với nhiều thiết bị khác nhau, thiết lập kết nối giữa chúng và cấu hình các thuộc tính của mạng.
Sau khi tạo mạng, người dùng có thể sử dụng Mininet để thực hiện các thử nghiệm mạng như kiểm tra hiệu suất và tối ưu hóa thiết kế mạng Mininet tích hợp với các SDN controller như Ryu và OpenDaylight, cho phép tạo ra các mạng SDN và triển khai ứng dụng SDN trên mạng ảo Tóm lại, Mininet tạo ra một mạng ảo trên máy tính vật lý hoặc máy ảo, sử dụng công nghệ ảo hóa của Linux để tạo ra các nút mạng ảo và kết nối giữa chúng, giúp người dùng thực hiện các thử nghiệm mạng một cách dễ dàng và tiện lợi.