polito.it
Politecnico di Torino (logo)

Servizi di Rete in Linux e eBPF: Competizione o Cooperazione? = Network Services in Linux and eBPF: Competition or Cooperation?

Francesco Paolo Messina

Servizi di Rete in Linux e eBPF: Competizione o Cooperazione? = Network Services in Linux and eBPF: Competition or Cooperation?

Rel. Fulvio Giovanni Ottavio Risso. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2019

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (14MB) | Preview
Abstract:

Il mondo del Networking è sempre più orientato verso la virtualizzazione. Funzioni di rete virtuali consentono una scalabilità e una flessibilità senza precedenti. Polycube è un framework in grado di creare e distruggere funzioni di rete veloci. Questa tecnologia si basa sulla macchina virtuale eBPF, che permette di iniettare codice verificato e compilato direttamente nel kernel Linux. I programmi eBPF possono intercettare, accedere, modificare e reindirizzare i pacchetti, garantendo ottime prestazioni e permettendo lo sviluppo di nuove funzioni di rete. Gli stessi programmi eBPF però nel momento in cui vengono iniettati nel kernel, devono essere in grado di gestire tutta la complessità della nuova funzione di rete che voglio implementare. Ad esempio, sviluppare un Router eBPF richiede la gestione di una tabella di routing, gestire protocolli quali ARP, ICMP e soprattutto i protocolli di routing: OSPF, RIP, BGP ecc. Linux però sarebbe in grado di gestire quel traffico (direttamente o tramite l'utilizzo di demoni) senza dover re-implementare tutti i protocolli e le funzionalità da zero. Lo scopo di questo progetto di tesi è proprio quello di capire se e come, eBPF e Linux possano cooperare tra di loro, scambiandosi informazioni e sfruttando tutti i vantaggi che potrebbero derivarne.

Relatori: Fulvio Giovanni Ottavio Risso
Anno accademico: 2018/19
Tipo di pubblicazione: Elettronica
Numero di pagine: 78
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: Politecnico di Torino
URI: http://webthesis.biblio.polito.it/id/eprint/11032
Modifica (riservato agli operatori) Modifica (riservato agli operatori)