blob: bfe6c6a53873b2c489f6c747707e40666a623ce4 [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
88Topology
Charles Chan7cc9b402021-10-04 16:14:20 -070089--------
Charles Chane6bb27a2021-10-03 23:26:50 -070090SD-Fabric can start at the smallest scale (single leaf) and grow horizontally.
91
92Single Leaf (ToR)
Charles Chan7cc9b402021-10-04 16:14:20 -070093-----------------
Charles Chane6bb27a2021-10-03 23:26:50 -070094This is the minimum SD-Fabric setup. In this setup, all servers are connected to a single switch.
95
96.. image:: images/topology-single.png
97
98Paired Leaf (Dual-Homing)
Charles Chan7cc9b402021-10-04 16:14:20 -070099-------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700100Compared to single switch, it provides more redundancy in terms of server NIC failure and link failure.
101
102.. image:: images/topology-pair.png
103
104Leaf-Spine (without pairing)
Charles Chan7cc9b402021-10-04 16:14:20 -0700105----------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700106Compared to single switch, it offers more redundancy in terms of switch failure and provides better scalability.
107
108.. image:: images/topology-2x2.png
109
110Leaf-Spine (with pairing)
Charles Chan7cc9b402021-10-04 16:14:20 -0700111-------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700112It supports all the redundancy and scalability features mentioned above.
113
114.. image:: images/topology-2x4.png
115
116Multi-Stage Leaf-Spine
Charles Chan7cc9b402021-10-04 16:14:20 -0700117----------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700118Multi-stage is specifically designed for telco service providers.
119The first stage can be installed in the central office,
120while the second stage can be installed in a field office that is closer to the subscribers.
121Two stages are typically connected via long distance optical transport.
122
123.. image:: images/topology-full.png
124
125Resiliency
Charles Chan7cc9b402021-10-04 16:14:20 -0700126----------
Charles Chane6bb27a2021-10-03 23:26:50 -0700127Provides HA in following scenarios
Charles Chan7cc9b402021-10-04 16:14:20 -0700128
Charles Chane6bb27a2021-10-03 23:26:50 -0700129 - Controller instance failure (requires 3 or 5 node ONOS cluster)
130 - Link failures
131 - Spine failure
Charles Chan7cc9b402021-10-04 16:14:20 -0700132
Charles Chane6bb27a2021-10-03 23:26:50 -0700133Further HA support in following failure scenarios with dual-homing enabled
Charles Chan7cc9b402021-10-04 16:14:20 -0700134
Charles Chane6bb27a2021-10-03 23:26:50 -0700135 - Leaf failure
136 - Upstream router failure
137 - Host NIC failure
138
139Scalability
Charles Chan7cc9b402021-10-04 16:14:20 -0700140-----------
Charles Chane6bb27a2021-10-03 23:26:50 -0700141In Production
Charles Chan7cc9b402021-10-04 16:14:20 -0700142
Charles Chane6bb27a2021-10-03 23:26:50 -0700143 - Up to 80k routes (with route optimization)
144 - 170k Flows
145 - 600 direct-attached hosts
146 - 8 leaf switches
147 - 2 spine switches
148
149In Pre-Production
Charles Chan7cc9b402021-10-04 16:14:20 -0700150
Charles Chane6bb27a2021-10-03 23:26:50 -0700151 - Up to 120k routes (with route optimization)
152 - 250k flows
153 - 600 direct-attached hosts
154 - 8 leaf switches
155 - 2 spine switches
156 - 5000 active UEs, 10 call per second
157
158Security
Charles Chan7cc9b402021-10-04 16:14:20 -0700159--------
Charles Chane6bb27a2021-10-03 23:26:50 -0700160 - TLS-secured connection between controllers and switches (premium feature)
161 - AAA 802.1x authentication
162
163Aether-ready
Charles Chan7cc9b402021-10-04 16:14:20 -0700164------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700165Fully integrated with Aether (5G/LTE private enterprise edge cloud solution)
166including deployment automation, CI/CD, logging, monitoring, and alerting.
167
168Overlay Support
Charles Chan7cc9b402021-10-04 16:14:20 -0700169---------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700170Can be used/integrated with 3rd party overlay networks (e.g., OpenStack Neutron, Kubernetes CNI).
171
172Orchestrator Support
Charles Chan7cc9b402021-10-04 16:14:20 -0700173--------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700174Can be integrated with an external orchestrator, optionally running from the public cloud
175Supports logging, telemetry, monitoring and alarm services via
176REST APIs and Elastic/Fluentbit/Kibana, Prometheus/Grafana
177
178Controller Server Specs
Charles Chan7cc9b402021-10-04 16:14:20 -0700179-----------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700180Recommendation (per ONOS instance) based on 50K routes
Charles Chan7cc9b402021-10-04 16:14:20 -0700181
Charles Chane6bb27a2021-10-03 23:26:50 -0700182 - CPU: 32 Cores
183 - RAM: 128GB RAM. 64GB dedicated to ONOS JVM heap
184
185White Box Switch Hardware
Charles Chan7cc9b402021-10-04 16:14:20 -0700186-------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700187- Multi-vendor: APS Networks™, Dell™, Delta Networks™, Edgecore Networks™, Inventec™, Netburg™, QCT
188- Multi-chipset:
189 - Intel Tofino (supports all features, including programmability, UPF & INT)
190 - Broadcom Tomahawk®, Tomahawk+®, Trident2 (traditional fabric features only)
191- 1/10G, 25G, 40G, 100G
192- Refer to Supported Devices list in https://github.com/stratum/stratum for the most up-to-date hardware list
193
194White Box Switch Software
Charles Chan7cc9b402021-10-04 16:14:20 -0700195-------------------------
Charles Chane6bb27a2021-10-03 23:26:50 -0700196- Open source ONL, ONIE, Docker, Kubernetes
197- Stratum available from ONF