Виртуализированный highload (nfv), Александр Шалимов (ЦПИКС)
DESCRIPTION
Доклад Александра Шалимова на HighLoad++ 2014.TRANSCRIPT
![Page 1: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/1.jpg)
Виртуализированный highload (NFV)
Александр Шалимов
![Page 2: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/2.jpg)
Проблемы телеком операторов
• Количества трафика растет, требуется больше сетевого оборудования, НО доход не растет.– Инфраструктура состоит из проприетарного
дорого оборудования.– Статическое распределение ресурсов.– Вывод новых сервисов занимается до 18
месяцев.
![Page 3: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/3.jpg)
Виртуальные сетевые сервисы
ETSI WhitePaper v.1.0
October 2012
![Page 4: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/4.jpg)
ПреимуществаПеренос сетевых функций на виртуальные машины:• Упрощение развертывания и обновления
как софта, так и железа• Уменьшение стоимости за счет
использования стандартных серверов• Объединение сервисов в группы
![Page 5: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/5.jpg)
ПримерыBRAS• Терминация пользовательских сессий• Интересует выгода на одного пользователя ~ 1Mbps• Стоимость существующего решений примерно 10к за
10Gbps => Одно подключение = $1• С NFV: один сервер может обрабатывать 50Gbps.
Стоимость $5k => Одно подключение = $0.1.
• CG-NAT– Трансляция адресов– Высокая стоимость существующих решений.– Экономия: $16 -> $4 -> $2 на подключение
![Page 6: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/6.jpg)
Edge
Core
DSLAM
OLT
DSLAM
AccessBRAS Firewall
Carrier Grade NAT
DPI
CDNMonitor
WAN Accelerator
CPE Standard High VolumeServers/Storage/SwitchesBRAS
DPIDPI
CG-NAT
CG-NATBRAS
CPE-FuncCPE-FuncCPE-FuncCPE-Func BRAS
BRAS
DPI
CG-NAT
BRAS
CPE-FuncCPE-FuncCPE-FuncCPE-Func
BRAS
DPI
CG-NAT
BRAS
CPE-FuncCPE-FuncCPE-FuncCPE-Func
CDN
CDN
CDN
CDN
MonitorMonitor
WAN-AcclWAN-Accl
CDN
CDN
CDN
CDN
MonitorMonitor
WAN-AcclWAN-Accl
Network Function-VMs
Пример размещения в сети телком оператора
![Page 7: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/7.jpg)
Edge
Core
Access
NF-VM NF-VM
NF-VM NF-VM
NF-VM NF-VM
NF-VM NF-VM
NF-VM NF-VM
NF-VM NF-VM
NF-VM NF-VM
NF-VM NF-VM
NF-VM NF-VM
VM MgmtSDN Controller
Load Balancer
Firewall CG-NAT
VM + Network OrchestrationBRAS BRAS WAN-Accel DPI
7
Пример размещения в сети телком оператора
![Page 8: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/8.jpg)
Пример
![Page 9: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/9.jpg)
vCPE – Virtual Customer Premise Equipment• У клиента – маленькая коробочка• Часть сервисов у клиента, часть в облаке
© RAD
![Page 10: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/10.jpg)
Организация платформы для виртуализации
VM:Firewall
VM:VPN
VM:IntrusionDetectionSystemSDN
Стандартныйпроцессор
Ускорительобработки
Сетеваякарта
ЯдроКоммутатора
Linux
VM VM VM VM
Firewall, VPN, IDS, …
Hardware
Software Switch
OS/Linux
![Page 11: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/11.jpg)
Узкие места• Linux Networking Stack
– 300Kpps
• Open vSwitch
• VM
![Page 12: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/12.jpg)
Узкие места (OVS)
• Задержка
– 11us
• Пропускная способность
– 1Mpps
![Page 13: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/13.jpg)
Узкие места (KVM)
• Задержка
– 300us
• Пропускная способность
– 20Kpps (kernel OVS)
– 200Kpps (userspace OVS)
![Page 14: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/14.jpg)
Требования к сервису
• Возможность привязки VM к ядрам процессора
• Масштабирования сервиса на VM по имеющимся ядрам процессора
• Возможность запуска сервиса без VM
![Page 15: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/15.jpg)
Intel DPDK
• Intel DPDK – это набор библиотек и драйверов для быстрой обработки пакетов на платформах Intel.
• Использование больших виртуальных страниц (huge pages 2mb/1gb).
• Размещение объектов равномерно по всем каналам оперативной памяти.
• Адресное пространство карточки доступно из userspace.
• Неблокирующие очереди для передачи пакетов.
• Нет прерываний в драйверах DPDK – активный цикл.
• Активное использование SSE инструкций для обработки пакетов.
• Выделение целых ядер процессоров под задачи.
DPDK = Data Plane Development Kithttp://intel.com/go/dpdk/
![Page 16: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/16.jpg)
• Open vSwitch - это виртуальный программный коммутатор, который обеспечивает соединение между виртуальными машинами и физическими интерфейсами.
• Поддерживает обычную Ethernet коммутацию с VLAN, SPAN, RSPAN, GRE, sFlow, Netflow.
• Частичная поддержка OpenFlow 1.2.
![Page 17: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/17.jpg)
Архитектура Open vSwitch
Intel© DPDK
![Page 19: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/19.jpg)
Работа с виртуальными машинами
Способы работы:• VIRTIO
– Прозрачно для приложений на виртуальных машинах
– Медленно
• IVSHMEM– Самая высокая скорость– Требует “затачивания” сервиса под
Intel vSwitch
• VHOST– Средняя скорость– Прозрачно для приложений,
написанных на DPDK
KVM
VirtIO DPDK
VirtIO Eth
App
DPDK
![Page 20: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/20.jpg)
Основные компоненты
![Page 21: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/21.jpg)
Результаты: Phy-to-Phy (Kpps)
![Page 22: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/22.jpg)
Результаты: Phy-to-Phy (Mbps)
22
![Page 23: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/23.jpg)
Результаты: Phy-to-VM (Kpps)
23
![Page 24: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/24.jpg)
Результаты: Phy-to-VM (Mbps)
24
![Page 25: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/25.jpg)
Sandstorm: высокоскоростной вебсервер
![Page 26: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/26.jpg)
Пропускная способность
![Page 27: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/27.jpg)
Задержка
![Page 28: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/28.jpg)
![Page 29: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/29.jpg)
Примеры для highload• Везде, где требуется низкая
задержка– RTB биржа– inmemory базы данных
(e.g.,gridgain)
• Другие “пакетный сервисы”– Балансировка HTTP (1M cps)– …
![Page 30: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/30.jpg)
Тестирование у ОператораОжидания: “ничего не выйдет!”• Есть известные вендоры: Cisco, Juniper, Huawei, Alcatel, F5,
…• С ними невозможно бороться
Результат: “а еще и так вы можете?”• Производительность сопоставимая• Цена меньше• Возможность быстрого внесения изменений• Гибкость в соотношении ресурсы / требуемая
производительность
![Page 31: Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)](https://reader035.vdocuments.us/reader035/viewer/2022062303/557ef1cad8b42a34628b50b9/html5/thumbnails/31.jpg)
Заключение• Эволюция сетевых сервисов
– Проприетарное железо– Программные решения на обычных серверах– Виртуальные решения на обычных серверах
• Единица управления – виртуальная машина
• Гибкость, масшабируемость, производительность
• Ускорим highload!