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

Preview:

Citation preview

Object-oriented Network Function Virtualization

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

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

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

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

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

AppAppApp

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

Win Linux Mac

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

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

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

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

AppAppApp

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

Win Linux Mac

App

Win

AppAppApp

Win Linux Mac

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

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

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

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

функции

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

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

AppAppApp

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

Controlflow

Controlflow

Controlflow

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

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

функции

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

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

AppAppApp

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

Controlflow

Controlflow

Controlflow

App

Controlflow

AppAppApp

POX RUNOS OpenDayight

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

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

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

Ферма ВМ

Мотивация SDN

Сеть A

Хост 1 Хост 2

Сеть B

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

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

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

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

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

SDN коммутатор

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

контроллер

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

Network Function Virtualization

NFV

Упра

влен

ие

и ор

кест

раци

я

We need to go deeper. . . (c)

Virtualized Network Functions

VNF VNF VNF VNF VNF

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

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

CPU Память Сеть

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

Вирт.CPU

Вирт.Память

Вирт.Сеть

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

Router

Firewall

Load Balancer

Web Server

Distribution Switch

FWVNF

LBVNF #1

LBVNF #2

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

Клиент

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

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

IaaS

PaaS

SaaS

Extended Network IaaS (ENIaaS)

+ NFVIaaS+ VNFFGaaS

“For Clients. By Clients.”

Клиенты

Тенант

ВМ

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

Хранилище

L2-домен

Клиенты

Создание

Сервис

VNF

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

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

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

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

ВМШаблоны

сети

ВМ

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

Хранилище

L2-домен

JSONXML

ядро SOC

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

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

Монитор

Ограничения

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

SLA

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

OpenStackNetwork Node

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

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

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

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

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

сетей

SDN Контроллер

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

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

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

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

OVS

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

сеть

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

КлассООП

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

ТенантOONFV

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

ОбъектООП

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

МетодООП

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

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

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

Субъект

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

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

Объект

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

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

Параметры

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

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

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

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

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

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

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

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

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

ООП

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

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

сетейOONFV

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

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

Ping

SDN Controller

L2-learning switch

NAT

FirewallОпределяем

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

SOC

NetworkElementVM

VNF

EMS

NFVM

VM

Принципы ООП

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

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

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

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

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

Принципы OONFV

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

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

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

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

другой

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

Принципы ООП

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

реализацию

ПОЛИМОРФИЗМ

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

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

АБСТРАКЦИЯ

Принципы OONFV

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

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

ПОЛИМОРФИЗМ

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

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

АБСТРАКЦИЯ

EMSPinger1SW

EMS PingerТенант

PingerPinger

Pinger

Тенант

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

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

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

SW

SW

EMS EMSPinger1SWSDN Ctrl1

EMS SDN controller

SDN Controller

ТенантPinger

SDN Ctrl

SDN ControllerНабор

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

EMSPinger1SW

EMSPinger1SW

ТенантPinger

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

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

EMSPinger1SWSDN Ctrl1EMS

EMS Trusted SDN controller

EMSPinger1SWSDN Ctrl1EMS

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

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

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

«PROFIT!»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

функции. 

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

Контакты: Антоненко Виталийvantonenko@arccn.ru

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

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

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

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

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

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

МихеевПавел

ЕлинАлексей

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

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

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

Recommended