Você está na página 1de 37

Advanced Computer

Networks (CS ZG525)


BITS Pilani
Pilani Campus

Virendra S Shekhawat
Department of Computer Science and Information Systems

BITS Pilani
Pilani Campus

First Semester 2015-2016


Lecture-13 [04th Oct 2015]

Agenda
SDN Controller: Framework to control and Manage
Network
[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
3
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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
4
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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
5
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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
6
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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

7
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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
8
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Mininet: Network Emulator


Network emulator that simulates a collection of
end 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/

9
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

SDN Controllers
Three Resonant concepts of SDN
Programmability
Separation of Control and data Planes
Management of transient network state in a
centralized control model

10
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

SDN Controller Features


SDN Controller is a software system or a collection of
systems
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 managed
sources, 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 and
resource centric services
11
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

SDN Controllers Landscape


Vmware

POX (Python)

vCloud/vSphere (Java)

It has a high-level SDN API including a


queriable topology graph and support
for virtualization

Nicira
NVP

NOX (C++/Python)

NEC

First SDN controller

Trema (Ruby/C)

Big switch networks


Floodlight (Java)

Juniper
Contrail (Open source)

OpenDaylight Project
Open source

NS3 (C++/Python)
OpenFlow support

Flowvisor
It is a special purpose OpenFlow
controller that acts as a
transparent proxy between
OpenFlow switches and multiple
OpenFlow controllers.
Beacon (Java)
Event based and threaded operations
12

First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Open Daylight Architecture:


Simplified

13
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

ODL: Detailed Architecture

14
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Southbound Protocols
The southbound interface is capable of supporting multiple
protocols (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 controller
and the network devices
For example, an OpenFlow plugin will include the following:
Connection, session, and state managers to manage the connection with
the 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
15
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Service Abstraction layer(SAL)


SAL is the key design that enables the abstraction of services
between 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
16
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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 between
service 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 functions
that 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
17
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Basic Network Services and


Their Components

18
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Vendor Components (Platform


Services)
The controller platform contains a collection of dynamically pluggable
modules 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 of
endpoints and policy (application-focused) abstractions that govern
communication between these groups
Service function chaining (SFC), which provides the ability to define an ordered
list (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.
19
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Northbound APIs
The controller exposes open northbound APIs, which are used
by applications.
OpenDaylight, supports both
The OSGi framework and the bidirectional REST APIs

The OSGi framework is mainly used by applications that will


run in the same address space as the controller, whereas the
REST (Web-based) API is used by applications that can run on
same machine as the controller or on a different machine
These applications typically realize a business logic and may
include all the necessary algorithms.
The northbound applications use the controller to gather network
intelligence, run algorithms to perform analytics, and then use the
controller to orchestrate the new rules
First Sem 2015-16

Advanced Computer Networks CS G525

20

BITS Pilani, Pilani Campus

Service Abstraction Concept in


ODL
SAL distinguishes among various plugins based on the
services 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)

21
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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 layers exposed API
SAL converts the language spoken by the protocol
plug-ins into application-specific APIs
all the while upholding the functionality required by the
applications business logic.
22
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

AD-SAL in ODL

23
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

MD-SAL or Model-Driven SAL


It allows the developer to work in a isolation,
agnostic to the specifications of the service
interfaces exposed by the modules providing
services
MD-SAL was designed to glue together the modules
horizontally by allowing the developer to use
generic interfaces for service discovery and
consumption

24
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Example: MD-SAL

25
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Next
SDN Applications Use Cases
Network Function Virtualization (NFV)
Network Topology and Topological Information
Abstraction
Bandwidth Scheduling/Calendaring

26
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Network Function Virtualization


(NFV)
Network Function Virtualization (NFV)
Decoupling of n/w functions from proprietary h/w
devices so they can run in software
Network Functions Data Plane, Control Plane

It accelerate service innovation and provisioning


and reduces equipment costs
e.g. DNS, Firewall, load balancer, caching etc.
Services can be rapidly scaled up/down as required
27
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Network Function Virtualization


(NFV)
Virtual Machines are primary vehicle for NFV
Due to better management options as compared to
Linux containers

Reliability concerns of Network Services


Virtualization
Multiple virtualized services on the same hardware
can lead to contention
The hypervisor itself becomes a single point of failure
Hypervisor can isolate the applications from
awareness of changes in physical machine state
(failure of NIC port)
28
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Programmatic Interface
Programming the network can open many new
doors 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)
29
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Example: Network Function


Virtualization (NFV)

Source: Software Defined Networks, Thomas Nadeau & Ken Gray, OREILLY

Services like Firewall use virtual appliances (i.e. NFV)


The use of these appliances can be orchestrated in a way that
allows for simple traversal of a pipeline of operations
Where logical interfaces (in/out) create a simple traffic flow pattern
Also called as service chaining
30
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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


31
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Topology Discovery Methods


Topology Discovery includes
Initial discovery of a networks 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
32
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

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. routing
algorithms, constraints, network policies, B/W utilization,
interface status) one can view the topology as very
accurate model of the operational network
33
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Benefits of SDN
One can imagine making changes to see how they
affect the network model
E.g. link addition and removal, back-up path addition,
adding link failure scenarios

Running applications can be observed for capacity


future planning
Topological view of the services enables network
function virtualizations and service chaining of these
functions
34
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Application Layer Traffic


Optimization (ALTO)
It is a network service to expose to network aware
applications over a web services. Provides network
information to applications
Network location, structure, preferences of the network paths
to various network services, logical/abstracted topology of
the network

Used for CDN applications (or P2P applications)


The abstract topology maps, provide an abstracted view of
the CDN nodes and the relative weights of paths between
those nodes of the network
Provides application specific layered topology view
35
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Use Case: Bandwidth


Scheduling/Calendaring
Bandwidth Calendaring Time based Bandwidth
manipulation
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
Source: Software Defined Networks, Thomas Nadeau & Ken Gray, OREILLY
First Sem 2015-16

Advanced Computer Networks CS G525

36

BITS Pilani, Pilani Campus

Thank You !

37
First Sem 2015-16

Advanced Computer Networks CS G525

BITS Pilani, Pilani Campus

Você também pode gostar