Varie correzioni da Fabio Rossi, e relative aggiunte nei ringrazimenti per
[gapil.git] / netlayer.tex
index 5212a5a346138a2a4d2c04ecc8492b35345617ff..8926bfc3a4e635d8937f18f8a4ee13492b715ab3 100644 (file)
@@ -23,9 +23,10 @@ possa essere necessario per capirne meglio il funzionamento dal punto di vista
 della programmazione.
 
 Data la loro prevelenza il capitolo sarà sostanzialmente incentrato sui due
-protocolli principali esistenti su questo livello: l'\textit{Internet
-  Protocol} IP (che più propriamente si dovrebbe chiamare IPv4) ed la sua
-nuova versione denominata IPv6.
+protocolli principali esistenti su questo livello: il protocollo IP, sigla che
+sta per \textit{Internet Protocol}, (ma che più propriamente si dovrebbe
+chiamare IPv4) ed la nuova versione di questo stesso protocollo, denominata
+IPv6.
 
 
 \section{Il protocollo IP}
@@ -42,7 +43,7 @@ pi
 \subsection{Introduzione}
 \label{sec:IP_intro}
 
-Il compito di IP è pertanto quello di trasmettere i pacchetti da un computer
+Il compito principale di IP è quello di trasmettere i pacchetti da un computer
 all'altro della rete; le caratteristiche essenziali con cui questo viene
 realizzato in IPv4 sono due:
 
@@ -69,10 +70,10 @@ centrale (la IANA, \textit{Internet Assigned Number Authority}) che assegna i
 numeri di rete alle organizzazioni che ne fanno richiesta; è poi compito di
 quest'ultime assegnare i numeri dei singoli host.  
 
-Per venire incontro alle diverse esigenze gli indirizzi di rete sono stati
-originariamente organizzati in \textit{classi}, (rappresentate in
-tab.~\ref{tab:IP_ipv4class}), per consentire dispiegamenti di reti di
-dimensioni diverse.
+Per venire incontro alle diverse esigenze gli indirizzi di rete erano stati
+originariamente organizzati all'interno delle cosiddette \textit{classi},
+(rappresentate in tab.~\ref{tab:IP_ipv4class}), per consentire dispiegamenti
+di reti di dimensioni diverse.
 
 
 \begin{table}[htb]
@@ -147,9 +148,10 @@ dimensioni diverse.
 \label{tab:IP_ipv4class}
 \end{table}
 
-Le classi usate per il dispiegamento delle reti sono le prime tre; la classe D
-è destinata al (non molto usato) \textit{multicast} mentre la classe E è
-riservata per usi sperimentali e non viene impiegata.
+Le classi usate per il dispiegamento delle reti su quella che comunemente
+viene chiamata \textit{Internet} sono le prime tre; la classe D è destinata al
+(non molto usato) \textit{multicast} mentre la classe E è riservata per usi
+sperimentali e non viene impiegata.
 
 Come si può notare però la suddivisione riportata in
 tab.~\ref{tab:IP_ipv4class} è largamente inefficiente in quanto se ad un
@@ -201,6 +203,49 @@ indirizzi di rete da inserire nelle tabelle di instradamento dei router.
 
 
 
+\subsection{L'intestazione di IP}
+\label{sec:IP_header}
+
+
+Il campo TOS definisce il cosiddetto \textit{Type of Service}; questo permette
+di definire il tipo di traffico contenuto nei pacchetti, e può essere
+utilizzato dai router per dare diverse priorità in base al valore assunto da
+questo campo. 
+
+\begin{table}[!htb]
+  \centering
+  \footnotesize
+  \begin{tabular}[c]{|l|l|}
+    \hline
+    \textbf{Costante} & \textbf{Significato} \\
+    \hline
+    \hline
+    \const{IPTOS\_LOWDELAY}   & minimizza i ritardi per il traffico
+                                interattivo. \\
+    \const{IPTOS\_THROUGHPUT} & ottimizza la trasmissione per il massimo
+                                flusso di dati.\\
+    \const{IPTOS\_RELIABILITY}& ottimizza per l'affidabilità della
+                                trasmissione. \\
+    \const{IPTOS\_MINCOST}    & usato per dati di riempimento, dove non
+                                interessa se c'è una bassa velocità di
+                                trasmissione.\\
+    \hline
+  \end{tabular}
+  \caption{Le costanti che definiscono alcuni valori standard per il campo TOS
+    da usare come argomento \param{optval} per l'opzione \const{IP\_TOS}.} 
+  \label{tab:IP_TOS_values}
+\end{table}
+
+
+
+\subsection{Le opzioni di IP}
+\label{sec:IP_options}
+
+
+
+
+
+
 \section{Il protocollo IPv6}
 \label{sec:ipv6_protocol}