An Introduce of OPNFV (Open Platform for NFV)

50
OPNFV Open Platform for NFV ( Network Function Virtualization) Open Frontier Lab. Manseok (Mario) Cho [email protected]

Transcript of An Introduce of OPNFV (Open Platform for NFV)

Page 1: An Introduce of OPNFV (Open Platform for NFV)

OPNFVOpen Platform for NFV

(Network Function Virtualization)

Open Frontier Lab.Manseok (Mario) Cho

[email protected]

Page 2: An Introduce of OPNFV (Open Platform for NFV)

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

Page 3: An Introduce of OPNFV (Open Platform for NFV)

Open Source S/W developer community

http://kernelstudy.net- ARM,�x86,��리눅스커널분석- LLVM�컴파일러.- SDN/NFV

Page 4: An Introduce of OPNFV (Open Platform for NFV)
Page 5: An Introduce of OPNFV (Open Platform for NFV)

What is OPNFV ?Open Platform forNetworkFunctionVirtualization

Page 6: An Introduce of OPNFV (Open Platform for NFV)

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

Page 7: An Introduce of OPNFV (Open Platform for NFV)

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

Page 8: An Introduce of OPNFV (Open Platform for NFV)

Connect things will soon be everywhere!

http://blogs.cisco.com/news/the- internet-of-things- infog raphic/

Page 9: An Introduce of OPNFV (Open Platform for NFV)

Traffic & Revenue Challenge

* Figure From Cisco

Page 10: An Introduce of OPNFV (Open Platform for NFV)

Carrier Revenue /Cost Trends

Around 2016~2017, revenue and cost cross over

* Figure From Cisco

Page 11: An Introduce of OPNFV (Open Platform for NFV)

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

Page 12: An Introduce of OPNFV (Open Platform for NFV)

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

Page 13: An Introduce of OPNFV (Open Platform for NFV)

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

Page 14: An Introduce of OPNFV (Open Platform for NFV)

NFV : What is all about it?

* Figure From Redhat

Page 15: An Introduce of OPNFV (Open Platform for NFV)

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

Page 16: An Introduce of OPNFV (Open Platform for NFV)

운영체계- 커널은운영체제의핵심으로컴퓨터시스템을사용하는데꼭 필요한기능을제공.

운영체계의주역활- 실행프로그램(프로세스Process)관리- 메모리관리 (Memory Management)- 파일시스템 (File System)- 파일과주변장치를위한 I/O

Operating�System

Page 17: An Introduce of OPNFV (Open Platform for NFV)

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

Page 18: An Introduce of OPNFV (Open Platform for NFV)

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

Page 19: An Introduce of OPNFV (Open Platform for NFV)

K&R�(Ken�Tompson &�Dennis�Richie)

Page 20: An Introduce of OPNFV (Open Platform for NFV)

Lions�Commentary�on UNIX�V6

Page 21: An Introduce of OPNFV (Open Platform for NFV)

Linux

Unix�V6

Open�Source�OS�From�Unix�V6�To Linux

Page 22: An Introduce of OPNFV (Open Platform for NFV)

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.

Page 23: An Introduce of OPNFV (Open Platform for NFV)

IBM System 360In 1960s, mainframe computersas a method of logically dividingthe system resources

Page 24: An Introduce of OPNFV (Open Platform for NFV)

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

Page 25: An Introduce of OPNFV (Open Platform for NFV)

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

Page 26: An Introduce of OPNFV (Open Platform for NFV)

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

Page 27: An Introduce of OPNFV (Open Platform for NFV)

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.

Page 28: An Introduce of OPNFV (Open Platform for NFV)

SDN change matters

Closed Source

Network Engineer

Vendor Lead

CLIs

Network Appliances

Open Source

Network Developer

Community Driven

APIs

NFV (Software defined)

Current SDN

Page 29: An Introduce of OPNFV (Open Platform for NFV)

Compare Traditional & SDN

* Figure From NEC

Page 30: An Introduce of OPNFV (Open Platform for NFV)

Network packetControl Plane Data Plane

Page 31: An Introduce of OPNFV (Open Platform for NFV)

OpenFlowPipelineProcessing

* Figure From OpenFlow Switch Specification

Page 32: An Introduce of OPNFV (Open Platform for NFV)

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

Page 33: An Introduce of OPNFV (Open Platform for NFV)

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

Page 34: An Introduce of OPNFV (Open Platform for NFV)

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

Page 35: An Introduce of OPNFV (Open Platform for NFV)

Compare Traditional & NFV

* Figure From NEC

Page 36: An Introduce of OPNFV (Open Platform for NFV)

§ 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

Page 37: An Introduce of OPNFV (Open Platform for NFV)

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…

Page 38: An Introduce of OPNFV (Open Platform for NFV)

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

Page 39: An Introduce of OPNFV (Open Platform for NFV)

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

Page 40: An Introduce of OPNFV (Open Platform for NFV)

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

Page 41: An Introduce of OPNFV (Open Platform for NFV)

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 어플리케이션을 특정하여 실행

Page 42: An Introduce of OPNFV (Open Platform for 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

Page 43: An Introduce of OPNFV (Open Platform for NFV)
Page 44: An Introduce of OPNFV (Open Platform for NFV)

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

Page 45: An Introduce of OPNFV (Open Platform for NFV)
Page 46: An Introduce of OPNFV (Open Platform for NFV)

OPNFV Data Plain ACCeleration

Page 47: An Introduce of OPNFV (Open Platform for NFV)

OPNFV Data Plain AccelerationResource Reservation for Use Scenario (T.B.D)

Page 48: An Introduce of OPNFV (Open Platform for NFV)

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).

Page 49: An Introduce of OPNFV (Open Platform for NFV)

OPNFV is under going developed

Page 50: An Introduce of OPNFV (Open Platform for NFV)

Thanks you! Q&A