Un monte di correzioni fatte su indicazioni di Mirko Maischberger.
[gapil.git] / network.tex
index 24276902ecf41a0228a8ac646e45ab7d2cf3d1af..ed310b1d41f77102e36368a4ddc64cc641d3d0a0 100644 (file)
@@ -192,7 +192,7 @@ dal 1984 il Modello di Riferimento \textit{Open Systems Interconnection}
     Livello 4&\textit{Transport}    &\textsl{Trasporto} \\ 
     Livello 3&\textit{Network}      &\textsl{Rete}\\ 
     Livello 2&\textit{DataLink}     &\textsl{Collegamento Dati} \\
     Livello 4&\textit{Transport}    &\textsl{Trasporto} \\ 
     Livello 3&\textit{Network}      &\textsl{Rete}\\ 
     Livello 2&\textit{DataLink}     &\textsl{Collegamento Dati} \\
-    Livello 1&\textit{Connection}   &\textsl{Connessione Fisica} \\
+    Livello 1&\textit{Physical}   &\textsl{Connessione Fisica} \\
     \hline
 \end{tabular}
 \caption{I sette livelli del protocollo ISO/OSI.}
     \hline
 \end{tabular}
 \caption{I sette livelli del protocollo ISO/OSI.}
@@ -200,14 +200,41 @@ dal 1984 il Modello di Riferimento \textit{Open Systems Interconnection}
 \end{table}
 
 Il modello ISO/OSI è stato sviluppato in corrispondenza alla definizione della
 \end{table}
 
 Il modello ISO/OSI è stato sviluppato in corrispondenza alla definizione della
-serie di protocolli X.25 per la commutazione di pacchetto. Ma nonostante il
-lavoro dettagliato di standardizzazione il modello si è rivelato
-sostanzialmente troppo complesso e poco flessibile rispetto a quello
-precedente, il TCP/IP, su cui si basa internet, che è diventato uno standard
-de facto.  Il modello di quest'ultimo viene chiamato anche modello DoD (sigla
-che sta per \textit{Department of Defense}), dato che fu sviluppato
-dall'agenzia ARPA per il Dipartimento della Difesa Americano.
+serie di protocolli X.25 per la commutazione di pacchetto; come si vede è un
+modello abbastanza complesso\footnote{infatti per memorizzarne i vari livelli
+  è stata creata la frase \texttt{All people seem to need data processing}, in
+  cui ciascuna parola corrisponde all'iniziale di uno dei livelli.}, tanto che
+usualmente si tende a suddividerlo in due parti, secondo lo schema mostrato in
+\figref{fig:net_osi_tcpip_comp}, con un \textit{upper layer} che riguarda solo
+le applicazioni, che viene realizzato in user space, ed un \textit{lower
+  layer} in cui si mescolano la gestione fatta dal kernel e le funzionalità
+fornite dall'hardware.
+
+Il modello ISO/OSI mira ad effettuare una classificazione completamente
+generale di ogni tipo di protocollo di rete; nel frattempo però era stato
+sviluppato anche un altro modello, relativo al protocollo TCP/IP, che è quello
+su cui è basata internet, che è diventato uno standard de facto.  Questo
+modello viene talvolta chiamato anche modello \textit{DoD} (sigla che sta per
+\textit{Department of Defense}), dato che fu sviluppato dall'agenzia ARPA per
+il Dipartimento della Difesa Americano.
 
 
+\begin{figure}[!htb]
+  \centering
+  \includegraphics[width=13cm]{img/iso_tcp_comp}
+  \caption{Struttura a livelli dei protocolli OSI e TCP/IP, con la  
+    relative corrispondenze e la divisione fra kernel e user space.}
+  \label{fig:net_osi_tcpip_comp}
+\end{figure}
+
+La scelta fra quale dei due modelli utilizzare dipende per lo più dai gusti
+personali. Come caratteristiche generali il modello ISO/OSI è più teorico e
+generico, basato separazioni funzionali, mentre il modello TCP/IP è più vicino
+alla separazione concreta dei vari strati del sistema operativo; useremo
+pertanto quest'ultimo, anche per la sua maggiore semplicità.\footnote{questa
+  semplicità ha un costo quando si fa riferimento agli strati più bassi, che
+  sono in effetti descritti meglio dal modello ISO/OSI, in quanto gran parte
+  dei protocolli di trasmissione hardware sono appunto strutturati sui due
+  livelli di \textit{Data Link} e \textit{Connection}.}
 
 \subsection{Il modello TCP/IP (o DoD)}
 \label{sec:net_tcpip_overview}
 
 \subsection{Il modello TCP/IP (o DoD)}
 \label{sec:net_tcpip_overview}
@@ -216,10 +243,11 @@ Cos
 (riassunti in \tabref{tab:net_layers}); un confronto fra i due è riportato in
 \figref{fig:net_osi_tcpip_comp} dove viene evidenziata anche la corrispondenza
 fra i rispettivi livelli (che comunque è approssimativa) e su come essi vanno
 (riassunti in \tabref{tab:net_layers}); un confronto fra i due è riportato in
 \figref{fig:net_osi_tcpip_comp} dove viene evidenziata anche la corrispondenza
 fra i rispettivi livelli (che comunque è approssimativa) e su come essi vanno
-ad inserirsi all'interno di un sistema rispetto alla divisione fra user space
-e kernel space spiegata in \secref{sec:intro_unix_struct}.\footnote{in realtà
-  è possibile accedere, attraverso una opportuna interfaccia (come vedremo in
-  \secref{sec:sock_sa_packet}), anche ai livelli inferiori.}
+ad inserirsi all'interno del sistema rispetto alla divisione fra user space e
+kernel space spiegata in \secref{sec:intro_unix_struct}.\footnote{in realtà è
+  sempre possibile accedere dallo user space, attraverso una opportuna
+  interfaccia (come vedremo in \secref{sec:sock_sa_packet}), ai livelli
+  inferiori del protocollo.}
 
 \begin{table}[htb]
   \centering
 
 \begin{table}[htb]
   \centering
@@ -267,14 +295,6 @@ copre il livello 2. Le funzioni dei vari livelli sono le seguenti:
   l'invio e la ricezione dei pacchetti da e verso l'hardware.
 \end{basedescript}
 
   l'invio e la ricezione dei pacchetti da e verso l'hardware.
 \end{basedescript}
 
-\begin{figure}[!htb]
-  \centering
-  \includegraphics[width=13cm]{img/iso_tcp_comp}
-  \caption{Struttura a livelli dei protocolli OSI e TCP/IP, con la  
-    relative corrispondenze e la divisione fra kernel e user space.}
-  \label{fig:net_osi_tcpip_comp}
-\end{figure}
-
 La comunicazione fra due stazioni remote avviene secondo le modalità
 illustrate in \figref{fig:net_tcpip_data_flux}, dove si è riportato il flusso
 dei dati reali e i protocolli usati per lo scambio di informazione su ciascun
 La comunicazione fra due stazioni remote avviene secondo le modalità
 illustrate in \figref{fig:net_tcpip_data_flux}, dove si è riportato il flusso
 dei dati reali e i protocolli usati per lo scambio di informazione su ciascun
@@ -282,7 +302,7 @@ livello. Si 
 se in realtà i protocolli di trasmissione usati possono essere molti altri.
 
 \begin{figure}[!htb]
 se in realtà i protocolli di trasmissione usati possono essere molti altri.
 
 \begin{figure}[!htb]
-  \centering \includegraphics[width=12cm]{img/tcp_data_flux}
+  \centering \includegraphics[width=13cm]{img/tcp_data_flux}
   \caption{Strutturazione del flusso dei dati nella comunicazione fra due
     applicazioni attraverso i protocolli della suite TCP/IP.}
   \label{fig:net_tcpip_data_flux}
   \caption{Strutturazione del flusso dei dati nella comunicazione fra due
     applicazioni attraverso i protocolli della suite TCP/IP.}
   \label{fig:net_tcpip_data_flux}
@@ -304,7 +324,7 @@ la procedura si pu
 \item I dati delle applicazioni vengono inviati al livello di trasporto usando
   un'interfaccia opportuna (i \textit{socket}\index{socket}, che esamineremo
   in dettaglio in \capref{cha:socket_intro}). Qui verranno spezzati in
 \item I dati delle applicazioni vengono inviati al livello di trasporto usando
   un'interfaccia opportuna (i \textit{socket}\index{socket}, che esamineremo
   in dettaglio in \capref{cha:socket_intro}). Qui verranno spezzati in
-  pacchetti di dimensione opportuna e incapsulati nel protocollo di trasporto,
+  pacchetti di dimensione opportuna e inseriti nel protocollo di trasporto,
   aggiungendo ad ogni pacchetto le informazioni necessarie per la sua
   gestione. Questo processo viene svolto direttamente nel kernel, ad esempio
   dallo stack TCP, nel caso il protocollo di trasporto usato sia questo.
   aggiungendo ad ogni pacchetto le informazioni necessarie per la sua
   gestione. Questo processo viene svolto direttamente nel kernel, ad esempio
   dallo stack TCP, nel caso il protocollo di trasporto usato sia questo.
@@ -393,8 +413,8 @@ per il ruolo centrale che svolge nella maggior parte delle applicazioni.
 
 Benché si parli di TCP/IP questa famiglia di protocolli è composta anche da
 molti membri. In \figref{fig:net_tcpip_overview} si è riportato uno schema che
 
 Benché si parli di TCP/IP questa famiglia di protocolli è composta anche da
 molti membri. In \figref{fig:net_tcpip_overview} si è riportato uno schema che
-mostra un panorama sui vari protocolli della famiglia, e delle loro relazioni
-reciproche e con alcune dalle principali applicazioni che li usano.
+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]
   \centering
 
 \begin{figure}[!htbp]
   \centering