Các sáng kiến Open Source trong Micro-Segmentation và SDN: Từ Neutron, OVS đến Northbound/Southbound APIs
Khi nói đến micro-segmentation, SDN và network virtualization, nhiều người thường nghĩ ngay đến VMware NSX, Cisco ACI hay các nền tảng thương mại. Nhưng thực tế, cộng đồng open-source đã xây dựng một hệ sinh thái rất mạnh, đóng vai trò nền tảng cho nhiều triển khai cloud, NFV và software-defined infrastructure hiện đại.
Một số dự án mã nguồn mở tiêu biểu gồm:
Điểm thú vị là các thành phần này không tồn tại độc lập, mà thường phối hợp thành một kiến trúc SDN/NFV hoàn chỉnh.
1. Neutron – Networking as a Service của OpenStack
Trong hệ sinh thái OpenStack, Neutron là thành phần cung cấp dịch vụ mạng (Networking as a Service - NaaS).
Mục tiêu của Neutron là cung cấp:
Nó hỗ trợ private cloud, public cloud lẫn hybrid cloud. Kiến trúc Neutron
Neutron có hai thành phần chính:
Neutron Server
Đây là control plane của Neutron, cung cấp REST APIs cho các thành phần khác như:
Ví dụ:
Khi Nova spin-up một VM mới, Nova sẽ gọi API xuống Neutron để:
Database + Plug-in Architecture
Đây là điểm rất mạnh của Neutron.
Thay vì bị khóa vào một dataplane cụ thể, Neutron dùng plug-in model để tích hợp:
Điều này cho phép bên thứ ba mở rộng khả năng network fabric.
2. Open vSwitch (OVS) — Virtual Switch của thế giới SDN
Nếu nói vSphere có vDS, thì open-source có Open vSwitch.
OVS là multilayer virtual switch chạy bên trong hypervisor.
Nó hỗ trợ:
OVS thường nằm trong các hypervisor KVM hoặc container environments.
Kiến trúc điển hình:
VM / Container
↓
vNIC
↓
OVS bridge
↓
Physical NIC (uplink) hoặc overlay tunnel
Vì sao OVS quan trọng?
OVS chính là dataplane mà rất nhiều SDN controller điều khiển.
Controller không push lệnh CLI như switch truyền thống.
Thay vào đó:
Điều này chính là tinh thần SDN.
3. OVN — Khi OVS có thêm Control Plane
OVS chủ yếu xử lý forwarding.
OVN (Open Virtual Network) bổ sung lớp control plane để biến OVS thành giải pháp SDN hoàn chỉnh.
Có thể hình dung:
OVN cung cấp:
Rất nhiều OpenStack deployment hiện đại dùng:
Neutron + OVN + OVS
4. OpenDaylight (ODL) — Open Source SDN Controller
Nếu OVS là dataplane thì ODL là bộ não điều khiển.
OpenDaylight là SDN controller multi-vendor.
Nó hướng đến:
ODL hỗ trợ nhiều southbound protocols:
Điều này làm nó khá giống vai trò controller của:
5. Northbound vs Southbound APIs — Trái tim của SDN
Đây là phần nhiều người học SDN hay nhầm.
Southbound APIs
Southbound API là giao tiếp:
Controller ↔ Infrastructure
Tức controller nói chuyện với switches, routers, vSwitches.
Ví dụ:
Dùng để:
Ví dụ:
Application cần tăng băng thông realtime.
Controller có thể qua southbound API:
Đây là automation ở tầng infrastructure.
Northbound APIs
Northbound API là hướng ngược lại:
Application / Orchestrator ↔ SDN Controller
Thường là RESTful APIs.
Ví dụ:
Mục tiêu:
Application “nói” cho mạng nó cần gì.
Ví dụ:
"Tôi cần segmented network cho workload PCI."
Controller sẽ translate intent đó xuống infrastructure.
Đây là chỗ khái niệm Intent-Based Networking (IBN) của Cisco xuất hiện.
Intent
↓
Policy abstraction
↓
Controller translation
↓
Southbound enforcement
Đây chính là từ "intent" thành cấu hình thật.
6. OpenFlow và OpFlex — Hai triết lý khác nhau
Một điểm rất hay để phân biệt. OpenFlow
Controller-centric.
Controller push từng flow xuống switch.
Rất centralized.
Cisco OpFlex
Policy-based distributed model.
Controller định nghĩa policy.
Device tự render và thực thi policy.
Đây là triết lý của Cisco ACI.
Không phải controller điều khiển từng flow như OpenFlow.
Khác biệt này rất hay xuất hiện trong phỏng vấn CCIE DC / SDN.
7. OPNFV và Contiv
OPNFV
Dự án tập trung cho NFV.
Ghép nhiều open-source thành telecom/NFV stack:
Phục vụ:
Rất liên quan ETSI NFV MANO.
Contiv
Contiv hướng nhiều tới container networking và policy.
Có thể xem như một tiền thân tư duy của cloud-native networking hiện đại.
Có liên hệ với Kubernetes networking và micro-segmentation cho containers.
8. Điều thú vị: OpenStack Neutron dùng OVS làm control plane mặc định?
Nhiều tài liệu hay ghi OVS là default “control plane”, nhưng nói chính xác hơn:
Khi dùng OVN thì OVN đảm nhiệm phần control logic mạnh hơn.
Điểm này rất dễ bị diễn đạt sai trong nhiều tài liệu.
9. Bức tranh tổng thể
Có thể hình dung stack như sau:
Application / Orchestration
↓ (Northbound APIs)
OpenStack Neutron / OpenDaylight
↓ (Southbound APIs)
OVN / OVS / Physical Fabric
↓
Virtual Machines / Containers / Workloads
Đây chính là kiến trúc SDN kinh điển.
Kết luận
Các sáng kiến open-source như:
không chỉ là công cụ lab hay nghiên cứu.
Chúng chính là nền tảng đã ảnh hưởng trực tiếp đến:
Rất nhiều khái niệm trong Cisco ACI, NSX, SD-WAN hay SDA đều có gốc tư duy từ những kiến trúc này.
Hiểu được northbound/southbound APIs, OVS/OVN, hay Neutron plug-in model thực chất là đang hiểu những viên gạch nền móng của network programmability hiện đại.
Khi nói đến micro-segmentation, SDN và network virtualization, nhiều người thường nghĩ ngay đến VMware NSX, Cisco ACI hay các nền tảng thương mại. Nhưng thực tế, cộng đồng open-source đã xây dựng một hệ sinh thái rất mạnh, đóng vai trò nền tảng cho nhiều triển khai cloud, NFV và software-defined infrastructure hiện đại.
Một số dự án mã nguồn mở tiêu biểu gồm:
- Neutron (OpenStack)
- Open vSwitch (OVS)
- Open Virtual Network (OVN)
- OpenDaylight (ODL)
- OPNFV (Open Platform for NFV)
- Contiv
Điểm thú vị là các thành phần này không tồn tại độc lập, mà thường phối hợp thành một kiến trúc SDN/NFV hoàn chỉnh.
1. Neutron – Networking as a Service của OpenStack
Trong hệ sinh thái OpenStack, Neutron là thành phần cung cấp dịch vụ mạng (Networking as a Service - NaaS).
Mục tiêu của Neutron là cung cấp:
- Tạo và quản lý mạng virtual network
- Layer 2 switching
- Layer 3 routing
- DHCP-as-a-Service
- Security Groups (distributed firewall cơ bản)
- Floating IP NAT
- Load balancing, VPN, FWaaS (thông qua plugins)
Nó hỗ trợ private cloud, public cloud lẫn hybrid cloud. Kiến trúc Neutron
Neutron có hai thành phần chính:
Neutron Server
Đây là control plane của Neutron, cung cấp REST APIs cho các thành phần khác như:
- Horizon (Web UI)
- Nova (Compute)
- Heat (Orchestration)
Ví dụ:
Khi Nova spin-up một VM mới, Nova sẽ gọi API xuống Neutron để:
- tạo port
- gán IP
- attach network
- áp policy security group
Database + Plug-in Architecture
Đây là điểm rất mạnh của Neutron.
Thay vì bị khóa vào một dataplane cụ thể, Neutron dùng plug-in model để tích hợp:
- Open vSwitch
- OVN
- Cisco ACI plugins
- VMware NSX plugins
- Linux Bridge
- SR-IOV backends
Điều này cho phép bên thứ ba mở rộng khả năng network fabric.
2. Open vSwitch (OVS) — Virtual Switch của thế giới SDN
Nếu nói vSphere có vDS, thì open-source có Open vSwitch.
OVS là multilayer virtual switch chạy bên trong hypervisor.
Nó hỗ trợ:
- VLAN
- VXLAN
- GRE tunnels
- QoS
- ACLs
- OpenFlow forwarding
- Overlay networking
OVS thường nằm trong các hypervisor KVM hoặc container environments.
Kiến trúc điển hình:
VM / Container
↓
vNIC
↓
OVS bridge
↓
Physical NIC (uplink) hoặc overlay tunnel
Vì sao OVS quan trọng?
OVS chính là dataplane mà rất nhiều SDN controller điều khiển.
Controller không push lệnh CLI như switch truyền thống.
Thay vào đó:
- push flow entries
- policy rules
- tunnel mappings
- distributed forwarding logic
Điều này chính là tinh thần SDN.
3. OVN — Khi OVS có thêm Control Plane
OVS chủ yếu xử lý forwarding.
OVN (Open Virtual Network) bổ sung lớp control plane để biến OVS thành giải pháp SDN hoàn chỉnh.
Có thể hình dung:
- OVS = distributed virtual switch dataplane
- OVN = distributed SDN control plane
OVN cung cấp:
- Logical switches
- Logical routers
- Distributed routing
- Distributed ACL
- Micro-segmentation
- Overlay control
Rất nhiều OpenStack deployment hiện đại dùng:
Neutron + OVN + OVS
4. OpenDaylight (ODL) — Open Source SDN Controller
Nếu OVS là dataplane thì ODL là bộ não điều khiển.
OpenDaylight là SDN controller multi-vendor.
Nó hướng đến:
- Controller abstraction
- Multi-vendor interoperability
- Service orchestration
- Network programmability
ODL hỗ trợ nhiều southbound protocols:
- OpenFlow
- OVSDB
- NETCONF
- BGP-LS
- PCEP
Điều này làm nó khá giống vai trò controller của:
- Cisco APIC
- Cisco Catalyst Center
- VMware NSX Manager
5. Northbound vs Southbound APIs — Trái tim của SDN
Đây là phần nhiều người học SDN hay nhầm.
Southbound APIs
Southbound API là giao tiếp:
Controller ↔ Infrastructure
Tức controller nói chuyện với switches, routers, vSwitches.
Ví dụ:
- OpenFlow
- OVSDB
- Cisco OpFlex
- NETCONF (trong vài mô hình)
Dùng để:
- push forwarding rules
- install flows
- tạo VXLAN tunnels
- áp chính sách động
Ví dụ:
Application cần tăng băng thông realtime.
Controller có thể qua southbound API:
- đổi QoS policy
- redirect flows
- spin-up virtual network path mới
Đây là automation ở tầng infrastructure.
Northbound APIs
Northbound API là hướng ngược lại:
Application / Orchestrator ↔ SDN Controller
Thường là RESTful APIs.
Ví dụ:
- OpenStack Nova gọi Neutron APIs
- Kubernetes CNI gọi network services
- Automation tools gọi controller APIs
Mục tiêu:
Application “nói” cho mạng nó cần gì.
Ví dụ:
"Tôi cần segmented network cho workload PCI."
Controller sẽ translate intent đó xuống infrastructure.
Đây là chỗ khái niệm Intent-Based Networking (IBN) của Cisco xuất hiện.
Intent
↓
Policy abstraction
↓
Controller translation
↓
Southbound enforcement
Đây chính là từ "intent" thành cấu hình thật.
6. OpenFlow và OpFlex — Hai triết lý khác nhau
Một điểm rất hay để phân biệt. OpenFlow
Controller-centric.
Controller push từng flow xuống switch.
Rất centralized.
Cisco OpFlex
Policy-based distributed model.
Controller định nghĩa policy.
Device tự render và thực thi policy.
Đây là triết lý của Cisco ACI.
Không phải controller điều khiển từng flow như OpenFlow.
Khác biệt này rất hay xuất hiện trong phỏng vấn CCIE DC / SDN.
7. OPNFV và Contiv
OPNFV
Dự án tập trung cho NFV.
Ghép nhiều open-source thành telecom/NFV stack:
- OpenStack
- ODL
- OVS
- Kubernetes
- DPDK
- FD.io
Phục vụ:
- vRouter
- vFirewall
- vEPC
- Virtualized Service Chaining
Rất liên quan ETSI NFV MANO.
Contiv
Contiv hướng nhiều tới container networking và policy.
Có thể xem như một tiền thân tư duy của cloud-native networking hiện đại.
Có liên hệ với Kubernetes networking và micro-segmentation cho containers.
8. Điều thú vị: OpenStack Neutron dùng OVS làm control plane mặc định?
Nhiều tài liệu hay ghi OVS là default “control plane”, nhưng nói chính xác hơn:
- Neutron là network control framework
- OVS chủ yếu là dataplane/vSwitch backend mặc định
Khi dùng OVN thì OVN đảm nhiệm phần control logic mạnh hơn.
Điểm này rất dễ bị diễn đạt sai trong nhiều tài liệu.
9. Bức tranh tổng thể
Có thể hình dung stack như sau:
Application / Orchestration
↓ (Northbound APIs)
OpenStack Neutron / OpenDaylight
↓ (Southbound APIs)
OVN / OVS / Physical Fabric
↓
Virtual Machines / Containers / Workloads
Đây chính là kiến trúc SDN kinh điển.
Kết luận
Các sáng kiến open-source như:
- Neutron
- OVS
- OVN
- OpenDaylight
- OPNFV
không chỉ là công cụ lab hay nghiên cứu.
Chúng chính là nền tảng đã ảnh hưởng trực tiếp đến:
- SDN hiện đại
- Micro-segmentation
- Cloud networking
- NFV
- Intent-based networking
- Kubernetes networking ngày nay
Rất nhiều khái niệm trong Cisco ACI, NSX, SD-WAN hay SDA đều có gốc tư duy từ những kiến trúc này.
Hiểu được northbound/southbound APIs, OVS/OVN, hay Neutron plug-in model thực chất là đang hiểu những viên gạch nền móng của network programmability hiện đại.