accelerate cloud native with fd - linux foundation events · production-grade. container...

18
Accelerate Cloud Native with FD.io Naoyuki Mori, Ping Yu, Kinsella Ray, Hongjun Ni Intel

Upload: others

Post on 22-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

Accelerate Cloud Native with FD.io

Naoyuki Mori, Ping Yu, Kinsella Ray, Hongjun NiIntel

Page 2: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

Agenda

• FD.io*: Cloud native acceleration framework• Acceleration of Envoy with FD.io* TCP and QAT• Acceleration of Load Balancing with FD.io* LB• Summary

Page 3: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

3

Orchestration &Controller

Operating Systems

Honeycomb

Data-plane Management

CSIT

trex

Testing/SupportNSH_SFC PMA Tools

P4VPP

Sandbox

VPP

Packet Processing

Dataplane Management Agent

Packet Processing

Network IO

Data Plane Services

OSV Packaging

deb_dpdk rpm_dpdk

Networking-VPP

DMM GoVPP

Ligato

trex

Analytics

Contiv-VPP

Page 4: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

Universal data plane Extensible Modular Design• Layer 2 – 4 Network Stack• CP, TM, Overlays and more …• Linux (and FreeBSD) support• Kernel Interfaces (Netmap, FastTap)• Container and Virtualization support• Appliance, Infrastructure, VNF & CNF

Architecture• Pluggable, easy to understand & extend.• Mature graph node architecture.Plugins• Full control to reorganize the pipeline.• Fast, plugins are equal citizens

Fast, Scalable and Deterministic Developer friendly• L2XC - 16+ Mpps per coreDeterministic• 0 packet drops, ~15µs latency• Continuous & extensive latency testing.Scalability• Linear scaling with core/thread count• Supporting millions of concurrent L[2,3]

tables entries.

• Runtime counters for everything.( throughput, ipc, errors etc )

• Full pipeline tracing facilities.• Multi-language API bindings.• VPP command line introspection.

FD.io* VPP Overview

Packet Processing: VPP

Management AgentNetconf/Yang REST BGP

Graph Nodes

SDN Integration

Page 5: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

FD.io VPP – The “Magic” of VectorsCompute Optimized SW Network Platform

1 Packet processing is decomposedinto a directed graph of nodes …

Packet 0

Packet 1

Packet 2

Packet 3

Packet 4

Packet 5

Packet 6

Packet 7

Packet 8

Packet 9

Packet 10

… packets move through graph nodes in vector …2

Microprocessor

… graph nodes are optimized to fit inside the instruction cache …

… packets are pre-fetched into the data cache.

Instruction Cache3

Data Cache4

3

4

Makes use of modern Intel® Xeon® Processor micro-architectures. Instruction cache & data cache always hot Minimized memory latency and usage.

vhost-user-input

af-packet-input dpdk-input

ip4-lookup-mulitcast ip4-lookup*

ethernet-input

mpls-inputlldp-input

arp-inputcdp-input...-no-

checksum

ip6-inputl2-input ip4-input

ip4-load-balance

mpls-policy-encap

ip4-rewrite-transit

ip4-midchain

interface-output

* Each graph node implements a “micro-NF”, a “micro-NetworkFunction” processing packets.

Vector on Vector for amplified performance (?)

Page 6: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

Applications are changing ... Network Function Virtualization to Cloud

Page 7: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

FD.io Cloud Native

LIGATOContiv-VPPProduction-Grade

Container OrchestrationCloud-native NF OrchestrationCloud-native NF Agent platform

Containerized FastData Input/ Output

Enabling Production-Grade Native Cloud Network Services at Scale

Performance-CentricContainer Networking

- Cisco Container Platform- More …

Cloud Native Technologies

Commercial ProductStrategic Engagements

Envoy - TCP/TLS IntegrationCloud Native Computing Foundation - Infrastructure Lab

Envoy - TCP/TLS Integration

Page 8: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

Kubelet

CNICRI

tapv2/veth

Contiv-VPP vswitch

Agent

PodPodPodPodPod

Pod

VPP …K8s policy & state

distribution

K8s Master

IPv4/IPv6/SRv6 Network

• Can deliver complete container networking solution entirely from userspace.• Replace all eth/kernel interfaces with memif/userspace interfaces.• Apps can add VCL library for Higher Performance (bypass Kernel host stack and use VPP TCP stack)• Legacy apps can still use the kernel host stack in the same architecture

High PerformanceApps

Envoy Sidecar App

VPP TCPStack

App

PodPodPod

VNF

Kernel Host stackmemif

Legacy Apps Cloud-Native VNFs

Contiv-VPPNetmaster

Contiv-VPPEtcd

Kubelet

CNICRI tapv2/veth

Contiv-VPP vswitch

Agent

PodPodPod PodPod

Pod

VPP

High PerformanceApps

Envoy SidecarApp

VPP TCPStack

App

PodPodPod

VNF

Kernel Host stackmemif

Legacy AppsCloud-Native VNFs

FD.io Cloud Architecture: Contiv

Page 9: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

Kubelet

CNICRI

tapv2/veth

Contiv-VPP vswitch

Agent

PodPodPodPodPod

Pod

VPP

K8s Master

IPv4/IPv6/SRv6 Network

High PerformanceApps

Envoy Sidecar App

VPP TCPStack

App

PodPodPod

VNF

Kernel Host stack

memif

Legacy Apps Cloud-Native VNFs

Contiv-VPPNetmaster

Contiv-VPPEtcd

SFC Controller

Define Services Define Topology

• Kubernetes does not provide a way to stitch micro-services together today• Ligato allows you to wire the data plane together into a service topology• All services (apps and network functions) run in the same L2 domain• Network functions can now become part of the service topology

FD.io Cloud Architecture: Ligato

Agent Ligato Etcd

Page 10: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

FD.io Cloud Architecture: TCP Acceleration

New novel approaches to accelerating TCP!

VCL Library, directs the TCP bit stream to FD.io VPP.

TCP Streams are aggregated in FD.io VPP

VPP TCP Host StackVPP Hoststack is a high performance L4 implementation in SW.

• Best-in class TCP/UDP Performance in Software; applying‘DPDK’ SW optimization techniques.

• Features:• TCP in client & server (active/passive) modes. • Common TCP options; MSS, timestamp, wnd scaling,

s/ack.• Common TCP features; ddos protection, delayed ack,

congestion.• Support for Cut-Through, Namespaces, Session Tables

and TLS. • Also support for other Layer 4 protocols such as UDP,

SCTP.

Page 11: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.

Istio/Envoy for cloud native

• Industry is moving toward a highly distributed microservices architecture.

• Network should be transparent to applications• Services are decoupled from each other and

communicate with a common service language• Data plane is composed of a set of intelligent

proxies (Envoy) deployed as sidecars. These proxies mediate and control all network communication between microservices, a general-purpose policy and telemetry hub.

• The control plane manages and configures the proxies to route traffic.

*Other names and brands may be claimed as the property of others.

Page 12: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

Re-architect Envoy network stack with Intel ingredient

Kernel space TCP IP

Socket and POSIX C library

Envoy

Kernel space

User space

boringSSL

Envoy

VPP

Session interface

Openssl TLS

User space TCP/IP

Session interface

Openssl TLS

User space TCP/IP

User space

DPDK input

DPDK output

RX FIFO

TX FIFO

Page 13: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

Transparent TLS

• TLS engine between App session and transport layer.

• TLS is transparent to application just like one of session protocol such as TCP, UDP or SCTP.

• TLS application registers key and certification via API and requests TLS as session transport. Besides that, every goes like TCP.

Page 14: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

Building a Scalable Crypto Engine

QAT

QAT

• Vector Packet Processing makes TLS transparent to the application

• QAT Accelerates the Crypto Algorithm• Quick Assist Technology• QAT Intel hardware acceleration engine to

offload crypto• Asynchronous enabling to maximize HW

performance

Page 15: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

UniversalCPE

Data Plane Control Plane

L2 Switch Netconf/Yang

VLAN / Q-in-Q BGP

L3 Router TR-069

NAT IKEv2

ACL (mac, ip, port)

IPSEC

Cloud Load Balancer

Data Plane Control Plane

BondingOpenStack LBaaS

VLAN / Q-in-Q

NATK8s Kube-Proxy

ACL (backlist)

TM (Policing, Metering)

L4 Load Balancer

Discrete Appliances, VNFs & CNFsBroadbandNetworkGateway

Data Plane Control Plane

L2 Switch Netconf/Yang

L3 Router BGP

Classification

hQoS

ACL

TM (Policing, Metering)

IntrusionPrevention

System

Data Plane Control Plane

L2 Switch Netconf/Yang

L3 Router BGP

Classification

NAT

ACL (mac, ip, port)

Network Functions with FD.io VPP *

Page 16: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

• Router, Load Balancer and Service Proxy are supported on VPP.

• On Router, will enable ECMP feature.

• VPP Load Balancer distributes traffic and encapsulates packets via GRE tunnel.

• On K8s node, it removes GRE tunnel and goes through Service Proxy to distribute traffic to chosen pod.

External Load Balancer

Page 17: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

• RSS enables traffic associated with one connection to a given thread.• Load balancing and connection track redirects traffic to a chosen pod.

VPP-based Service Proxy

Worker 0 - N

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

NIC

ETH IP

Load Balancing DNAT IP-LookupDPDK Input Eth Input IP-

RewriteACL Vhost

Memif

Load Balancing DNAT IP-LookupDPDK Input Eth Input IP-

RewriteACL Vhost

Memif

Load Balancing DNAT IP-LookupDPDK Input Eth Input IP-

RewriteACL Vhost

Memif

RSS

Queue 0

Queue 1

Queue 2

[packets]

[packets]

[packets]

Multithread Support: Ingress traffic

Check out Yahoo! JAPAN* VPP LB use case session!

Page 18: Accelerate Cloud Native with FD - Linux Foundation Events · Production-Grade. Container Orchestration. Cloud-native NF Orchestration. Cloud-native NF Agent platform. Containerized

*Other names and brands may be claimed as the property of others.*Other names and brands may be claimed as the property of others.

Summary

• FD.io* is robust and commercially deployed networking stack for cloud native acceleration

• Intel IA platform is devoted to contribute and accelerate FD.io*