SDN & NFV Introduction
Open Source Data Center Networking
Thomas Graf <tgraf@redhat.com>
Red Hat, Inc.
Spring, 2014
Agenda
● Problem Statement
– Networking Challenges
● Path to resolution
– Software Defined Networking, Network
Virtualization, NFV & Service Chaining
● What about Code?
– OpenDaylight, Open vSwitch, OpenStack
● Look Ahead
– Group Based Policy Abstraction
Problem Statement:
Networking Challenges
She can't take much
more of this, captain!
Managing Forwarding Elements
● Vendor specific management tools
● Little automation
● Slow and error prone
Developer
NetOps
Service Ticket
1d – 2 weeks
CLI
Vendor
UI
Change in Traffic Patterns
● Increased demand for bisectional traffic
● Limited room for additional costs
5%
95%
80% by 2014*
20%
* Gartner Synergy Report
Dynamic Workloads
● Virtualization (Live Migration)& Cloud
● Respond in real time
– Services are started/stopped dynamically, network
needs to adapt.
● Bring Your Own Device
Hypervisor Hypervisor
VMVM
Live Migration
Debugging
Debugging complex networks is hard
Cost per Core
Network Definition
● Collection of endpoints and forwarding
elements
● Responsible for moving packets between hosts
● Source hosts identify destination
● Forwarding elements direct traffic at each
intersection
Classic Forwarding Device
Data / Forwarding Plane
Fabric, Flow Table, Forwarding Engine
Data / Forwarding Plane
Fabric, Flow Table, Forwarding Engine
Control Plane
Forwarding Decision (Learning, RIB Lookup),
Routing Protocols (OSPF, BGP, ...)
Control Plane
Forwarding Decision (Learning, RIB Lookup),
Routing Protocols (OSPF, BGP, ...)
Management interface
CLI, Console, SNMP, ...
Management interface
CLI, Console, SNMP, ...
Path to Resolution:
Software Defined
Networking
Software Defined Networking
In the Software Defined Networking architecture, the
control and data planes are decoupled, network
intelligence and state are logically centralized, and the
underlying network infrastructure is abstracted from
the applications.
Software-Defined Networking:
The New Norm for Networks
ONF White Paper
April 13, 2012
SDN – Abstraction
Controller
App App AppSNMPVendor Specific Protocol
Control Plane
Data Plane
A logically centralized controller programs the network
based on a global view.
Control Plane
Data Plane
Control Plane
Data Plane
Console
Control Plane
Data Plane
Data Plane
Data Plane
Data Plane
Data Plane
“We've taken over the
network”
James Hamilton
VP, Amazon Web Services
Nov, 2013
What Really Matters
● Closed Source
● Network Engineer
● Vendor Lead
● CLIs
● Network Appliances
● Open Source
● Network Developer
● Community Driven
● APIs
● NFV (Software)
Open Source Defines SDN
SDN Promises
● Highly automated & dynamically provisioned
● Enables innovation, experimentation &
optimizations
● Virtualizes network & abstracts the hardware
● Makes the network programmable
● Enables overlays with control at edges
OpenFlow
Match on bits in
packet header L2-
L4 plus meta data
Execute actions
● Forward to port
● Drop
● Send to
controller
● Mangle packet
2.2.
An Open Standard behind SDN
OpenFlow enables networks to evolve, by giving a remote
controller the power to modify the behavior of network
devices, through a well-defined "forwarding instruction
set". The growing OpenFlow ecosystem now includes
routers, switches, virtual switches, and access points
from a range of vendors.
ONF Website
11..
Programmable Flow Table
● Extensive flow matching capabilities:
– Layer 1 – Tunnel ID, In Port, QoS priority, skb mark
– Layer 2 – MAC address, VLAN ID, Ethernet type
– Layer 3 – IPv4/IPv6 fields, ARP
– Layer 4 – TCP/UDP, ICMP, ND
● One or more actions:
– Output to port (port range, flood, mirror)
– Discard, Resubmit to table x
– Packet Mangling (Push/Pop VLAN header, TOS, ...)
– Send to controller, Learn
Is it production ready?
Google claims 95% network utilization!
Path to Resolution:
Network Virtualization
Network Virtualization
What do we need?
1. Virtualize network topology on Layer 2-7
- Run previous workload without changes
2. Decouple logical from physical topology
- A virtual network should run anywhere
3. Allow for isolated tentant networks
- Multiple customers/applications per network
4. Provide APIs to manage network abstraction
- Orchestrate & automate
Naive VLAN Mapping
Switch
Compute Node
vSwitch
VM1
Compute Node
VM2 VM3
vSwitch
VLAN 2
Switch
Switch
Switch
VM1
Compute Node
VM2 VM3
vSwitch
VLAN 3
VM1 VM2 VM3
VLAN 1
Max 4096 VLANs
VLAN Trunking
Compute Node
VM1
vSwitch
Compute Node
vSwitch
Compute Node
vSwitch
VM1VM1 VM2VM2VM2 VM3VM3VM3
Switch
Switch
Switch
Switch
Max 4096 VLANs
Network Overlay
Compute Node
VM1
vSwitch
Compute Node
vSwitch
Compute Node
vSwitch
VM1VM1 VM2VM2VM2 VM3VM3VM3
Switch
Switch
Switch
Switch
Encapsulation
Stateless
VXLAN, NVGRE,
Geneve, GUE, LISP,
STT, ..
Stateful
VPN, L2TP, SSH, ...
VXLAN Encapsulation
Network Abstraction
VM
VM
VM
VM
VM
VM
VM
VM
VM
Switch
Switch
Switch
Switch
Switch Switch Switch
Logical
Physical
NFV & Service Chaining
NFV
Problem Statement
● Non commodity hardware
● Physical install per appliance per site
● Large development barriers
● Innovation constraints & limited competition
NFV
What do we want?
1. Virtualization
– Run functions on scaleable commodity hardware
2. Abstraction
– Limited dependency on physical layer
3. Programmability
– APIs to implement automation
4. Orchestration
– Centralized orchestration
– Reduced maintenance
NFV
Who is behind NFV?
● Originally operator driven
– ETSI – European Telecommunications Standards
Institute
● Evolved into a generic concept
● Open to any company
Service Chaining
Moving network functions into software means that building a
service chain no longer requires acquiring hardware.
Build your own
Open Source Data Center
OpenDaylight’s mission is to facilitate a community-led,
industry-supported open source platform, including
code and architecture, to accelerate adoption of
Software-Defined Networking and Network Functions
Virtualization.
Framework
SDN & NFV Introduction - Open Source Data Center Networking
Controller
(Open Daylight)
Controller
(Open Daylight)
OpenFlow / OVSDBOpenFlow / OVSDB
VM VM
Open vSwitch is a virtual multi layer switch for hypervisors
providing network connectivity to virtual machines.
VM VM
SwitchSwitch
SwitchSwitch
Open vSwitch
● Apache License (User Space), GPL (Kernel)
● Extensive flow table programming capabilities
● OpenFlow 1.1+ (1.1, 1.2, 1.3, extensions)
● Designed to manage overlay networks
● VLAN, VXLAN, GRE, LISP, ...
● Remote management protocol (OVSDB)
● Monitoring capabilities
L2 Segregation (VLAN)
VM1
Host system
VM2 VM3
Open vSwitch
VLAN 1 VLAN 2
VLAN isolation enforces VLAN membership of
a VM without the knowledge of the guest itself.
vSwitchvSwitch
Virtual Machine
Remove
VLAN header
Add
VLAN header
# ovs-vsctl add-port ovsbr port2 tag=10
Overlay Networks
VM1
Compute Node 1
VM2 VM3
Open vSwitch
VM4
Compute Node 2
VM5 VM6
Open vSwitch
ControllerController
O
pen
Flow
O
VSD
B
O
pen
Flow
O
VSDBTunnel
VNET 1 VNET 1VNET 2 VNET 2
Tunneling provides isolation and reduces
dependencies on the physical network.
NetworkNetwork
Visibility
●
● NetFlow
● Port Mirroring
● SPAN
● RSPAN
● ERSPAN
Supports industry standard technology to
monitor the use of a network.
Feature
Quality of Service
● Uses existing Traffic Control Layer
● Policer (Ingress rate limiter)
● HTB, HFSC (Egress traffic classes)
● Controller (Open Flow) can select Traffic Class
VM1
Compute Node
VM2
ovsbr
VLAN 10
port1 port2
1mbit
# ovs-vsctl set Interface port2 
ingress_policing_rate=1000
To produce the ubiquitous open source
cloud computing platform that will meet the
needs of public and private cloud providers
regardless of size, by being simple to
implement and massively scalable.
OpenStack Architecture
Overlay Networks with OpenStack Neutron
and Open vSwitch
A1
Compute Node 1
br-int
B1
br-tun
A2
Compute Node 2
br-int
B2
br-tun
A3
Compute Node C3
br-tun
B3
br-int
Compute Node 3
br-tun
B3
br-int
Network Node
DHCP
br-tun
L3
br-ex
VXLAN
VXLAN
br-int
C3
VID 11 ↔ VNI 1
VID 49 ↔ VNI 13
SDN & NFV Introduction - Open Source Data Center Networking
Group Based
Policy Abstraction
Network APIs are there.
Now what?
Applications do not care about
subnets, ports, or virtual networks.
Application Centric APIs
Allow application administrators to express
networking requirements using group and policy
abstraction.
Leave the technical implementation to the
network.
Terminology
Connectivity Group: Collection of endpoints (MAC/IP on vNIC)
with a common policy.
Policy: Set of Policy Rule objects describing policy. Policies may
be applied between groups, or alternatively, applied to a single
group using provide / consume relations.
Policy Rule: Specific <classifier, action> pair, part of a policy.
– Classifier: L4 ports + protocol
– Actions: Permit / Deny, QoS action, service chain redirection
Policy as a Service
● Group is providing service as
defined by policy
● Service mostly unaware of
consumer
Policy between Groups
● Policy defined between pair of groups
● Policy may apply to multiple relationships
● Producer is aware of consumer
Example:
Policy between Groups
Questions
References
Opendaylight
– http://www.opendaylight.org/
Open vSwitch
– http://www.openvswitch.org/
OpenFlow
– http://www.openflow.org/
Open Networking Foundation
– http://www.opennetworking.org/
Inter-Datacenter WAN with centralized
TE using SDN and OpenFlow [Google]
– http://bit.ly/18zgPE3
Red Hat OpenStack
– http://www.redhat.com/openstack/
OpenStack
– http://www.openstack.org/
Backup
Open vSwitch
Deep Dive
Flow Table
VM
User space
Slow Path
Physical Interface
Kernel Fast Path
Controller programs flow table in the slow path that
feeds the flow table in the fast path upon request.
tap
VM VM VM
tap tap tap
Open vSwitch
OpenFlow
Architecture
ovsdbvswitchd
Datapath
OpenFlow
Kernel
User
space
Management
ovs-vsctl
Flow Table
ovs-dpctl
upcall
Netlink
sFlow
To DeviceFrom Device
Promiscuous Mode
reinject
1
2
(3)
4
5
6
7
Packet Processing
Management Workflow
ovsdb-tool
ovs-ofctl
Flow Table Rules
● Flow matching capabilities
● Meta – Tunnel ID, In Port, QoS priority, skb mark
● Layer 2 – MAC address, VLAN ID, Ethernet type
● Layer 3 – IPv4/IPv6 fields, ARP
● Layer 4 – TCP/UDP, ICMP, ND
● Possible chain of actions
● Output to port (port range, flood, mirror)
● Discard, Resubmit to table x
● Packet Mangling (Push/Pop VLAN header, TTL,NAT, ...)
● Send to controller, Learn
Modifying the Flow Table
# ovs-ofctl add-flow ovsbr 
dl_src=11:22:33:44:55:66,actions=strip_vlan,output:1
# ovs-ofctl dump-flows ovsbr
[...]
cookie=0x0, duration=36.24s, table=0, n_packets=0,
n_bytes=0, idle_age=36, dl_src=11:22:33:44:55:66
actions=strip_vlan,output:1
Strip VLAN header of all packets from MAC address
11:22:33:44:55:66 and forward packet to port 1.
Megaflows
● Fast path made capable of handling wildcard flows
● Transparent optimization
in_port=3
src_mac=02:80:37:ec:02:00,
dst_mac=0a:e0:5a:43:b6:a1,
vlan=10,
eth_type=0x0800
ip_src=10.10.1.1,
ip_dst=10.10.1.2,
tcp_src=80,
tcp_dst=32990,
...
in_port=3,
src_mac=02:80:37:ec:02:00,
dst_mac=0a:e0:5a:43:b6:a1,
vlan=10
Multi Threading
CPU
Core 1
NIC
CPU
Core 2
CPU
Core 3
ovs-vswitchd
CPU
Core 1
NIC
CPU
Core 2
CPU
Core 3
OVS OVS OVS
● Multiqueue NICs spread load across all cores
● Maps kernel NIC Queue => CPU core mapping to user space
● Allows slow path to scale across cores
Examples
Defining a Switch & Ports
# service openvswitch start
# ovs-vsctl add-br ovsbr
# ovs-vsctl add-port ovsbr port1
Creating a new virtual switch “ovsbr” with port “vm1”
# ovs-vsctl show
7c68e54f-1618-41f4-bd16-
2fd781488266
Bridge ovsbr
Port ovsbr
Interface ovsbr
type: internal
Port "port1"
Interface "port1"
ovs_version: "1.7.3"
VM1
Compute Node
ovsbr
port1
Using Red Hat ifcfg-
TYPE=OVSBridge
DEVICE=ovsbr
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-ovsbr
TYPE=OVSIntPort
OVS_BRIDGE=ovsbr
DEVICE=port1
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-port1
# ifup port1
VM1
Compute Node
ovsbr
port1
<interface type='bridge'>
<source bridge='ovsbr'/>
<virtualport
type='openvswitch' />
</interface>
... with libvirt
TYPE=OVSBridge
DEVICE=ovsbr
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-ovsbr
virsh# edit <domain>
Start VM and it just works!
VM1
Compute Node
ovsbr
UUID
VLAN Isolation
# ovs-vsctl add-port ovsbr port2
tag=10
VM1
Compute Node
VM2
ovsbr
VLAN 10
port1 port2
Traffic Shaping
# ovs-vsctl set Interface port2
ingress_policing_rate=1000
Limit all traffic received from VM on
port port2 to 1Mbit/s VM1
Virtual Host
VM2
ovsbr
VLAN 10
port1 port2
1mbit

More Related Content

PDF
VXLAN BGP EVPN: Technology Building Blocks
PPTX
SDN Architecture & Ecosystem
PPTX
SDN: an introduction
PPTX
Software Defined Networks
PPTX
Introduction to SDN: Software Defined Networking
PPTX
Software defined networking(sdn) vahid sadri
PPTX
Introduction to OpenFlow, SDN and NFV
PDF
CCNP Security-Firewall
VXLAN BGP EVPN: Technology Building Blocks
SDN Architecture & Ecosystem
SDN: an introduction
Software Defined Networks
Introduction to SDN: Software Defined Networking
Software defined networking(sdn) vahid sadri
Introduction to OpenFlow, SDN and NFV
CCNP Security-Firewall

What's hot (20)

PPTX
Software Defined networking (SDN)
PDF
Building DataCenter networks with VXLAN BGP-EVPN
PPTX
Meetup 23 - 02 - OVN - The future of networking in OpenStack
PPTX
Introduction to SDN and NFV
PPTX
SDN Basics – What You Need to Know about Software-Defined Networking
PDF
SDN Fundamentals - short presentation
PDF
How BGP Works
PDF
Designing Multi-tenant Data Centers Using EVPN
PPTX
Sdn presentation
PPTX
PPTX
Virtualization Vs. Containers
PPTX
Network virtualization
PPTX
PDF
Network function virtualization
PDF
Red Hat Enterprise Linux 8
PPTX
Software defined networks and openflow protocol
PDF
VXLAN Design and Deployment.pdf
PPTX
Network Virtualization Architectural & Technological aspects
PPTX
PDF
Demystifying EVPN in the data center: Part 1 in 2 episode series
Software Defined networking (SDN)
Building DataCenter networks with VXLAN BGP-EVPN
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Introduction to SDN and NFV
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Fundamentals - short presentation
How BGP Works
Designing Multi-tenant Data Centers Using EVPN
Sdn presentation
Virtualization Vs. Containers
Network virtualization
Network function virtualization
Red Hat Enterprise Linux 8
Software defined networks and openflow protocol
VXLAN Design and Deployment.pdf
Network Virtualization Architectural & Technological aspects
Demystifying EVPN in the data center: Part 1 in 2 episode series
Ad

Viewers also liked (20)

PDF
BPF: Next Generation of Programmable Datapath
PDF
LinuxCon 2015 Stateful NAT with OVS
PDF
2015 FOSDEM - OVS Stateful Services
PDF
Cilium - BPF & XDP for containers
PDF
Open vSwitch - Stateful Connection Tracking & Stateful NAT
PDF
Cilium - Container Networking with BPF & XDP
PDF
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
PDF
Cilium - Fast IPv6 Container Networking with BPF and XDP
PDF
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
PDF
Linux Networking Explained
PDF
DevConf 2014 Kernel Networking Walkthrough
PDF
LinuxCon 2015 Linux Kernel Networking Walkthrough
PDF
NFV Open Source projects
PDF
SDN/NFV: Service Chaining
PPTX
NFV management and orchestration framework architecture
PPTX
Introduction to SDN and NFV
PPTX
Understanding and deploying Network Virtualization
PDF
NFV evolution towards 5G
PPT
Security of software defined networking (sdn) and cognitive radio network (crn)
PPTX
NFV : Virtual Network Function Architecture
BPF: Next Generation of Programmable Datapath
LinuxCon 2015 Stateful NAT with OVS
2015 FOSDEM - OVS Stateful Services
Cilium - BPF & XDP for containers
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Cilium - Container Networking with BPF & XDP
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
Cilium - Fast IPv6 Container Networking with BPF and XDP
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Linux Networking Explained
DevConf 2014 Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
NFV Open Source projects
SDN/NFV: Service Chaining
NFV management and orchestration framework architecture
Introduction to SDN and NFV
Understanding and deploying Network Virtualization
NFV evolution towards 5G
Security of software defined networking (sdn) and cognitive radio network (crn)
NFV : Virtual Network Function Architecture
Ad

Similar to SDN & NFV Introduction - Open Source Data Center Networking (20)

PDF
Understanding network and service virtualization
PPTX
Network and Service Virtualization tutorial at ONUG Spring 2015
PDF
CloudKC: Evolution of Network Virtualization
PPTX
Cloud, SDN, NFV
PDF
[OpenStack Day in Korea 2015] Track 3-6 - Archiectural Overview of the Open S...
PPTX
Midokura OpenStack Meetup Taipei
PDF
From Nova-Network to Neutron and Beyond: A Look at OpenStack Networking
PPTX
SDN and NFV Friends or Enemies ?
PPTX
Know about SDN and NFV
PDF
Midokura @ OpenStack Seattle
PDF
Summit 16: ARM Mini-Summit - NXP QorIQ NFV Solutions - NXP Semiconductors
PDF
What's the deal with Neutron?
PPTX
Optimising nfv service chains on open stack using docker
PPTX
Optimising nfv service chains on open stack using docker
PPTX
Optimising nfv service chains on open stack using docker
PPTX
SDN and NFV: Friends or Enemies
PDF
10 sdn-vir-6up
PPTX
SDN: Network Agility in the Cloud
PDF
Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.
PPTX
Odl virtualization-20140520
Understanding network and service virtualization
Network and Service Virtualization tutorial at ONUG Spring 2015
CloudKC: Evolution of Network Virtualization
Cloud, SDN, NFV
[OpenStack Day in Korea 2015] Track 3-6 - Archiectural Overview of the Open S...
Midokura OpenStack Meetup Taipei
From Nova-Network to Neutron and Beyond: A Look at OpenStack Networking
SDN and NFV Friends or Enemies ?
Know about SDN and NFV
Midokura @ OpenStack Seattle
Summit 16: ARM Mini-Summit - NXP QorIQ NFV Solutions - NXP Semiconductors
What's the deal with Neutron?
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using docker
SDN and NFV: Friends or Enemies
10 sdn-vir-6up
SDN: Network Agility in the Cloud
Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.
Odl virtualization-20140520

More from Thomas Graf (8)

PDF
eBPF - Rethinking the Linux Kernel
PDF
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
PDF
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
PDF
Accelerating Envoy and Istio with Cilium and the Linux Kernel
PDF
Cilium - API-aware Networking and Security for Containers based on BPF
PDF
Cilium - Network security for microservices
PDF
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
PDF
Linux Native, HTTP Aware Network Security
eBPF - Rethinking the Linux Kernel
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Cilium - API-aware Networking and Security for Containers based on BPF
Cilium - Network security for microservices
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
Linux Native, HTTP Aware Network Security

Recently uploaded (20)

PDF
Sun and Bloombase Spitfire StoreSafe End-to-end Storage Security Solution
PPTX
Foundations of Marketo Engage: Nurturing
PPTX
ROI Analysis for Newspaper Industry with Odoo ERP
DOCX
Industrial Bio-Lynx: Advanced Biometric Solution for Workforce Management
PPTX
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
PDF
Top 10 Project Management Software for Small Teams in 2025.pdf
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPTX
ERP Manufacturing Modules & Consulting Solutions : Contetra Pvt Ltd
PDF
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
PDF
Mobile App Backend Development with WordPress REST API: The Complete eBook
PPTX
Folder Lock 10.1.9 Crack With Serial Key
PPTX
Chapter 1 - Transaction Processing and Mgt.pptx
PPTX
Human-Computer Interaction for Lecture 2
PPTX
Human-Computer Interaction for Lecture 1
PDF
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
PDF
CapCut PRO for PC Crack New Download (Fully Activated 2025)
PPTX
Odoo ERP for Injection Molding Industry – Optimize Production & Reduce Scrap
PDF
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
PDF
MAGIX Sound Forge Pro CrackSerial Key Keygen
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
Sun and Bloombase Spitfire StoreSafe End-to-end Storage Security Solution
Foundations of Marketo Engage: Nurturing
ROI Analysis for Newspaper Industry with Odoo ERP
Industrial Bio-Lynx: Advanced Biometric Solution for Workforce Management
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
Top 10 Project Management Software for Small Teams in 2025.pdf
What Makes a Great Data Visualization Consulting Service.pdf
ERP Manufacturing Modules & Consulting Solutions : Contetra Pvt Ltd
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
Mobile App Backend Development with WordPress REST API: The Complete eBook
Folder Lock 10.1.9 Crack With Serial Key
Chapter 1 - Transaction Processing and Mgt.pptx
Human-Computer Interaction for Lecture 2
Human-Computer Interaction for Lecture 1
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
CapCut PRO for PC Crack New Download (Fully Activated 2025)
Odoo ERP for Injection Molding Industry – Optimize Production & Reduce Scrap
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
MAGIX Sound Forge Pro CrackSerial Key Keygen
ROI from Efficient Content & Campaign Management in the Digital Media Industry

SDN & NFV Introduction - Open Source Data Center Networking

  • 1. SDN & NFV Introduction Open Source Data Center Networking Thomas Graf <[email protected]> Red Hat, Inc. Spring, 2014
  • 2. Agenda ● Problem Statement – Networking Challenges ● Path to resolution – Software Defined Networking, Network Virtualization, NFV & Service Chaining ● What about Code? – OpenDaylight, Open vSwitch, OpenStack ● Look Ahead – Group Based Policy Abstraction
  • 4. She can't take much more of this, captain!
  • 5. Managing Forwarding Elements ● Vendor specific management tools ● Little automation ● Slow and error prone Developer NetOps Service Ticket 1d – 2 weeks CLI Vendor UI
  • 6. Change in Traffic Patterns ● Increased demand for bisectional traffic ● Limited room for additional costs 5% 95% 80% by 2014* 20% * Gartner Synergy Report
  • 7. Dynamic Workloads ● Virtualization (Live Migration)& Cloud ● Respond in real time – Services are started/stopped dynamically, network needs to adapt. ● Bring Your Own Device Hypervisor Hypervisor VMVM Live Migration
  • 10. Network Definition ● Collection of endpoints and forwarding elements ● Responsible for moving packets between hosts ● Source hosts identify destination ● Forwarding elements direct traffic at each intersection
  • 11. Classic Forwarding Device Data / Forwarding Plane Fabric, Flow Table, Forwarding Engine Data / Forwarding Plane Fabric, Flow Table, Forwarding Engine Control Plane Forwarding Decision (Learning, RIB Lookup), Routing Protocols (OSPF, BGP, ...) Control Plane Forwarding Decision (Learning, RIB Lookup), Routing Protocols (OSPF, BGP, ...) Management interface CLI, Console, SNMP, ... Management interface CLI, Console, SNMP, ...
  • 12. Path to Resolution: Software Defined Networking
  • 13. Software Defined Networking In the Software Defined Networking architecture, the control and data planes are decoupled, network intelligence and state are logically centralized, and the underlying network infrastructure is abstracted from the applications. Software-Defined Networking: The New Norm for Networks ONF White Paper April 13, 2012
  • 14. SDN – Abstraction Controller App App AppSNMPVendor Specific Protocol Control Plane Data Plane A logically centralized controller programs the network based on a global view. Control Plane Data Plane Control Plane Data Plane Console Control Plane Data Plane Data Plane Data Plane Data Plane Data Plane
  • 15. “We've taken over the network” James Hamilton VP, Amazon Web Services Nov, 2013
  • 16. What Really Matters ● Closed Source ● Network Engineer ● Vendor Lead ● CLIs ● Network Appliances ● Open Source ● Network Developer ● Community Driven ● APIs ● NFV (Software)
  • 18. SDN Promises ● Highly automated & dynamically provisioned ● Enables innovation, experimentation & optimizations ● Virtualizes network & abstracts the hardware ● Makes the network programmable ● Enables overlays with control at edges
  • 19. OpenFlow Match on bits in packet header L2- L4 plus meta data Execute actions ● Forward to port ● Drop ● Send to controller ● Mangle packet 2.2. An Open Standard behind SDN OpenFlow enables networks to evolve, by giving a remote controller the power to modify the behavior of network devices, through a well-defined "forwarding instruction set". The growing OpenFlow ecosystem now includes routers, switches, virtual switches, and access points from a range of vendors. ONF Website 11..
  • 20. Programmable Flow Table ● Extensive flow matching capabilities: – Layer 1 – Tunnel ID, In Port, QoS priority, skb mark – Layer 2 – MAC address, VLAN ID, Ethernet type – Layer 3 – IPv4/IPv6 fields, ARP – Layer 4 – TCP/UDP, ICMP, ND ● One or more actions: – Output to port (port range, flood, mirror) – Discard, Resubmit to table x – Packet Mangling (Push/Pop VLAN header, TOS, ...) – Send to controller, Learn
  • 21. Is it production ready? Google claims 95% network utilization!
  • 22. Path to Resolution: Network Virtualization
  • 23. Network Virtualization What do we need? 1. Virtualize network topology on Layer 2-7 - Run previous workload without changes 2. Decouple logical from physical topology - A virtual network should run anywhere 3. Allow for isolated tentant networks - Multiple customers/applications per network 4. Provide APIs to manage network abstraction - Orchestrate & automate
  • 24. Naive VLAN Mapping Switch Compute Node vSwitch VM1 Compute Node VM2 VM3 vSwitch VLAN 2 Switch Switch Switch VM1 Compute Node VM2 VM3 vSwitch VLAN 3 VM1 VM2 VM3 VLAN 1 Max 4096 VLANs
  • 25. VLAN Trunking Compute Node VM1 vSwitch Compute Node vSwitch Compute Node vSwitch VM1VM1 VM2VM2VM2 VM3VM3VM3 Switch Switch Switch Switch Max 4096 VLANs
  • 26. Network Overlay Compute Node VM1 vSwitch Compute Node vSwitch Compute Node vSwitch VM1VM1 VM2VM2VM2 VM3VM3VM3 Switch Switch Switch Switch
  • 27. Encapsulation Stateless VXLAN, NVGRE, Geneve, GUE, LISP, STT, .. Stateful VPN, L2TP, SSH, ...
  • 30. NFV & Service Chaining
  • 31. NFV Problem Statement ● Non commodity hardware ● Physical install per appliance per site ● Large development barriers ● Innovation constraints & limited competition
  • 32. NFV What do we want? 1. Virtualization – Run functions on scaleable commodity hardware 2. Abstraction – Limited dependency on physical layer 3. Programmability – APIs to implement automation 4. Orchestration – Centralized orchestration – Reduced maintenance
  • 33. NFV
  • 34. Who is behind NFV? ● Originally operator driven – ETSI – European Telecommunications Standards Institute ● Evolved into a generic concept ● Open to any company
  • 35. Service Chaining Moving network functions into software means that building a service chain no longer requires acquiring hardware.
  • 36. Build your own Open Source Data Center
  • 37. OpenDaylight’s mission is to facilitate a community-led, industry-supported open source platform, including code and architecture, to accelerate adoption of Software-Defined Networking and Network Functions Virtualization.
  • 40. Controller (Open Daylight) Controller (Open Daylight) OpenFlow / OVSDBOpenFlow / OVSDB VM VM Open vSwitch is a virtual multi layer switch for hypervisors providing network connectivity to virtual machines. VM VM SwitchSwitch SwitchSwitch
  • 41. Open vSwitch ● Apache License (User Space), GPL (Kernel) ● Extensive flow table programming capabilities ● OpenFlow 1.1+ (1.1, 1.2, 1.3, extensions) ● Designed to manage overlay networks ● VLAN, VXLAN, GRE, LISP, ... ● Remote management protocol (OVSDB) ● Monitoring capabilities
  • 42. L2 Segregation (VLAN) VM1 Host system VM2 VM3 Open vSwitch VLAN 1 VLAN 2 VLAN isolation enforces VLAN membership of a VM without the knowledge of the guest itself. vSwitchvSwitch Virtual Machine Remove VLAN header Add VLAN header # ovs-vsctl add-port ovsbr port2 tag=10
  • 43. Overlay Networks VM1 Compute Node 1 VM2 VM3 Open vSwitch VM4 Compute Node 2 VM5 VM6 Open vSwitch ControllerController O pen Flow O VSD B O pen Flow O VSDBTunnel VNET 1 VNET 1VNET 2 VNET 2 Tunneling provides isolation and reduces dependencies on the physical network. NetworkNetwork
  • 44. Visibility ● ● NetFlow ● Port Mirroring ● SPAN ● RSPAN ● ERSPAN Supports industry standard technology to monitor the use of a network.
  • 45. Feature Quality of Service ● Uses existing Traffic Control Layer ● Policer (Ingress rate limiter) ● HTB, HFSC (Egress traffic classes) ● Controller (Open Flow) can select Traffic Class VM1 Compute Node VM2 ovsbr VLAN 10 port1 port2 1mbit # ovs-vsctl set Interface port2 ingress_policing_rate=1000
  • 46. To produce the ubiquitous open source cloud computing platform that will meet the needs of public and private cloud providers regardless of size, by being simple to implement and massively scalable.
  • 48. Overlay Networks with OpenStack Neutron and Open vSwitch A1 Compute Node 1 br-int B1 br-tun A2 Compute Node 2 br-int B2 br-tun A3 Compute Node C3 br-tun B3 br-int Compute Node 3 br-tun B3 br-int Network Node DHCP br-tun L3 br-ex VXLAN VXLAN br-int C3 VID 11 ↔ VNI 1 VID 49 ↔ VNI 13
  • 51. Network APIs are there. Now what? Applications do not care about subnets, ports, or virtual networks.
  • 52. Application Centric APIs Allow application administrators to express networking requirements using group and policy abstraction. Leave the technical implementation to the network.
  • 53. Terminology Connectivity Group: Collection of endpoints (MAC/IP on vNIC) with a common policy. Policy: Set of Policy Rule objects describing policy. Policies may be applied between groups, or alternatively, applied to a single group using provide / consume relations. Policy Rule: Specific <classifier, action> pair, part of a policy. – Classifier: L4 ports + protocol – Actions: Permit / Deny, QoS action, service chain redirection
  • 54. Policy as a Service ● Group is providing service as defined by policy ● Service mostly unaware of consumer
  • 55. Policy between Groups ● Policy defined between pair of groups ● Policy may apply to multiple relationships ● Producer is aware of consumer
  • 58. References Opendaylight – http://www.opendaylight.org/ Open vSwitch – http://www.openvswitch.org/ OpenFlow – http://www.openflow.org/ Open Networking Foundation – http://www.opennetworking.org/ Inter-Datacenter WAN with centralized TE using SDN and OpenFlow [Google] – http://bit.ly/18zgPE3 Red Hat OpenStack – http://www.redhat.com/openstack/ OpenStack – http://www.openstack.org/
  • 61. Flow Table VM User space Slow Path Physical Interface Kernel Fast Path Controller programs flow table in the slow path that feeds the flow table in the fast path upon request. tap VM VM VM tap tap tap Open vSwitch OpenFlow
  • 62. Architecture ovsdbvswitchd Datapath OpenFlow Kernel User space Management ovs-vsctl Flow Table ovs-dpctl upcall Netlink sFlow To DeviceFrom Device Promiscuous Mode reinject 1 2 (3) 4 5 6 7 Packet Processing Management Workflow ovsdb-tool ovs-ofctl
  • 63. Flow Table Rules ● Flow matching capabilities ● Meta – Tunnel ID, In Port, QoS priority, skb mark ● Layer 2 – MAC address, VLAN ID, Ethernet type ● Layer 3 – IPv4/IPv6 fields, ARP ● Layer 4 – TCP/UDP, ICMP, ND ● Possible chain of actions ● Output to port (port range, flood, mirror) ● Discard, Resubmit to table x ● Packet Mangling (Push/Pop VLAN header, TTL,NAT, ...) ● Send to controller, Learn
  • 64. Modifying the Flow Table # ovs-ofctl add-flow ovsbr dl_src=11:22:33:44:55:66,actions=strip_vlan,output:1 # ovs-ofctl dump-flows ovsbr [...] cookie=0x0, duration=36.24s, table=0, n_packets=0, n_bytes=0, idle_age=36, dl_src=11:22:33:44:55:66 actions=strip_vlan,output:1 Strip VLAN header of all packets from MAC address 11:22:33:44:55:66 and forward packet to port 1.
  • 65. Megaflows ● Fast path made capable of handling wildcard flows ● Transparent optimization in_port=3 src_mac=02:80:37:ec:02:00, dst_mac=0a:e0:5a:43:b6:a1, vlan=10, eth_type=0x0800 ip_src=10.10.1.1, ip_dst=10.10.1.2, tcp_src=80, tcp_dst=32990, ... in_port=3, src_mac=02:80:37:ec:02:00, dst_mac=0a:e0:5a:43:b6:a1, vlan=10
  • 66. Multi Threading CPU Core 1 NIC CPU Core 2 CPU Core 3 ovs-vswitchd CPU Core 1 NIC CPU Core 2 CPU Core 3 OVS OVS OVS ● Multiqueue NICs spread load across all cores ● Maps kernel NIC Queue => CPU core mapping to user space ● Allows slow path to scale across cores
  • 68. Defining a Switch & Ports # service openvswitch start # ovs-vsctl add-br ovsbr # ovs-vsctl add-port ovsbr port1 Creating a new virtual switch “ovsbr” with port “vm1” # ovs-vsctl show 7c68e54f-1618-41f4-bd16- 2fd781488266 Bridge ovsbr Port ovsbr Interface ovsbr type: internal Port "port1" Interface "port1" ovs_version: "1.7.3" VM1 Compute Node ovsbr port1
  • 69. Using Red Hat ifcfg- TYPE=OVSBridge DEVICE=ovsbr ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-ovsbr TYPE=OVSIntPort OVS_BRIDGE=ovsbr DEVICE=port1 ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-port1 # ifup port1 VM1 Compute Node ovsbr port1
  • 70. <interface type='bridge'> <source bridge='ovsbr'/> <virtualport type='openvswitch' /> </interface> ... with libvirt TYPE=OVSBridge DEVICE=ovsbr ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-ovsbr virsh# edit <domain> Start VM and it just works! VM1 Compute Node ovsbr UUID
  • 71. VLAN Isolation # ovs-vsctl add-port ovsbr port2 tag=10 VM1 Compute Node VM2 ovsbr VLAN 10 port1 port2
  • 72. Traffic Shaping # ovs-vsctl set Interface port2 ingress_policing_rate=1000 Limit all traffic received from VM on port port2 to 1Mbit/s VM1 Virtual Host VM2 ovsbr VLAN 10 port1 port2 1mbit