object-oriented network function virtualization / Антоненко Виталий (ЦПИКС)

31
Object-oriented Network Function Virtualization Антоненко Виталий

Upload: ontico

Post on 13-Apr-2017

398 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Object-oriented Network Function Virtualization

Антоненко Виталий

Page 2: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Эволюция архитектуры: компьютер

Специализированные приложения

Специализированная операционная система

Специализированное оборудование

AppAppApp

Микропроцессор

Win Linux Mac

Page 3: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Эволюция архитектуры: компьютер

Специализированные приложения

Специализированная операционная система

Специализированное оборудование

AppAppApp

Микропроцессор

Win Linux Mac

App

Win

AppAppApp

Win Linux Mac

Микропроцессор

Виртуализация

Page 4: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Эволюция архитектуры:

сетьСпециализированные

функции

Специализированное управление

Специализированное оборудование

AppAppApp

ПКС коммутатор

Controlflow

Controlflow

Controlflow

Page 5: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Эволюция архитектуры:

сетьСпециализированные

функции

Специализированное управление

Специализированное оборудование

AppAppApp

ПКС коммутатор

Controlflow

Controlflow

Controlflow

App

Controlflow

AppAppApp

POX RUNOS OpenDayight

ПКС коммутатор

Виртуализация

Page 6: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Эволюция архитектуры: облако

Ферма ВМ

Page 7: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Мотивация SDN

Сеть A

Хост 1 Хост 2

Сеть B

Транспортная средаTCP/IP

Функции каждого сетевого устройства

Построение маршрута (control path)

Реализация маршрута (data path)Реализация маршрута (data path)

Page 8: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Простейшая SDN сеть

SDN коммутатор

хост хост хостSDN

контроллер

Канал управления

Page 9: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Network Function Virtualization

NFV

Упра

влен

ие

и ор

кест

раци

я

We need to go deeper. . . (c)

Virtualized Network Functions

VNF VNF VNF VNF VNF

NFV Инфраструктура

Аппаратные ресурсы

CPU Память Сеть

Виртуализация

Вирт.CPU

Вирт.Память

Вирт.Сеть

Page 10: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Примерысетевых функций

Router

Firewall

Load Balancer

Web Server

Distribution Switch

FWVNF

LBVNF #1

LBVNF #2

Источник трафика

Клиент

Что это меняет?

Page 11: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Особенности нашей облачной платформы

IaaS

PaaS

SaaS

Extended Network IaaS (ENIaaS)

+ NFVIaaS+ VNFFGaaS

Page 12: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

“For Clients. By Clients.”

Клиенты

Тенант

ВМ

Сетевой элемент

Хранилище

L2-домен

Клиенты

Создание

Сервис

VNF

Как описать сетевой сервис?

Page 13: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Язык описания тенанта

Элементная базадля создания тенанта

Шаблоны элементовШаблоны

ВМШаблоны

сети

ВМ

Сетевой элемент

Хранилище

L2-домен

JSONXML

Page 14: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

ядро SOC

Как тенант отображается на инфраструктуру?Планировщик

Облачноеядро

Монитор

Ограничения

OpenStack CN+ SDN контроллер

SLA

Миграция(если необходимо)

Page 15: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

OpenStackNetwork Node

Создание виртуальных

сегментов сетей

Создание виртуальных

сетейОбъединение виртуальных

сетейУправление адресацией виртуальных

сетей

SDN Контроллер

Мониторинг состояния каналов

Мониторинг состояния

экземпляров OVS

Управление экземплярами

OVS

Page 16: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Мы уже используем программно-конфигурируемую

сеть

Почему мы не можем программно-конфигурировать её объектно-ориентированно?

Page 17: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

КлассООП

class ИМЯКЛАССА: ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ… def ИМЯМЕТОДА1(): ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ … def ИМЯМЕТОДА2(): ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ … def ИМЯМЕТОДА3(): ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ … …

ТенантOONFV

class ИМЯТЕНАНТА: ЭЛЕМЕНТ : ПАРАМЕТРЫ… def ИМЯФУНКЦИИ1(): ЭЛЕМЕНТ : ПАРАМЕТРЫ … def ИМЯФУНКЦИИ2(): ЭЛЕМЕНТ : ПАРАМЕТРЫ … def ИМЯФУНКЦИИ3(): ЭЛЕМЕНТ : ПАРАМЕТРЫ … …

ОбъектООП

Размещенный тенантOONFV

Page 18: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

МетодООП

def ИМЯМЕТОДА(): ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ…

Сетевая функцияOONFV

def ИМЯФУНКЦИИ(): ПАРАМЕТР = ЗНАЧЕНИЕ…

Субъект

Элемент,который инициирует

сетевую активность

Объект

Элемент,к которому

применяется сетевая функция

Параметры

Входные данные для инициализации

сетевой активности

Page 19: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

НаследованиеООП

class ИМЯКЛАССА (ИМЯРОДИТЕЛЯ):

СПИСОК ПЕРЕМЕННЫХ,… СПИСОК МЕТОДОВ…

Объединение сетейOONFV

class ИМЯТЕНАНТА (ИМЯТЕНАНТА):

СПИСОК ЭЛЕМЕНТОВ,… СПИСОК СЕТЕВЫХ ФУНКЦИЙ…

Множественноенаследование

ООП

class ИМЯКЛАССА (ИМЯРОДИТЕЛЯ, …, ИМЯРОДИТЕЛЯn): СПИСОК ПЕРЕМЕННЫХ,… СПИСОК МЕТОДОВ…

Множественноеобъединение

сетейOONFV

class ИМЯТЕНАНТА (ИМЯТЕНАНТА, …, ИМЯТЕНАНТАn): СПИСОК ЭЛЕМЕНТОВ,… СПИСОК СЕТЕВЫХ ФУНКЦИЙ…

Page 20: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Список унаследованныхсетевых функций

Ping

SDN Controller

L2-learning switch

NAT

FirewallОпределяем

точку присутствия

Page 21: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

SOC

NetworkElementVM

VNF

EMS

NFVM

VM

Page 22: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Принципы ООП

позволяет скрывать внутреннюю реализацию

методов класса

ИНКАПСУЛЯЦИЯ

позволяет создавать новый класс на базе другого

НАСЛЕДОВАНИЕ

Page 23: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Принципы OONFV

позволяет скрывать внутреннюю реализацию

сетевых функций

ИНКАПСУЛЯЦИЯ

позволяет создавать новую сетевую функцию на базе

другой

НАСЛЕДОВАНИЕ

Page 24: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Принципы ООП

способность объектов с одним интерфейсом иметь различную

реализацию

ПОЛИМОРФИЗМ

позволяет выделять из некоторой сущности только

необходимые характеристики и методы

АБСТРАКЦИЯ

Page 25: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Принципы OONFV

способность сетевых функций с одним интерфейсом иметь

различную реализацию

ПОЛИМОРФИЗМ

позволяет выделять из некоторой сущности только

необходимые характеристики и методы

АБСТРАКЦИЯ

Page 26: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

EMSPinger1SW

EMS PingerТенант

PingerPinger

Pinger

Тенант

PingerНаборсетевых функций

Реализовали класс…

«Пингани меня»«Пингани от моего имени»

SW

SW

Page 27: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

EMS EMSPinger1SWSDN Ctrl1

EMS SDN controller

SDN Controller

ТенантPinger

SDN Ctrl

SDN ControllerНабор

сетевых функций

EMSPinger1SW

EMSPinger1SW

ТенантPinger

SDN Ctrl«Управляй мной»

Реализовали сложный Класс…

Page 28: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

EMSPinger1SWSDN Ctrl1EMS

EMS Trusted SDN controller

EMSPinger1SWSDN Ctrl1EMS

«Пингани меня»

«Пингани от моего имени»

«Управляй мной»

«PROFIT!»

а потомуправляй мной»

Описали цепочку сетевых функций VNFFGaaS

«Пингани его,

Page 29: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Упрощает понимание сложных виртуальных

сетевых функций

Разделение (специализация) тенантов-

провайдеров сетевых функций позволяет

создавать архитектуру, которая легко расширяется. 

ВыводыOONFV позволяет

создавать сложные сетевые функции на базе

простых, увеличивая коэффициент повторного

использования кода. 

OONFV скрывает реализацию виртуальной

сетевой функции от пользователя данной

функции. 

Page 30: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Спасибо за внимание!

Контакты: Антоненко Виталий[email protected]

Page 31: Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)

Команда проекта

СмелянскийРуслан

МакароваВалентина

АнтоненкоВиталий

КолосовАлексей

ЧупахинАндрей

МихеевПавел

ЕлинАлексей

РомановАндрей

ШаховаМаргарита

ЕрмиловАлександр