Specification ============= In the following we provide an exhaustive list of all features supported. SDN Features ------------ - ONOS cluster of all-active N instances affording N-way redundancy and scale, where N = 3 or N = 5 - Unified operations interface (GUI/REST/CLI) - Centralized configuration: all configuration is done on the controller instead of each individual switch - Centralized role-based access control (RBAC) - Automatic host (end-point) discovery: attached hosts, access-devices, appliances (PNFs), routers, etc. based on ARP, DHCP, NDP, etc. - Automatic switch, link and topology discovery and maintenance (keepalives, failure recovery) L2 Features ----------- Various L2 connectivity and tunneling support - VLAN-based bridging - Access, Trunk and Native VLAN support - VLAN cross connect - Forward traffic based on outer VLAN id - Forward traffic based on outer and inner VLAN id (QinQ) - Pseudowire - L2 tunneling across the L3 fabric - Support tunneling based on double tagged and single tagged traffic - Support VLAN translation of outer tag L3 Features ----------- IP connectivity - IPv4 and IPv6 [#f1]_ unicast routing (internal use of MPLS Segment Routing) - Subnetting configuration on all non-spine facing leaf ports; no configuration required on any spine port - Equal Cost Multi-Path (ECMP) for traffic across spine switches - IPv6 router advertisement - ARP, NDP, IGMP handling - Number of flows in spines greatly simplified by MPLS Segment Routing - Further reduction of per-leaf flows with route optimization logic DHCP Relay ---------- DHCP L3 relay - DHCPv4 and DHCPv6 - DHCP server either directly attached to fabric leaves, or indirectly connected via upstream router - DHCP client directly either attached to fabric leaves, or indirectly connected via LDRA - Multiple DHCP servers for HA vRouter ------- vRouter presents the entire SD-Fabric as a single router (or dual-routers for HA), with disaggregated control/data plane - Uses open-source protocol implementations like Quagga (or FRR) - BGPv4 and BGPv6 - Static routes - Route blackholing - ACLs based on port, L2, L3 and L4 headers Multicast --------- Centralized multicast tree computation, programming and management - Support both IPv4 and IPv6 multicast - Dual-homed multicast sinks for HA - Multiple multicast sources for HA API --- - Provide easy access for 3rd party edge application developers and for the Aether centralized management platform - Support for traffic redirecting, dropping, network slicing and QoS Data Plane Programmability -------------------------- - Support for Stratum, P4Runtime/gNMI, and P4 programs - Innovative services enabled by programmable data plane: - 4G/5G User Plane Function (UPF): GTP encap/decap, usage reporting, downlink buffering and data notifications, QoS and more, with integration with mobile core control plane via PFCP protocol (3GPP standard interface). - Inband Network Telemetry (INT): INT-XD mode with support for flow reports, drop reports, queue congestion reports, with smart filters to reduce volume of reports ingested by the INT collector. Troubleshooting & Diagnostics ----------------------------- - T3: Troubleshooting tool to diagnose broken forwarding paths fabric wide (work in progress) - ONOS-diags: One-click diagnostics collection tool for issue reporting .. _Topology: Topology -------- SD-Fabric can start at the smallest scale (single leaf) and grow horizontally. .. image:: images/topology-scale.png :width: 900px Single Leaf (ToR) ^^^^^^^^^^^^^^^^^ This is the minimum SD-Fabric setup. In this setup, all servers are connected to a single switch. .. image:: images/topology-single.png :width: 160px Single Leaf Pair (Dual-Homing) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Compared to a single switch, it provides redundancy in terms of server NIC failure and link failure. .. image:: images/topology-pair.png :width: 225px Leaf-Spine (without pairing) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Provide horizontal-scalability for multi-rack deployments, with redundancy for spine switch failures: .. image:: images/topology-2x2.png :width: 300px Leaf-Spine (with pairing) ^^^^^^^^^^^^^^^^^^^^^^^^^ It supports all the redundancy and scalability features mentioned above. .. image:: images/topology-2x4.png :width: 450px Multi-Stage Leaf-Spine ^^^^^^^^^^^^^^^^^^^^^^ Multi-stage is specifically designed for telco service providers. The first stage can be installed in the central office, while the second stage can be installed in a field office that is closer to the subscribers. Two stages are typically connected via long distance optical transport. .. image:: images/topology-full.png :width: 700px Resiliency ---------- Provides HA in the following scenarios: - Controller instance failure (requires 3 or 5 node ONOS cluster) - Leaf-spine link failures - Spine switch failure Further HA support in following failure scenarios with dual-homing enabled: - Leaf switch failure - Upstream router failure - Host NIC failure Scalability ----------- In Production - Up to 80k routes (with route optimization) - 170k Flows - 600 direct-attached hosts - 8 leaf switches - 2 spine switches In Pre-Production - Up to 120k routes (with route optimization) - 250k flows - 600 direct-attached hosts - 8 leaf switches - 2 spine switches 4G/5G specific - 5000 active UEs, 10 calls per second Security -------- - TLS-secured gRPC connection between controllers and switches (work-in-progress) Aether-ready ------------ Fully integrated with Aether (5G/4G private enterprise edge cloud solution) including deployment automation, CI/CD, logging, monitoring, and alerting. Overlay Support --------------- Can be used/integrated with 3rd party overlay networks (e.g., OpenStack Neutron, Kubernetes CNI). Orchestrator Support -------------------- Can be integrated with an external orchestrator, optionally running from the public cloud Supports logging, telemetry, monitoring and alarm services via REST APIs and Elastic/Fluentbit/Kibana, Prometheus/Grafana Controller Server Specs ----------------------- Recommendation (per ONOS instance) based on 50K routes - CPU: 32 Cores - RAM: 128GB RAM. 64GB dedicated to ONOS JVM heap Recommendation (per ONOS instance) for 5K UEs when enabling UPF: - CPU: 1 Cores - RAM: 4GB RAM White Box Switch Hardware ------------------------- - Multi-vendor: APS Networks™, Dell™, Delta Networks™, Edgecore Networks™, Inventec™, Netburg™, QCT™ - Multi-chipset: - Intel Tofino (supports all features, including UPF & INT) - Broadcom Tomahawk®, Tomahawk+®, Trident2 (traditional fabric features only) - 1/10G, 25G, 40G, and 100G ports - Refer to Supported Devices list in https://github.com/stratum/stratum for the most up-to-date hardware list White Box Switch Software ------------------------- - Open source ONL, ONIE, Docker, Kubernetes - Stratum available from ONF .. rubric:: Footnotes .. [#f1] IPv6 support on the data plane (P4 program) is still work-in-progress.