Base OpenFlow Controller Appliance

ViSION
Status Update
Dan Savu
Stefan Stancu
D. Savu - CERN openlab
1
Overview
• Introduction
• Update on Software Defined Networking
• ViSION Software Stack
– HP SDN Controller
– ViSION Core Framework
– Load Balancer Module
– The Health Monitor Module
• The Regressive Testing Application
D. Savu - CERN openlab
2
The ViSION Project
• CERN openlab - HP Networking collaboration
– Traffic orchestration
– Software Define Networking approach
• Based on OpenFlow
– Started in February 2012
– 2 engineers, 3 years
CERN IT/CS recognized the need to scale CERN’s
perimeter firewall capacity to cope with the increase
of internet traffic.
D. Savu - CERN openlab
3
SDN: Centralized controller implementation
App
App
App
Network Operating System
Open interface to hardware (e.g. OpenFlow)
• Anybody can innovate
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
D. Savu - CERN openlab
Simple Packet
Forwarding
Hardware
4
OpenFlow/SDN update
• Still a very dynamic area
• ONF is active in refining existing versions and defining new ones:
1.0.0
•12/2009
1.1.0
•2/2011
1.2
•12/2011
1.3.0
•07/2012
1.3.1
•09/2012
1.3.2
•04/2013
1.4.0
(TB ratified)
•08/2013
• Controllers:
– Open source: Beacon, Floodlight, NOX & POX, Trema, Ryu, Open
Daylight, Open Contrail
– Commercial: Big Network Controller (Big Switch), Programmable Flow
(NEC), Contrail
• Cloud orchestration integration: Neutron/Quantum
– Core part of the OpenStack platform, enabling network as a Service
– Modular plugin design allows interfacing to SDN controller platforms
D. Savu - CERN openlab
5
OpenFlow – new controllers
•
POX
– Python only version of NOX (initial OpenFlow controller)
– Targeted largely at research and education. Suited for rapid prototyping
•
Open Daylight (04/2013)
– Linux Foundation project – open source
– Joint industry effort. Virtually all the big players are contributing members
•
Juniper launches SDN controller (09/2013)
– Based on Contrail Systems acquisition from 12/2012
– Open source (OpenContrail) and commercial (Contrail code + service and support)
– Virtualization controller (network overlays)
•
HP Virtual Application Network SDN Controller
–
–
–
–
October 21st product release (codename Flare)
OpenFlow 1.3 support
High Availability
Infrastructure controller (physical OF network fabric)
D. Savu - CERN openlab
6
Overview
• Introduction
• Update on Software Defined Networking
• ViSION Software Stack
– HP SDN Controller
– ViSION Core Framework
– Load Balancer Module
– The Health Monitor Module
• The Regressive Testing Application
D. Savu - CERN openlab
7
ViSION - HP SDN Framework
D. Savu - CERN openlab
8
ViSION Openflow Fabric
•
OpenFlow fabrics desired functionality:
–
–
–
–
•
(1) Classification
(2) Load Balancing
(3) Mirroring
(4) Fault tolerance
External Net
OpenFlow Fabric
Potential limitations (early days for OF)
– No mirroring support in early OF versions
– Classification based on port ranges scales poorly
– Uniform load distribution not straight forward
•
•
Trusted
Bypass
Can’t hash on high entropy bits (e.g. lower IP bits)
– Adaptive load distribution is complex
•
Stateful
Firewalls
Requires API for synchronizing the FW’s state
OpenFlow Fabric
Investigating migration to OF 1.3 with HP to
address some of these limitations
Internal Net
D. Savu - CERN openlab
9
ViSION Software Stack
ViSION UI
Health Monitor
ViSION
Balancer
External Net
API
OpenFlow Fabric
ViSION Core Framework
Stateful
Firewalls
Trusted
Bypass
hp apps
HP SDN Controller
OpenFlow Fabric
OF Fabric
Internal Net
Software Stack
D. Savu - CERN openlab
10
HP SDN Controller Overview
Partner
3rd party Apps
...
Hadoop
Customer
Applications
Cloud App
Connectors
Federation
MS-Lync
Sentinel
Base OpenFlow Controller Appliance
• Virtual Appliance deployed as SW on an
Industry standard x86 server
• OpenFlow 1.3 Controller
• Built-in Network Services
• Appliance Administration
RESTful API
A Distributed Platform for High-Availability &
Scalability
• Controller Clustering for Load-Balancing
and Fail-Over
• Control State Mirroring across cluster for
transparent failure recovery
Clustering
Topology
Security
Backup/Restore
Device Mgmt
Path Calculation
...
...
Alerts
App Mgr
Provisionin
g
Diagnostics
Openflow 1.3 Engine
Standard interfaces and control protocols
Extensible Platform for SDN Application
Developers
• Embedded Java Application Deployment
• REST APIs
• GUI
HP Network Infrastructure
D. Savu - CERN openlab
11
ViSION/ Core Framework
• Traffic orchestration decomposition
Physical
1. Physical layer
2. Translation layer
Translation
3. Logical layer
Logical
• Core module
• Implements the first two layers
• Provides support for redundancy by using multiple links/paths
• Allows the higher logical layer to focus on traffic orchestration only
• Integrated with latest HPN Controller
• Status:
• code development to end this sprint
• final package to be delivered before our visit to HPN (mid October)
D. Savu - CERN openlab
12
Balancer
• Allocates flows to resources based on
– Resource capacity
– Resource availability
– Resource load
User
Interface
• Higher level of abstraction
– Deals with the available resources
and consumers
– The core implements its decision into
the physical OF fabric
Health
monitor
&
Traffic
statistics
Int. Network
Balancer
• Flow allocation
– Static  compromise for stateful
firewalls
– Dynamic
Balancer
Ext. Network
• High availability
– Relocate flows in case a resource
becomes unavailable
D. Savu - CERN openlab
13
ViSION Software Stack
ViSION UI
Health Monitor
ViSION
Balancer
External Net
API
OpenFlow Fabric
ViSION Core Framework
Stateful
Firewalls
Trusted
Bypass
hp apps
HP SDN Controller
OpenFlow Fabric
OF Fabric
Internal Net
Software Stack
D. Savu - CERN openlab
14
ViSION/ Health Monitor Module
-
Real-time resource status information
Flexible module system
Multi-module data aggregation per agent
Custom agent configuration
REST API
Hmon App
Agents
- Current modules:
- SNMP
- Ping
- HTTP Web Request
- LinkProbe via OF packet injection
- Status
- finalized, ready for hp code review
- summer student involvement
D. Savu - CERN openlab
Data
Collection
Module(s)
Active
Probe(s)
Resource(s)
15
ViSION/ Health Monitor Module
E.g.: the link-probe module using OF packet injection
OpenFlow Network
OF
Controller
Fw1
Fw2
Fw3
OpenFlow Network
D. Savu - CERN openlab
16
Overview
• Introduction
• Update on Software Defined Networking
• ViSION Software Stack
– HP SDN Controller
– ViSION Core Framework
– Load Balancer Module
– The Health Monitor Module
• The Regressive Testing Application
D. Savu - CERN openlab
17
ViSION System Level Testing
a. Regressive Testing
b. Mirroring
VM Farm
OF Fabric
OF Fabric
Production
Network Section
VM Farm
D. Savu - CERN openlab
18
ViSION Regressive Testing App
ViSION UI
Health Monitor
ViSION
Balancer
External Net
API
OpenFlow Fabric
ViSION Core Framework
Stateful
Firewalls
Trusted
Bypass
hp apps
HP SDN Controller
OpenFlow Fabric
RegTest
OF Fabric
Internal Net
Software Stack
D. Savu - CERN openlab
19
ViSION Regressive Testing App
Overview:
- adapted mgen used for traffic injection
- agent application to coordinate and monitor a machine’s flows
- manager application to coordinate a pool of agents
Status:
- prototype, not yet finalized
D. Savu - CERN openlab
- summer student involvement
20
ViSION Project Timeline
Feb 2012
May 2012
Sep 2012
Jan 2013
May 2013
Sep 2013
• Kick-off
• Project definition
• Design
• Development
• Development
• Development
• Initial target:
virtual machine
mobility
• Technology review
• Investigation
• Finalized project
scope
• OF based ACL
pusher prototype
• Testbed setup
• Core module
prototype
implementation
• Architecture
review
• New HP controller
API
• Visit to HPN
• In depth design
review
• Flare update
• Service oriented
core module
implementation
Jan 2014
May 2014
• Proof of concept • Prototype
• Load balancer
Sep 2014
• Testing
• Refine User
Interface
• Persistency
support
• High availability
D. Savu - CERN openlab
• Health Monitor
• Regressive testing
tool
Feb 2015
• Productization
21