Senior Network Analyst Tashi Phuntsho gives an overview of network automation at the fifth Bhutan Network Operators Group (btNOG 5) meeting on 4 June 2018.
4. How did we get here?
4
Distribution of
complexity
Backwards
compatibility
Unanticipated
applications
Need for
higher
performance
โข โEnd-to-end
principleโ
โข Better scaling
โข Survivability;
spreading of risk
โข โFlag daysโ not
realistic
โข Short-term,
incremental
evolution of
technology; no
major overhaul
in last 20-30
years
โข Networking is a
victim of its own
success
โข New complex
applications
have been
delivered on top
of existing
capabilities
โข Tight coupling
between
different
planes seen as
critical for
delivering
higher
performance
5. Clean Slate Project (1)
5
With what we know today, if we
were to start with a clean slate,
how would we design a global
communications infrastructure?
Two research questions:
How should the Internet look in 15
years from now?
6. Clean Slate Project (2)
6
โข One of the flagship projects was โInternet Infrastructure:
OpenFlow and Software Defined Networkingโ
โข Seminal paper on
... kicked off the SDN movement and the network
world would never be the same again
7. OpenFlow: The Problem
โข Initial Problem:
โ A mechanism was required
to run experimental
network protocols.
โ Open software/hardware
platforms did not provide
the performance
โ commercial
routers/switches were too
closed and inflexible.
7
Hardware
Software Tight
coupling
Closed system โ
only functionalities exposed
by vendors available
Challenge:
how to influence forwarding
behaviour in non-native ways?
8. OpenFlow: The Solution (1)
8
FROM TO
Routing/Bridging
Protocols, RIBs, routing
policy and logic
Forwarding Tables
Abstracted
Flow Table
Secure Channel
OpenFlow
Protocol
Control
Plane
Data
Plane
Data
Plane
OpenFlow
Controller Control
Plane
Control
Plane
Data
Plane
Protocols and algorithms to calculate
network paths โ interoperable
Forwarding frames/packets based on paths
calculated by control plane โ hw dependent
9. OpenFlow: The Solution (2)
9
Secure Channel
Abstracted
Flow Table
OpenFlow
Controller
OpenFlow
Protocol
Data
Plane
Control
Plane
The solution? A compromise:
โข that allowed forwarding
behaviour to be influenced
without opening up network
software
โ The control process would run on a
controller
โ Decisions would be pushed down to
the data plane running on the network
element
10. 10
Secure Channel
Abstracted
Flow Table
OpenFlow
Controller
OpenFlow
Protocol
Control
Plane
* Ingress Port, Ethernet SA, Ethernet DA,VLAN ID,VLAN PCP, IP SA, IP DA,
IP Proto, IPToS, Source L4 Port, Dest L4 Port etcโฆ.
Adds, deletes and
modifies flow table
entries
Header Fields* Actions Counters
Flow 1 Forward to port 1/1
Flow 2 Drop
Flow n Send to controller
Switch forwards traffic:
by matching against header fields
and executing corresponding actions
OpenFlow: How it works (1)
11. OpenFlow: How it works (2)
11
Secure Channel
Abstracted
Flow Table
OpenFlow
Controller
OpenFlow
Protocol
Control
Plane
Secure Channel
Abstracted
Flow Table
Secure Channel
Abstracted
Flow Table
. . .
Switch 1 Switch 2 Switch n
OpenFlow
Protocol
One controller
manages many
switches
12. OpenFlow: Today
โข Initially synonymous with SDN
โข Today, just one of the many protocols within the
greater SDN framework
โข However, responsible for the most radical shift in
networking
โ spark that lit the fuse J
12
13. OpenFlow: Implications
โข Two primary implications:
13
The control plane is physically decoupled
from the data plane
The control plane is consolidated and
centralised: a single control plane controls
multiple data planes
(previously a 1:1 correspondence).
14. Aside:
Data/control plane separation challenges
14
Scalability
The control element
now needs to be
scaled to support a
very large number
of forwarding
elements
Reliability
The controller can
NOT be a single
point of failure
Consistency
When multiple
controllers are used
(redundancy),
consistency has to be
assured across
multiple replicas
15. The birth of SDN
15
The separation of control and data plane was not an objective in
itself but a compromise approach taken by OpenFlow
Ushered a new era of programmability that has been
vastly enhanced with new architectures and capabilities
The termโSDNโ itself - an article about the OpenFlow project at
Stanford
(http://www2.technologyreview.com/news/412194/tr10-software-defined-networking/)
16. SDN - Emergence & Evolution
16
โข OpenFlow was a starting pointโฆ
โ era of programmability
โข But a complete decoupling of the control and data
plane?
โ impractical
โ Difficult to solve all the problems the industry had spent
decades solving and refining: resiliency, scalability,
convergence, redundancy..
โข SDN architecture today
โ Hybrid: some control elements still remain distributed while
others are centralised
โ Many different architectural models (from OF concept)
โข All aspire to achieve the goals of agility and network programmability
17. Hybrid model of SDN
17
Proportion of centralisation of
control plane
Data Plane
Todayโs model
Control plane is fully
distributed (collocated
with the data plane)
0%
100%
OpenFlow model
Control plane is
completely de-coupled
from the data plane
Hybrid model
Certain control functions are
centralised while others continue to
be distributed with the data plane
18. Defining SDN
18
ONF:
The physical separation of the control plane from
the forwarding plane, and where a control plane
controls several devices.
Too narrowโฆ
Automation through enhanced
programmability and open interfaces
Dis-aggregation and abstraction
Centralisation of control functions with
real-time network visibility
SDN is โฆ
A new approach to
networking that
provides greater
agility and
flexibility by:
20. 20
Application Plane
Application Service
Network Services Abstraction Layer
Control Plane
Service App
Control Abstraction Layer (CAL)
Management Plane
App
Mgmt.Abstraction Layer (MAL)
Service Interface
Device & Resource Abstraction Layer (DAL)
Forwarding Plane App Operational Plane
Network Device
CP Southbound Interface MP Southbound Interface
RFC
7426
Architectural Framework (2)
21. 21
Application
Plane
Application Service
Topology Discovery
& Management
Network Devices โ IP/MPLS/Transport
Southbound Interfaces
REST/RESTCONF/NETCONF/XMPP
Control
Plane
(controller)
Traffic Engineering
Route selection &
failover
Resource
Management
BGP-LS PCE-Pi2RS
SNMP
MIBs OpenFlow YANG
Configuration
Open
Flow
SNMP NETCONF
Data
Plane
(w ith som e
distributed
control plane
elem ents)
BGP PCCRIBs/FIBs
Segm ent
Routing RSVP-TE
East/West-
bound interfaces
IPFIX
Northbound Interfaces
Note: designations of north-bound and south-bound are relative to the control plane (โcontrollerโ)
Device & Resource Abstraction
Layer (DAL)
Network Services Abstraction Layer
Architectural Framework (3)
ForCES
22. Evolution NOT Revolution
โข Despite the hype, SDN is an evolution of current
network technologies
โข No one protocol that defines SDN
โ it is a new architectural framework for data networks
โข Protocols/technologies that enable:
โ centralising control plane
โ abstracting networks and topologies
โ enhancing programmability via standard interfaces
are considered a part of the SDN framework of technologies
22
23. Open source projects
23
โข NOX/POX
โข Beacon
โข OpenDayLight (ODL)
โข Open Network Operating System (ONOS)
โข Ryu
โข OpenContrail
โข Floodlight
โข โฆโฆโฆโฆโฆ
25. EOLOโs BLU Project
โข Their own router - BLUrouter
โ TileGX architecture (72 core CPU)
โ Low power
โข Their own Router OS
โ BLUos โ based on 6WINDGate
โ Customisation: RFC3107 (label distribution) in Quagga (BGP)
โข Their own controller
โ BLU-GW
โ limit human error
โ Parallel execution of commands, schedulers, config-rollback
26. BLU Project โ Stage 1
โข OpenFlow rules for MPLS label switching
โข RFC3107 for traffic labelling (downstream)
โข Problems:
โ OpenFlow granularity issues
โข Change of single flow required all BLUs along the path to be
reprogrammed
โข Upgrades are atomic - high risk of inconsistent nw states
โ no fallback!
27. BLU Project โ Stage 2
โข Segment Routing + RFC3107 for traffic labelling
โ MPLS dataplane for nowโฆ
โ IGP as fallback (distributed control function)
Contact them: blu@eolo.it