An Introduce of OPNFV (Open Platform for NFV)

Post on 16-Apr-2017

514 views 1 download

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

OPNFVOpen Platform for NFV

(Network Function Virtualization)

Open Frontier Lab.Manseok (Mario) Cho

hephaex@gmail.com

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