Download presentation
Presentation is loading. Please wait.
Published byAngela Bruce Modified over 6 years ago
1
CORD: Putting the Pedal to the Metal Larry Peterson ONF
2
CORD and Car Analogies CORD is like a car in that it is an integrated whole, as opposed to a pile of parts that must be assembled. Yes, but it doesn’t just use off-the-shelf components. CORD is like a concept car. Yes, but it’s built to be driven on the street, not just admired in the showroom.
3
Halo Car “…goes out of its way to push the technology…”
“…spurs the imagination…” ‘’...closest thing to a concept car you can find on the street…” “…the technology developed is often incorporated into future production vehicles…”
4
CORD: A Community Halo Project
You Are Here January 2015 September 2016 (1.0) September 2017 (4.0) Concept Proof of Concept Version “1.0” Stabilized Platform Transitioning to Distro
5
Edge Service Delivery Platform
Commodity Clouds Telco Cloud Users Access Edge For illustration purposes; sizing is done independent of general design. 10GPON also an option (as is Mobile-CORD and Enterprise-CORD).
6
Architectural Requirements
(1) Built using commodity servers and white-box switches Leverage merchant silicon Achieve performance and reliability in software (2) Support a wide range of services Bundled Legacy and Disaggregated Greenfield Server-based (NFV) and Switch-based (SDN) (3) Built as an extensible platform Scale hardware up/down to meet performance requirements Select access devices and services to meet functional needs Leverage declarative models to configure and control
7
Architectural Requirements
(4) Support multi-tenancy Platform isolates multiple business units and service vendors Each service isolates multiple end-users (subscribers) (5) Operationally robust Adopts best practices in scalable cloud design Supports zero-touch provisioning
8
Pushing Technology Boundaries
Merchant Silicon x Disaggregation Extensible Platform Multi-Tenant Bring Cloud Technology to the Access Network Bring Access Technology to the Cloud
9
Data Center N W E WAN Routers Switching Fabric Compute Storage
For illustration purposes; sizing is done independent of general design. 10GPON also an option (as is Mobile-CORD and Enterprise-CORD).
10
OpenStack/Kubernetes
Access Edge R-CORD: VOLTHA (XGS-PON) M-CORD: xRAN I/O I/O E-CORD: VNaaS TRELLIS: Fabric + Overlay ROADM (Core) PON, RAN (Access) For illustration purposes; sizing is done independent of general design. 10GPON also an option (as is Mobile-CORD and Enterprise-CORD). OpenStack/Kubernetes
11
CORD Architecture CORD Controller OCP Hardware Commodity Servers
Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS OpenStack / K8S OCP Hardware Commodity Servers White-Box Switches Merchant Silicon Access (Req 1)
12
CORD Architecture CORD Controller OCP Hardware Virtualization Agnostic
– VMs – Containers – Micro-Services – … Instruction Set Agnostic – Server-based (VNF) – Switch-based (SDN) Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF (Req 2,5) ONOS OpenStack / K8S OCP Hardware
13
CORD Architecture CORD Controller OCP Hardware Trellis – Fabric – VTN
– vRouter – MCAST Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS OpenStack / K8S OCP Hardware
14
CORD Architecture CORD Controller OCP Hardware R-CORD – vOLT R-CORD
– vOLTHA – vSG / vBNG Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS OpenStack / K8S OCP Hardware
15
CORD Architecture CORD Controller OCP Hardware M-CORD – xRAN M-CORD
Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF M-CORD – vEPC ONOS OpenStack / K8S OCP Hardware
16
CORD Architecture CORD Controller OCP Hardware E-CORD – vEE – VNaaS
Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS OpenStack / K8S OCP Hardware
17
CORD Architecture CORD Controller OCP Hardware Virtualization Agnostic
– VMs – Containers – Micro-Services – … Instruction Set Agnostic – Server-based (VNF) – Switch-based (SDN) Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF (Req 2,5) ONOS OpenStack / K8S OCP Hardware
18
CORD Architecture CORD Controller OCP Hardware Provisions Services
Mediates Trust Enforces Policies Assembles Data Paths CORD Controller (Req 3,4) Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS OpenStack / K8S OCP Hardware
19
CORD Architecture CORD Controller Service Control Plane
Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App VNF ONOS OpenStack / K8S Service Data Plane OCP Hardware
20
Backend Services and Resources
XOS Constructed from Micro-Services GUI REST API VIM TOSCA Views (UIs) CORD Controller (XOS) Event Bus XOS Core DB Data Model Synchronizers Backend Services and Resources
21
XOS Generative Toolchain
Models Policies Language to Define & Operate on Models – xproto models: protobufs + extensions policies: logic formulae applied to models Generative Tool Chain – xosgen XOS Core Auto-generated code to… implement interfaces, execute synchronizers, enforce security test end-to-end integration, validate consistency, apply policy
22
Example Model and Policy
policy grant_policy < ctx.user.is_admin | exists Privilege:Privilege.object_type = obj.object_type & Privilege.object_id = obj.object_id & Privilege.accessor_type = "User" & Privilege.accessor_id = ctx.user.id & Privilege.permission = "role:admin" > message Privilege::grant_policy (XOSBase) { required int32 accessor_id = 1 [null = False]; required string accessor_type = 2 [null = False, max_length=1024]; required int32 controller_id = 3 [null = True]; required int32 object_id = 4 [null = False]; required string object_type = 5 [null = False, max_length=1024]; required string permission = 6 [null = False, default = "all", max_length=1024]; required string granted = 7 [content_type = "date", auto_now_add = True, max_length=1024]; required string expires = 8 [content_type = "date", null = True, max_length=1024]; }
23
XOS Generative Toolchain
GUI REST API VIM TOSCA Generated Code – API Tests – Northbound Interfaces – Enforce Security Policy – Object Relation Mapper – Synchronizer Framework Event Bus XOS Core DB Sync Sync Sync Sync
24
Synchronizer Framework
XOS auto-generates code for… Dependency management Error recovery Work partitioning Parallelization Logging Service developer writes… A Sync_Step( ) that is invoked when Service model changes An Ansible Template that specifies a VNF-specific playbook
25
Models and Frameworks Previous five slides have been about mechanism
XOS is a framework for specifying and evaluating models CORD also includes a set of core models Familiar building blocks – Instances, Networks Virtualization-agnostic infrastructure – Slice ISA-agnostic Service graph – Service, ServiceDependency Subscribers – CordSubscriberRoot Per-user service chains – ServiceInstance, ServiceInstanceLink
26
Core Models Instance = (VM | Container | Slice = Service =
Controller Instance Instance Instance Instance Instance Instance Instance Instance Instance Instance = (VM | Container | Container-in-VM) Slice = (Instances[ ] + Networks[ ]) Service = (Controller + Slices[ ]) vOLT Controller vSG vRouter Service Graph = (Services[ ] + Dependencies[ ])
27
(ServiceInstances[ ] + ServiceInstanceLinks[ ])
Core Models Service Graph R R-CORD Service Controller Controller Controller vOLT vSG vRouter Subscriber Service Instance Service Instance Service Instance Service Chain = (ServiceInstances[ ] + ServiceInstanceLinks[ ])
28
Core Models Nested Services Network Slicing EPC-as-a-Service
Controller SPGW Control vMME vSPGW-c vSPGW-u EPC-as-a-Service Controller SPGW Control vMME vSPGW-c vSPGW-u EPC-as-a-Service Controller SPGW Control vMME vSPGW-c vSPGW-u EPC-as-a-Service Controller vHSS eNB Nested Services Network Slicing
29
Build System Serves multiple masters…
Developers that want tight development loops for the components they are working on. Integrators that want flexible configurability to combine and test targeted solutions. Operators that want determinist builds that include only certified components and supports zero-touch.
30
Multi-Stage Build System
Configure cord_profile: rcord, mcord, ecord,… cord_scenario: local, mock, single, cord,… Build Fetch – onto development machine Build – containers (if necessary) Publish – to repository on head node
31
Multi-Stage Build System
Deploy Run management containers (XOS, ONOS, OpenStack) on head node Docker Compose today / plans to have Kubernetes help manage Boot Bring up compute nodes and switches Leverage MAAS and PXE
32
Build Tooling A set of YAML files represents all configuration state
All builds start at build/podconfig/profile-scenario.yml A set of Docker images define the canonical representation of the system Makes it easier to identify “golden” components Makes it easier to iterate on a specific component during development A set of Ansible roles separates configuring/installing/deploying containers Makes it easy to adapt CORD to new scenarios A sequence of Make targets represent build milestones Makes it easy to roll back and incrementally re-build
33
CORD as Configurable Platform
Having built CORD from commodity hardware and disaggregated software services, the operator has wide latitude in how to reassemble the building blocks Two Adjustable Levers Sizing – Number and mix of hardware components Configuration – Set of on-boarded software services If you go and talk to service providers around the globe they will tell you they want essentially two things: 1. Economies of a data center 2. Agility of a cloud provider Each service provider may articulate it differently but it comes down to these two high level requirements. What do these requirements mean? This means service providers want to build their infrastructure like the datacenters – that is build it using a few commodity building blocks that use open source software and hardware. For example datacenters use commodity servers, white boxes for the leaf and spine switches, and many open source software platforms and tools. The net result is that the service providers can scale their infrastructure and significantly reduce capex and opex. Agility means they want to introduce new revenue generating services quickly – what cloud providers do so well. In short this comes down to: reduce expenses and grow revenue Every business needs to do that, especially service providers given their business realities and compete well with OTT providers.
34
(Up to 16 Racks with 32x40GE switches)
Scale Up – Hardware Leaf Leaf Leaf Spine Leaf Leaf Leaf Leaf Leaf Leaf Spine Leaf Leaf Leaf Access Access Compute Spine Compute Compute Compute Access Access Compute Spine Compute Compute Compute Access Access Compute Spine Compute Compute Compute Access Access Compute Spine Compute Compute Compute … … … … … … … Access Access Compute Spine Compute Compute Compute Full POD (Up to 16 Racks with 32x40GE switches) Scale Up – Have the resources to take advantage of proximity to customers.
35
Scale Up – Software Provision Services On-Demand CORD Controller vOLT
vSG vRouter Residential Subscribers vCDN Controller Controller OpenStack Controller Controller Monitoring ONOS Provision Services On-Demand Scale Up – Realize full promise of CORD, from Access to SaaS.
36
Scale Down – Lite-and-Right CORD
Switch Single/Partial Rack (No Spine Switches) Switch Compute Minimal Compute (All services run in containers) Compute OLT Merchant Silicon Access Blades (e.g., OLT) OLT … OLT If you also “scale down” the software so the Service Graph includes just vOLT, the resulting configuration = “White-Box OLT” vOLT Controller Scale down… in the limit Light-and-Right CORD = Commodity OLT “device”. (Note: with just one service, you can get by without XOS, but be aware even a single-function POD has other supportive elements).
37
Multi-Access Edge Cloud
vOLT Controller … R-CORD Sub-Graph… vBBU … M-CORD Sub-Graph… vEE … E-CORD Sub-Graph… CORD Controller Switch Switch Compute Compute OLT Access Devices = OLT + BBU + ETH BBU … ETH Scale down… in the limit Light-and-Right CORD = Commodity OLT “device”. (Note: with just one service, you can get by without XOS, but be aware even a single-function POD has other supportive elements).
38
Current Status M-CORD MAE E-CORD R-CORD 1.0 2.0 3.0 4.0 4.1 5.0
(Dec-2017) R-CORD VOLTHA
39
Service Portfolio (4.1) vSG – Virtual Subscriber Gateway
vOLT – Virtual OLT vRouter – Virtual Router vEG – Virtual Enterprise Gateway vEE – Virtual Enterprise Ethernet vHSS – Virtual Home Subscriber Server vMME – Virtual Mobility Management Entity vEPC – Virtual Evolved Packet Core vTR – Virtual Truck Roll HyperCache – Akamai CDN SGW – Virtual Serving Gateway (User) vSGWc – Virtual Serving Gateway (Control) vPGW – Virtual Packet Gateway (User) vPGWc – Virtual Packet Gateway (Control) vBBU – Virtual Broadband Base Unit xRAN – Virtual Radio Access Network ONOS – Network OS OpenStack – Intrastructure-as-a-Service Swarm – Container Management Service Fabric – Fabric Management Service VTN – Virtual Tenant Network A-CORD – Monitoring-as-a-Service LBaaS – LoadBalancer-as-a-Service VNaaS – VirtualNetwork-as-a-Service Helper Services AAA – Access Control AddressManager – Allocate IP Addresses IGMP – Multicast Signalling MCAST – Multicast SADIS – xxx
40
CORD and ONAP ONAP (Global) Subscriber Database (Global) CORD (Local)
Design Studio Customer Portal ONAP (Global) Subscriber Database (Global) Provisions and Orchestrates Services (Multi-Tenant Platform) Returns Subscriber Profiles (Multi-Tenant Service) CORD (Local) DCAE Collectors Assemble Per-Subscriber Data Paths Across Disaggregated Services and White-Box Switches Database Cache
41
A-CORD – Monitoring-as-a-Service
Analytics Engines Control Decision Real-time Analytic Apps Diagnostic Analytic Apps Security Analytic Apps Change Observability Observed Data CORD Controller Monitoring-as-a-Service Service Controller Programmable Observability Data Storage MaaS … Configuration Collection TSDB Program & Observe Control Programmable Probes Enterprise Metro Ethernet BBUs (Multi-RATs) PON OLT MACs ROADM (Core) VNF VNF VNF VNF
42
Learn About CORD Hands-on CORD learning and skill development
Developed and Hosted by Criterion Networks In collaboration with ONF Online subscription-based pricing model Now in Beta (by invitation) Duration Total Lab 12 Hrs Lab I CORD Network Management 4 Hrs $125 Lab II CORD Virtual Networks 4 Hrs $125 Lab III CORD Services Framework 4 Hrs $125
43
More Information Software – Community –
44
VOLTHA
45
SDN Controller (ONOS Cluster)
Trellis API (CLI + REST + Java) SDN Controller (ONOS Cluster) Fabric Control Mcast AAA DHCP Relay OpenFlow 1.3 vRouter … NETCONF Flow Objectives API BRCM ASIC OF-DPA Indigo OF Agent OF-DPA API OCP Software - ONL ONIE OCP Bare Metal Hardware BRCM SDK API Switch software stack Bare-metal Open-source White Box White Box White Box White Box White Box White Box White Box White Box White Box White Box White Box ToR
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.