Topics Why SDN? What is SDN? SDN in OpenStack and K8s Overview of - - PowerPoint PPT Presentation

topics
SMART_READER_LITE
LIVE PREVIEW

Topics Why SDN? What is SDN? SDN in OpenStack and K8s Overview of - - PowerPoint PPT Presentation

Topics Why SDN? What is SDN? SDN in OpenStack and K8s Overview of SDN controllers Why SDN? Limitations of Traditional Networking Traditional networking It's hardware centric! Closed systems Vendor specific software


slide-1
SLIDE 1
slide-2
SLIDE 2

Topics

  • Why SDN?
  • What is SDN?
  • SDN in OpenStack and K8s
  • Overview of SDN controllers
slide-3
SLIDE 3

Why SDN?

Limitations of Traditional Networking

slide-4
SLIDE 4

Traditional networking

slide-5
SLIDE 5

It's hardware centric!

slide-6
SLIDE 6

Closed systems

  • Vendor specific software
  • Costly
  • Hard to inter-operate
slide-7
SLIDE 7

Not scalable!

slide-8
SLIDE 8

No abstractions

  • Hard to maintain
  • Hard to innovate
  • Hard to experiment
slide-9
SLIDE 9

Server virtualization

VLANs are not flexible enough (e.g. server is moved) Traffic differs from the classic server-client model

slide-10
SLIDE 10

Connect a new machine

  • 1. Reach the place
  • 2. Plug the cable
  • 3. Configure
slide-11
SLIDE 11

What is SDN?

slide-12
SLIDE 12

What's SDN Goal?

Enable network engineers and administrators to respond quickly to changing business requirements

slide-13
SLIDE 13

How does SDN work?

  • Separate control plane from data plane
  • Centralization of control
  • Program a network vs configure network
  • Forwarding decisions are flow based
slide-14
SLIDE 14

Separate control plane from data plane

slide-15
SLIDE 15

Centralization of control

Northbound Interface Southbound Interface

slide-16
SLIDE 16

Flow based forwarding

  • A flow of packets are a those that should be forwarded in the

same way

  • A packet is classified into a flow by data contained within the

packet (packet headers)

  • A packet is forwarded by applying a set of actions to it
  • Those actions will be the same for all packets of the same

flow

  • An abstraction to packet-switching that allows to design and

control pure forwarding network devices

slide-17
SLIDE 17

OpenFlow

  • Open standard
  • Separation of control plane and data plane
  • OF switch has flow tables
  • OF controller programs the flow entries
  • Flow = match + action
slide-18
SLIDE 18

OpenFlow switch

slide-19
SLIDE 19

Overlay network

  • Encapsulation decouples a network service from the

underlying infrastructure

Image from ipcraft.net

slide-20
SLIDE 20

SDN Benefits

  • Simpler hardware

○ Controller runs on commodity hardware ○ Network devices are pure forwarding elements ○ Independent development of software and hardware ○ Reduced CapEx

  • Network becomes a computation/software problem

○ Software abstractions and open standards ○ Easier to innovate, design, deploy, manage and scale ○ Improved flexibility and agility ○ Reduced OpEX

  • Automation, Optimization and Integration
slide-21
SLIDE 21

SDN Use Cases

  • For carriers and service providers

○ Network resource optimization ○ SD-WAN ○ NFV

  • For enterprise

○ Network access control ○ Network monitoring

  • For cloud computing and data center workloads

○ Network virtualization ○ Automated service delivery

slide-22
SLIDE 22

SDN Characterization

  • Cross platform or hardware specific?
  • Open vs. proprietary
  • Southbound protocols
  • Northbound APIs & services
  • Networking features
  • Data plane stack: overlay protocol, hypervisor vSwitch,

acceleration...

  • Efficiency: performance, reliability, scalability...
  • Integration: OpenStack, Kubernetes, Cloud-Native…
  • Monitoring & Analytics features
slide-23
SLIDE 23

SDN networking in OpenStack

slide-24
SLIDE 24

Connect a new machine in the virtual world

slide-25
SLIDE 25

Neutron

  • Neutron is an OpenStack project to provide “networking as a

service” between interface devices (e.g., vNICs) managed by other Openstack services (e.g., nova)

  • provides a powerful API to define the network connectivity
slide-26
SLIDE 26

Neutron abstractions

  • Network: L2 broadcast domain
  • Subnet: a block of v4 or v6 IP addresses and associated

configuration state.

  • Port: a connection point for attaching a single device, such

as the NIC of a virtual server, to a virtual network. Also describes the associated network configuration, such as the MAC and IP addresses to be used on that port.

  • Router: interconnects networks
slide-27
SLIDE 27

Modular architecture

  • Plugin: custom back-end implementation of the Networking

API

  • Neutron-server: exposes the API
slide-28
SLIDE 28

Neutron as SDN controller

NOVA

Compute

GLANCE

Image Service

NEUTRON

Networking Plugin

KEYSTONE Identity Service HORIZON / CLI Client

Network Elements OPENSTACK

Plugin Agent

slide-29
SLIDE 29

Neutron as SDN application

Network Elements

NOVA Compute GLANCE Image Service NEUTRON Networking Plugin

KEYSTONE Identity Service

HORIZON / CLI Client

OPENSTACK

SDN CONTROLLER Northbound App Openstack Agent Northbound App Control Layer Abstractions Southbound protocols

slide-30
SLIDE 30

Multi-Site single Controller

Traffic

Network Elements

NOVA Compute GLANCE Image Service NEUTRON

Networking

Plugin KEYSTONE Identity Service HORIZON / CLI Client

OPENSTACK SITE

SDN CONTROLLER Northbound App Openstack Agent Northbound App Control Layer Abstractions Southbound protocols

NOVA Compute GLANCE Image Service NEUTRON

Networking

Plugin KEYSTONE Identity Service HORIZON / CLI Client

OPENSTACK SITE

slide-31
SLIDE 31

SDN networking in K8s

slide-32
SLIDE 32

Containers are cool but...

  • Containers need to be reachable
  • Containers need to be connected together

Image from patgt.net

slide-33
SLIDE 33

Container Network Interface

Container Runtime Container Network Interface (CNI)

loopbac k

bridge ipvlan dhcp flannel calico cilium SDN Built-in Third-party

slide-34
SLIDE 34

Mixing it all with SDN

Kubernetes

Container Runtime Container Network Interface (CNI) SDN Plugin

Network Elements

NOVA Compute GLANCE Image Service NEUTRON Networking Plugin

KEYSTONE Identity Service

HORIZON / CLI Client

OPENSTACK

SDN CONTROLLER CNI Agent Openstack Agent Northbound App Control Layer Abstractions Southbound protocols Traffic

slide-35
SLIDE 35

SDN controllers overview

CISCO ACI

slide-36
SLIDE 36

Cisco ACI: Overview (I)

  • Cisco’s approach: Application requirements to define the

network behavior ○ Policy-driven solution ○ Combining both SW and HW ○ Common platform for physical, virtual, and cloud.

  • IPv6 support
  • Protocol Stack

○ Northbound REST APIs ○ Southbound OpFlex agents ○ Overlay support: NVGRE, VXLAN

slide-37
SLIDE 37

Cisco ACI: Overview (II)

  • HA support

○ 2 member active/standby APIC controller cluster

  • Multi-Hypervisor

○ KVM ○ ESXi ○ Hyper-V

  • Integrations

○ OpenStack ○ Kubernetes ○ Cloud

slide-38
SLIDE 38

What is ACI?

slide-39
SLIDE 39

OpenStack integration

slide-40
SLIDE 40

Kubernetes Integration

slide-41
SLIDE 41

SDN controllers

Tungsten Fabric

slide-42
SLIDE 42

Tungsten Fabric: Overview (I)

  • Open Source & Part of the Linux Foundation
  • Application-based security policies
  • IPv6 support
  • Protocol Stack

○ REST APIs & Python bindings ○ XMPP Southbound agents ○ MPLSoGRE & VXLAN overlay

  • Interesting network features

○ BGPaaS ○ SFC

slide-43
SLIDE 43

Tungsten Fabric: Overview (II)

  • Dataplane optimizations in TF vRouter:

○ DPDK ○ SR-IOV ○ SmartNIC

  • Supports HA:

○ active/active (for LB and failover)

  • Containerized control plane
slide-44
SLIDE 44

OpenStack & Kubernetes Integration

Image from tungsten.io

slide-45
SLIDE 45

SDN controllers

VMWare NSX-T

slide-46
SLIDE 46

NSX-T: Overview (I)

  • Software driven, virtual appliances
  • IPv6 support
  • HA

○ 3 node clustering

  • Multi-hypervisor

○ KVM ○ native vCenter support

  • Integrations

○ Kubernetes ○ OpenStack

slide-47
SLIDE 47

NSX-T: Overview (II)

  • Multi-Cloud

○ Azure ○ AWS ○ ...

  • Protocol stack:

○ Custom OvS & southbound agent for KVM ○ Overlay: Geneve ○ Northbound REST APIs

  • Dataplane optimizations

○ For ESXi ○ Enhanced N-VDS (DPKD-based)

slide-48
SLIDE 48

OpenStack integration

Image from vmware

slide-49
SLIDE 49

Kubernetes integration

Image from virtuallyread.com

slide-50
SLIDE 50

SDN controllers

OpenDaylight

slide-51
SLIDE 51

OpenDaylight: Overview

  • Open Source & Part of the Linux Foundation
  • Multi-project platform
  • Multiple Southbound protocol support
  • Modular Northbound services & APIs
  • Cross-platform: Java
  • Perfect for learning & SDN innovation
slide-52
SLIDE 52

Modular Architecture

Image from opendaylight.org

slide-53
SLIDE 53

Thanks! Questions?

slide-54
SLIDE 54