An Introduce of OPNFV (Open Platform for NFV)
Transcript of An Introduce of OPNFV (Open Platform for NFV)
OPNFVOpen Platform for NFV
(Network Function Virtualization)
Open Frontier Lab.Manseok (Mario) Cho
Who am I ?Development Experience◆ HPC (High Performance Computing) for
Human Brain Mapping◆ 3D Medical Image Reconstruction (SART
CT) ◆ Enterprise Storage Tiering
Open Source Develop◆ Linux Kernel (ARM, x86, ppc)◆ LLVM (x86, ARM, custom) ◆ OpenStack : Orchestration (heat)◆ SDN (OpenDaylight, OVS, DPDK) ◆ OPNFV: (DPACC, Genesis,Doctor, vSwitch)
Open Frontier Lab.
Technical Book◆ Unix V6 Kernel
Open Source S/W developer community
http://kernelstudy.net- ARM,�x86,��리눅스커널분석- LLVM�컴파일러.- SDN/NFV
What is OPNFV ?Open Platform forNetworkFunctionVirtualization
What is Network ?
Electric: a model of such an interconnection, consisting of electrical elements
Business: when followed, allow the business personto build new business relationships and generate business opportunities
Computer: networked computing devices pass datato each other along data connections
Network Definition in C.S.
Collection of endpoints and forwarding elements
Responsible for moving Packets between source host and destination host
Source hosts identify destination hosts
Forwarding elements direct traffic at each intersection
Connect things will soon be everywhere!
http://blogs.cisco.com/news/the- internet-of-things- infog raphic/
Traffic & Revenue Challenge
* Figure From Cisco
Carrier Revenue /Cost Trends
Around 2016~2017, revenue and cost cross over
* Figure From Cisco
PC
SmartPhone
STB
IoTNAS
Homenetwork
PC
SmartPhone
STBIoT
Homenetwork RGW
RGW
internet
IPTV Service
Portal Service
SNSService
ITService
internet Network Function
• vCustomer Permit Equipment• vRegidential GateWay• vSet Top Box
Homenetwork
Mobilenetwork
PGN
Network Function Virtualization
Compute Network Storage
Legacy Network Network Function Virtualization
Virtualization S/W
VNF VNF VNF VNFNFV Orchestrator S/W
Cloud Infra S/W
Hardware Software+
BRAS
SGSN / GGSN
Firewall
General Hardware
Software
PC
SmartPhone
IoT
HomeCloud
Network
PC
SmartPhone
STBIoT
vRGW Internet
IPTV Service
Portal Service
SNSService
ITService
vPC
vStorage
vSTB
Why the NFV is need important?
Private Network
vCPE• vCPE: Customer Permit Equipment• vRGW: Residential GateWay• vSTB: Set Top Box
NFV : What is all about it?
* Figure From Redhat
End PointEnd Point
OPNFV Structure Diagram
Compute Storage NetworkH/W Resource
HyperVisor (KVM, Xen, Vmware)
VM
Network Service
VNF VNF VNF
VNF VNF
Logical Links
VNF Instances (Virtual Network Function)
VNF VNF VNFVNF
Application S/W Links
Virtualization (KVM)
Cloud Infra(OpenStack)
OPNFV Infra structure
VM VM
Linux Guest Linux Guest Linux Guest
Software Define Network Open Daylight + Open vSwitch + DPDK
Cloud Infra Links
Software Instances
Logical Structure
운영체계- 커널은운영체제의핵심으로컴퓨터시스템을사용하는데꼭 필요한기능을제공.
운영체계의주역활- 실행프로그램(프로세스Process)관리- 메모리관리 (Memory Management)- 파일시스템 (File System)- 파일과주변장치를위한 I/O
Operating�System
Most�Popular�Operating�System�starting- Apple�Mac�OS�system�1.x�:�1984.x- MS�Windows�1.x�:�1985.x- Linux�:�1991.�8.26
Linux�Operating�System
Linux Kernel Architectures
I/O, Device, NetworkMemory
Application S/W
System Call
Processor
Application S/W Service S/W Service S/W
process manager
Scheduler
Interprocess Communication
Memory ManagerBuddy, Slub
Network Interface
File System
I/O Interface Device Driver
User Space
Hardware Space
Kernel Space
K&R�(Ken�Tompson &�Dennis�Richie)
Lions�Commentary�on UNIX�V6
Linux
Unix�V6
Open�Source�OS�From�Unix�V6�To Linux
Virtualization
Virtualization- in computing,
refers to the act of creating a virtual version of something,including but not limited to a virtualcomputer hardware platform (x86, ARM,…)operating system (Windows, Linux, FreeBSD,…)storage device,computer network resources.
IBM System 360In 1960s, mainframe computersas a method of logically dividingthe system resources
KVM
Open Source
- Part of Linux
- Linux scheduler
- Memory Management
- Minimal impact
- para-virtualization Not support
- Uses VT
Virtualization (Hypervisor)Xen, VMWare, Virtual-box
- Closed Source
- External Hypervisor
- Own scheduler
- Own memory management
- Intrusive
- para-virtualization support
- Uses dynamic translation
OpenStack (Cloud Infra S/W)Orchestration (Heat)
VM template image
Keystone RabbitMQ
Swift Glance
Heat
NovaScheduler
Neutron
NovaComputeNova
ComputeNovaComputeNova
ComputeNovaCompute
Block Storage
Cinder
Public Network
Service Network
StorageNetwork
StorageNetwork
Create Virtual Machine
Create Virtual NetworkRetrieve Template Images
AuthenticationServe
Message Queue
Attached BlockStorage
NetworkNodeNetwork
NodeNetworkNodeNetwork
NodeNetworkNode
OpenStack migration using “Heat” & “Ironic”
26
Nova Scheduler
Nova APIHeat
1. Instance Request 2. Choose Nova Computer
3. Service Provision
Hyper Visor Bare Metal
Nova Nova
VM
VM
VM
VM
VM
Machine Machine
NF NF
Image Service Block Storage
4. Network Isolation 4. Network Isolation
5. Block Storage Attached5. Block Storage Attached
SDN(Software Defined Network)
In the Software Defined Networking, the control and data planes are decoupled, network intelligence and state are logically centralized, and the underlying network infrastructureis abstracted from the applications.
SDN change matters
Closed Source
Network Engineer
Vendor Lead
CLIs
Network Appliances
Open Source
Network Developer
Community Driven
APIs
NFV (Software defined)
Current SDN
Compare Traditional & SDN
* Figure From NEC
Network packetControl Plane Data Plane
OpenFlowPipelineProcessing
* Figure From OpenFlow Switch Specification
SDN flow workA logically centralize controller programs the network based on a global view
Vendor Specific Protocol
Control Plane
Data Plane
Control Plane
Data Plane
Control Plane
Data Plane
Control Plane
Data Plane
Console
SNMP
SDN Controller
Data Plane
Data Plane
Data Plane
Data Plane
APP APP APP
Software Defined Network OverlayCompute Node
VM1 VM1 VM1
vSwitch
Compute Node
VM1 VM1 VM1
vSwitch
Compute Node
VM1 VM1 VM1
vSwitch
Switching Switching Switching
Switching
Switching
Switching
Virtual Infra
Logical Switching
Physical Switching
Service Chain Orchestration
Management plane
Control plane
Control plane
Data plane
Service Chain Orchestrator
Orchestrator
Service policy controller
Software Define Networkcontroller
Network Function Virtualization
controllerService selection policy manager
Service adjustment policy manager
SDN forwarding manager
SDN topology manager
NFV resource manager
NFV topology manager
Service flow classifierSDN Switch Service Contents
SDN Switch SDN Switch
Service ContentsService Contents
Compare Traditional & NFV
* Figure From NEC
§ OpenDaylight is community
§ An evolvable SDN platform capable of handling diverse use cases and approaches
§ Common abstractions of capabilities NorthBound people can program to
§ Intermediation of those capabilities to multiple Southbound implementations
§ Programmable Network services § Network Applications§ Whatever the hell else we need to
make it all work
Open DaylightArchitecture
base network service functions
controller platformextensions / addn’l svcs
southbound interfaces& protocol plugins
virtual network manager
data plane interfaces and enhancements(virtual switches,physical device
interfaces)
service abstraction layer(plug-in mgr., capability abstractions, …)
topology mgr
statsmgr
switch / device
mgrL4-L7 service
managerfwding
storage services
network applications, orchestration, and
services
GUI
OpenDaylight APIs (REST)
integrationmulti-tenant virtual
networks
L4-L7 service
abstractions
OpenStack CloudStack oVirt …CLI
hw-independent interfacesand data models
virtual forwarding
enhancements
OpenFlowother std. protocols
(ONF, IETF, …)vendor-specific
interfaces1.0 1.3SAN
(SMI-S)Open
switch API
inter-controller com
m…
Neutron Node
Neutron ServerML2 PluginOpenDaylight Driver
OpenDaylight Node
OpenDaylight ServerNeutron API Service
OVSDB Plugin
Compute Node
VM1 VM2 VM3
OVS
Network Node
L3 Agent
DHCP Agent
OVS
REST API
RPC
RPCOpenFlow
OpenFlow
Open Stack & OpenDaylight
KVM with OVS
With tuning 7-8 Gbits/s VM throughput (jumbo frames)
KVM with Mellanox
Throughput host to host: 19.4 Gbit/s
VM to VM on same host: 13.9 Gbit/s
VM to VM on different hosts: 23.1 Gbit/s
KVM with Intel OVS DPDK
Alternative to dedicated hardware
Good performance even for small packets
7Gbit/s for 64 byte packets
9.6Gbit/s for 512 byte packets
Virtualization (KVM) Performance
Intel DPDK(Data Plane Development Kit)
Buffer and Memory Manager
Manage the allocation of objects non-NUMA using hugepages through rings, reducing TLB access, also, perform a pre-allocation of fixed buffer space for each core
Queue Manager
Implements lockless queues, allow packets to be processed by different software components with no contention
Flow Classification
Implements hash functions from information tuples, allow packets to be positioned rapidly in their flow paths. Improves throughput
Pool Mode Driver
Temporary hold times thus avoiding raise NIC interruptions
Intel DPDK Libraries
Buffer Management
Queue/Ring Functions
Packet Flow Classification
NIC Poll Mode Library UserSpace
Linux Kernel KernelSpace
Platform Hardware Device
DPDK(Data Plane Development Kit)
User ApplicationNetwork Application
Intel DPDK
Linux Kernel
System Call
Linux Kernel
Server NetworkHardware
Server NetworkHardware
일반 어플리케이션DPDK를 이용한NFV 어플리케이션
CPU는 여러 어플리케이션을 병렬실행
특정 core에 NFV 어플리케이션을 특정하여 실행
NFV & SDDV configurationsCompute Node
VM1 VM1 VM1
vSwitch + DPDK
Compute Node
VM1 VM1 VM1
vSwitch + DPDK
Compute Node
VM1 VM1 VM1
vSwitch + DPDK
Control / Network Node
OpenDaylight Controller
OpenStack ML2 ODL
OPNFV Project• Doctor: Fault Management• Octopus: Continuous Integration• BGS: Bootstrap/Get-started• Copper: Virtualized Infrastructure Deployment Policies• Promise: Resource Management• High Availability for OPNFV• IPv6-enabled OPNFV• Characterize vSwitch Performance for Telco NFV Use Cases• Software Fastpath Service Quality Metrics• OSCAR: OPNFV System Configuration & Reporting• Pharos: Testbed Infrastructure• VNF Deployment Functional Testing• Parser: Deployment Template Translation
OPNFV Data Plain ACCeleration
OPNFV Data Plain AccelerationResource Reservation for Use Scenario (T.B.D)
An OPNFV Test-bed based on ARM Architecture
Jump Server / KVM Server: Intel Xeon E5-2620v3 @ 2.40GHz (2x6 cores), 64GB RAM, 2x160GB SSD (mirrored) for OS, 2x2TB HDD (mirrored) for storage, 2x10Gbps NICs (RJ45), IPMI interface (separate NIC).Controller nodes: 3 * Applied Micro X-Gene 2 ARMv8-64 8 cores @ 2.4GHz, 32GB RAM, 1x128GB SSD, 2x1TB HDD, 1x10Gbps SFP+ NICs, 2x1Gbps NICs.Compute nodes: 2-3* Cavium Networks CN8890-CRB ThunderX ARMv8-64 48 cores @ 2.5GHz, 8x16GB RAM (128GB total), 1x500GB HDD, 1x40Gbps QSFP+ NIC, 2x10Gbps SFP+ NICs, 1x1Gpbs NIC (RJ45, IPMI interface).
OPNFV is under going developed
Thanks you! Q&A