SlideShare a Scribd company logo
Виртуализированные
сетевые сервисы на line rate
в серверном окружении
Александр Шалимов
Эра виртуализации
• Практически все находится на виртуальных
машинах или в контейнерах
• http-сервера
• БД
• АТС
• Трейдинговые системы
• Реверс прокси с защитой от ddos
• Nginx
• Пользовательские задачи
• Почтовые клиенты
• Облачные технологии
• Телеком операторы
Сетевая производительность VM
Какая будет
производительность?
• .
• ..
• …
• …….
• ………..
• Max 100Kpps
• < 10% от 1Gbe
канала и 300us
задержка
Виртуальная
машина
Приложение
Linux
Гипервизор
Virtual Switch
Упс! Что-то пошло не так!
Почему так?
• Сетевой стек OS
• Универсальный
• Много копирований
• Лишние и дублированные действия
• Системные вызовы
• Переключения контекста и прерывания
Возможные технологии решения
• + гибкость
• + независимость от
аппаратуры
• - производительность
• - вертикальная
• - горизонтальная
• - гибкость
• - независимость от
аппаратуры
• +/- производительность
• + вертикальная
• - горизонтальная
Intel DPDK
• Intel DPDK – это набор библиотек и драйверов для быстрой
обработки пакетов на платформах Intel.
• Использование больших виртуальных страниц (huge pages
2mb/1gb).
• Размещение объектов равномерно по всем каналам
оперативной памяти.
• Адресное пространство карточки доступно из userspace.
• Неблокирующие очереди для передачи пакетов.
• Нет прерываний в драйверах DPDK – активный цикл.
• Активное использование SSE инструкций для обработки
пакетов.
• Выделение целых ядер процессоров под задачи.
DPDK = Data Plane Development Kit
http://dpdk.org/
Open vSwitch + DPDK
Пример проблемы с инкапсуляцией и overlay
OpenStack
• Open source software for building private and public cloud.
• Create VMs, attach storage to them, and connect them into virtual topology
9
Виртуальные сети в OpenStack
• Взаимодествие между
машинами
• На одном сервере
• Между серверами
• Трафик инкапсулируется по
т.н. overlay сетям
• GRE
• VXLAN
OVS/GRE plugin architecture
11
VM VM VM VM
br-int
br-ex
Compute Node
VMs
OVS bridgespatch port
GRE port
NIC
physical layer
??? SLOW
http://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/open-vswitch-and-its-usage-in-neutron
OVS/GRE plugin bottlenecks
12
br-ex
patch port
GRE port
NIC
Linux Networking
Stack
Standard networking stack is slow,
yes. It’s well know fact. But the
traffic speed is even slower. Why?
• Heavily layered
• Allocation
• ….
GRE port in OVS
• OVS lays finishing of GRE packet encapsulation on
networking stack.
13
MACs IPs Payload
VM
OVS GRE port
MACs IPs PayloadGRE
Linux Networking Stack
MACs IPs PayloadGREMACs IPs
Require more work for route and arp lookups. Thus, slower!
GRE port architecture
• GRE port should fully be responsible for packet encapsulation.
• Tasks of GRE port:
• Determine local IP.
• Must specify both local and remote IPs;
• Determine MAC addresses
• Maintain our own ARP table;
• What NIC to send
• Route table is encoded into main flow table and encapsulated packets are returned back
to the datapath and matched again against the flow table.
• Still suit OpenStack Neutron plugin
14
Experimental evaluation
15
Accelerated OVS Original OVS
VLAN
physical-to-physical 5 Mpps 1.1 Mpps
physical-to-vm 3.3 Mpps 0.44 Mpps
GRE
physical-to-physical 1.6 Mpps 0.22 Mpps
physical-to-vm 1.12 Mpps 0.11 Mpps
* 10 Gb channel
** 64 bytes UDP packets
*** theoretical max is 15Mpps
**** Intel Xeon E3-1240 2.4GHz/6
***** IVSHMEM VM connection (~0.6Mpps without)
It is 5 times performance improving!
Что сейчас и что дальше?
Какой статус сейчас?
• DPDK входит в поставку Ubuntu 16.04
• Хотите производительность?
• “g <название приложения> dpdk”
• Уже портированы многие из них:
• Iptable/iproute
• Nginx
• Pktgen
• Haproxy
• Libvirt
• Docker
• ….
Эволюция фреймворков
• Поверх DPDK появляются
более удобные фреймворки
для программистов и
инженеров
• Запуск цепочек сервисов
• VM + Docker
• Интеграция host приложений
• Перехват трафика для анализа
• Уже есть VXLAN, GRE
• DPDK Packet Framework
• FD.io – Cisco VPP
18
Hardware
Application Layer / App Server
VM/VIM Management Systems
Network Controller
Operating Systems
Data Plane Services
Orchestration
Network IOPacket Processing
VPP technology in a nutshell
• VPP data plane throughput not impacted by large FIB size
• OVSDPDK data plane throughput heavily impacted by FIB size
• VPP and OVSDPDK tested on Haswell x86 platform with E5-2698v3
2x16C 2.3GHz (Ubuntu 14.04 trusty)
OVSDPDK
VPP
0
5
10
15
20
2 MACs
2k MACs
20k MACs
NDR rates for 2p10GE, 1 core, L2 NIC-to-NIC
[IMIX Gbps]
OVSDPDK
VPP
0.0
20.0
40.0
60.0
80.0
100.0
120.0
12 routes
1k routes 100k
routes
500k
routes
1M
routes
2M
routes
NDR rates for 12 port 10GE, 12 cores, IPv4
[IMIX Gbps]
VPP Feature Summary
fd.io Foundation 20
14+ MPPS, single core
Multimillion entry FIBs
Source RPF
Thousands of VRFs
Controlled cross-VRF
lookups
Multipath – ECMP and Unequal
Cost
Multiple million Classifiers –
Arbitrary N-tuple
VLAN Support – Single/Double
tag
Counters for everything
Mandatory Input Checks:
TTL expiration
header checksum
L2 length < IP length
ARP resolution/snooping
ARP proxy
IPv4/IPv6 IPv4
GRE, MPLS-GRE, NSH-GRE,
VXLAN
IPSEC
DHCP client/proxy
CG NAT
IPv6
Neighbor discovery
Router Advertisement
DHCPv6 Proxy
L2TPv3
Segment Routing
MAP/LW46 – IPv4aas
iOAM
MPLS
MPLS-o-Ethernet –
Deep label stacks
supported
L2
VLAN Support
Single/ Double tag
L2 forwarding with
EFP/BridgeDomain concepts
VTR – push/pop/Translate
(1:1,1:2, 2:1,2:2)
Mac Learning – default limit of
50k addresses
Bridging – Split-horizon group
support/EFP Filtering
Proxy Arp
Arp termination
IRB – BVI Support with
RouterMac assignment
Flooding
Input ACLs
Interface cross-connect
Bарианты интеграции
VPP
Control
Plane
DataPlane
Openstack
Neutron
ODL
Plugin
HC
VPP
ControlPlaneDataPlane Netlink Server
libnetwork
cni
weave
calico
…
flannel
VPP
ControlPlaneDataPlane
HC
NSH_SFC
SFC
VPP
DataPlane HC
VNF
OpenStack Integration Container Integration NFV - SFCs
NFV - VNFs
Историческая справка
Как выглядит телеком оператор внутри?
Кругом проприетарное оборудование!
2G, 3G, 4G, 5G,….
Проблемы телеком операторов
•Количества трафика растет, требуется больше
сетевого оборудования, НО доход не растет.
• Инфраструктура состоит из проприетарного дорого
оборудования.
• Статическое распределение ресурсов.
• Вывод новых сервисов занимается до 18 месяцев.
Виртуальные сетевые сервисы
ETSI WhitePaper
v.1.0
October 2012
Преимущества
Перенос сетевых функций на виртуальные
машины:
•Упрощение развертывания и обновления как
софта, так и железа
•Уменьшение стоимости за счет использования
стандартных серверов
•Объединение сервисов в группы
Пример
Заключение
• Есть проблемы с сетевым взаимодействием в виртуальном
окружении
• Есть варианты решения – простые и сложные
• DPDK, Netmap
• DPDK Packet Framework, FD.io
• Для многих популярных приложений есть порты на DPDK
• Высокая потребность в людях, которые понимают тематтику
виртуальных сетей и окружения.
Вопросы?
http://arccn.ru/ ashalimov@arccn.ru
@alex_shali
@arccnnews

More Related Content

What's hot

DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
Ontico
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Ontico
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
Badoo Development
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
Vadim Madison
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Ontico
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Ontico
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Ontico
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
Ontico
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Ontico
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Ontico
 
Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)
Ontico
 
Как собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикКак собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффик
Andrew Minkin
 

What's hot (20)

DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон Турецкий
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
 
Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)
 
Как собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикКак собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффик
 

Viewers also liked

Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Ontico
 
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Ontico
 
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Ontico
 

Viewers also liked (10)

DDOS-АТАКИ: ЧТО ЭТО И КАК С НИМИ БОРОТЬСЯ
DDOS-АТАКИ: ЧТО ЭТО И КАК С НИМИ БОРОТЬСЯDDOS-АТАКИ: ЧТО ЭТО И КАК С НИМИ БОРОТЬСЯ
DDOS-АТАКИ: ЧТО ЭТО И КАК С НИМИ БОРОТЬСЯ
 
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
 
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
 
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
 
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
 
Особенности лицензирования облачных решений vCloud, vFabric, vShield
Особенности лицензирования облачных решений vCloud, vFabric, vShieldОсобенности лицензирования облачных решений vCloud, vFabric, vShield
Особенности лицензирования облачных решений vCloud, vFabric, vShield
 
Создание публичного облака (VMware vCloud)
Создание публичного облака (VMware vCloud)Создание публичного облака (VMware vCloud)
Создание публичного облака (VMware vCloud)
 
OPNFV Meetup Tokyo #1 / Projects Summary
OPNFV Meetup Tokyo #1 / Projects SummaryOPNFV Meetup Tokyo #1 / Projects Summary
OPNFV Meetup Tokyo #1 / Projects Summary
 
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
 
Тенденции развития DDoS-атак: к чему нужно быть готовым
Тенденции развития DDoS-атак: к чему нужно быть готовымТенденции развития DDoS-атак: к чему нужно быть готовым
Тенденции развития DDoS-атак: к чему нужно быть готовым
 

Similar to Виртуализированные сетевые сервисы на line rate в серверном окружении / Александр Шалимов (ЦПИКС)

Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1
Cisco Russia
 
сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con   сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con
Expolink
 
Безопасность Центров Обработки Данных
Безопасность Центров Обработки ДанныхБезопасность Центров Обработки Данных
Безопасность Центров Обработки Данных
Cisco Russia
 
High performance computing принципы проектирования сети
High performance computing принципы проектирования сетиHigh performance computing принципы проектирования сети
High performance computing принципы проектирования сети
MUK Extreme
 
Задачи создания и варианты связи распределённых ЦОД.
 Задачи создания и варианты связи распределённых ЦОД. Задачи создания и варианты связи распределённых ЦОД.
Задачи создания и варианты связи распределённых ЦОД.
Cisco Russia
 
High performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиHigh performance computing - принципы проектирования сети
High performance computing - принципы проектирования сети
MUK
 
Обзор продуктов Unified Access
Обзор продуктов Unified AccessОбзор продуктов Unified Access
Обзор продуктов Unified Access
Cisco Russia
 

Similar to Виртуализированные сетевые сервисы на line rate в серверном окружении / Александр Шалимов (ЦПИКС) (20)

Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
 
Управление сервисами дата-центра
Управление сервисами дата-центраУправление сервисами дата-центра
Управление сервисами дата-центра
 
Развитие технологий построения распределенных ЦОД
Развитие технологий построения распределенных ЦОДРазвитие технологий построения распределенных ЦОД
Развитие технологий построения распределенных ЦОД
 
Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1
 
Отечественные решения на базе SDN и NFV для телеком-операторов
Отечественные решения на базе SDN и NFV для телеком-операторовОтечественные решения на базе SDN и NFV для телеком-операторов
Отечественные решения на базе SDN и NFV для телеком-операторов
 
Оверлейные сети ЦОД Технологии VXLAN и EVPN
Оверлейные сети ЦОД Технологии VXLAN и EVPN Оверлейные сети ЦОД Технологии VXLAN и EVPN
Оверлейные сети ЦОД Технологии VXLAN и EVPN
 
сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con   сети хранения данных настоящее и будущее Ds con
сети хранения данных настоящее и будущее Ds con
 
Безопасность Центров Обработки Данных
Безопасность Центров Обработки ДанныхБезопасность Центров Обработки Данных
Безопасность Центров Обработки Данных
 
Построение катастрофоустойчивых и распределённых ЦОД (часть 2). Объединение с...
Построение катастрофоустойчивых и распределённых ЦОД (часть 2). Объединение с...Построение катастрофоустойчивых и распределённых ЦОД (часть 2). Объединение с...
Построение катастрофоустойчивых и распределённых ЦОД (часть 2). Объединение с...
 
Summit x620
Summit x620Summit x620
Summit x620
 
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
 
Конвергентная транспортная инфраструктура Обзор платформы Cisco NCS 4000
Конвергентная транспортная инфраструктура Обзор платформы Cisco NCS 4000Конвергентная транспортная инфраструктура Обзор платформы Cisco NCS 4000
Конвергентная транспортная инфраструктура Обзор платформы Cisco NCS 4000
 
High performance computing принципы проектирования сети
High performance computing принципы проектирования сетиHigh performance computing принципы проектирования сети
High performance computing принципы проектирования сети
 
Решения Cisco для оптического транспорта
Решения Cisco для оптического транспортаРешения Cisco для оптического транспорта
Решения Cisco для оптического транспорта
 
Задачи создания и варианты связи распределённых ЦОД.
 Задачи создания и варианты связи распределённых ЦОД. Задачи создания и варианты связи распределённых ЦОД.
Задачи создания и варианты связи распределённых ЦОД.
 
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
 
High performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиHigh performance computing - принципы проектирования сети
High performance computing - принципы проектирования сети
 
Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...
 
Как использовать LISP в кампусных сетях?
Как использовать LISP в кампусных сетях?Как использовать LISP в кампусных сетях?
Как использовать LISP в кампусных сетях?
 
Обзор продуктов Unified Access
Обзор продуктов Unified AccessОбзор продуктов Unified Access
Обзор продуктов Unified Access
 

More from Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Виртуализированные сетевые сервисы на line rate в серверном окружении / Александр Шалимов (ЦПИКС)

  • 1. Виртуализированные сетевые сервисы на line rate в серверном окружении Александр Шалимов
  • 2. Эра виртуализации • Практически все находится на виртуальных машинах или в контейнерах • http-сервера • БД • АТС • Трейдинговые системы • Реверс прокси с защитой от ddos • Nginx • Пользовательские задачи • Почтовые клиенты • Облачные технологии • Телеком операторы
  • 3. Сетевая производительность VM Какая будет производительность? • . • .. • … • ……. • ……….. • Max 100Kpps • < 10% от 1Gbe канала и 300us задержка Виртуальная машина Приложение Linux Гипервизор Virtual Switch Упс! Что-то пошло не так!
  • 4. Почему так? • Сетевой стек OS • Универсальный • Много копирований • Лишние и дублированные действия • Системные вызовы • Переключения контекста и прерывания
  • 5. Возможные технологии решения • + гибкость • + независимость от аппаратуры • - производительность • - вертикальная • - горизонтальная • - гибкость • - независимость от аппаратуры • +/- производительность • + вертикальная • - горизонтальная
  • 6. Intel DPDK • Intel DPDK – это набор библиотек и драйверов для быстрой обработки пакетов на платформах Intel. • Использование больших виртуальных страниц (huge pages 2mb/1gb). • Размещение объектов равномерно по всем каналам оперативной памяти. • Адресное пространство карточки доступно из userspace. • Неблокирующие очереди для передачи пакетов. • Нет прерываний в драйверах DPDK – активный цикл. • Активное использование SSE инструкций для обработки пакетов. • Выделение целых ядер процессоров под задачи. DPDK = Data Plane Development Kit http://dpdk.org/
  • 8. Пример проблемы с инкапсуляцией и overlay
  • 9. OpenStack • Open source software for building private and public cloud. • Create VMs, attach storage to them, and connect them into virtual topology 9
  • 10. Виртуальные сети в OpenStack • Взаимодествие между машинами • На одном сервере • Между серверами • Трафик инкапсулируется по т.н. overlay сетям • GRE • VXLAN
  • 11. OVS/GRE plugin architecture 11 VM VM VM VM br-int br-ex Compute Node VMs OVS bridgespatch port GRE port NIC physical layer ??? SLOW http://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/open-vswitch-and-its-usage-in-neutron
  • 12. OVS/GRE plugin bottlenecks 12 br-ex patch port GRE port NIC Linux Networking Stack Standard networking stack is slow, yes. It’s well know fact. But the traffic speed is even slower. Why? • Heavily layered • Allocation • ….
  • 13. GRE port in OVS • OVS lays finishing of GRE packet encapsulation on networking stack. 13 MACs IPs Payload VM OVS GRE port MACs IPs PayloadGRE Linux Networking Stack MACs IPs PayloadGREMACs IPs Require more work for route and arp lookups. Thus, slower!
  • 14. GRE port architecture • GRE port should fully be responsible for packet encapsulation. • Tasks of GRE port: • Determine local IP. • Must specify both local and remote IPs; • Determine MAC addresses • Maintain our own ARP table; • What NIC to send • Route table is encoded into main flow table and encapsulated packets are returned back to the datapath and matched again against the flow table. • Still suit OpenStack Neutron plugin 14
  • 15. Experimental evaluation 15 Accelerated OVS Original OVS VLAN physical-to-physical 5 Mpps 1.1 Mpps physical-to-vm 3.3 Mpps 0.44 Mpps GRE physical-to-physical 1.6 Mpps 0.22 Mpps physical-to-vm 1.12 Mpps 0.11 Mpps * 10 Gb channel ** 64 bytes UDP packets *** theoretical max is 15Mpps **** Intel Xeon E3-1240 2.4GHz/6 ***** IVSHMEM VM connection (~0.6Mpps without) It is 5 times performance improving!
  • 16. Что сейчас и что дальше?
  • 17. Какой статус сейчас? • DPDK входит в поставку Ubuntu 16.04 • Хотите производительность? • “g <название приложения> dpdk” • Уже портированы многие из них: • Iptable/iproute • Nginx • Pktgen • Haproxy • Libvirt • Docker • ….
  • 18. Эволюция фреймворков • Поверх DPDK появляются более удобные фреймворки для программистов и инженеров • Запуск цепочек сервисов • VM + Docker • Интеграция host приложений • Перехват трафика для анализа • Уже есть VXLAN, GRE • DPDK Packet Framework • FD.io – Cisco VPP 18 Hardware Application Layer / App Server VM/VIM Management Systems Network Controller Operating Systems Data Plane Services Orchestration Network IOPacket Processing
  • 19. VPP technology in a nutshell • VPP data plane throughput not impacted by large FIB size • OVSDPDK data plane throughput heavily impacted by FIB size • VPP and OVSDPDK tested on Haswell x86 platform with E5-2698v3 2x16C 2.3GHz (Ubuntu 14.04 trusty) OVSDPDK VPP 0 5 10 15 20 2 MACs 2k MACs 20k MACs NDR rates for 2p10GE, 1 core, L2 NIC-to-NIC [IMIX Gbps] OVSDPDK VPP 0.0 20.0 40.0 60.0 80.0 100.0 120.0 12 routes 1k routes 100k routes 500k routes 1M routes 2M routes NDR rates for 12 port 10GE, 12 cores, IPv4 [IMIX Gbps]
  • 20. VPP Feature Summary fd.io Foundation 20 14+ MPPS, single core Multimillion entry FIBs Source RPF Thousands of VRFs Controlled cross-VRF lookups Multipath – ECMP and Unequal Cost Multiple million Classifiers – Arbitrary N-tuple VLAN Support – Single/Double tag Counters for everything Mandatory Input Checks: TTL expiration header checksum L2 length < IP length ARP resolution/snooping ARP proxy IPv4/IPv6 IPv4 GRE, MPLS-GRE, NSH-GRE, VXLAN IPSEC DHCP client/proxy CG NAT IPv6 Neighbor discovery Router Advertisement DHCPv6 Proxy L2TPv3 Segment Routing MAP/LW46 – IPv4aas iOAM MPLS MPLS-o-Ethernet – Deep label stacks supported L2 VLAN Support Single/ Double tag L2 forwarding with EFP/BridgeDomain concepts VTR – push/pop/Translate (1:1,1:2, 2:1,2:2) Mac Learning – default limit of 50k addresses Bridging – Split-horizon group support/EFP Filtering Proxy Arp Arp termination IRB – BVI Support with RouterMac assignment Flooding Input ACLs Interface cross-connect
  • 21. Bарианты интеграции VPP Control Plane DataPlane Openstack Neutron ODL Plugin HC VPP ControlPlaneDataPlane Netlink Server libnetwork cni weave calico … flannel VPP ControlPlaneDataPlane HC NSH_SFC SFC VPP DataPlane HC VNF OpenStack Integration Container Integration NFV - SFCs NFV - VNFs
  • 23. Как выглядит телеком оператор внутри? Кругом проприетарное оборудование! 2G, 3G, 4G, 5G,….
  • 24. Проблемы телеком операторов •Количества трафика растет, требуется больше сетевого оборудования, НО доход не растет. • Инфраструктура состоит из проприетарного дорого оборудования. • Статическое распределение ресурсов. • Вывод новых сервисов занимается до 18 месяцев.
  • 26. Преимущества Перенос сетевых функций на виртуальные машины: •Упрощение развертывания и обновления как софта, так и железа •Уменьшение стоимости за счет использования стандартных серверов •Объединение сервисов в группы
  • 28. Заключение • Есть проблемы с сетевым взаимодействием в виртуальном окружении • Есть варианты решения – простые и сложные • DPDK, Netmap • DPDK Packet Framework, FD.io • Для многих популярных приложений есть порты на DPDK • Высокая потребность в людях, которые понимают тематтику виртуальных сетей и окружения.

Editor's Notes

  1. It is complex and expensive: Complex heavily layered universal code. Expensive system calls and data copies just to move packets from/to kernel. Costly packet encapsulation in the kernel (per-packet malloc/free, refcounter pointers, data sharing,…)
  2. The input checks included by VPP include mandatory networking checks. Some solutions today either don’t perform these or don’t have them leading to questionable performance numbers