Cisco SDN Overview Flashcards
3 Planes of Interest
Data Plane
Control Plane
Management Plane
Data Plane Actions
Tasks done to forward a message
Control Plane Actions
Any action that controls the data plane
Management Plane Actions
Protocols that allow network engineers to manage the devices
Traditional Switch Data Plane
Use a purpose-built ASIC for the forwarding logic, and TCAM to store the required tables for fast table lookups.
SBI
Southbound Interface
NBI
Northbound Interface
API
Application Programming Interface
[Interface to an application program]
3 Separate SBIs
- OpenFlow
- OpFlex (Cisco; used with ACI)
- CLI (Telnet / SSH) and SNMP (from Cisco; used with APIC-EM)
Function of Java API
Interface between Java applications and controller
Describes a type of API that allows applications to sit on different hosts
REST API
Representational State Transfer
How does REST transfer data?
REST uses HTTP messages to transfer data over the API.
Why are REST APIs needed?
When the application runs on a different system somewhere else in the network other than running on the controller, the API needs a way to send the data back and forth over an IP network.
RESTful APIs meet that need.
What identifies an object on the controller, typically a structure that the application needs to learn and then process?
URI
Step 1 in a RESTful App / Controller Transaction
- App sends an HTTP GET request to a particular URI.
When an app sends an HTTP GET request to a particular URI via a REST API, what is the URI for?
Not a web page URI, but a URI for an object on the controller, typically a data structure that the application needs to learn and process.
Step 2 in a RESTful App / Controller Transaction
- Controller sends back an HTTP GET response message with the object.
What do most REST APIs ask for and receive?
Structured Data
What does the HTTP GET response typically contain?
Variable names and their values, in a format that can be easily used by a program.
Common Formats for Data Used for Network Programmability
JSON (JavaScript Object Notation)
XML (eXtensible Markup Language)
Step 3 in a RESTful App / Controller Transaction
- Application takes HTTP GET response structured data and populates local variables.
3 Cisco SDN / Network Programmability Solutions
- Open SDN Controller & OpenFlow (as SBI)
- Cisco Application Centric Infrastructure (ACI) and OpFlex (as SBI)
- Cisco APIC Enterprise Module (APIC-EM)
What two primary things does OpenFlow define?
- An IP-based protocol used between the controller and the network devices.
- A standard idea of what a switch’s capabilities are, based on the ASICs and TCAMs commonly used in switches today.
A standard idea of what a switch’s capabilities are, based on the ASICs and TCAMs commonly used in switches today.
Switch Abstraction
SDN model which centralizes most control plane functions
Open SDN Model
Functions of an OpenFlow Switch
Layer 2 Switch Functions
Layer 3 Switch Functions
Different functions with great flexibility beyond the traditional model of a Layer 2/3 switch.
Control of the Network in the Open SDN Model
Done by the controller PLUS any applications that use the controller’s NBIs.
Open source controller from the Linux Foundation
Open Daylight (ODL) Controller
In a generalized ODL architecture, what NBI is used by an external application to talk to the ODL controller?
REST API
Internal controller applications in an ODL controllers use what API to talk to core features?
Java API
Internal controller applications in an ODL controllers are programming in what language?
Java
Southbound Interfaces (SBIs) in a generalized ODL architecture
OpenFlow NetConf PCEP BGP-LS OVSDB Etc.
Typical instantiation of a generalized ODL architecture
Take the ODL controller, use the parts that make sense for a particular project, add to it, and create a commercial ODL controller.
Number of commercial SDN controllers based on ODL as of early 2016
15 (including the Cisco Open SDN Controller (OSC))
Which controller has the longer list of features - the ODL controller or the ODL-based Cisco Open SDN Controller (OSC)?
ODL Controller
How does Cisco support OpenFlow and ONF model of OpenFlow?
Through the Cisco Open SDN Controller (OSC) and a small portion of the Cisco router and switch product line.
Cisco products which support OpenFlow via OSC
Nexus 3000, 4500x switches
ASR 9000 routers
Is Cisco migrating its entire product line to support OpenFlow?
No
Cisco’s data center SDN solution
Cisco Application Centric Infrastructure (ACI)
Endpoints in the ACI architecture
VMs and traditional servers