X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=network.tex;h=56120dfd77deac03a47393808e162c2fa6b56f1d;hp=0d39a11f16781d2285ac822566161f69456a9a95;hb=a377dc5a0a0638f0847f27b66f0b095609777320;hpb=374461977afeaf3ec285f3d4f0f1d3b47f7e4043 diff --git a/network.tex b/network.tex index 0d39a11..56120df 100644 --- a/network.tex +++ b/network.tex @@ -14,9 +14,9 @@ In questo capitolo sarà fatta un'introduzione ai concetti generali che servono come prerequisiti per capire la programmazione di rete, non tratteremo quindi -aspetti specifici ma faremo una breve introduzione al modello più comune usato +aspetti specifici ma faremo una breve introduzione ai modelli più comuni usati nella programmazione di rete, per poi passare ad un esame a grandi linee dei -protocolli di rete e di come questi sono organizzati e interagiscono. +protocolli di rete e di come questi sono organizzati e interagiscono. In particolare, avendo assunto l'ottica di un'introduzione mirata alla programmazione, ci concentreremo sul gruppo di protocolli più diffuso, il @@ -29,7 +29,6 @@ programmi. \section{Modelli di programmazione} \label{sec:net_prog_model} - La differenza principale fra un'applicazione di rete e un programma normale è che quest'ultima per definizione concerne la comunicazione fra processi diversi, che in generale non girano neanche sulla stessa macchina. Questo già @@ -439,9 +438,9 @@ programmazione di rete però sono importanti principalmente i due livelli centrali, e soprattutto quello di trasporto. La principale interfaccia usata nella programmazione di rete, quella dei -socket (vedi sez.~\ref{cha:socket_intro}), è infatti un'interfaccia nei -confronti di quest'ultimo. Questo avviene perché al di sopra del livello di -trasporto i programmi hanno a che fare solo con dettagli specifici delle +socket (che vedremo in sez.~\ref{cha:socket_intro}), è infatti un'interfaccia +nei confronti di quest'ultimo. Questo avviene perché al di sopra del livello +di trasporto i programmi hanno a che fare solo con dettagli specifici delle applicazioni, mentre al di sotto vengono curati tutti i dettagli relativi alla comunicazione. È pertanto naturale definire una interfaccia di programmazione su questo confine, tanto più che è proprio lì (come evidenziato in @@ -494,9 +493,9 @@ seguenti: \item[\textsl{TCP}] \textit{Trasmission Control Protocol}. È un protocollo orientato alla connessione che provvede un trasporto affidabile per un flusso di dati bidirezionale fra due stazioni remote. Il protocollo ha cura - di tutti gli aspetti del trasporto, come l'\textit{acknoweledgment} (il - ricevuto), i timeout, la ritrasmissione, ecc. È usato dalla maggior parte - delle applicazioni. + di tutti gli aspetti del trasporto dei dati, come l'\textit{acknowledgment} + (il ricevuto), i timeout, la ritrasmissione, ecc. È usato dalla maggior + parte delle applicazioni. \item[\textsl{UDP}] \textit{User Datagram Protocol}. È un protocollo senza connessione, per l'invio di dati a pacchetti. Contrariamente al TCP il protocollo non è affidabile e non c'è garanzia che i pacchetti raggiungano @@ -568,18 +567,19 @@ trasporto. \subsection{Internet Protocol (IP)} \label{sec:net_ip} -Quando si parla di IP ci si riferisce in genere alla versione attualmente in -uso che è la versione 4 (e viene pertanto chiamato IPv4). Questa versione -venne standardizzata nel 1981 +Quando si parla di \textit{Internet Protocol} (IP) si fa in genere riferimento +ad una versione (la quarta, da cui il nome IPv4) che è quella più usata +comunemente, anche se ormai si sta diffondendo sempre di più la nuova versione +IPv6. Il protocollo IPv4 venne standardizzato nel 1981 dall'\href{http://www.ietf.org/rfc/rfc0719.txt}{RFC~719}. -Internet Protocol nasce per disaccoppiare le applicazioni della struttura -hardware delle reti di trasmissione, e creare una interfaccia di trasmissione -dei dati indipendente dal sottostante substrato di rete, che può essere -realizzato con le tecnologie più disparate (Ethernet, Token Ring, FDDI, ecc.). -Il compito di IP è pertanto quello di trasmettere i pacchetti da un computer -all'altro della rete; le caratteristiche essenziali con cui questo viene -realizzato in IPv4 sono due: +Il protocollo IP (indipendentemente dalla versione) nasce per disaccoppiare le +applicazioni della struttura hardware delle reti di trasmissione, e creare una +interfaccia di trasmissione dei dati indipendente dal sottostante substrato di +interconnessione fisica, che può essere realizzato con le tecnologie più +disparate (Ethernet, Token Ring, FDDI, ecc.). Il compito di IP è pertanto +quello di trasmettere i pacchetti da un computer all'altro della rete; le +caratteristiche essenziali con cui questo viene realizzato in sono due: \begin{itemize} \item \textit{Universal addressing} la comunicazione avviene fra due stazioni