lesson_01.md 6.5 KB

Piattaforme Software per la Rete - lesson 1

Giacomo Verticale

8 March 2016

Modulo 1 - Introduzione

Pila protocollare OSI Il modulo 1 da una visione trasversare alla rete dal livello di trasporto in basso (comunicazione tra i nodi) Il modulo 2 invece analizza la comunicazione tra gli strati App-Tra-IP di un singolo oggetto.

Per ogni singolo nodo studieremo:

  • I mattoncini per fornire i servizi in un singolo nodo
  • Implementazioni diverse a seconda del contesto (router per sensori 10€/terabit router 10K€)
  • Algoritmi che vengono usati per realizzare il protocollo internet

Esercizi:

  • Valutazione delle prestazioni o esecuzione degli algoritmi visti a lezione
  • Parte di laboratorio in aula informatica (possibile usare il proprio computer)
    • Laboratorio su software defined networking
    • Utilizzeremo un emulatore di rete per implementare le funzioni dei nodi interni.
    • Strumento: macchina virtuale che può eseguire un sottoinsieme di Python

Prova scritta

  • 1 Esercizio di laboratorio: eseguire e commentare programma
  • Esercizi numerici su protocolli e algoritmi

Materiale di studio

  • Slides su beep
  • Articoli che spiegano i concetti visti a lezione
  • Potrebbe servire un libro di reti (richiesta conoscenza protocollo IP, con. base TCP, con. base Ethernet)
  • Libro su algoritmi: Varghese - Network Algorithmics - Morgan Kaufmann 2003
  • Libro copiato dal precedente: Chao - High Performance Switches and Routers - Wiley 2007

Libro Laboratorio

In una Software Defined Network: Controllore programma il router con il protocollo openflow, l'implementazione scelta è Ryu, Per il laboratorio sarà utile il libro: RYU SDN Framework, scaricabile da internetz.

Introduzione

Network Algorithmics: algoritmi da implementare per ottenere le prestazioni richieste da un contesto (bilanciamento costi/prestazioni) Ad esempio per un ambiente in cui è richiesta una banda di 100Kbit/s va bene anche una cpu scarda/algoritmo scarso, se il link da gestire è più veloce servono cpu più veloci e algoritmi più efficienti.

Piattaforme di Sviluppo (SDN)

Difficile fare innovazione su internet perchè serve mantenere la compatibilità con i dispositivi preesistenti, es: IPv6, standardizzato nel 1996, dopo 21 anni sta iniziando ad essere adottato.

SDN si sta affermando ultimamente perchè permette di cambiare il comportamento dei dispositivi di rete con dei programmi. Prima della sua introduzione i dispositivi di rete avevano delle funzioni ben definite dalla fabbrica. All'inizio veniva usato su dispositivi low-end mentre ultimamente è supportato da router ad alte prestazioni.

Gestione di rete

è possibile misurare il traffico ed effettuare ingegneria del traffico

Principi di Guida di internet

Es: IP, Ethernet, e altri protocolli non sono necessariamente il modo migliore di fare le cose, ma una scelta che è stata fatta in un certo contesto. Può essere necessario superare le limitazioni dei protocolli senza sostituirli.

Principi guida dello sviluppo di IP

L'obiettivo iniziale di internet (1969) era di condividere delle risorse, in particolare i Mainframe costavano tanto e comprarne uno per ogni Università, ecc era costoso e portava a dei doppioni.

Obiettivi di internet: (in priorità decrescente)

  • Condivisione e Interconnessione di risorse e reti esistenti
  • Resistenza ai guasti
  • Eterogeneità
  • Gestione Distribuita
  • Facilità di interconnessione
  • Accountability

Questo porta a eterogeneità e decentralizzazione

Condivisione delle risorse di comunicazione

Condivisione è analogo a Multiplazione che implica Commutazione

Commutazione:

  • di circuito esisteva dalla fine dell '800

    • pro: garantisce delle prestazioni
  • di pacchetto era un concetto recente, non ancora provato a lunga distanza

    • pro: possibilità di fare multiplazione statistica -> condivisione efficiente
    • con: non ho garanzia di prestazioni

Comunicazioni informatiche, a differenza di quelle telefoniche non richiedono una banda costante, e quindi si adattano bene alla multiplazione statistica/comm. di pacchetto. Nella commutazione di pacchetto utilizzo i datagrammi che sono una forma di comunicazione autocontenuta (info destinatario incluse). L'eterogeneità del progetto, ad esempio per le prestazioni delle varie reti da interconnettere ha portato ad un modello best effort Best effort: la rete si impegna ad offrire il miglior servizio possibile. In particolare la gestione della comunicazione e dei suoi problemi deve essere gestita dai nodi finali. Servizio richiesto alla rete è semplice: consegnare i datagrammi in ingresso all'uscita. Per questi motivi è stato adottato il Datagramma.

Clessidra di still dearing Rappresentazione dello stack di internet in cui la vita (sottile) della clessidra rappresenta IP, La parte sotto rappresenta i protocolli data-link (WiFi, Ethernet, 4G...) e sotto ancora i vari mezzi fisici (Rame, Fibra, Radio...) Sopra IP abbiamo lo strato di trasporto (TCP, UDP, SCTP) Sopra il trasporto abbiamo i vari livelli applicativi (HTTP, SMTP, FTP...)

Le parti sotto e sopra la vita sono eterogenee. Internet è un esempio di rete multiservizio.

Resistenza ai guasti

è impossibile evitare i guasti, ma si può rimediare:

  • Replicando lo stato della rete
  • Facendo in modo che uno stato non sia essenziale per la rete

A questo proposito è stato implementato il fate-sharing invece della replication(veniva usata nelle reti telefoniche) fate-sharing: è accettabile perdere informazioni di stato se le informazioni perse con il nodo sono relative al nodo. Questo porta ad evitare di distribuire nella rete informazioni di stato relative ad altri nodi, in modo che lo stato legato ad un nodo è sacrificabile.

Il sistema risultante è più semplice ma risulta più lenta la procedura di ripristino dei guasti (rispetto alla replication) Ma ottenere alte prestazioni non era tra gli obiettivi iniziali di internet (oltre alla sicurezza)

Gestione distribuita

Non esiste un nodo centrale in internet, esistono delle autorità centrali per suddividere lo spazio degli indirizzi (riguarda solo configurazione) La cosa più centrale in internet sono i root server DNS che sono comunque 13.

Conseguenze:

  • Internet può funzionare senza alcune parti
  • Nessuno ha una visione completa della rete

Facilità di interconnessione

Accountability

Questo obiettivo non è stato pienamente perseguito, a causa della scelta del datagramma.

Obiettivi non previsti inizialmente:

  • sicurezza
  • prestazioni
  • mobilità (spostamento continuo)
  • supporto al nomadismo (collegamento in posti diversi)