Жемчугов а а «крот» в окружении андропова разведка в лицах и событиях(библиотека сотрудника
Виртуализированные сетевые сервисы на line rate в...
-
Upload
ontico -
Category
Engineering
-
view
193 -
download
2
Transcript of Виртуализированные сетевые сервисы на line rate в...
Виртуализированные сетевые сервисы на 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 Kithttp://dpdk.org/
Open vSwitch + DPDK
Пример проблемы с инкапсуляцией и overlay
9
OpenStack• Open source software for building private and public cloud.
• Create VMs, attach storage to them, and connect them into virtual topology
Виртуальные сети в OpenStack• Взаимодествие между
машинами• На одном сервере• Между серверами
• Трафик инкапсулируется по т.н. overlay сетям
• GRE• VXLAN
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
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• ….
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!
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
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!
Что сейчас и что дальше?
Какой статус сейчас?• 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)
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
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
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
Историческая справка
Как выглядит телеком оператор внутри? Кругом проприетарное оборудование!
2G, 3G, 4G, 5G,….
Проблемы телеком операторов
• Количества трафика растет, требуется больше сетевого оборудования, НО доход не растет.
• Инфраструктура состоит из проприетарного дорого оборудования.
• Статическое распределение ресурсов.• Вывод новых сервисов занимается до 18 месяцев.
Виртуальные сетевые сервисы
ETSI WhitePaper v.1.0
October 2012
ПреимуществаПеренос сетевых функций на виртуальные машины:• Упрощение развертывания и обновления как
софта, так и железа• Уменьшение стоимости за счет использования
стандартных серверов• Объединение сервисов в группы
Пример
Заключение• Есть проблемы с сетевым взаимодействием в виртуальном
окружении• Есть варианты решения – простые и сложные
• DPDK, Netmap• DPDK Packet Framework, FD.io
• Для многих популярных приложений есть порты на DPDK• Высокая потребность в людях, которые понимают тематтику
виртуальных сетей и окружения.