What is Network
Programming?
Software Defined Networking Webinar Series
Speakers: Serges Nanfack
Hostess: Kara Sullivan
19 October 2016
Use the Q and A panel to ask
questions.
Use the Chat panel to
Welcome to the 1st communicate with attendees
and panelists.
session of the
Software Defined A link to a recording of the
session will be sent to all
Networking webinar registered attendees.
series! Please take the feedback
survey at the end of the
webinar.
2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2
NEXT SESSION:
Intro to SDN
29 November, 2016 7:00 A.M. PST
Register at: bit.ly/SDNSeries
2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 3
Network Programming
Serges Nanfack
Technical Manager Africa Corporate Affairs
[email protected]
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 4
1. Todays network
2. What is network programming?
3. Why do we need Programmable networks?
4. Technologies that enable programmable networks
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 5
Todays Network
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 6
Point-of-Sale Taxi Hotel
Bookstore
2014 Cisco and/or its affiliates. All rights reserved.
Print Advertising Car MusicCisco Confidential 7
Digitization Is Changing The World
Bookstore Taxi Music
Print
Hotel Car Point-of-Sale
Advertising
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 8
Digitization Is Changing The World
Bookstore Taxi Music
Print
Hotel Car Point-of-Sale
Advertising
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 9
Social Mobile Data Cloud
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 10
Todays IT Model - Complex, Not Fast Enough
Path
Security QoS
Optimization
2014 Cisco and/or its affiliates. All rights reserved.
11 Cisco Confidential 11
Dumb store-and-forward network
Smart end hosts implement key functions
Simple routers store and forward packets
Limited network processing (e.g., routing, forwarding, buffering, and packet scheduling)
Packet header used in a simple way
Common, standardized format
Causes one of a small set of operations to occur
Packet forwarded or dropped based on those rules
Network (largely) ignores higher-layer headers
Enable experimentation and innovation inside the networks?
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 12
Evolution of the Server Configuration
1990s Today
+
or
Cisco Confidential 13
2014 Cisco and/or its affiliates. All rights reserved.
3
What is Network Programming?
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 14
Network Virtualization
Traditional Virtualized
Cisco Confidential 15
2014 Cisco and/or its affiliates. All rights reserved.
3
A network device contains the following
planes:
Control plane - This is typically regarded
as the brains of a device.
Used to make forwarding decisions.
Contains Layer 2 and Layer 3 route
forwarding mechanisms, such as:
Routing protocol neighbor tables and
topology tables
IPv4 and IPv6 routing tables
STP
ARP table Cisco Express Forwarding (CEF) is an
advanced, Layer 3 IP switching
Data plane (forwarding plane) Typically technology that enables forwarding
the switch fabric connecting the various of packets to occur at the data plane
network ports on a device. without consulting the control plane.
The data plane of each device is used to
forward traffic flows.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 16
Packet == data + code
Smart hosts, as before
Active nodes that can execute code on the data
Active packets that carry code to active nodes
Postscript analogy
Contains both your data, and the program the printer runs to print your data
Active networks
allow an individual user, or groups of users, to inject customized programs into the nodes of the
network.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 17
What is programmable
Who can program
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 18
Why Programmable Network?
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 19
High-level goal
Leverage computation in the network
User pull
Automatically adaptive streaming
Data aggregation to reduce data volumes
Computation closer to users to reduce latency
Industry push
Ad-hoc collection of middleboxes emerging
Replace with generic, multi-purpose active nodes
Otherwise, proliferation of active components will happen anyway, without any common framework
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 20
Big mismatch in rates of innovation
Applications change quickly (e.g., Web, P2P, IM)
The network changes slowly
Deploying new network technology is hard
Delay for standardization (at the IETF)
Additional delays for vendors to implement and service providers to deploy the new technology
Better to decouple services from hardware
Minimize the amount of global agreement
Load new services on demand
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 21
What Enables Network
Programming?
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 22
Component-based software engineering
Building blocks for composing software
Code mobility (e.g,. Java)
Previously between end hosts, not network nodes
Innovation in safe and efficient code mobility
Field-programmable gate arrays (FPGAs)
Enabling higher speed of packet processing
Research in programming languages
And PL folks interest in networking
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 23
Active networks are active in two ways
Switches run code on data flowing through them
Individuals can inject programs into the network
Programmable switches: discrete ANs
Separation of program loading and execution
E.g. program loading only by network operator
Packet is demultiplexed to the right program
Capsules: integrated ANs
Every packet is a program, and carries its code
Perhaps in a restricted programming language
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 24
Execution environment
Virtual machine with access to node resources
General, Turing-complete vs. restricted models
Active applications
Provide an end-to-end, customized service
Load code on to the routers to program the VM
Node operating system
Support multiple execution environments at once
Provide safety between execution environments
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 25
Join the Next Session : Software Defined Networking
SDN architecture
Network Type of SDNs
Programmability
concepts
Open flow Protocol
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 26
Q&A
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 27
Interested in Joining Cisco Networking Academy?
Go to netacad.com
Scroll Down to
Get Started
Click Find an Academy
Need Help?
[email protected]
2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 28
Thank you.