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
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
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
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
3 Cisco SDN / Network Programmability Solutions
What two primary things does OpenFlow define?
A standard idea of what a switch’s capabilities are, based on the ASICs and TCAMs commonly used in switches today.
Switch Abstraction