Upload
ontico
View
385
Download
1
Embed Size (px)
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 скрывает реализацию виртуальной
сетевой функции от пользователя данной
функции.
Спасибо за внимание!
Контакты: Антоненко Виталий[email protected]
Команда проекта
СмелянскийРуслан
МакароваВалентина
АнтоненкоВиталий
КолосовАлексей
ЧупахинАндрей
МихеевПавел
ЕлинАлексей
РомановАндрей
ШаховаМаргарита
ЕрмиловАлександр