Network operators who have embraced Software Defined Networking (SDN) in the past have discovered that their interest in programmability does not stop at the control plane. Programmability at the data plane prevents the ossification of the network by enabling the development of new protocols at the speed of the software development. It also allows network operators to offload and accelerate Virtual Network Functions (VNFs), usually implemented as virtual machines or containers. Indeed, the increase of traffic demands due to new applications and user requirements poses issues on scaling VNFs that treat user-generated traffic. In this thesis work, we analyzed how heterogeneous programmable networks can be exploited to accelerate network functions and how developers can experiment with new offloading use cases without dealing with expensive hardware testbeds. First, we investigate an offloading use case. We demonstrate how traffic classification in Internet Service Provider (ISP) networks can be offloaded and accelerated, exploiting programmable stateful data planes. We then investigate how to exploit maximally the heterogeneous resources exposed by nowadays programmable networks. We propose the decomposition of VNFs in sub-components called microVNFs (uVNFs) and distribute them on the network resources. We propose a framework to deploy and allocate decomposed network functions on networks comprising programmable hardware and software counterparts. The optimization models and heuristics make it possible to maximally exploit the data plane resources, and, in case of network resources shortage, the models allocate network functions using containers running on general-purpose compute elements. We then investigate how prototyping platforms and libraries can reduce the turnaround time and help programmers develop new offloading use cases. We build a prototyping platform to experiment with programmable heterogeneous networks. We show how developers can experiment with new and innovative offloading use cases using a virtual prototyping platform. We also propose a library, written in P4, to develop applications on stateful data planes without the need for expensive hardware prototypes or complex testbeds. Finally, we analyze another offloading use case from ISP's networks, proposing a disaggregated Broadband Network Gateway (BNG). We show how the BNG can be split between the control plane and the user plane, illustrating a possible implementation. We also analyze the API requirements between the control and user plane and propose a solution based on data-center technologies to allow interoperability between different vendor solutions.

Gli operatori di rete che utilizzano il paradigma di Software-Defined Networking (SDN) nelle loro reti hanno scoperto che il loro interesse per la programmabilità della rete non si ferma al solo piano di controllo. Aprire la programmabilità del piano dati, infatti, previene la fossilizzazione della rete, permettendo lo sviluppo di nuovi protocolli con la stessa velocità dello sviluppo del software. Gli operatori di rete possono inoltre scaricare nel piano dati, e quindi accelerare, le funzionalità di rete che di solito vengono implementate come macchine virtuali o container, infatti l'incremento di traffico dovuto a nuove applicazioni e i nuovi requisiti degli utenti stanno mettendo in luce problemi di scalabilità delle funzioni che trattano direttamente il traffico generato dagli utenti. In questo lavoro di tesi, abbiamo analizzato come le reti programmabili eterogenee possono essere sfruttate per accelerare le funzioni di rete e come gli sviluppatori possono sperimentare facilmente nuovi casi d'uso senza necessità di utilizzare testbed hardware costosi. Come prima cosa, proponiamo un esempio di come il piano dati può essere sfruttato per implementare funzioni di rete. Abbiamo analizzato come la classificazione del traffico nella rete degli Internet Service Provider (ISP) può essere aiutata sfruttando il piano dati programmabile. Come ulteriore contributo, proponiamo di decomporre le funzioni di rete in sotto-componenti chiamate micro funzioni di rete e di distribuirle nelle risorse disponibili. Si propone un framework per installare e allocare le funzioni di rete decomposte in reti eterogenee composte da hardware programmabile e server che possono allocare container. Il modello di ottimizzazione e l'euristica proposti permettono di sfruttare al massimo le risorse eterogenee del piano dati, ed in caso di mancanza di risorse permettono di allocare container su nodi di computazione. Abbiamo anche analizzato come le piattaforme e librerie di prototipazione possono ridurre il tempo di sviluppo e aiutare i programmatori a sviluppare nuovi casi d'uso. Proponiamo, quindi, una piattaforma di prototipazione per sperimentare con reti eterogenee programmabili. Abbiamo analizzato come gli sviluppatori possono sperimentare nuovi ed innovativi casi di spostamento di funzionalità al piano dati programmabile usando una piattaforma di prototipazione completamente virtuale. Proponiamo anche una libreria, scritta in P4, per sviluppare applicazioni per piano dati stateful senza necessità di costosi prototipi hardware e testbed complessi. Infine, abbiamo analizzato un altro caso di spostamento di funzionalità al piano dati nelle reti degli ISP. Proponiamo di disaggregare il Broadband Network Gateway (BNG) in due elementi, chiamati piano di controllo e piano utente, illustrando un'implementazione concreta. Abbiamo analizzato anche i requisiti delle API tra i due piani e proponiamo una soluzione basata su tecnologie data-center per permettere l'interoperabilità di soluzioni proposte da vendor diversi.

Network Function Offloading and Prototyping on Heterogeneous Networks with Programmable Data Planes

Moro, Daniele
2020/2021

Abstract

Network operators who have embraced Software Defined Networking (SDN) in the past have discovered that their interest in programmability does not stop at the control plane. Programmability at the data plane prevents the ossification of the network by enabling the development of new protocols at the speed of the software development. It also allows network operators to offload and accelerate Virtual Network Functions (VNFs), usually implemented as virtual machines or containers. Indeed, the increase of traffic demands due to new applications and user requirements poses issues on scaling VNFs that treat user-generated traffic. In this thesis work, we analyzed how heterogeneous programmable networks can be exploited to accelerate network functions and how developers can experiment with new offloading use cases without dealing with expensive hardware testbeds. First, we investigate an offloading use case. We demonstrate how traffic classification in Internet Service Provider (ISP) networks can be offloaded and accelerated, exploiting programmable stateful data planes. We then investigate how to exploit maximally the heterogeneous resources exposed by nowadays programmable networks. We propose the decomposition of VNFs in sub-components called microVNFs (uVNFs) and distribute them on the network resources. We propose a framework to deploy and allocate decomposed network functions on networks comprising programmable hardware and software counterparts. The optimization models and heuristics make it possible to maximally exploit the data plane resources, and, in case of network resources shortage, the models allocate network functions using containers running on general-purpose compute elements. We then investigate how prototyping platforms and libraries can reduce the turnaround time and help programmers develop new offloading use cases. We build a prototyping platform to experiment with programmable heterogeneous networks. We show how developers can experiment with new and innovative offloading use cases using a virtual prototyping platform. We also propose a library, written in P4, to develop applications on stateful data planes without the need for expensive hardware prototypes or complex testbeds. Finally, we analyze another offloading use case from ISP's networks, proposing a disaggregated Broadband Network Gateway (BNG). We show how the BNG can be split between the control plane and the user plane, illustrating a possible implementation. We also analyze the API requirements between the control and user plane and propose a solution based on data-center technologies to allow interoperability between different vendor solutions.
PERNICI, BARBARA
CESANA, MATTEO
30-set-2021
Gli operatori di rete che utilizzano il paradigma di Software-Defined Networking (SDN) nelle loro reti hanno scoperto che il loro interesse per la programmabilità della rete non si ferma al solo piano di controllo. Aprire la programmabilità del piano dati, infatti, previene la fossilizzazione della rete, permettendo lo sviluppo di nuovi protocolli con la stessa velocità dello sviluppo del software. Gli operatori di rete possono inoltre scaricare nel piano dati, e quindi accelerare, le funzionalità di rete che di solito vengono implementate come macchine virtuali o container, infatti l'incremento di traffico dovuto a nuove applicazioni e i nuovi requisiti degli utenti stanno mettendo in luce problemi di scalabilità delle funzioni che trattano direttamente il traffico generato dagli utenti. In questo lavoro di tesi, abbiamo analizzato come le reti programmabili eterogenee possono essere sfruttate per accelerare le funzioni di rete e come gli sviluppatori possono sperimentare facilmente nuovi casi d'uso senza necessità di utilizzare testbed hardware costosi. Come prima cosa, proponiamo un esempio di come il piano dati può essere sfruttato per implementare funzioni di rete. Abbiamo analizzato come la classificazione del traffico nella rete degli Internet Service Provider (ISP) può essere aiutata sfruttando il piano dati programmabile. Come ulteriore contributo, proponiamo di decomporre le funzioni di rete in sotto-componenti chiamate micro funzioni di rete e di distribuirle nelle risorse disponibili. Si propone un framework per installare e allocare le funzioni di rete decomposte in reti eterogenee composte da hardware programmabile e server che possono allocare container. Il modello di ottimizzazione e l'euristica proposti permettono di sfruttare al massimo le risorse eterogenee del piano dati, ed in caso di mancanza di risorse permettono di allocare container su nodi di computazione. Abbiamo anche analizzato come le piattaforme e librerie di prototipazione possono ridurre il tempo di sviluppo e aiutare i programmatori a sviluppare nuovi casi d'uso. Proponiamo, quindi, una piattaforma di prototipazione per sperimentare con reti eterogenee programmabili. Abbiamo analizzato come gli sviluppatori possono sperimentare nuovi ed innovativi casi di spostamento di funzionalità al piano dati programmabile usando una piattaforma di prototipazione completamente virtuale. Proponiamo anche una libreria, scritta in P4, per sviluppare applicazioni per piano dati stateful senza necessità di costosi prototipi hardware e testbed complessi. Infine, abbiamo analizzato un altro caso di spostamento di funzionalità al piano dati nelle reti degli ISP. Proponiamo di disaggregare il Broadband Network Gateway (BNG) in due elementi, chiamati piano di controllo e piano utente, illustrando un'implementazione concreta. Abbiamo analizzato anche i requisiti delle API tra i due piani e proponiamo una soluzione basata su tecnologie data-center per permettere l'interoperabilità di soluzioni proposte da vendor diversi.
File allegati
File Dimensione Formato  
Tesi_PhD__FINAL_.pdf

accessibile in internet solo dagli utenti autorizzati

Dimensione 8.08 MB
Formato Adobe PDF
8.08 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/178080