X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=network.tex;h=495e02f69f8da6991840f1eca27114e26b0ae366;hp=ceb7f55fb33feeca46d038684372bb18e1c9f288;hb=22e01eeebd2d386a8a992cba0fdaf2d73f5ff217;hpb=bf41def586b4bf552660e34913f3c39b7d26b7bc diff --git a/network.tex b/network.tex index ceb7f55..495e02f 100644 --- a/network.tex +++ b/network.tex @@ -463,9 +463,9 @@ seguenti: implementato direttamente sopra IP. \item[\textsl{ARP}] \textit{Address Resolution Protocol}. È il protocollo che mappa un indirizzo IP in un indirizzo hardware sulla rete locale. È usato in - reti di tipo broadcast come Ethernet, Token Ring o FDDI che hanno associato - un indirizzo fisico (il \textit{MAC address}) alla interfaccia, ma non serve - in connessioni punto-punto. + reti di tipo \itindex{broadcast} \textit{broadcast} come Ethernet, Token + Ring o FDDI che hanno associato un indirizzo fisico (il \textit{MAC + address}) alla interfaccia, ma non serve in connessioni punto-punto. \item[\textsl{RARP}] \textit{Reverse Address Resolution Protocol}. È il protocollo che esegue l'operazione inversa rispetto ad ARP (da cui il nome) mappando un indirizzo hardware in un indirizzo IP. Viene usato a volte per @@ -552,7 +552,8 @@ grandi linee nei seguenti punti: supportare una gerarchia con più livelli di indirizzamento, un numero di nodi indirizzabili molto maggiore e una autoconfigurazione degli indirizzi. \item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che - si aggiunge agli usuali \textit{unycast} e \textit{multicast}. + si aggiunge agli usuali \textit{unicast} e \itindex{multicast} + \textit{multicast}. \item la semplificazione del formato dell'intestazione (\textit{header}) dei pacchetti, eliminando o rendendo opzionali alcuni dei campi di IPv4, per eliminare la necessità di riprocessamento della stessa da parte dei router e @@ -617,7 +618,7 @@ grande pregio della velocit presta bene per le applicazioni in cui la connessione non è necessaria, e costituirebbe solo un peso in termini di prestazioni, mentre una perdita di pacchetti può essere tollerata, ad esempio le applicazioni di streaming e -quelle che usano il \texttt{multicast}.\itindex{multicast} +quelle che usano il \textit{multicast}. \itindex{multicast} \subsection{Transport Control Protocol (TCP)} \label{sec:net_tcp} @@ -689,10 +690,11 @@ effettuato per entrambe le direzioni di comunicazione. \label{sec:net_lim_dim} Un aspetto di cui bisogna tenere conto nella programmazione di rete, e che -ritornerà anche più avanti, è che ci sono una serie di limiti a cui la -trasmissione dei dati attraverso i vari livelli del protocollo deve -sottostare, limiti che è opportuno tenere presente perché in certi casi si -possono avere delle conseguenze sul comportamento delle applicazioni. +ritornerà in seguito, quando tratteremo gli aspetti più avanzti, è che ci sono +una serie di limiti a cui la trasmissione dei dati attraverso i vari livelli +del protocollo deve sottostare; limiti che è opportuno tenere presente perché +in certi casi si possono avere delle conseguenze sul comportamento delle +applicazioni. Un elenco di questi limiti, insieme ad un breve accenno alle loro origini ed alle eventuali implicazioni che possono avere, è il seguente: @@ -706,12 +708,14 @@ alle eventuali implicazioni che possono avere, dell'header è fissa e di 40 byte e non è compresa nel valore indicato dal suddetto campo. Inoltre IPv6 ha la possibilità di estendere la dimensione di un pacchetto usando la \textit{jumbo payload option}. -\item Molte reti fisiche hanno un MTU (\textit{maximum transfer unit}) che - dipende dal protocollo specifico usato al livello di connessione fisica. Il - più comune è quello di ethernet che è pari a 1500 byte, una serie di altri - valori possibili sono riportati in tab.~\ref{tab:net_mtu_values}. +\item Molte reti fisiche hanno una MTU \itindex{Maximum~Transfer~Unit} + (\textit{Maximum Transfer Unit}) che dipende dal protocollo specifico usato + al livello di connessione fisica. Il più comune è quello di ethernet che è + pari a 1500 byte, una serie di altri valori possibili sono riportati in + tab.~\ref{tab:net_mtu_values}. \end{itemize} +\itindbeg{Maximum~Transfer~Unit} Quando un pacchetto IP viene inviato su una interfaccia di rete e le sue dimensioni eccedono la MTU viene eseguita la cosiddetta \textit{frammentazione}, i pacchetti cioè vengono suddivisi\footnote{questo @@ -735,8 +739,8 @@ piccoli che possono essere trasmessi attraverso l'interfaccia. X.25 & 576 \\ \hline \end{tabular} - \caption{Valori della MTU (\textit{maximum transfer unit}) per una serie di - reti diverse.} + \caption{Valori della MTU (\textit{Maximum Transfer Unit}) per una serie di + diverse tecnologie di rete.} \label{tab:net_mtu_values} \end{table} @@ -777,6 +781,9 @@ Il TCP usa sempre questo meccanismo, che per le implementazioni di IPv4 opzionale, mentre diventa obbligatorio per IPv6. Per IPv6 infatti, non potendo i router frammentare i pacchetti, è necessario, per poter comunicare, conoscere da subito il \textit{path MTU}. +\itindend{Maximum~Transfer~Unit} + + Infine TCP definisce una MSS \textit{Maximum Segment Size} che annuncia all'altro capo della connessione la dimensione massima dimensione del segmento