Виртуализированные сетевые сервисы на line rate в...

29
Виртуализированные сетевые сервисы на line rate в серверном окружении Александр Шалимов

Transcript of Виртуализированные сетевые сервисы на line rate в...

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

Виртуализированные сетевые сервисы на line rate в серверном окруженииАлександр Шалимов

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

Эра виртуализации • Практически все находится на виртуальных

машинах или в контейнерах• http-сервера• БД• АТС• Трейдинговые системы• Реверс прокси с защитой от ddos• Nginx• Пользовательские задачи• Почтовые клиенты• Облачные технологии• Телеком операторы

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

Сетевая производительность VMКакая будет производительность?• .• ..• …• …….• ………..• Max 100Kpps• < 10% от 1Gbe

канала и 300us задержка

Виртуальная машина

Приложение

Linux

ГипервизорVirtual Switch

Упс! Что-то пошло не так!

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

Почему так?• Сетевой стек OS

• Универсальный• Много копирований• Лишние и дублированные действия• Системные вызовы• Переключения контекста и прерывания

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

Возможные технологии решения

• + гибкость• + независимость от аппаратуры• - производительность

• - вертикальная• - горизонтальная

• - гибкость• - независимость от аппаратуры• +/- производительность

• + вертикальная• - горизонтальная

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

Intel DPDK• Intel DPDK – это набор библиотек и драйверов для быстрой

обработки пакетов на платформах Intel.• Использование больших виртуальных страниц (huge pages

2mb/1gb).• Размещение объектов равномерно по всем каналам

оперативной памяти.• Адресное пространство карточки доступно из userspace.• Неблокирующие очереди для передачи пакетов.• Нет прерываний в драйверах DPDK – активный цикл.• Активное использование SSE инструкций для обработки

пакетов. • Выделение целых ядер процессоров под задачи.

DPDK = Data Plane Development Kithttp://dpdk.org/

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

Open vSwitch + DPDK

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

Пример проблемы с инкапсуляцией и overlay

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

9

OpenStack• Open source software for building private and public cloud.

• Create VMs, attach storage to them, and connect them into virtual topology

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

Виртуальные сети в OpenStack• Взаимодествие между

машинами• На одном сервере• Между серверами

• Трафик инкапсулируется по т.н. overlay сетям

• GRE• VXLAN

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

11

OVS/GRE plugin architectureVM VM VM VM

br-int

br-ex

Compute Node

VMs

OVS bridgespatch port

GRE port

NICphysical layer

??? SLOW

http://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/open-vswitch-and-its-usage-in-neutron

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

12

OVS/GRE plugin bottlenecks

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• ….

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

13

GRE port in OVS• OVS lays finishing of GRE packet encapsulation on

networking stack.

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!

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

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

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

15

Experimental evaluationAccelerated 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!

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

Что сейчас и что дальше?

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

Какой статус сейчас?• DPDK входит в поставку Ubuntu 16.04• Хотите производительность?

• “g <название приложения> dpdk”

• Уже портированы многие из них:• Iptable/iproute• Nginx• Pktgen• Haproxy• Libvirt• Docker• ….

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

Эволюция фреймворков• Поверх 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

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

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)

2 MACs2k MACs

20k MACs

02468

101214161820

OVSDPDK

VPP

NDR rates for 2p10GE, 1 core, L2 NIC-to-NIC

[IMIX Gbps]

12 routes 1k routes 100k routes 500k

routes 1M routes 2M routes

0.0

20.0

40.0

60.0

80.0

100.0

120.0

OVSDPDKVPP

NDR rates for 12 port 10GE, 12 cores, IPv4

[IMIX Gbps]

not tested

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

VPP Feature Summary

fd.io Foundation 20

14+ MPPS, single coreMultimillion entry FIBsSource RPFThousands of VRFs

Controlled cross-VRF lookupsMultipath – ECMP and Unequal CostMultiple million Classifiers –

Arbitrary N-tupleVLAN Support – Single/Double tagCounters for everythingMandatory Input Checks:

TTL expirationheader checksumL2 length < IP lengthARP

resolution/snoopingARP proxy

IPv4/IPv6 IPv4GRE, MPLS-GRE, NSH-GRE, VXLANIPSECDHCP client/proxyCG NAT

IPv6Neighbor discoveryRouter AdvertisementDHCPv6 ProxyL2TPv3Segment RoutingMAP/LW46 – IPv4aasiOAM

MPLSMPLS-o-Ethernet –

Deep label stacks supported

L2

VLAN SupportSingle/ Double tagL2 forwarding with

EFP/BridgeDomain conceptsVTR – push/pop/Translate (1:1,1:2, 2:1,2:2)Mac Learning – default limit of 50k addressesBridging – Split-horizon group support/EFP FilteringProxy ArpArp terminationIRB – BVI Support with RouterMac assignmentFloodingInput ACLsInterface cross-connect

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

Bарианты интеграции

VPP

Cont

rol

Plan

eDa

ta P

lane

Openstack

Neutron

ODLPlugin

HCVPP

Cont

rol P

lane

Data

Pla

ne Netlink Server

libne

twor

k

cni

weav

e

calic

o…

flann

el

VPP

Cont

rol P

lane

Data

Pla

ne

HC

NSH_SFC

SFC

VPP

Data

Pla

neHC

VNF

OpenStack Integration Container Integration NFV - SFCs

NFV - VNFs

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

Историческая справка

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

Как выглядит телеком оператор внутри? Кругом проприетарное оборудование!

2G, 3G, 4G, 5G,….

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

Проблемы телеком операторов

• Количества трафика растет, требуется больше сетевого оборудования, НО доход не растет.

• Инфраструктура состоит из проприетарного дорого оборудования.

• Статическое распределение ресурсов.• Вывод новых сервисов занимается до 18 месяцев.

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

Виртуальные сетевые сервисы

ETSI WhitePaper v.1.0

October 2012

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

ПреимуществаПеренос сетевых функций на виртуальные машины:• Упрощение развертывания и обновления как

софта, так и железа• Уменьшение стоимости за счет использования

стандартных серверов• Объединение сервисов в группы

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

Пример

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

Заключение• Есть проблемы с сетевым взаимодействием в виртуальном

окружении• Есть варианты решения – простые и сложные

• DPDK, Netmap• DPDK Packet Framework, FD.io

• Для многих популярных приложений есть порты на DPDK• Высокая потребность в людях, которые понимают тематтику

виртуальных сетей и окружения.

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

Вопросы?

http://arccn.ru/ [email protected]@alex_shali @arccnnews