X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=network.tex;h=490112b816f839196374cfcf4a034ece60a40181;hp=7227fe84c8a64af0012f5f512dd3fa5cb9d6cc3e;hb=7208522fd60468969d96dba5d8dd2cbd24b75b89;hpb=7b43a7843d483c826a6ed13224208c615a23c4d6 diff --git a/network.tex b/network.tex index 7227fe8..490112b 100644 --- a/network.tex +++ b/network.tex @@ -158,6 +158,53 @@ questo modo si può distribuire il carico ed accedere in maniera efficiente i dati. +\subsection{Il modello \textit{broadcast}} +\label{sec:net_broadcast} + +Uno specifico modello relativo alla programmazione di rete è poi quello in cui +è possibile, invece della classica comunicazione uno ad uno comunque usata in +tutti i modelli precedenti (anche nel \texttt{peer to peer} la comunicazione è +comunque fra singoli ``\textit{peer}''), una comunicazione da uno a molti. + +\itindbeg{broadcast} + +Questo modello nasce dal fatto che molte tecnologie di rete (ed in particolare +la Ethernet, che è probabilmente la più diffusa) hanno il supporto per +effettuare una comunicazione in cui un nodo qualunque della rete più inviare +informazioni in contemporanea a tutti gli altri. In questo caso si parla di +\textit{broadcast}, utilizzando la nomenclatura usata per le trasmissioni +radio, anche se in realtà questo tipo di comunicazione è eseguibile da un nodo +qualunque per cui tutti quanti possono ricoprire sia il ruolo di trasmettitore +che quello di ricevitore. + +\itindbeg{multicast} + +In genere si parla di \textit{broadcast} quando la trasmissione uno a molti è +possibile fra qualunque nodo di una rete e gli altri, ed è supportata +direttamente dalla tecnologia di collegamento utilizzata. L'utilizzo di questa +forma di comunicazione da uno a molti però può risultare molto utile anche +quando questo tipo di supporto non è disponibile (come ad esempio su Internet, +dove non si possono contattare tutti i nodi presenti). + +\itindend{broadcast} + +In tal caso alcuni protocolli di rete (e quelli usati per Internet sono fra +questi) supportano una variante del\textit{broadcast}, detta +\textit{multicast}, in cui resta possibile fare una comunicazione uno a molti, +in cui una applicazione invia i pacchetti a molte altre, in genere passando +attraverso un opportuno supporto degli apparati ed una qualche forma di +registrazione che consente la distribuzione della cominicazione ai nodi +interessati. + +\itindend{multicast} + +Ovviamente i programmi che devono realizzare un tipo di comunicazione di +questo tipo (come ad esempio potrebbero essere quelli che effettuano uno +\textit{streaming} di informazioni) devono rispondere a delle problematiche +del tutto diverse da quelle classiche illustrate nei modelli precedenti, e +costituiscono pertanto un'altra classe completamente a parte. + + \section{I protocolli di rete} \label{sec:net_protocols} @@ -421,7 +468,7 @@ molti membri. In fig.~\ref{fig:net_tcpip_overview} si è riportato uno schema che mostra un panorama sui principali protocolli della famiglia, e delle loro relazioni reciproche e con alcune dalle principali applicazioni che li usano. -\begin{figure}[!htbp] +\begin{figure}[!htb] \centering \includegraphics[width=13cm]{img/tcpip_overview} \caption{Panoramica sui vari protocolli che compongono la suite TCP/IP.}