Il 0% ha trovato utile questo documento (0 voti)
21 visualizzazioni110 pagine

Network Automation

Il documento fornisce una panoramica delle architetture di rete basate su controller, evidenziando i tre piani logici: Data Plane, Control Plane e Management Plane. Descrive le caratteristiche delle reti a controllo distribuito e delle reti SDN, sottolineando il ruolo centrale del Network Controller nella gestione e automazione della rete. Viene inoltre discusso l'uso delle interfacce Northbound e Southbound per la comunicazione tra il controller e i dispositivi di rete.

Caricato da

Luigi Carbone
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
21 visualizzazioni110 pagine

Network Automation

Il documento fornisce una panoramica delle architetture di rete basate su controller, evidenziando i tre piani logici: Data Plane, Control Plane e Management Plane. Descrive le caratteristiche delle reti a controllo distribuito e delle reti SDN, sottolineando il ruolo centrale del Network Controller nella gestione e automazione della rete. Viene inoltre discusso l'uso delle interfacce Northbound e Southbound per la comunicazione tra il controller e i dispositivi di rete.

Caricato da

Luigi Carbone
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Introduction to Controller-Based

Networking
Strati logici di un networkdevice

• Data Plane
• Control Plane
• Management Plane
Data Plane
• Il Data Plane (anche detto Forwarding Plane) è la parte di un
dispositivo di rete, come router o switch, che si occupa di gestire il
traffico effettivo dei pacchetti.
In pratica, è il livello che lavora “sul campo”, muovendo i dati da
un’interfaccia a un’altra il più velocemente possibile.
DataPlane: funzioni principali
• Instradamento dei pacchetti (Forwarding):
Riceve un pacchetto e, in base alle informazioni della tabella di
forwarding (derivata dalla tabella di routing), decide dove inoltrarlo.
• Filtraggio e policy:
Applica regole di ACL (Access Control List), NAT o QoS, se configurate.
• Switching locale (nei LAN switch):
Associa MAC address a porte e decide a chi inviare il frame Ethernet.
• Gestione del traffico in tempo reale:
Deve essere molto veloce, perché lavora per ogni singolo pacchetto.
Data Plane
Control Plane
l Control Plane è la parte del router o switch che si occupa di prendere
decisioni su come dev’essere instradato o gestito il traffico.
Non inoltra direttamente i pacchetti, ma costruisce le informazioni che
il Data Plane userà.
Funzioni principali
Calcola le rotte migliori (con i protocolli di routing: OSPF, EIGRP, BGP).
Mantiene la tabella di routing.
Gestisce protocolli come STP (per switch), ARP, ICMP.
Comunica con altri dispositivi per scambiarsi informazioni di rete.
Control Plane

• Gestione routing protocols


• Funzioni di Address Resolution Protocol (IPv4)
• Funzioni di Neighbor Discovery Protocol (NDP)
• MAC Learning
• Funzioni di Spanning Tree Protocol per evitare LOOP
Control Plane
ManagementPlane
Definizione
Il Management Plane è il piano che consente di gestire, configurare e monitorare i
dispositivi di rete.
Non gestisce il traffico dati degli utenti, ma permette agli amministratori di controllare il
dispositivo.

Funzioni principali
Accesso remoto e locale (SSH, Telnet, Console)
Monitoraggio (SNMP, Syslog)
Configurazione (CLI, API, GUI)
Sicurezza della gestione (AAA, RBAC)
ManagementPlane
• Mette in comunicazione i dispositivi con i network
engineers
• telnet e SSH sono i protocolli di management più
conosciuti ed usati
• La presenza di questo livello non è strettamente
necessaria al funzionamento dei dispositivi quanto
all’aggiornamento della configurazione e consultazione
degli stati di sistema
Tipi di reti

• Reti a controllo distribuito


• Reti basate su SDN
Distributed NetworkArchitecture
Caratteristiche DistributedNetwork
•Una rete a controllo distribuito è una rete in cui ogni dispositivo (router, switch) ha il proprio Control Plane e prende
decisioni in modo autonomo.
•Non esiste un unico punto centrale che comanda tutta la rete, ma i dispositivi cooperano tra loro.

Caratteristiche
•Decentralizzazione → ogni router calcola le rotte con i protocolli di routing (OSPF, EIGRP, BGP).
•Scalabilità → la rete può crescere aggiungendo nuovi dispositivi, senza un singolo “collo di bottiglia”.
•Resilienza → se un dispositivo si guasta, gli altri continuano a funzionare.
•Cooperazione → i router si scambiano informazioni per costruire le tabelle di routing.

Esempio
•In una rete con OSPF, ogni router calcola la propria tabella di routing sulla base delle informazioni ricevute dagli altri.
•Non c’è un controller centrale: il controllo è distribuito.
Caratteristiche DistributedNetwork

• Ogni dispositivo viene gestito singolarmente


• Relazioni dirette o indirette tra i vari nodi necessarie
per la gestione del control plane
• Gran numero di pacchetti per la gestionedei
protocolli
Caratteristiche distributed networks

• I nodi si scambiano costantemente degli hello PDU


(ad es. OSPFHELLO)persegnalare la loro presenza
• I nodi si scambiano molti PDU per permettere ai vari
protocolli di auto-configurarsi (ad es. STP
convergence)
• Bisogna configurare manualmente ogni singolo
dispositivo
Software Defined Network (SDN)
Reti basate su SDN
Definizione
•SDN (Software Defined Networking) è un’architettura di rete in cui il Control Plane è centralizzato in un controller
software.
•I dispositivi di rete (switch, router) diventano più “semplici”: si occupano solo del Data Plane (inoltro pacchetti).

Caratteristiche principali
•Centralizzazione del controllo → il controller SDN prende tutte le decisioni di instradamento.
•Programmabilità → la rete si gestisce tramite API e software, non solo con configurazioni manuali CLI.
•Agilità e automazione → permette di adattare rapidamente la rete ai bisogni delle applicazioni.
•Visibilità globale → l’amministratore ha una vista unica e completa di tutta la rete.

Esempio
•In una rete SDN con OpenFlow, gli switch ricevono dal controller le regole di forwarding.
•Lo switch non calcola rotte da solo: applica le istruzioni del controller.
Caratteristiche Controller BasedNet.

• Il management plane ed il control planeconvergono


• La configurazione dei nodi è gestita a livello centrale
con un dispositivo denominato «Network Controller»
• Riduzione drastica dell’overhead
• Presenza di NBI (Northbound Interface)
• Presenza di SBI (Southbound interface)
Architettura SDN
In una SDN (Software
defined Network) il
Network Controller è il
nodo principale in cui
management e control
plane convergono. Questo
dispositivo si interfaccia
con l’underlay (la rete)
mediante le SBI. Gli
amministratori possono
interagire sulla
configurazione mediante
Northbound Interface (NBI)
Network Controller

• Può essere rappresentato da un server fisico


• Può essere rappresentato da una virtual machine
• Può girare sullo stesso server in cui sono inclusi tutti
gli altri software per la gestione dellarete
Network Controller
Il Network Controller è il componente centrale delle reti basate su SDN (Software Defined Networking).
È un software che gestisce il Control Plane in modo centralizzato.
Comunica con gli switch e i router, fornendo loro le regole di inoltro dei pacchetti.

Funzioni principali
Gestione centralizzata: ha la visione completa della rete.
Programmazione della rete: applica configurazioni e policy tramite API.
Automazione: semplifica attività complesse come QoS, sicurezza, bilanciamento del carico.
Monitoraggio: raccoglie dati dagli apparati per analisi e troubleshooting.

Esempio pratico
In una rete SDN, lo switch non calcola la rotta da solo.
Invia la richiesta al Network Controller, che decide dove inoltrare il pacchetto.
Lo switch applica semplicemente la regola ricevuta.
SouthboundInterface

• Combinazione di un protocollo e di unAPI


• Un API è un tool che permette a due o più software di
dialogare tra loro
• La SBI quindi fa da tramite tra il software installato sul
nodo di rete e ilcontroller stesso
• Grazie alla presenza delle SBIs possiamo alterare il
comportamento del data plane dei dispositiviconnessi
Southbound Interface
• La Southbound Interface è l’interfaccia che mette in comunicazione il controller SDN con
i dispositivi di rete, come switch e router.
In un’architettura tradizionale, ogni dispositivo decide autonomamente come instradare
il traffico; invece, nelle reti SDN il controller centralizzato prende le decisioni e deve
trasmetterle ai dispositivi. Questo compito è svolto proprio dalla Southbound Interface.
• Attraverso questa interfaccia, il controller invia agli switch le regole di forwarding, cioè le
istruzioni su come trattare i pacchetti che transitano. Allo stesso tempo, i dispositivi
inviano al controller informazioni sul loro stato e statistiche di traffico. In questo modo, il
controller mantiene una visione globale e aggiornata della rete.
• Uno degli standard più diffusi per implementare la Southbound Interface è OpenFlow,
ma possono essere usati anche altri protocolli e API, come NETCONF o REST.
• In sostanza, la Southbound Interface è il canale che permette al controller (la “mente”
della rete) di controllare in tempo reale gli switch e i router (le “braccia” della rete),
garantendo così la programmabilità e la flessibilità tipiche delle reti SDN
Esempi di Southbound Interface
• OpenFlow
È lo standard più famoso e spesso usato come riferimento quando si parla di SDN.
Permette al controller di dire agli switch come inoltrare i pacchetti.

• NETCONF (Network Configuration Protocol)


Usa XML per configurare e monitorare dispositivi di rete.
Lavora insieme a YANG (linguaggio di modellazione dei dati).

• REST APIs / RESTCONF


Permettono la comunicazione via HTTP/HTTPS tra controller e dispositivi.
Molto usate in ambienti moderni perché semplici e integrate con strumenti software.

• gRPC (Google Remote Procedure Call)


Protocollo leggero e veloce, usato per lo scambio di dati tra controller e dispositivi.
Supporta la trasmissione di flussi di dati in tempo reale.

• Protocolli proprietari
Alcuni vendor hanno sviluppato le proprie interfacce Southbound, ad esempio:
• Cisco OpFlex
• VMware NetX
• Juniper Contrail protocols
Northbound Interface
Definizione:
Interfaccia che collega il controller SDN alle applicazioni di gestione e orchestrazione della rete.
Funzione principale:
Permette alle applicazioni di comunicare con il controller e influenzare il comportamento della rete senza conoscere i dettagli dei
singoli dispositivi.
Ruolo:
Fornisce un livello di astrazione, rendendo la rete programmabile e automatizzabile.

Esempi di utilizzo:
Impostazione di policy di sicurezza
Bilanciamento del carico
Monitoraggio del traffico e raccolta di statistiche
Automazione della configurazione della rete
Tecnologie/protocolli comuni:
REST APIs
RESTCONF
Interfacce proprietarie dei vendor
NorthboundInterface
• Generano idati necessari al funzionamento della rete
• Permettono di reperire i dati da specifici software per
comunicarli medianti SBI ai dispositivi di rete (ad es.
aggiornamento tabella di routing)
• Inviano dati ricevuti da SBI ai software che gestiscono il
routing o altri servizi
• Le NBI si pogono sostanzialmente come frontiera tra il
controller ed i software che governano il control plane
API
• Definizione: Le API (Application Programming Interface) sono
interfacce software che permettono a due applicazioni di comunicare
tra loro.
• Ruolo nelle reti: Consentono di automatizzare e semplificare la
gestione dei dispositivi di rete come router e switch.
• Vantaggi principali:
• Controllo programmabile dei dispositivi di rete
• Integrazione con sistemi di gestione centralizzati
• Automazione delle configurazioni ripetitive
• Esempi comuni: REST API per Cisco IOS, NETCONF e RESTCONF.
API
• Principio base: Un’applicazione invia richieste (request) a un dispositivo di
rete tramite API, ricevendo risposte (response) con dati o conferme.
• Tipologie di interfacce:
REST API: Scambio dati tramite HTTP/HTTPS, formato JSON o XML
NETCONF/RESTCONF: Gestione configurazioni e monitoraggio
dispositivi
• Applicazioni pratiche:
Automazione configurazioni VLAN e routing
Raccolta automatica di statistiche e log
Integrazione con strumenti di orchestrazione e network monitoring
UsoAPI

• Possiamo usare un API verso il controller quando il


software in questione è installato nella stessa area
logica del controller
• Dobbiamo usare una RESTfull API (Rapresentational
state transfer Application Program Interface) per far
comunicare un applicazione che risiede in un area
logica (fisica) diversa da quella del network controller
Application programInterface

• Un API è un interfaccia che permette a due software


di comunicare tra loro
• Un software è sicuramente un tool che analizza o
altera (o entrambi) i valori di attributi presenti nel DB
del Network controller
• L’altro software è sicuramente interno al network
controller e ne gestisce la configurazione
API CALL
RESTAPI
• REST(Rapresentational state transfer)
• Usato quando l’applicazione volta a gestire alcune
variabili del controller non risiede nello stessoserver
• In questo modo le istruzioni viaggiano su internet
incapsulati in un header HTTP con metodo differente
a seconda dei casi
RESTAPI
Definizione: REST (Representational State Transfer) è uno stile architetturale
per creare API che consentono la comunicazione tra applicazioni tramite
HTTP/HTTPS.
Caratteristiche principali:
• Stateless: ogni richiesta è indipendente dalle altre
• Utilizzo di metodi standard HTTP: GET, POST, PUT, DELETE
• Scambio dati in formato JSON o XML
Vantaggi nelle reti:
• Automatizza configurazioni e monitoraggio
• Consente integrazione con strumenti di gestione centralizzati
RESTAPI
Uso tipico: Interagire con router, switch e firewall senza accesso manuale alla
CLI
Esempi di operazioni:
• GET → recuperare informazioni su interfacce o routing
• POST → creare nuove configurazioni VLAN o ACL
• PUT → aggiornare configurazioni esistenti
• DELETE → rimuovere configurazioni obsolete
Benefici concreti:
• Risparmio di tempo grazie all’automazione
• Riduzione errori umani nelle configurazioni
• Monitoraggio continuo dello stato della rete
RESTAPI
Facciamo il punto

• Nelle soluzioni SDN tutte le funzioni o alcune del


control plane risiedono nel controller
• Nelle SDNassume fondamentale importanza il ruolo
del controller
• Ci sono moltissime opzioni che adoperano questo
nuovo paradigma di configurazione
Esempi di soluzioni SDNoperative

• OpenDaylight Controller
• Cisco Application Centric Infrastructure (ACI)
• Cisco APIC Enterprise Module (APIC – EM)
OpenDaylight

• Èun controller Open Standard il cui sviluppo è stato


reso possibile da diversi produttori
• Supporta OpenFlow come principale SBI
• Basato sul linguaggio di programmazione Java
• Ad oggi gestito da Linux Foundation
Controller OpenDaylight
Application CentricInfrastructure
• Paradigma SDNorientato ai datacenter
• I dispositivi di retedevono supportare la SBI
• Supporta la gestione ottimizzata di clusterVM
• Usa l’architettura spine-leaf
• Gestito da controller APIC (Application Policy Infrastructure
Controller)
• Il controller è collegato ad un leaf come un comuneendpoint
• La Southbound Interface principale è opFlex
Cisco Application Centric Infrastructure (ACI)
Tipo: Soluzione SDN proprietaria Cisco per data center.
Funzione principale: Modella la rete basata sulle applicazioni invece
che sugli indirizzi IP.
Operatività:
• Il controller ACI centralizza la gestione dei policy di rete.
• Automatizza la creazione di VLAN, VXLAN e segmenti di sicurezza.
• Ottimizza il traffico tra server e applicazioni nel data center.
Richiamo Spine - leaf
Premessa
Gli ambienti virtuali gestiscono diversi tipi di servizi:
• Servizi WEB
• Servizi DB
• Servizi di storage
• Etc…
Generalmente si necessità l’implementazione di
determinate regole di accesso a queste risorse per solo una
certa gamma di apparati. Normalmente si ricorre a VLAN,
ACL,etc. ConACI, il controller APICgestisce tutto per noi.
Application CentricInfrastructure

Without ACI With ACI


• Necessità di stesura delle • Implementazione di Policy
specifiche, implementazione centralizzate basate su EGP
regole singolarmente • Gli amministratori di rete
• Gli amministratori lavorano su lavorano a livello
CLI distribuitamente(lento) applicazione(veloce)
• Non c’è un architettura • Presenza di infrastruttura di
centralizzata per la gestione controllo centralizzata
APIC EnterpriseModule

• Implementata conservando le funzioni di control


plane distribuito
• Implementabile sulla maggior parte dei dispositivi
senza necessità di sostituzioni
• Non aggiunge nessuna nuova funzione ma semplifica
l’implementazione di quelle esistenti
Architettura APIC -EM
Caratteristiche APIC-EM

• Interagisce con i nodi mediante SSHe/o SNMP


• Mostra la mappa di rete (topologia)
• Veloce messa in servizio (plug & play)
• Implementazione QoS Molto semplice
Nota

• APIC – EM è fuori produzione(2021)


Comparativa finale soluzioniSDN
Caratteristiche OpenFlow ACI APIC - EM
Muta il SI SI NO
funzionamento del
control plane dei
dispositivi
Gestione centralizzata SI SI SI
Southbound Interface OpenFlow OpFlex CLI,SNMP
Controller OpenDayLight APIC APIC-EM
Produttore ONF Cisco Cisco
Soluzioni SDNe lorousi
Paradigma SDN Destinazione d’uso
Application Centric Infrastructure(ACI) Data Center
Software defined access (SDA) CAN (Campus Area Network)
Software defined WAN (SD-WAN) WAN
Vantaggi Network Automation
• Funzioni di automazione semplificate grazie aSBIs
• Introduzione e creazione di nuove features grazie alle Southbound
Interfaces
• Gestione centralizzata delle policy, minor rischio di errori e configuration
drift
• Ottimizzazione dei processi
• Nuovi parametri analizzabili per l’automazione come tempo e carico di
rete
• Configurazione centralizzata
• Compatibilità con potenzialmente qualsiasi base di software (Java, Python,
etc) mediante utilizzo di JSONo XML per usoAPI
Cisco Software Defined Access
Cisco Software-Defined Access (SDA Fabric)

• Gestita dal controller Cisco DNA(Digital Network


Architecture)
• Ottimizzata per la gestione di reti CAN
Obiettivi principali di SDA:
[Link] la provisioning delle reti (configurazioni automatiche dei dispositivi).
[Link] il Control Plane dal Data Plane per gestione centralizzata.
[Link] una rete basata su policy, più sicura e facile da gestire.
[Link] il segment routing e la micro-segmentazione.
Architettura SDA
• Underlay
• Overlay
Underlay + Overlay = Fabric
Compatibilità conSDA

• Alcuni dispositivi nascono con una compatibilità


nativa per le SDAFabric
• Alcuni dispositivi sono stati aggiornati per supportare
le SDAFabric
• Altri dispositivi NON supportano questo paradigma
Software Defined Networking
Underlay

• Permette la connettività di tutti i nodi della SDA


Fabric
• Tutti i nodi all’interno hanno dei ruoli specifici
L’underlay ha assegnato una pool IP differente
rispetto a tutta la rete
RuoliUnderlay
• Fabric edge node
Simile ad un classico access-switch

• Fabric border node


Equiparabile ad un distribution/core switch

• Fabric control node


Uno switch speciale che effettua particolari compiti per lagestione
dell’SDA
Underlay
Caratteristiche

• Tutti gli switch si comportano come L3Switches


• Necessità di un protocollo di routing
• Tutti i collegamenti sono di livello 3 (Routedport)
Overlay
• Ogni volta che un PDU entra nella SDA fabric viene
incapsulato in una nuova struttura di livello 2 gestita
dal protocollo VXLAN
• Questo protocollo permette di incapsulare i dati degli
utenti rendendoli privati agli occhi della SDAFabric
• Grazie a questo incapsulamento supportiamo tutti i
protocolli d’accesso a livello 2 (dato che sono
nascosti dalla sovra-struttura VXLAN).
Overlay
Incapsulamento
LISP
• I nodi di frontiera (fabric edge) identificano il percorso
per raggiungere determinati EndPoint. Ogni subnet viene
identificata con un EID(Endpoint identifier)
• Tutte le corrispondenze percorso - endpoints vengono
tracciati in un server denominato come LISP map server
mediante una matrice con due colonne (RLOC– EID)
• La tabella assume quindi un aspetto simile (ma
semplificato) di una tabella di routing interna alla SDA
LISPArchitecture
Algoritmo LISP
• SW1 riceve un PDU con destinazione [Link]/24
• SW1 invia una richiesta al server LISPMAP per ottenere
un indicazioni su come raggiungere la destinazione
• LISPMAP server confronta la sua tabella e identifica SW2
come destinazione
• LISPMAP server invia una richiesta di conferma a SW2
• SW2 contatta direttamente SW1 per informarlo della
rotta da intraprendere
• SW1 inoltra il PDU incapsulandolo in headerVXLAN
Cisco Digital Network Architecture

• Disegnato per essere adoperato come controller in


Software Defined Access(SDA)di Cisco
• Può essere adoperato come management platform
per reti che non supportano SBI come NETCONF o
RESTCONF( Simil Cisco Prime )
DNAArchitecture
AL vertice della SDA troviamo
il controller Cisco DNA. L’aria
evidenziata in verde prende il
nome di underlay e contiene
tutti i dispositivi di
internetworking della SDA
Fabric. Ogni dispositivo ha un
ruolo prestabilito all’interno
della fabrica, è possibile
identificare il ruolo che ogni
dispositivo può assumere da
apposito datasheet.
Scalable GroupTag
• Similmente a come abbiamo visto per il controller APIC
che usava gli EPG (EndPointGroup) per identificare un
gruppo di dispositivi di accesso DNA raggruppa i
dispositivi in SGT(Scalable GroupTag)
• Ogni SGT corrisponde ad un determinato gruppo di
dispositivi, anche identificati mediante software come
Cisco Identity
• Gli SGTsassumono un ruolo fondamentale
nell’implementazione delle Policy sul DNACenter
ImplementazionePolicy

POLICY1 DNACENTER POLICY2

SOFTWAREDEFINEDACCESS
FABRIC
DNAPolicy

• Una policy è un insieme di regole che permettono o


vietano determinati comportamenti
• La differenza fondamentale tra Policy ed ACLe che le
prime operano su un gruppo di utenti Dinamico,
identificato mediante certificati (ma anche
riconosciuto staticamente) mentre le ACL fanno
riferimento direttamente agli IP delle macchine
Quali sono le differenze fondamentali tra
Cisco DNA ed una comune platform di
Network management?
Cisco Prime Infrastructure
• Èuna piattaforma di management
• Non supporta SDN
• Non centralizza il control plane
• Pone in un contenitore unico la configurazione di tutti i
dispositivi di rete compatibili
• Permette di effettuare procedure di configurazione in
modo centralizzato senza alterare i classici paradigmi di
funzionamento di una rete informatica
Caratteristiche / Funzioni
• Controllo centralizzato
• Mappatura della rete (elenco dispositivi,topologia)
• Usa CDP,LLDP,SNMP ed SSHper gestire la rete
• Èscalabile in quanto permette di aggiungereagilmente
nuovi dispositivi e renderli operativi
• Semplificazione gestione QoS
• SWIM (Update automatici)
• Messa in servizio rapida
VantaggiDNA
• Tutti i classici vantaggi di una piattaforma di network
management tradizionale
• Implementazione QoS ancora piùsemplice
• Avanzati algoritmi simil AVCanche su traffico criptato
• Analisi dei rischi di ognidispositivo
• Analisi richiesta di bandwidth diogni nodo
• Avanzatissima funzionalità di path tracing con rilevazione
dei blocchi (Policy, ACL) per una data comunicazione
Understanding RESTand JSON
Caratteristiche principali

• Architettura Client/Server
• Stateless operation
• Cacheable/uncacheable
RESTfulAPI
Architettura client/Server
• I Client generano un APICALL
• I server accettano le API CALL e
restituiscono una risposta in base alla
loro programmazione con un formato
dati universale (tipicamente JSON)
Statelessoperation
• Non esistono reti di retroazione logiche che
condizionano l’output con le esecuzioni di
richieste precedenti
• Ogni risposta in un tempo t può
considerarsi sicuramente equivalente a
quella data in un tempo t + 1 e per
induzione, f(x,t + n) =f(x,t)
• Dove x rappresenta i parametri in ingresso
e t rappresenta il momento in cui questi
parametri sono passati alla funzione
mediante RESTAPI
Cacheable/uncacheable
• Si dice che un oggetto è cacheable
quando è definito staticamente e non
cambia spesso ( o non cambia
affatto)
• Sidice che un oggetto è uncacheable
quando è soggetto a continua
elaborazione (ad es. i banner
pubblicitari di una pagina web)
Dati evariabili

• Lo stato di un sistema è rappresentabile mediante un


certo numero di variabili, il cui numero varia in base
alla complessità del sistema
• Una variabile è un contenitore di dati associato ad
una determinata area di memoria
• Una variabile ha un tipo, un attributo ed unvalore
Struttura dati HTTP- API

REQUES
IP TCP API HEADER DATA
T
HEADER

TIPO ATTRIBUTO VALORE


CRUDed HTTPverbs
CRUD HTTP VERB
Create POST
Read GET
Update PUT
Delete DELETE
HTTPReturnCode
HTTP CODE Significato
1XX Informativo
2XX Successo
3XX Redirect
4XX Client Error
5XX Server Error
WorkFlow API CALL
Universal Resource Identifier

HTTP://[Link]/dna/inventory/R1

Rosso: Protocollo
Verde: Hostname / IPAddress
Viola: Risorsa
Scambio dati fraapplicazioni
• Spesso Client e Server in una restful API girano su macchine
differenti e ragionano grazie a linguaggi di programmazione
differenti
• Ogni Linguaggio ha un proprio standard proprietario di
gestione delle variabili (che può differire anche tra versione
diverse dello stessolinguaggio)
• Data la mancanza di uno standard condiviso per la gestione
dei dati a livello di memoria, si necessità l’implementazione di
una struttura dati comune per far comunicare apparati
equipaggiati con linguaggi di programmazionedifferenti
Data SerializationLanguage

• JSON
• XML
• YAML
JSON
Javascript Object Notation
• Utilizzato principalmente per RESTful
API
XML
Extensible Markup Language
• Usato principalmente per Api e altri
scopi sul web (ad es. [Link] files)
• È basato sull’utilizzo dei TAG come
HTML
YAML
YAMLAin’t a MarkupLanguage
• Usato principalmente in Ansible
JSONalcuni tipisupportati

• Booleano
• Interi
• Reali (virgola mobile)
• Stringhe (Racchiuse da doppi apici)
• Array (sequenza ordinata di valori, separate da
virgole e racchiuse in parentesi quadre)
Jsonobject
{
Questo è un oggetto
}
Dentro un oggetto possiamo definire delle
variabili, array, coppie chiave valore…
Un oggetto è quindi delimitato da parentesi
graffe
Json Key and value
{
"boolean": true,
"boolean2": false
}

Definiamo la variabile «boolean» alla


quale assegniamo il valore true
Definiamo la variabile «boolean2» alla
quale assegniamo il valore false
JsonArray
{
“Docenti": [ “giuseppe”, ”damiano” ],
“numeri_primi” : [ 1,3,5,7]
}

Gli array sono cosi definiti, I valori sono


separate da virgole e racchiusi da parentesi
quadre.
Understanding Ansible, Puppet
and Chef
Due tipi diconfigurazione

• Decentralizzata
• Centralizzata
Configurazionedecentralizzata

• Rischio alto di configuration drift


• Gestione separata dei dispositivi
• Lungo tempo di sviluppo e configurazione
• Mancanza di uno strumento di controllo sulla
configurazione
• Impossibile tenere traccia delle modifiche nel tempo
Configurazione decentralizzata
Configurazionecentralizzata

• Controllo centrale delle configurazioni


• Si tiene traccia di ogni modifica, evidenziando
opportunamente i cambiamenti
• La configurazione viene fatta su un apparato centrale
che poi successivamente la sincronizza a quella
effettiva sull’ apparato oggetto dellaconfigurazione
Configurazione centralizzata
Nuovo processo di configurazione

• In questo nuovo concept tutte le configurazioni sono


salvate su un apparato centrale
• Tutti gli utenti modificano direttamente le
configurazioni sull’apparato il quale poi le sincronizza
sui dispositivi destinazione
• è possibile visualizzare quali linee di configurazione
hanno subito cambiamenti e da quale utente
Nuovo processo di configurazione
Template

• Un template è un set di istruzioni che viene fatto


corrispondere alla configurazione di un datodispositivo
• Nel template esistono due tipi di dati: Configurazione e
variabili
• La configurazione non cambia
• Le variabili differiscono per ogni dispositivo che utilizza il
template (Similmente a Stampa Unione in MicrosoftWord)
Variabili

• Sono tutti i parametri che differiscono perogni


dispositivo
Esempio : Ip address [Link] [Link]
In blu l’ istruzione, in rosso e verde ledue variabili
Software di automazione

• Ansible
• Puppet
• Chef
Ansible
• Playbooks: configurazione interna
• Inventory: contiene un elenco di dispositivi con alcune
informazioni
• Templates: configurazione dei dispositivi con variabili,
scritto mediante linguaggio Jinja2
• Variables: adoperando YAML possiamo creare la struttura
dati che verrà combinata ai template per ottenere una
configurazione specifica
Puppet

• Manifest: Adoperato per definire lo stato di


configurazione di un nodo di rete, organizzato in
moduli, classi e risorse (template +variabili)
• Templates: La base di configurazione con riferimenti
a variabili
Chef

• Resource: Gli oggetti di configurazione gestiti dachef


• Recipe: Permette di eseguire una particolare task
• Cookbook: insieme di Recipes dello stesso tipo
• Runlist: un insieme di recipe raggruppati per
l’esecuzione in un dato dispositivo
Comparativariassuntiva
Chef Puppet Ansible
File associato alla Recipe, runlist Manifest playbook
configurazione di
un dispositivo
Protocollo di HTTP (RESTAPI) HTTP (RESTAPI) SSH,NETCONF
comunicazione con
i nodi
Agent? SI SI NO

Potrebbero piacerti anche