blob: f59ccc0e091942bfb606102e29b25ee8611fa2a9 [file] [log] [blame]
Charles Chancaebcf32021-09-20 22:17:52 -07001Specification
2=============
3
Charles Chane6bb27a2021-10-03 23:26:50 -07004SDN Features
Charles Chan7cc9b402021-10-04 16:14:20 -07005------------
Charles Chane6bb27a2021-10-03 23:26:50 -07006 - ONOS cluster of all-active N instances affording N-way redundancy and scale, where N = 3 or N = 5
7 - Unified operations interface (GUI/REST/CLI)
8 - Centralized configuration: all configuration is done on the controller instead of each individual switch
9 - Centralized role-based access control (RBAC)
10 - Automatic host (end-point) discovery: attached hosts, access-devices, appliances (PNFs), routers, etc.
11 based on ARP, DHCP, NDP, etc.
12 - Automatic switch, link and topology discovery and maintenance (keepalives, failure recovery)
Charles Chancaebcf32021-09-20 22:17:52 -070013
Charles Chane6bb27a2021-10-03 23:26:50 -070014L2 Features
Charles Chan7cc9b402021-10-04 16:14:20 -070015-----------
Charles Chane6bb27a2021-10-03 23:26:50 -070016Various L2 connectivity and tunneling support
Charles Chan7cc9b402021-10-04 16:14:20 -070017
Charles Chane6bb27a2021-10-03 23:26:50 -070018 - VLAN-based bridging
19
20 - Access, Trunk and Native VLAN support
21 - VLAN cross connect
22
23 - Forward traffic based on outer VLAN id
24 - Forward traffic based on outer and inner VLAN id (QinQ)
25 - Pseudowire
26
27 - L2 tunneling across the L3 fabric
28 - Support tunneling based on double tagged and single tagged traffic
29
30 - Support VLAN translation of outer tag
31
32L3 Features
Charles Chan7cc9b402021-10-04 16:14:20 -070033-----------
Charles Chane6bb27a2021-10-03 23:26:50 -070034IP connectivity
Charles Chan7cc9b402021-10-04 16:14:20 -070035
Charles Chane6bb27a2021-10-03 23:26:50 -070036 - IPv4 and IPv6 unicast routing (internal use of MPLS Segment Routing)
37 - Subnetting configuration on all non-spine facing leaf ports; no configuration required on any spine port
38 - IPv6 router advertisement
39 - ARP, NDP, IGMP handling
40 - Number of flows in spines greatly simplified by MPLS Segment Routing
41 - Further reduction of per-leaf flows with route optimization logic
42
43DHCP Relay
Charles Chan7cc9b402021-10-04 16:14:20 -070044----------
Charles Chane6bb27a2021-10-03 23:26:50 -070045DHCP L3 relay
Charles Chan7cc9b402021-10-04 16:14:20 -070046
Charles Chane6bb27a2021-10-03 23:26:50 -070047 - DHCPv4 and DHCPv6
48 - DHCP server either directly attached to fabric leaves, or indirectly connected via upstream router
49 - DHCP client directly either attached to fabric leaves, or indirectly connected via LDRA
50 - Multiple DHCP servers for HA
51
52vRouter
Charles Chan7cc9b402021-10-04 16:14:20 -070053-------
54vRouter presents the entire SD-Fabric as a single router (or dual-routers for HA),
55with disaggregated control/data plane
56
Charles Chane6bb27a2021-10-03 23:26:50 -070057 - Uses open-source protocol implementations like Quagga (or FRR)
58 - BGPv4 and BGPv6
59 - Static routes
60 - Route blackholing
61 - ACLs based on port, L2, L3 and L4 headers
62
63Multicast
Charles Chan7cc9b402021-10-04 16:14:20 -070064---------
Charles Chane6bb27a2021-10-03 23:26:50 -070065Centralized multicast tree computation, programming and management
Charles Chan7cc9b402021-10-04 16:14:20 -070066
Charles Chane6bb27a2021-10-03 23:26:50 -070067 - Support both IPv4 and IPv6 multicast
68 - Dual-homed multicast sinks for HA
69 - Multiple multicast sources for HA
70
71API
Charles Chan7cc9b402021-10-04 16:14:20 -070072---
Charles Chane6bb27a2021-10-03 23:26:50 -070073- Provide easy access for 3rd party edge application developers and for the Aether centralized management platform
74- Support for traffic redirecting, dropping, network slicing and QoS
75
76Programmability
Charles Chan7cc9b402021-10-04 16:14:20 -070077---------------
Charles Chane6bb27a2021-10-03 23:26:50 -070078- Support for Stratum, P4Runtime and gNMI and P4 programs
79- Innovative services enabled by programmable pipeline
80 - 4G/5G UPF - GTP encap/decap, idle-mode buffering, QoS and more
81 - BNG - PPPoE, anti-spoofing, accounting and more
82
83Troubleshooting & Diagnostics
Charles Chan7cc9b402021-10-04 16:14:20 -070084-----------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -070085- T3: Troubleshooting tool to diagnose broken forwarding paths fabric wide
86- ONOS-diags: One-click Diagnostics collection tool
87
Charles Chan10ad1442021-10-05 16:57:26 -070088.. _Topology:
89
Charles Chane6bb27a2021-10-03 23:26:50 -070090Topology
Charles Chan7cc9b402021-10-04 16:14:20 -070091--------
Charles Chane6bb27a2021-10-03 23:26:50 -070092SD-Fabric can start at the smallest scale (single leaf) and grow horizontally.
93
Charles Chan33528a92021-10-05 13:28:13 -070094.. image:: images/topology-scale.png
95 :width: 900px
96
97
Charles Chane6bb27a2021-10-03 23:26:50 -070098Single Leaf (ToR)
Charles Chan10ad1442021-10-05 16:57:26 -070099^^^^^^^^^^^^^^^^^
Charles Chane6bb27a2021-10-03 23:26:50 -0700100This is the minimum SD-Fabric setup. In this setup, all servers are connected to a single switch.
101
102.. image:: images/topology-single.png
Charles Chan33528a92021-10-05 13:28:13 -0700103 :width: 160px
Charles Chane6bb27a2021-10-03 23:26:50 -0700104
Charles Chan33528a92021-10-05 13:28:13 -0700105Single Leaf Pair (Dual-Homing)
Charles Chan10ad1442021-10-05 16:57:26 -0700106^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Charles Chane6bb27a2021-10-03 23:26:50 -0700107Compared to single switch, it provides more redundancy in terms of server NIC failure and link failure.
108
109.. image:: images/topology-pair.png
Charles Chan33528a92021-10-05 13:28:13 -0700110 :width: 225px
Charles Chane6bb27a2021-10-03 23:26:50 -0700111
112Leaf-Spine (without pairing)
Charles Chan10ad1442021-10-05 16:57:26 -0700113^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Charles Chane6bb27a2021-10-03 23:26:50 -0700114Compared to single switch, it offers more redundancy in terms of switch failure and provides better scalability.
115
116.. image:: images/topology-2x2.png
Charles Chan33528a92021-10-05 13:28:13 -0700117 :width: 300px
Charles Chane6bb27a2021-10-03 23:26:50 -0700118
119Leaf-Spine (with pairing)
Charles Chan10ad1442021-10-05 16:57:26 -0700120^^^^^^^^^^^^^^^^^^^^^^^^^
Charles Chane6bb27a2021-10-03 23:26:50 -0700121It supports all the redundancy and scalability features mentioned above.
122
123.. image:: images/topology-2x4.png
Charles Chan33528a92021-10-05 13:28:13 -0700124 :width: 450px
Charles Chane6bb27a2021-10-03 23:26:50 -0700125
126Multi-Stage Leaf-Spine
Charles Chan10ad1442021-10-05 16:57:26 -0700127^^^^^^^^^^^^^^^^^^^^^^
Charles Chane6bb27a2021-10-03 23:26:50 -0700128Multi-stage is specifically designed for telco service providers.
Charles Chan33528a92021-10-05 13:28:13 -0700129The first stage can be installed in the central office, while the second stage
130can be installed in a field office that is closer to the subscribers.
Charles Chane6bb27a2021-10-03 23:26:50 -0700131Two stages are typically connected via long distance optical transport.
132
133.. image:: images/topology-full.png
Charles Chan33528a92021-10-05 13:28:13 -0700134 :width: 700px
Charles Chane6bb27a2021-10-03 23:26:50 -0700135
136Resiliency
Charles Chan7cc9b402021-10-04 16:14:20 -0700137----------
Charles Chane6bb27a2021-10-03 23:26:50 -0700138Provides HA in following scenarios
Charles Chan7cc9b402021-10-04 16:14:20 -0700139
Charles Chane6bb27a2021-10-03 23:26:50 -0700140 - Controller instance failure (requires 3 or 5 node ONOS cluster)
141 - Link failures
142 - Spine failure
Charles Chan7cc9b402021-10-04 16:14:20 -0700143
Charles Chane6bb27a2021-10-03 23:26:50 -0700144Further HA support in following failure scenarios with dual-homing enabled
Charles Chan7cc9b402021-10-04 16:14:20 -0700145
Charles Chane6bb27a2021-10-03 23:26:50 -0700146 - Leaf failure
147 - Upstream router failure
148 - Host NIC failure
149
150Scalability
Charles Chan7cc9b402021-10-04 16:14:20 -0700151-----------
Charles Chane6bb27a2021-10-03 23:26:50 -0700152In Production
Charles Chan7cc9b402021-10-04 16:14:20 -0700153
Charles Chane6bb27a2021-10-03 23:26:50 -0700154 - Up to 80k routes (with route optimization)
155 - 170k Flows
156 - 600 direct-attached hosts
157 - 8 leaf switches
158 - 2 spine switches
159
160In Pre-Production
Charles Chan7cc9b402021-10-04 16:14:20 -0700161
Charles Chane6bb27a2021-10-03 23:26:50 -0700162 - Up to 120k routes (with route optimization)
163 - 250k flows
164 - 600 direct-attached hosts
165 - 8 leaf switches
166 - 2 spine switches
167 - 5000 active UEs, 10 call per second
168
169Security
Charles Chan7cc9b402021-10-04 16:14:20 -0700170--------
Charles Chane6bb27a2021-10-03 23:26:50 -0700171 - TLS-secured connection between controllers and switches (premium feature)
172 - AAA 802.1x authentication
173
174Aether-ready
Charles Chan7cc9b402021-10-04 16:14:20 -0700175------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700176Fully integrated with Aether (5G/LTE private enterprise edge cloud solution)
177including deployment automation, CI/CD, logging, monitoring, and alerting.
178
179Overlay Support
Charles Chan7cc9b402021-10-04 16:14:20 -0700180---------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700181Can be used/integrated with 3rd party overlay networks (e.g., OpenStack Neutron, Kubernetes CNI).
182
183Orchestrator Support
Charles Chan7cc9b402021-10-04 16:14:20 -0700184--------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700185Can be integrated with an external orchestrator, optionally running from the public cloud
186Supports logging, telemetry, monitoring and alarm services via
187REST APIs and Elastic/Fluentbit/Kibana, Prometheus/Grafana
188
189Controller Server Specs
Charles Chan7cc9b402021-10-04 16:14:20 -0700190-----------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700191Recommendation (per ONOS instance) based on 50K routes
Charles Chan7cc9b402021-10-04 16:14:20 -0700192
Charles Chane6bb27a2021-10-03 23:26:50 -0700193 - CPU: 32 Cores
194 - RAM: 128GB RAM. 64GB dedicated to ONOS JVM heap
195
196White Box Switch Hardware
Charles Chan7cc9b402021-10-04 16:14:20 -0700197-------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700198- Multi-vendor: APS Networks™, Dell™, Delta Networks™, Edgecore Networks™, Inventec™, Netburg™, QCT
199- Multi-chipset:
200 - Intel Tofino (supports all features, including programmability, UPF & INT)
201 - Broadcom Tomahawk®, Tomahawk+®, Trident2 (traditional fabric features only)
202- 1/10G, 25G, 40G, 100G
203- Refer to Supported Devices list in https://github.com/stratum/stratum for the most up-to-date hardware list
204
205White Box Switch Software
Charles Chan7cc9b402021-10-04 16:14:20 -0700206-------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700207- Open source ONL, ONIE, Docker, Kubernetes
208- Stratum available from ONF