lec 13_04_oct

Upload: ashwath-m

Post on 05-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 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