Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Виртуализированные
сетевые сервисы на line rate
в серверном окружении
Александр Шалимов
Эра виртуализации
• Практически все находится на виртуальных
машинах или в контейнерах
• http-сервера
• БД
• АТС
• Трейдин...
Сетевая производительность VM
Какая будет
производительность?
• .
• ..
• …
• …….
• ………..
• Max 100Kpps
• < 10% от 1Gbe
кан...
Почему так?
• Сетевой стек OS
• Универсальный
• Много копирований
• Лишние и дублированные действия
• Системные вызовы
• П...
Возможные технологии решения
• + гибкость
• + независимость от
аппаратуры
• - производительность
• - вертикальная
• - гори...
Intel DPDK
• Intel DPDK – это набор библиотек и драйверов для быстрой
обработки пакетов на платформах Intel.
• Использован...
Open vSwitch + DPDK
Пример проблемы с инкапсуляцией и overlay
OpenStack
• Open source software for building private and public cloud.
• Create VMs, attach storage to them, and connect ...
Виртуальные сети в OpenStack
• Взаимодествие между
машинами
• На одном сервере
• Между серверами
• Трафик инкапсулируется ...
OVS/GRE plugin architecture
11
VM VM VM VM
br-int
br-ex
Compute Node
VMs
OVS bridgespatch port
GRE port
NIC
physical layer...
OVS/GRE plugin bottlenecks
12
br-ex
patch port
GRE port
NIC
Linux Networking
Stack
Standard networking stack is slow,
yes....
GRE port in OVS
• OVS lays finishing of GRE packet encapsulation on
networking stack.
13
MACs IPs Payload
VM
OVS GRE port
...
GRE port architecture
• GRE port should fully be responsible for packet encapsulation.
• Tasks of GRE port:
• Determine lo...
Experimental evaluation
15
Accelerated OVS Original OVS
VLAN
physical-to-physical 5 Mpps 1.1 Mpps
physical-to-vm 3.3 Mpps ...
Что сейчас и что дальше?
Какой статус сейчас?
• DPDK входит в поставку Ubuntu 16.04
• Хотите производительность?
• “g <название приложения> dpdk”
•...
Эволюция фреймворков
• Поверх DPDK появляются
более удобные фреймворки
для программистов и
инженеров
• Запуск цепочек серв...
VPP technology in a nutshell
• VPP data plane throughput not impacted by large FIB size
• OVSDPDK data plane throughput he...
VPP Feature Summary
fd.io Foundation 20
14+ MPPS, single core
Multimillion entry FIBs
Source RPF
Thousands of VRFs
Control...
Bарианты интеграции
VPP
Control
Plane
DataPlane
Openstack
Neutron
ODL
Plugin
HC
VPP
ControlPlaneDataPlane Netlink Server
l...
Историческая справка
Как выглядит телеком оператор внутри?
Кругом проприетарное оборудование!
2G, 3G, 4G, 5G,….
Проблемы телеком операторов
•Количества трафика растет, требуется больше
сетевого оборудования, НО доход не растет.
• Инфр...
Виртуальные сетевые сервисы
ETSI WhitePaper
v.1.0
October 2012
Преимущества
Перенос сетевых функций на виртуальные
машины:
•Упрощение развертывания и обновления как
софта, так и железа
...
Пример
Заключение
• Есть проблемы с сетевым взаимодействием в виртуальном
окружении
• Есть варианты решения – простые и сложные
•...
Вопросы?
http://arccn.ru/ ashalimov@arccn.ru
@alex_shali
@arccnnews
Upcoming SlideShare
Loading in …5
×

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

298 views

Published on

Технологии NFV идут вперед и никого уже нельзя удивить тем, что сетевые сервисы вместо специализированного оборудования запускают на обычных серверах с хорошей пропускной способностью. Мир уже привык к тому, что на сервере можно обрабатывать 100 Гбит сетевого трафика. Однако эти числа характерны только тогда, когда запускают единственный сервис на сервере, например, только коммутацию пакетов (vSwitch), только NAT, только балансировку нагрузки и т.п. Сейчас же появляется потребность в запуске нескольких сервисов на одной машине, выстраивать сложные pipeline, которые учитывают различные сетевые функции, ACL, L2, L3, QoS, интегрированных с виртуальными машинами и контейнерами.

Для этого в сообществах разрабатываются более сложные фреймворки по обработке сетевых сервисов, которые позволяют разбивать задачи на этапы (stage) — каждый со своей сложностью и временем обработки, автоматически распределять такие этапы по вычислительным мощностям, планировать обработку пакетов так, чтобы увеличить суммарную пропускную способность.

В докладе будет представлен сравнительный обзор таких фреймворков: Intel DPDK Packet Framework, FD.io, Open Dataplane, Open Virtual Network (от проекта Open vSwtich). Будут представлены числовые характеристики и рекомендованные сценарии применения. Также будет освещена интеграция с системами виртуализации.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Виртуализированные сетевые сервисы на line rate в серверном окружении Александр Шалимов
  2. 2. Эра виртуализации • Практически все находится на виртуальных машинах или в контейнерах • http-сервера • БД • АТС • Трейдинговые системы • Реверс прокси с защитой от ddos • Nginx • Пользовательские задачи • Почтовые клиенты • Облачные технологии • Телеком операторы
  3. 3. Сетевая производительность VM Какая будет производительность? • . • .. • … • ……. • ……….. • Max 100Kpps • < 10% от 1Gbe канала и 300us задержка Виртуальная машина Приложение Linux Гипервизор Virtual Switch Упс! Что-то пошло не так!
  4. 4. Почему так? • Сетевой стек OS • Универсальный • Много копирований • Лишние и дублированные действия • Системные вызовы • Переключения контекста и прерывания
  5. 5. Возможные технологии решения • + гибкость • + независимость от аппаратуры • - производительность • - вертикальная • - горизонтальная • - гибкость • - независимость от аппаратуры • +/- производительность • + вертикальная • - горизонтальная
  6. 6. Intel DPDK • Intel DPDK – это набор библиотек и драйверов для быстрой обработки пакетов на платформах Intel. • Использование больших виртуальных страниц (huge pages 2mb/1gb). • Размещение объектов равномерно по всем каналам оперативной памяти. • Адресное пространство карточки доступно из userspace. • Неблокирующие очереди для передачи пакетов. • Нет прерываний в драйверах DPDK – активный цикл. • Активное использование SSE инструкций для обработки пакетов. • Выделение целых ядер процессоров под задачи. DPDK = Data Plane Development Kit http://dpdk.org/
  7. 7. Open vSwitch + DPDK
  8. 8. Пример проблемы с инкапсуляцией и overlay
  9. 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. 10. Виртуальные сети в OpenStack • Взаимодествие между машинами • На одном сервере • Между серверами • Трафик инкапсулируется по т.н. overlay сетям • GRE • VXLAN
  11. 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. 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. 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. 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. 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. 16. Что сейчас и что дальше?
  17. 17. Какой статус сейчас? • DPDK входит в поставку Ubuntu 16.04 • Хотите производительность? • “g <название приложения> dpdk” • Уже портированы многие из них: • Iptable/iproute • Nginx • Pktgen • Haproxy • Libvirt • Docker • ….
  18. 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. 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. 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. 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
  22. 22. Историческая справка
  23. 23. Как выглядит телеком оператор внутри? Кругом проприетарное оборудование! 2G, 3G, 4G, 5G,….
  24. 24. Проблемы телеком операторов •Количества трафика растет, требуется больше сетевого оборудования, НО доход не растет. • Инфраструктура состоит из проприетарного дорого оборудования. • Статическое распределение ресурсов. • Вывод новых сервисов занимается до 18 месяцев.
  25. 25. Виртуальные сетевые сервисы ETSI WhitePaper v.1.0 October 2012
  26. 26. Преимущества Перенос сетевых функций на виртуальные машины: •Упрощение развертывания и обновления как софта, так и железа •Уменьшение стоимости за счет использования стандартных серверов •Объединение сервисов в группы
  27. 27. Пример
  28. 28. Заключение • Есть проблемы с сетевым взаимодействием в виртуальном окружении • Есть варианты решения – простые и сложные • DPDK, Netmap • DPDK Packet Framework, FD.io • Для многих популярных приложений есть порты на DPDK • Высокая потребность в людях, которые понимают тематтику виртуальных сетей и окружения.
  29. 29. Вопросы? http://arccn.ru/ ashalimov@arccn.ru @alex_shali @arccnnews

×