Professional Documents
Culture Documents
SDN Intro
SDN Intro
Software Defined
Networking (SDN)
SDN=Standard Southbound API
SDN=OpenFlow
SDN = Separation of Control and
Data Planes
Raj Jain
Washington University in Saint Louis
Saint Louis, MO 63130
Jain@cse.wustl.edu
These slides and audio/video recordings of this class lecture are at:
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
http://www.cse.wustl.edu/~jain/cse570-13/
16-1
Overview
1.
2.
3.
4.
What is SDN?
Alternative APIs: XMPP, PCE, ForCES, ALTO
RESTful APIs and OSGi Framework
OpenDaylight SDN Controller Platform and Tools
http://www.cse.wustl.edu/~jain/cse570-13/
16-2
Origins of SDN
Application
Northbound
API
Network Controller
Southbound
API
Switch
OpenFlow
Switch
Switch
Overlay (Tunnels)
http://www.cse.wustl.edu/~jain/cse570-13/
16-3
Application
What is SDN?
SDN=OpenFlow
SDN=Standard
Southbound API
SDN = Centralization
of control plane
SDN = Separation of
Control and
Data Planes
http://www.cse.wustl.edu/~jain/cse570-13/
16-4
http://www.cse.wustl.edu/~jain/cse570-13/
16-5
http://www.cse.wustl.edu/~jain/cse570-13/
16-6
http://www.cse.wustl.edu/~jain/cse570-13/
16-7
Ref: http://www.networkworld.com/news/2013/110813-onug-sdn-275784.html
Ref: Open Data Center Alliance Usage Model: Software Defined Networking Rev 1.0,
http://www.opendatacenteralliance.org/docs/Software_Defined_Networking_Master_Usage_Model_Rev1.0.pdf
Washington University in St. Louis
http://www.cse.wustl.edu/~jain/cse570-13/
16-8
SDN Definition
SDN is a framework to allow network administrators
to automatically and dynamically manage and control
a large number of network devices, services,
topology, traffic paths, and packet handling (quality of
service) policies using high-level languages and APIs.
Management includes provisioning, operating,
monitoring, optimizing, and managing FCAPS (faults,
configuration, accounting, performance, and security)
in a multi-tenant environment.
Key: Dynamic Quick
Legacy approaches such as CLI were not quick
particularly for large networks
http://www.cse.wustl.edu/~jain/cse570-13/
16-9
Ref: T. Nadeau and K. Gray, SDN, OReilly, 2013, 384 pp, ISBN:978-1-449-34230-2 (Safari Book)
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-10
XMPP
Server
Client
Client
Client
Ref: P. Saint-Andre, et al., XMPP: The Definitive Guide, OReilly, 2009, 320 pp., ISBN:9780596521264 (Safari Book)
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
2013 Raj Jain
16-11
XMPP (Cont)
Ref: http://en.wikipedia.org/wiki/XMPP
Washington University in St. Louis
http://www.cse.wustl.edu/~jain/cse570-13/
16-12
User
Controller
pM
XMPP
Server
VM
vSwitch
Hypervisor
pSwitch
Ref: https://github.com/ArchipelProject/Archipel/wiki/Architecture-%26-Concepts
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-13
Path Computation
Client (PCC)
Washington University in St. Louis
Path Computation
Element (PCE)
Traffic Engineering
Database
http://www.cse.wustl.edu/~jain/cse570-13/
16-14
PCE (Cont)
Ref: http://datatracker.ietf.org/wg/pce/
Ref: http://en.wikipedia.org/wiki/Path_computation_element
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-15
Control
Element (CE)
Forwarding
Element (FE)
Forwarding
Element (FE)
FE Manager
http://www.cse.wustl.edu/~jain/cse570-13/
16-16
ForCES (Cont)
Idea of control and data plane separation was used in BSD 4.4
routing sockets in early 1990s. It allowed routing tables to be
controlled by a simple command line or by a route daemon.
ForCES protocol supports exchange of:
Port type, link speed, IP address
IPv4/IPv6 unicast/multicast forwarding
QoS including metering, policing, shaping, and queueing
Packet classification
High-touch functions, e.g., Network Address Translation
(NAT), Application-level Gateways (ALG)
Encryptions to be applied to packets
Measurement and reporting of per-flow traffic information
Ref: http://datatracker.ietf.org/doc/rfc3654/?include_text=1
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-17
CE Manager
Security exchange
List of CEs and their attributes
List of FEs and their attributes
CE Manager
FE Manager
FE
Security exchange
FE ID, attributes
CE ID
FE
CE
CE
Security exchange
FE ID, attribute
Initial Configuration
Add these new routes
Give me stats
Stats
Port x down
New forwarding table
Security exchange
CE ID, attributes
FE ID
Ref: http://datatracker.ietf.org/doc/rfc3746/?include_text=1
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-18
Peers
IETF working group to optimize P2P traffic Peers
Better to get files from nearby peers
Provide guidance in peer selection
ALTO Server: Has knowledge of distributed resources
ALTO Client: Requests information from servers about the
appropriate peers
Ratio Criteria: Topological distance, traffic charges,
ALTO Server could get information from providers or from
nodes about their characteristics, e.g., flat-rate or volume based
charging
A client may get the list of potential peers and send it to the
server, which can return a ordered list
Also need a protocol for ALTO server discovery
16-19
ALTO Extension
Data Center 1
Data Center 1
http://www.cse.wustl.edu/~jain/cse570-13/
16-20
http://www.cse.wustl.edu/~jain/cse570-13/
16-21
OSGi Frameork
RESTful API
Network Service Functions
Slicing
Manager
Topology
Manager
Network Orchestration
Function
Host
Tracker
Management
Function
PCEP
SMTP
XMPP
BGP
OpenFlow
V1.0
OpenFlow
V1.1
OpenFlow
V1.4
Southbound
Protocols
Network
Elements
Network Element
Network Element
Network Element
Ref: T. Nadeau and K. Gray, SDN, OReilly, 2013, 384 pp, ISBN:978-1-449-34230-2 (Safari Book)
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-22
RESTful APIs
http://www.cse.wustl.edu/~jain/cse570-13/
16-23
REST (Cont)
Ref: http://en.wikipedia.org/wiki/Representational_state_transfer
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-24
OSGi Framework
Bundles
Life Cycle
Modules
Bundle Register
A
Execution Environment
Java VM
Native Operating System
Ref: http://www.osgi.org/Technology/WhatIsOSGi
Washington University in St. Louis
http://www.cse.wustl.edu/~jain/cse570-13/
16-25
OSGi (Cont)
http://www.cse.wustl.edu/~jain/cse570-13/
16-26
Ref: https://wiki.opendaylight.org/view/Main_Page
Washington University in St. Louis
http://www.cse.wustl.edu/~jain/cse570-13/
16-27
OpenDaylight Tools
1.
2.
3.
http://www.cse.wustl.edu/~jain/cse570-13/
16-28
5.
6.
Southbound APIs:
1. OpenFlow Plug-in + Protocol Library (V1.0, V1.1,)
2. Locator ID Separation Protocol (LISP) Mapping Service
3. SNMP4SDN
4. BGP Link State Path Control Element Protocol
Overlay:
1. Open Distributed Overlay Virtual Ethernet (DOVE):
Like VxLAN but does not use IP Multicast
Configuration:
1. OpenDaylight YANG Tools: NETCONF
2. Open vSwitch Database (OVSDB) Integration
3. Affinity Metadata Service
http://www.cse.wustl.edu/~jain/cse570-13/
16-29
Ref: https://wiki.opendaylight.org/view/Project_Proposals:Affinity_Metadata_Service
http://www.cse.wustl.edu/~jain/cse570-13/
Washington University in St. Louis
16-30
Summary
1.
2.
3.
4.
http://www.cse.wustl.edu/~jain/cse570-13/
16-31
Reading List
http://www.cse.wustl.edu/~jain/cse570-13/
16-32
Wikipedia Links
http://en.wikipedia.org/wiki/Software-defined_networking
http://en.wikipedia.org/wiki/Representational_state_transfer
http://en.wikipedia.org/wiki/OSGI
http://en.wikipedia.org/wiki/XMPP
http://en.wikipedia.org/wiki/Path_computation_element
http://www.cse.wustl.edu/~jain/cse570-13/
16-33
References
http://www.cse.wustl.edu/~jain/cse570-13/
16-34
References (Cont)
https://wiki.opendaylight.org/view/Project_Proposals:LispMappingServi
ce
https://wiki.opendaylight.org/view/Project_Proposals:SNMP4SDN
https://wiki.opendaylight.org/view/YANG_Tools:Main
https://www.opennetworking.org/index.php?option=com_content&view=art
icle&id=686&Itemid=272&lang=en
Open Data Center Alliance Usage Model: Software Defined Networking
Rev 1.0,
http://www.opendatacenteralliance.org/docs/Software_Defined_Networking
_Master_Usage_Model_Rev1.0.pdf
http://www.cse.wustl.edu/~jain/cse570-13/
16-35
Acronyms
ACI
ACL
AEX
ALG
ALTO
ANDSF
API
APIC
ARP
ATIS
ATM
AVNP
BGP
BNC
BSD
BUM
http://www.cse.wustl.edu/~jain/cse570-13/
16-36
Acronyms (Cont)
CDN
CDNI
CE
CLI
CMS
CPU
CRUD
CSP
DHCP
DNS
DOVE
DVS
EID
ETSI
FCAPS
FE
http://www.cse.wustl.edu/~jain/cse570-13/
16-37
Acronyms (Cont)
FE
ForCES
GMPLS
GUI
HTML
HTTP
I2AEX
IaaS
ID
IDS
IEEE
IETF
IGP
IoT
IP
IPv4
Forwarding Element
Forwarding and Control Element Separation
Generalized Multi-Protocol Label Switching
Graphical User Interface
Hypertext Markup Language
Hypertext Tranfer Protocol
Infrastructure to Application Information Exposure
Infrastructure as a Service
Identifier
Intrusion Detection System
Institution of Electrical and Electronic Engineers
Internet Engineering Task Force
Interior Gateway Protocol
Internet of Things
Internet Protocol
Internet Protcol version 4
http://www.cse.wustl.edu/~jain/cse570-13/
16-38
Acronyms (Cont)
IPv6
IRTF
IS-IS
ISO
LAN
LISP
LS
MAC
MPLS
NAT
NFV
NTP
NVGRE
NVO3
NVP
http://www.cse.wustl.edu/~jain/cse570-13/
16-39
Acronyms (Cont)
OF
OnePK
ONF
ONV
OpEx
OS
OSCP
OSGi
OSPF
OVS
OVSDB
PCC
PCE
PCEP
POP
PWE3
OpenFlow
Open Network Environment Platform Kit
Open Networking Forum
OpenDaylight Network Virtualization
Operational Expences
Operating System
OpenDaylight SDN Controller Platform
Open Services Gateway Initiative
Open Shortest Path First
Open Virtual Switch
Open Virtual Switch Database
Path Computation Client
Path Computation Element
Path Computation Element Protocol
Post Office Protocol
Pseudowire Emulation Edge to Edge
http://www.cse.wustl.edu/~jain/cse570-13/
16-40
Acronyms (Cont)
QoS
REST
RFC
RLOC
RLOC
RS
SAL
SDN
SMTP
SNMP
SSH
STT
TCP
TE
TIA
TRILL
Quality of Service
Representational State Transfer
Request for Comments
Routing Locator
Routing Locator
Routing System
Service Abstraction Layer
Software Defined Networking
Simple Mail Transfer Protocol
Simple Network Management Protocol
Secure Socket Host
Stateless TCP-like Transport
Transmission Control Protocol
Traffic Engineering
Telecom Industry Association
Transparent Interconnection of Lots of Links
http://www.cse.wustl.edu/~jain/cse570-13/
16-41
Acronyms (Cont)
URI
vBridge
VIRL
VLAN
VM
VNS
VPN
vTep
VTN
VxLAN
WAN
XML
XMPP
http://www.cse.wustl.edu/~jain/cse570-13/
16-42
http://www.cse.wustl.edu/~jain/cse570-13/
16-43
http://www.cse.wustl.edu/~jain/cse570-13/
16-44