Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
SDN: A Brief Anatomy and History
JasonGintert|Co-Founder/CTO,WANDynamics
What is SDN?
DEFINITION: Software-defined networking (SDN) is an approach to compu te r ne two rk ing t ha t a l l ows ne two rk administrators to programmatically initialize, control, change, and manage network behavior dynamically via open interfaces and abstraction of lower-level functionality. Source: Wikipedia
What is SDN?
Key: The Controller
Why SDN?
Agility: Networks becoming larger, more complex and difficult to manage. Need to deploy new/update services and features more rapidly.
Image: SDN Essentials
Why SDN?
Business Intent: Details of network operations can and should be abstracted (VLANs, ACLs, QoS, etc) allowing for greater speed to
deployment and change.
“I want new server(s)/app(s) here, I don’t care how that happens.”
Image: SDN Essentials
Why SDN?
Interoperability: Configuration and network policy controllers using open standards abstract platform specifics to create a vendor neutral environment.
Why SDN?
Mgmt/Monitoring: Need real-time control and visibility with streaming telemetry. CLI/SNMP not up to task of maintaining modern networks!
Vs.
Why SDN?
CIOs: Rest of compute and storage infrastructure leveraging orchestration and automation for agility, network should as well.
Old Hat!
SDN is the “New Hotness” … but NOT New
• Roots in “Active Networking”/GeoPlex - Late ‘90s • Control/Data Plane Split - Early ’00s • Clean Slate/Ethane/OpenFlow - Mid ’00s • NOX/POX/ONIX/Beacon/Floodlight – Late ‘00s • ODL/ONOS/P4… Ok, those are pretty new J
SDN Milestones
Back to the Controller
SDN Controller Timeline
Northbound API: REST
• Create• Read• Update• Delete
curl-XGEThCp://sdn-controller.org:8181/api/devicescontroller=sdk.Controller('sdn-controller.org',8181)response=controller.get_devices()routers_started=[device.start()fordeviceinresponse.get_payload()ifdevice.type=='Router']
Southbound APIs: OpenFlow Protocol
Images: ONF
TCP/6653
Southbound APIs: Open vSwitch (OVS)/ Open vSwitch Database (OVSDB)
Southbound APIs: NETCONF/YANG
Notable Production SDN Networks
• AmazonAWS• VPC–2009-Cloud• ELB–2010-Cloud
• Google• B4–2011-WANInterconnectE/W• Jupiter–2012–Datacenter• Andromeda–2014–Cloud• Espresso–2017– Peering
• Microsod• SONiC–2016-Cloud
Commercial SDN Controller Options
• VMware NSX Controller (Proprietary/ONIX based) • Cisco Application Policy Infrastructure Controller
aka APIC (ODL based) • Dell Active Fabric Controller (ODL based) • Juniper Contrail (Proprietary) • Big Switch Big Cloud Fabric Controller (FL based) • Brocade SDN Controller (ODL based) • Nuage Networks Virtualized Services Controller
(ODL based)
More Commercial SDN Controller Options
• ADVA SDN Controller (ODL based) • Avaya Fabric Orchestrator (ODL based) • Ciena Blue Planet Controller (ODL based) • Coriant Transcend Controller (ODL based) • Extreme OneController (ODL based) • Ericsson Cloud SDN (ODL based) • Fujitsu Virtuora Network Controller (ODL based) • NEC ProgrammableFlow PF6800 Controller (RYU
based) • Oracle SDN Controller (ODL based)
Open Source SDN Controller Options
• Open Daylight (ODL) • Open Network Operating System (ONOS) • Open Contrail • Floodlight • RYU • FlowVisor • Project Calico • Beacon - Inactive • NOX/POX - Inactive
Do I really need to know this?
“By2020,only30%ofnetworkoperahonsteamswillusethecommandlineinterface(CLI)astheirprimaryinterface,downfrom85%atYE16.”–AndrewLerner,Gartner11/2016
Where do I start?
SDNControllers• Checkwithyourvendor(s)!• OpenSourceControllers-Big3
• OpenDaylight(ODL)• hCps://www.opendaylight.org/
• OpenNetworkOperahngSystem(ONOS)• hCp://onosproject.org/
• RYU• hCps://osrg.github.io/ryu/
Where do I start?
vSwitchesthatworkw/controllers
• OpenvSwitch(OVS)• hCp://openvswitch.org/
• Mininet• hCp://mininet.org/
• CumulusVX• hCps://cumulusnetworks.com/products/
cumulus-vx/
Where do I start?
BasicSkillsforAutoma<on/Orchestra<on/SDN
• “PythonforNetworkEngineers”• hCps://pynet.twb-tech.com/
• NetworktoCodeSlackChannel• hCp://networktocode.com/community/
• SDNHub• hCp://sdnhub.org/
Where do I start?
Hot/NotableAutoma<onTools
• NAPALM• hCps://napalm-automahon.net/
• Ansible• hCps://www.ansible.com/
• NetMiko• hCps://github.com/ktbyers/netmiko
• StackStorm• hCps://stackstorm.com/
Thank you for joining us! Learn more at:
w w w . o h n u g . o r g