Download - Lec 13_04_Oct
-
8/16/2019 Lec 13_04_Oct
1/37
BITS PilaniPilani Campus
Advanced Computer
Networks (CS ZG525)Virendra S Shekhawat
Department of Computer Science and Information Systems
-
8/16/2019 Lec 13_04_Oct
2/37
BITS PilaniPilani Campus
First Semester 2015-2016Lecture-13 [04th Oct 2015]
-
8/16/2019 Lec 13_04_Oct
3/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Agenda
• SDN Controller: Framework to control and ManageNetwork [CH-23]
– Reading
• Ten Things to Look for in an SDN Controller
• http://necam.com/docs/?id=23865bd4-f10a-49f7-b6be-a17c61ad6fff• Case Study: OpenDalyLight Controller
• https://wiki.opendaylight.org
•SDN Applications: Network Function Virtualization,Network Topology Abstraction [CH-24]
– Reading
• Lecture Slides
3Advanced Computer Networks CS G525
-
8/16/2019 Lec 13_04_Oct
4/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Ten Key Characteristics of SDN
Controller [1]
• OpenFlow Support
• Network Virtualization
– VLAN (Layer-2) and VRF (Layer-3) are already there ?
– How server virtualization is different …?
• Network Functionality
– Routing decision on multiple header fields
– Multi-tenancy support
– Support for adding new protocols
Advanced Computer Networks CS G525
4
-
8/16/2019 Lec 13_04_Oct
5/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Ten Key Characteristics of SDN
Controller [2]
• Scalability
– How Layer-2 networks connect today…?
• Through Layer-3 functionality. Multiple Layer-3 hops
incur delay.
– How SDN can solve this problem..?
• Provides a single network view…. Hence provides better
scalability
– How many switches it can support…?
• Depends on use cases…
Advanced Computer Networks CS G525
5
-
8/16/2019 Lec 13_04_Oct
6/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Ten Key Characteristics of SDN
Controller [3]
• Performance
– How much time takes to setup a flow?
– How many flows per second a controller can setup?
– Flow setup mechanisms:• Proactively vs. Reactively
• Network Programmability – Requires programmatic interface to dynamically
control the traffic in the network
Advanced Computer Networks CS G525
6
-
8/16/2019 Lec 13_04_Oct
7/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Ten Key Characteristics of SDN
Controller [4]
• Reliability
– SDN controller is a single point of failure
– Can provide quick setup of fail-over paths
– Multipath setup
– Design validation by controller before configuring
the network
Advanced Computer Networks CS G5257
-
8/16/2019 Lec 13_04_Oct
8/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Ten Key Characteristics of SDN
Controller [5]
• Security of the Network
– Should support authentication and authorization
of the network administrators
– Traffic isolation – Should provision for network attack detection
• Centralized Monitoring and Visualization – Flow level traffic monitoring
– Global view of network
Advanced Computer Networks CS G5258
-
8/16/2019 Lec 13_04_Oct
9/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Mininet: Network Emulator
• Network emulator that simulates a collection ofend hosts, switches, routers and links on a single
Linux kernel.
• Open source project hosted on Github – https:// github.com/ mininet / mininet
• Important links
– http://mininet.org/walkthrough/
Advanced Computer Networks CS G5259
-
8/16/2019 Lec 13_04_Oct
10/37BITS Pilani, Pilani CampusFirst Sem 2015-16
SDN Controllers
• Three Resonant concepts of SDN
– Programmability
– Separation of Control and data Planes
– Management of transient network state in a
centralized control model
Advanced Computer Networks CS G52510
-
8/16/2019 Lec 13_04_Oct
11/37BITS Pilani, Pilani CampusFirst Sem 2015-16
SDN Controller Features
• SDN Controller is a software system or a collection ofsystems
• It provides Management and distribution of network state – e.g. topology information, control session information,
configuration information• Gives High level data model (Yang modeling language)
that captures the relationships between managedsources, policies and other services
• Gives a REST (Representational state transfer) API to
exposes the controller services to an application• Gives a device, topology and service discovery mechanism
• Gives a path computation system and other network andresource centric services
Advanced Computer Networks CS G52511
-
8/16/2019 Lec 13_04_Oct
12/37BITS Pilani, Pilani CampusFirst Sem 2015-16
SDN Controllers Landscape
• Vmware – vCloud/vSphere (Java)
• Nicira
– NVP
• NEC
– Trema (Ruby/C)
• Big switch networks
– Floodlight (Java)
• Juniper
–
Contrail (Open source)• OpenDaylight Project
– Open source
• NS3 (C++/Python)
– OpenFlow support
Advanced Computer Networks CS G52512
• POX (Python) – It has a high-level SDN API including a
queriable topology graph and support
for virtualization
– NOX (C++/Python)
–First SDN controller
– Flowvisor
• It is a special purpose OpenFlow
controller that acts as a
transparent proxy between
OpenFlow switches and multipleOpenFlow controllers.
• Beacon (Java)
– Event based and threaded operations
-
8/16/2019 Lec 13_04_Oct
13/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Open Daylight Architecture:
Simplified
Advanced Computer Networks CS G52513
-
8/16/2019 Lec 13_04_Oct
14/37BITS Pilani, Pilani CampusFirst Sem 2015-16
ODL: Detailed Architecture
Advanced Computer Networks CS G52514
-
8/16/2019 Lec 13_04_Oct
15/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Southbound Protocols
• The southbound interface is capable of supporting multipleprotocols (as separate plugins)
– e.g. OpenFlow 1.0, OpenFlow 1.3, BGP-LS, LISP, SNMP, etc.
• These modules are dynamically linked to a Service
Abstraction Layer (SAL)- – It determines how to fulfill the service requested (by applications)
irrespective of the underlying protocol used between the controllerand the network devices
– For example, an OpenFlow plugin will include the following:
• Connection, session, and state managers to manage the connection withthe switches
• An error handing mechanism
• A packet handler to handle incoming packets from the switches
• A set of basic services such as flow, stats, and topology
Advanced Computer Networks CS G52515
-
8/16/2019 Lec 13_04_Oct
16/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Service Abstraction layer(SAL)
• SAL is the key design that enables the abstraction of servicesbetween the services’ consumers and producers
• SAL acts like a large registry of services advertised by various
modules and binds them to the applications that require them
• When an application requests a service via a generic API, SAL is
responsible for assembling the request by binding producer and
consumer into a contract and serviced by SAL
• Two ways to implement registry
– Application-driven SAL and module-driven SAL
Advanced Computer Networks CS G52516
-
8/16/2019 Lec 13_04_Oct
17/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Service Functions
• The controller has various basic network functions – Topology discovery and dissemination, a forwarding manager
for managing basic forwarding rules, and a switch manager for
identifying networking elements
• SAL acts as an active registry for brokering contracts betweenservice providers (protocol plugins) and consumers (applications)
• For example:
– A topology service plugin is responsible for discovering nodes and physical
paths between them to generate a graph. This plugin exposes functionsthat can be used by an application to get a complete view of the physical
layer
– Thereafter, the application can use the flow programmer service to create
flows across all the network devices
Advanced Computer Networks CS G52517
-
8/16/2019 Lec 13_04_Oct
18/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Basic Network Services and
Their Components
Advanced Computer Networks CS G52518
-
8/16/2019 Lec 13_04_Oct
19/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Vendor Components (Platform
Services)
•
The controller platform contains a collection of dynamically pluggablemodules to perform needed network tasks
• Platform-oriented services added to enhance SDN functionality – VTN component to realize a multi-tenant network virtualization application
using OpenFlow
– Affinity services that expose APIs to express workload relationships and service
levels – BGP-LS/PCEP to support traffic engineering with BGP-LS (BGP protocol library
and topology model) and PCEP (path programming model)
– A group-based policy (GBP) that introduces a novel notion of groups ofendpoints and policy (application-focused) abstractions that governcommunication between these groups
–
Service function chaining (SFC), which provides the ability to define an orderedlist (a chain) of network services, mainly for network function virtualization(NFV)
– A LISP mapping service that can be used to implement virtual networks
– An SDNi aggregator that collects various information, such as topology,statistics, etc., to enable inter-SDN controller communication.
Advanced Computer Networks CS G52519
-
8/16/2019 Lec 13_04_Oct
20/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Northbound APIs
•The controller exposes open northbound APIs, which are usedby applications.
• OpenDaylight, supports both – The OSGi framework and the bidirectional REST APIs
• The OSGi framework is mainly used by applications that willrun in the same address space as the controller , whereas theREST (Web-based) API is used by applications that can run onsame machine as the controller or on a different machine
• These applications typically realize a business logic and mayinclude all the necessary algorithms. – The northbound applications use the controller to gather network
intelligence, run algorithms to perform analytics, and then use thecontroller to orchestrate the new rules
Advanced Computer Networks CS G52520
-
8/16/2019 Lec 13_04_Oct
21/37BITS Pilani, Pilani CampusFirst Sem 2015-16
Service Abstraction Concept in
ODL
• SAL distinguishes among various plugins based on theservices they provide (producers) and consume (service
consumers) and the abstractions to interface between
them
• SAL allows for two distinct ways of implementing the
plugins –
– Application-driven SAL (AD-SAL)
– Model-driven SAL (MD-SAL)
Advanced Computer Networks CS G52521
-
8/16/2019 Lec 13_04_Oct
22/37BITS Pilani, Pilani CampusFirst Sem 2015-16
AD-SAL in ODL
• AD-SAL provides abstraction across all the
devices
– Devices talk to the OpenDaylight controller through
their respective protocol modules or plug-ins – The protocol plug-ins in turn communicate with the
SAL layer’s exposed API
–
SAL converts the language spoken by the protocolplug-ins into application-specific APIs
• all the while upholding the functionality required by the
application’s business logic.
Advanced Computer Networks CS G52522
-
8/16/2019 Lec 13_04_Oct
23/37
-
8/16/2019 Lec 13_04_Oct
24/37
-
8/16/2019 Lec 13_04_Oct
25/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Example: MD-SAL
Advanced Computer Networks CS G52525
-
8/16/2019 Lec 13_04_Oct
26/37
-
8/16/2019 Lec 13_04_Oct
27/37
-
8/16/2019 Lec 13_04_Oct
28/37
-
8/16/2019 Lec 13_04_Oct
29/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Programmatic Interface
• Programming the network can open many newdoors to applications
– Application could tell the network that it wants a
shortest delay or highest B/W path
– Application could make a request to enable
communication between a set of users and a set of
servers by chaining a set of logical services (e.g.
routers, switches, firewalls, and load balancers)
Advanced Computer Networks CS G52529
-
8/16/2019 Lec 13_04_Oct
30/37
-
8/16/2019 Lec 13_04_Oct
31/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Network Topology and Topological
Information Abstraction
• Network Topology
– Interconnection of, and relationship between
various elements of networks
– Network Topology {Nodes, Links}
– Nodes and links can be connected as
• Physically
•
Logically – e.g. Ethernet based local area networks
Advanced Computer Networks CS G52531
-
8/16/2019 Lec 13_04_Oct
32/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Topology Discovery Methods
• Topology Discovery includes – Initial discovery of a network’s topology, Rediscovery for
ongoing changes in topology, Management and exposure of
the topology to the applications
• Traditional methods-
– Use management protocols (e.g. CLI, SNMP, NETCONF, ARP
probing or IP ICMP ping to gather information• e.g. Layer-2 or Layer-3 reachability, attached neighbors logical tunnels
– Routing protocols is used to gather topological information
and augment with other management interfaces like CLI
Advanced Computer Networks CS G52532
-
8/16/2019 Lec 13_04_Oct
33/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Topology Discovery in SDN
• Vendors tightly coupled the format of the topology
– Limited exposure to applications to operate on it
• However, SDN North bound interface allows
applications to be coded to interact with the
controller
– With the complete knowledge of topology (i.e. routingalgorithms, constraints, network policies, B/W utilization,
interface status) one can view the topology as very
accurate model of the operational network
Advanced Computer Networks CS G52533
-
8/16/2019 Lec 13_04_Oct
34/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Benefits of SDN
• One can imagine making changes to see how theyaffect the network model
– E.g. link addition and removal, back-up path addition,adding link failure scenarios
• Running applications can be observed for capacityfuture planning
• Topological view of the services enables networkfunction virtualizations and service chaining of thesefunctions
Advanced Computer Networks CS G52534
-
8/16/2019 Lec 13_04_Oct
35/37
C d id h
-
8/16/2019 Lec 13_04_Oct
36/37
BITS Pilani, Pilani CampusFirst Sem 2015-16
Use Case: Bandwidth
Scheduling/Calendaring
• Bandwidth Calendaring Time based Bandwidthmanipulation
– i.e. addition, deletion, modification of B/W in the network
– Should closely match with traffic patterns, service demands,
disruptions or operational planning for future changes
• Use Case
• Service provider owns two
interconnected data centers• Users can access service from either
• Requires database sync for billing
Advanced Computer Networks CS G52536
Source: Software Defined Networks, Thomas Nadeau & Ken Gray, O’REILLY
-
8/16/2019 Lec 13_04_Oct
37/37
Thank You !
37