feat: add new images for unicast, multicast, broadcast, and P2P network, and update bibliography with relevant citations
All checks were successful
Build LaTeX Document / build_latex (push) Successful in 5m26s

This commit is contained in:
2025-03-31 16:08:20 +02:00
parent f9e8345eba
commit 6f4cd93528
8 changed files with 150 additions and 9 deletions

121
Tesi.tex
View File

@@ -24,6 +24,8 @@
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{geometry}
\usepackage{tabularx}
@@ -254,7 +256,7 @@ Fin dai suoi albori Internet, nato da ARPAnet, svolge un ruolo importantissimo n
Negli anni e per come è stato concepito Internet stesso architetturalmente, si sono venuti a formare veri metodi di comunicazione tra gli utilizzatori e gli erogatori di servizi Internet, più o meno sicuri, efficaci o resilienti rispetto a tematiche come la privacy dei dati, la centralizzazione e costi di operazione.
Il modello Client/Server è certamente il più diffuso, reso famoso dall'imponente World Wide Web, il modo più intuitivo di utilizzare Internet ma certamente non l'unico.\cite[]{w3c} Questa architettura, specialmente nell'ambito della trasmissione di contenuti audiovisivi in streaming, presenta notevoli sfide tecniche ed economiche. L'infrastruttura centralizzata richiede server potenti e costosi che devono gestire simultaneamente migliaia di connessioni, con un consumo di banda che cresce linearmente con il numero di spettatori.
Il modello Client/Server è certamente il più diffuso, reso famoso dall'imponente World Wide Web, il modo più intuitivo di utilizzare Internet ma certamente non l'unico.\cite{w3c} Questa architettura, specialmente nell'ambito della trasmissione di contenuti audiovisivi in streaming, presenta notevoli sfide tecniche ed economiche. L'infrastruttura centralizzata richiede server potenti e costosi che devono gestire simultaneamente migliaia di connessioni, con un consumo di banda che cresce linearmente con il numero di spettatori.
Negli ultimi anni, diverse piattaforme hanno cercato di risolvere questo problema attraverso l'adozione di tecnologie peer-to-peer (P2P) per la distribuzione dei contenuti. Tra queste, PeerTube si distingue come una delle soluzioni più promettenti, combinando una struttura federata con tecnologie di streaming P2P che promettono di ridurre significativamente il carico sui server centrali.
@@ -282,7 +284,7 @@ Le tecnologie peer-to-peer offrono un approccio alternativo che potrebbe risolve
\item \textbf{Decentralizzazione del controllo}: Nessuna entità singola può controllare completamente il flusso di informazioni.
\end{itemize}
Tra le varie piattaforme che utilizzano questo approccio, PeerTube ha attirato la nostra attenzione per la sua architettura ibrida che combina federazione e P2P, e per le affermazioni dei suoi sviluppatori riguardo l'efficienza di questo approccio. In particolare, un articolo pubblicato dal team di PeerTube sostiene che la loro implementazione P2P può ridurre il carico sul server di origine fino all'80%, una cifra che merita un'analisi approfondita e una verifica indipendente.
Tra le varie piattaforme che utilizzano questo approccio, PeerTube ha attirato la nostra attenzione per la sua architettura ibrida che combina federazione e P2P, e per le affermazioni dei suoi sviluppatori riguardo l'efficienza di questo approccio. In particolare, un articolo pubblicato dal team di PeerTube sostiene che la loro implementazione P2P può ridurre il carico sul server di origine fino all'80\%, una cifra che merita un'analisi approfondita e una verifica indipendente.
\chapter{Stato dell'arte}
\epigraph{In questo capitolo analizzeremo il panorama attuale delle tecnologie di streaming, confrontando approcci centralizzati e decentralizzati per comprendere i loro punti di forza e debolezza.}{}
@@ -295,7 +297,7 @@ Un sistema Client/Server è un tipo di computazione distribuita in cui i clienti
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{images/client-server.png}
\includegraphics[width=300pt]{images/Client-server-model.png}
\caption{Modello Client/Server tradizionale}
\end{figure}
@@ -317,10 +319,16 @@ Nonostante i vantaggi in termini di semplicità d'uso e accessibilità, questo m
\item Vulnerabilità a censura e manipolazione dei contenuti
\end{itemize}
\subsection{Peer-to-Peer e Web 3.0}
\subsection{Peer-to-Peer}
Il modello peer-to-peer rappresenta un approccio alternativo in cui ogni nodo della rete può fungere sia da client che da server, eliminando la necessità di un'infrastruttura centralizzata. Questo modello è alla base di molte tecnologie del cosiddetto Web 3.0, caratterizzato da:
\begin{figure}[H]
\centering
\includegraphics[width=250pt]{images/p2p-network.png}
\caption{Modello P2P}
\end{figure}
\begin{itemize}
\item Decentralizzazione del controllo e distribuzione del carico
\item Maggiore privacy e sovranità sui dati personali
@@ -337,7 +345,100 @@ Tuttavia, le soluzioni P2P presentano anche alcune sfide:
\item Sfide tecniche come il NAT traversal e la connettività tra peer
\end{itemize}
\break
\section{Modelli di distribuzione dei dati in rete}
La distribuzione dei dati nelle reti di computer può seguire diversi modelli, ciascuno con caratteristiche specifiche e casi d'uso ottimali. I tre principali modelli di distribuzione sono: unicast, multicast e broadcast. Comprendere questi modelli è essenziale per analizzare le soluzioni di streaming video, poiché ciascuno offre vantaggi e svantaggi in termini di efficienza, scalabilità e facilità di implementazione.
\subsection{Unicast}
Il modello unicast consiste nella trasmissione di dati da un mittente a un singolo destinatario specifico. Questo è il modello predominante su Internet e viene utilizzato dalla maggior parte dei servizi di streaming video tradizionali.
\begin{figure}[H]
\centering
\includegraphics[width=300pt]{images/Unicast.png}
\caption{Modello di comunicazione Unicast.}
\end{figure}
\textbf{Caratteristiche principali:}
\begin{itemize}
\item \textbf{Connessione uno-a-uno:} Ogni client stabilisce una connessione dedicata con il server.
\item \textbf{Consumo di banda:} La banda richiesta sul server aumenta linearmente con il numero di client.
\item \textbf{Controllo individuale:} Ogni client può controllare indipendentemente la riproduzione (pausa, riavvolgimento, ecc.).
\item \textbf{Personalizzazione:} Permette contenuti e pubblicità personalizzati per ogni utente.
\end{itemize}
\textbf{Implicazioni per lo streaming video:}
Il modello unicast è semplice da implementare e garantisce un elevato controllo sull'esperienza utente, ma diventa estremamente inefficiente quando molti utenti richiedono lo stesso contenuto contemporaneamente. Un server che trasmette un video in HD a 1000 spettatori deve inviare 1000 copie identiche dello stesso flusso dati, con conseguente consumo elevato di banda e risorse del server \cite{wiki:Unicast}.
\subsection{Multicast}
Il multicast è un modello di distribuzione in cui i dati vengono inviati a un gruppo specifico di destinatari simultaneamente. Anziché inviare più copie dei dati, il server invia una singola copia che viene replicata dai router di rete solo quando necessario.
\begin{figure}[H]
\centering
\includegraphics[width=300pt]{images/Multicast.png}
\caption{Modello di comunicazione Multicast.}
\end{figure}
\textbf{Caratteristiche principali:}
\begin{itemize}
\item \textbf{Efficienza della banda:} Indipendentemente dal numero di ricevitori, il traffico generato rimane costante fino ai punti di biforcazione nella rete.
\item \textbf{Gruppi di destinazione:} I client si iscrivono a gruppi multicast specifici per ricevere determinati flussi di dati.
\item \textbf{Supporto dell'infrastruttura:} Richiede router compatibili con il protocollo Internet Group Management Protocol (IGMP).
\item \textbf{Controllo limitato:} Tutti i client ricevono lo stesso flusso contemporaneamente, limitando le opzioni di controllo individuale.
\end{itemize}
\textbf{Implicazioni per lo streaming video:}
Il multicast è teoricamente ideale per eventi live con molti spettatori, poiché riduce drasticamente il carico sui server e sulla rete backbone. Tuttavia, la sua adozione su Internet pubblico è limitata perché molti ISP e router domestici non supportano pienamente il routing multicast. È più comunemente utilizzato in reti aziendali, IPTV e altre reti gestite \cite{wiki:Multicast}.
\subsection{Broadcast}
Il broadcast consiste nell'invio di dati a tutti i dispositivi all'interno di una rete. A differenza del multicast, che indirizza un gruppo specifico, il broadcast raggiunge indiscriminatamente tutti i nodi in un dominio di broadcast.
\begin{figure}[H]
\centering
\includegraphics[width=300pt]{images/Broadcast.png}
\caption{Modello di comunicazione Broadcast.}
\end{figure}
\textbf{Caratteristiche principali:}
\begin{itemize}
\item \textbf{Copertura totale:} Raggiunge tutti i dispositivi nella rete locale.
\item \textbf{Nessuna configurazione client:} I destinatari non devono iscriversi o configurare nulla per ricevere i dati.
\item \textbf{Limitazioni di scala:} Generalmente limitato a singoli segmenti di rete a causa dei problemi di congestione che potrebbe causare.
\item \textbf{Utilizzo inefficiente:} Molti destinatari potrebbero non essere interessati ai dati trasmessi.
\end{itemize}
Nelle nostre analisi, andremo a considerare solo soluzioni Unicast in quanto si tratta del modello più diffuso e utilizzato, anche perché le tecnologie di streaming che analizzeremo sono tutte implementate a livello applicativo dello stack TCP/IP e quindi operano naturalmente in modalità unicast.
\textbf{Implicazioni per lo streaming video:}
Il broadcast è raramente utilizzato per lo streaming video su Internet, principalmente a causa delle sue limitazioni di scala e dell'inefficienza. È più adatto per scopi come la scoperta di dispositivi in reti locali o la trasmissione televisiva tradizionale. Nel contesto delle reti IP, il broadcast è generalmente considerato obsoleto per applicazioni di streaming a favore di approcci più mirati come multicast o tecnologie come CDN e P2P \cite{wiki:Broadcasting_networking}.
\subsection{Confronto e applicazioni nello streaming video}
\begin{table}[H]
\centering
\caption{Confronto tra modelli di distribuzione dei dati per lo streaming video.}
\label{tab:distribution-models}
\begin{tabular}{lccc}
\toprule
\textbf{Caratteristica} & \textbf{Unicast} & \textbf{Multicast} & \textbf{Broadcast} \\
\midrule
Scalabilità & Limitata & Eccellente & Molto limitata \\
Controllo utente & Completo & Limitato & Assente \\
Supporto Internet & Universale & Limitato & Non utilizzato \\
Efficienza larghezza di banda & Bassa & Alta & Molto bassa \\
Personalizzazione contenuti & Possibile & Difficile & Impossibile \\
Implementazione CDN & Semplice & Complessa & Non applicabile \\
\bottomrule
\end{tabular}
\end{table}
Le soluzioni di streaming decentralizzate come PeerTube cercano di combinare i vantaggi del multicast (efficienza della banda) con l'universale supporto dell'unicast, utilizzando connessioni peer-to-peer per distribuire il carico. Questo approccio "multicast simulato" permette di raggiungere un'efficienza simile al multicast nativo senza richiedere supporto specifico da parte dell'infrastruttura di rete.
Le applicazioni CDN (Content Delivery Network) rappresentano un altro approccio per migliorare l'efficienza dell'unicast, posizionando copie dei contenuti più vicino agli utenti finali, ma senza modificare il modello di comunicazione di base \cite{wiki:Content_delivery_network}.
Nell'evoluzione dello streaming video, stiamo assistendo a un crescente interesse verso soluzioni ibride che combinano questi diversi modelli per ottimizzare l'esperienza utente, l'efficienza della rete e i costi operativi.
\section{Casi d'uso per lo streaming decentralizzato}
@@ -1497,7 +1598,15 @@ Rapporto P2P/Server & 3:1 & \\
Il traffico misurato da WebRTC e il campo \textit{data-channel} mostrano un traffico P2P in download totale di 8.84 GiB, con un rapporto di 3:1 rispetto al traffico HTTP totale, anche in questo caso leggermente superiore rispetto alla configurazione Normal Latency.
\
\begin{figure}[H]
\centering
\begin{align}
\text{P2P/Server Ratio} &= \frac{\text{P2P Traffic}}{\text{HTTP Traffic}} \approx 3 \\
\text{P2P Percentage} &= \frac{\text{P2P Traffic}}{\text{Total Traffic}} \times 100\% \approx 75\%
\end{align}
\caption{Formule matematiche per il calcolo del rapporto P2P/Server e della percentuale di traffico P2P.}
\label{fig:p2p-ratio-formula}
\end{figure}
Infine, i dati raccolti dai nostri test mostrano che: