blob: 20747187ade19b74105721a90df75ff4084ef609 [file] [log] [blame]
Charles Chancaebcf32021-09-20 22:17:52 -07001Specification
2=============
3
Charles Chane6bb27a2021-10-03 23:26:50 -07004SDN Features
5############
6 - 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
15###########
16Various L2 connectivity and tunneling support
17 - VLAN-based bridging
18
19 - Access, Trunk and Native VLAN support
20 - VLAN cross connect
21
22 - Forward traffic based on outer VLAN id
23 - Forward traffic based on outer and inner VLAN id (QinQ)
24 - Pseudowire
25
26 - L2 tunneling across the L3 fabric
27 - Support tunneling based on double tagged and single tagged traffic
28
29 - Support VLAN translation of outer tag
30
31L3 Features
32###########
33IP connectivity
34 - IPv4 and IPv6 unicast routing (internal use of MPLS Segment Routing)
35 - Subnetting configuration on all non-spine facing leaf ports; no configuration required on any spine port
36 - IPv6 router advertisement
37 - ARP, NDP, IGMP handling
38 - Number of flows in spines greatly simplified by MPLS Segment Routing
39 - Further reduction of per-leaf flows with route optimization logic
40
41DHCP Relay
42##########
43DHCP L3 relay
44 - DHCPv4 and DHCPv6
45 - DHCP server either directly attached to fabric leaves, or indirectly connected via upstream router
46 - DHCP client directly either attached to fabric leaves, or indirectly connected via LDRA
47 - Multiple DHCP servers for HA
48
49vRouter
50#######
51vRouter presents the entire SD-Fabric as a single router (or dual-routers for HA), with disaggregated control/data plane
52 - Uses open-source protocol implementations like Quagga (or FRR)
53 - BGPv4 and BGPv6
54 - Static routes
55 - Route blackholing
56 - ACLs based on port, L2, L3 and L4 headers
57
58Multicast
59#########
60Centralized multicast tree computation, programming and management
61 - Support both IPv4 and IPv6 multicast
62 - Dual-homed multicast sinks for HA
63 - Multiple multicast sources for HA
64
65API
66###
67- Provide easy access for 3rd party edge application developers and for the Aether centralized management platform
68- Support for traffic redirecting, dropping, network slicing and QoS
69
70Programmability
71###############
72- Support for Stratum, P4Runtime and gNMI and P4 programs
73- Innovative services enabled by programmable pipeline
74 - 4G/5G UPF - GTP encap/decap, idle-mode buffering, QoS and more
75 - BNG - PPPoE, anti-spoofing, accounting and more
76
77Troubleshooting & Diagnostics
78#############################
79- T3: Troubleshooting tool to diagnose broken forwarding paths fabric wide
80- ONOS-diags: One-click Diagnostics collection tool
81
82Topology
83########
84SD-Fabric can start at the smallest scale (single leaf) and grow horizontally.
85
86Single Leaf (ToR)
87*****************
88This is the minimum SD-Fabric setup. In this setup, all servers are connected to a single switch.
89
90.. image:: images/topology-single.png
91
92Paired Leaf (Dual-Homing)
93*************************
94Compared to single switch, it provides more redundancy in terms of server NIC failure and link failure.
95
96.. image:: images/topology-pair.png
97
98Leaf-Spine (without pairing)
99****************************
100Compared to single switch, it offers more redundancy in terms of switch failure and provides better scalability.
101
102.. image:: images/topology-2x2.png
103
104Leaf-Spine (with pairing)
105*************************
106It supports all the redundancy and scalability features mentioned above.
107
108.. image:: images/topology-2x4.png
109
110Multi-Stage Leaf-Spine
111**********************
112Multi-stage is specifically designed for telco service providers.
113The first stage can be installed in the central office,
114while the second stage can be installed in a field office that is closer to the subscribers.
115Two stages are typically connected via long distance optical transport.
116
117.. image:: images/topology-full.png
118
119Resiliency
120##########
121Provides HA in following scenarios
122 - Controller instance failure (requires 3 or 5 node ONOS cluster)
123 - Link failures
124 - Spine failure
125Further HA support in following failure scenarios with dual-homing enabled
126 - Leaf failure
127 - Upstream router failure
128 - Host NIC failure
129
130Scalability
131###########
132In Production
133 - Up to 80k routes (with route optimization)
134 - 170k Flows
135 - 600 direct-attached hosts
136 - 8 leaf switches
137 - 2 spine switches
138
139In Pre-Production
140 - Up to 120k routes (with route optimization)
141 - 250k flows
142 - 600 direct-attached hosts
143 - 8 leaf switches
144 - 2 spine switches
145 - 5000 active UEs, 10 call per second
146
147Security
148########
149 - TLS-secured connection between controllers and switches (premium feature)
150 - AAA 802.1x authentication
151
152Aether-ready
153############
154Fully integrated with Aether (5G/LTE private enterprise edge cloud solution)
155including deployment automation, CI/CD, logging, monitoring, and alerting.
156
157Overlay Support
158###############
159Can be used/integrated with 3rd party overlay networks (e.g., OpenStack Neutron, Kubernetes CNI).
160
161Orchestrator Support
162####################
163Can be integrated with an external orchestrator, optionally running from the public cloud
164Supports logging, telemetry, monitoring and alarm services via
165REST APIs and Elastic/Fluentbit/Kibana, Prometheus/Grafana
166
167Controller Server Specs
168#######################
169Recommendation (per ONOS instance) based on 50K routes
170 - CPU: 32 Cores
171 - RAM: 128GB RAM. 64GB dedicated to ONOS JVM heap
172
173White Box Switch Hardware
174#########################
175- Multi-vendor: APS Networks™, Dell™, Delta Networks™, Edgecore Networks™, Inventec™, Netburg™, QCT
176- Multi-chipset:
177 - Intel Tofino (supports all features, including programmability, UPF & INT)
178 - Broadcom Tomahawk®, Tomahawk+®, Trident2 (traditional fabric features only)
179- 1/10G, 25G, 40G, 100G
180- Refer to Supported Devices list in https://github.com/stratum/stratum for the most up-to-date hardware list
181
182White Box Switch Software
183#########################
184- Open source ONL, ONIE, Docker, Kubernetes
185- Stratum available from ONF
186