X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=netlayer.tex;h=3344c6f531e034cc5d879e366b616138dcb8c07b;hp=4195888260a9365081d9cc3bd292bf41a35b63c7;hb=b81723c64c1d63b89cd3cec12f2fcccc4a756967;hpb=70860564e1de946ab8d681bb41c601ba77721709 diff --git a/netlayer.tex b/netlayer.tex index 4195888..3344c6f 100644 --- a/netlayer.tex +++ b/netlayer.tex @@ -1,13 +1,13 @@ %% netlayer.tex %% -%% Copyright (C) 2000-2007 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2010 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", %% with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the %% license is included in the section entitled "GNU Free Documentation %% License". -%% +%% \chapter{Il livello di rete} \label{cha:network_layer} @@ -237,45 +237,46 @@ pacchetto (cio \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\ \hline \hline - \textit{version} & 4& numero di \textsl{versione}, nel caso + \textit{version} & 4& Numero di \textsl{versione}, nel caso specifico vale sempre 4.\\ - \textit{head length} & 4& lunghezza dell'intestazione, + \textit{head length} & 4& Lunghezza dell'intestazione, in multipli di 32 bit.\\ - \textit{type of service}&8& \textsl{tipo di servizio}, è suddiviso in: - 3 bit di precedenza, che nelle attuali + \textit{type of service}&8& Il ``\textsl{tipo di servizio}'', è suddiviso + in: 3 bit di precedenza, che nelle attuali implementazioni del protocollo non vengono comunque utilizzati; un bit riservato che deve essere mantenuto a 0; 4 bit che identificano il tipo di servizio richiesto, uno solo dei quali può essere attivo.\\ - \textit{total length} &16& \textsl{lunghezza totale}, indica + \textit{total length} &16& La \textsl{lunghezza totale}, indica la dimensione del carico di dati del pacchetto IP in byte.\\ - \textit{identification}&16& \textsl{identificazione}, assegnato alla + \textit{identification}&16& L'\textsl{identificazione}, assegnato alla creazione, è aumentato di uno all'origine della trasmissione di ciascun pacchetto, ma resta lo stesso per i pacchetti frammentati, consentendo così di identificare quelli che derivano dallo stesso pacchetto originario.\\ - \textit{flag} & 3& \textsl{flag}, sono nell'ordine: il primo è - riservato e sempre nullo, il secondo indica - se il pacchetto non può essere frammentato, - il terzo se ci sono ulteriori frammenti.\\ - \textit{fragmentation offset}&13& \textsl{offset di frammento}, indica + \textit{flag} & 3& I \textsl{flag} di controllo nell'ordine: il + primo è riservato e sempre nullo, il secondo + indica se il pacchetto non può essere + frammentato, il terzo se ci sono ulteriori + frammenti.\\ + \textit{fragmentation offset}&13& L'\textsl{offset di frammento}, indica la posizione del frammento rispetto al pacchetto originale.\\ - \textit{time to live} &16& \textsl{tempo di vita}, è decrementato di + \textit{time to live} &16& Il \textsl{tempo di vita}, è decrementato di uno ogni volta che un router ritrasmette il pacchetto, se arriva a zero il pacchetto viene scartato.\\ - \textit{protocol} & 8& \textsl{protocollo}, identifica il tipo di + \textit{protocol} & 8& Il \textsl{protocollo}, identifica il tipo di pacchetto che segue l'intestazione di IPv4.\\ - \textit{header checksum}&16&\textsl{checksum di intestazione}, somma di - controllo per l'intestazione.\\ - \textit{source IP} &32& \textsl{indirizzo di origine}.\\ - \textit{destination IP}&32& \textsl{indirizzo di destinazione}.\\ + \textit{header checksum}&16&La \textsl{checksum di intestazione}, somma + di controllo per l'intestazione.\\ + \textit{source IP} &32& L'\textsl{indirizzo di origine}.\\ + \textit{destination IP}&32& L'\textsl{indirizzo di destinazione}.\\ \hline \end{tabular} \caption{Legenda per il significato dei campi dell'intestazione di IPv4} @@ -297,13 +298,13 @@ questo campo. \textbf{Costante} & \textbf{Significato} \\ \hline \hline - \const{IPTOS\_LOWDELAY} & minimizza i ritardi per il traffico + \const{IPTOS\_LOWDELAY} & Minimizza i ritardi per il traffico interattivo. \\ - \const{IPTOS\_THROUGHPUT} & ottimizza la trasmissione per il massimo + \const{IPTOS\_THROUGHPUT} & Ottimizza la trasmissione per il massimo flusso di dati.\\ - \const{IPTOS\_RELIABILITY}& ottimizza per l'affidabilità della + \const{IPTOS\_RELIABILITY}& Ottimizza per l'affidabilità della trasmissione. \\ - \const{IPTOS\_MINCOST} & usato per dati di riempimento, dove non + \const{IPTOS\_MINCOST} & Usato per dati di riempimento, dove non interessa se c'è una bassa velocità di trasmissione.\\ \hline @@ -394,7 +395,7 @@ grandi linee nei seguenti punti: \begin{itemize} \item l'espansione delle capacità di indirizzamento e instradamento, per supportare una gerarchia con più livelli di indirizzamento, un numero di - nodi indirizzabili molto maggiore e una autoconfigurazione degli indirizzi + nodi indirizzabili molto maggiore e una auto-configurazione degli indirizzi \item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che si aggiungono agli usuali \textit{unicast} e \itindex{multicast} \textit{multicast} @@ -480,25 +481,25 @@ numero dei campi da 12 a 8. \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\ \hline \hline - \textit{version} & 4& \textsl{versione}, nel caso specifico vale + \textit{version} & 4& La \textsl{versione}, nel caso specifico vale sempre 6.\\ - \textit{priority} & 4& \textsl{priorità}, vedi + \textit{priority} & 4& La \textsl{priorità}, vedi sez.~\ref{sec:IPv6_prio}.\\ - \textit{flow label} &24& \textsl{etichetta di flusso}, vedi + \textit{flow label} &24& L'\textsl{etichetta di flusso}, vedi sez.~\ref{sec:IP_ipv6_flow}.\\ - \textit{payload length}&16& \textsl{lunghezza del carico}, cioè del + \textit{payload length}&16& La \textsl{lunghezza del carico}, cioè del corpo dei dati che segue l'intestazione, in byte. \\ - \textit{next header} & 8& \textsl{intestazione successiva}, identifica - il tipo di pacchetto che segue - l'intestazione di IPv6, usa gli stessi + \textit{next header} & 8& L'\textsl{intestazione successiva}, + identifica il tipo di pacchetto che segue + l'intestazione di IPv6, ed usa gli stessi valori del campo protocollo nell'intestazione di IPv4.\\ - \textit{hop limit} & 8& \textsl{limite di salti}, stesso significato - del \textit{time to live} nell'intestazione - di IPv4.\\ - \textit{source IP} &128&\textsl{indirizzo di origine}.\\ - \textit{destination IP}&128&\textsl{indirizzo di destinazione}.\\ + \textit{hop limit} & 8& Il \textsl{limite di salti}, ha lo stesso + significato del \textit{time to live} + nell'intestazione di IPv4.\\ + \textit{source IP} &128&L'\textsl{indirizzo di origine}.\\ + \textit{destination IP}&128&L'\textsl{indirizzo di destinazione}.\\ \hline \end{tabular} \caption{Legenda per il significato dei campi dell'intestazione di IPv6} @@ -799,9 +800,9 @@ delle scheda di rete, e si usano i restanti 16~bit per indicare la sottorete. \end{table} Qualora si dovesse avere a che fare con una necessità di un numero più -elevato di sottoreti, il precedente schema andrebbe modificato, per evitare +elevato di sotto-reti, il precedente schema andrebbe modificato, per evitare l'enorme spreco dovuto all'uso dei MAC-address, a questo scopo si possono -usare le capacità di autoconfigurazione di IPv6 per assegnare indirizzi +usare le capacità di auto-configurazione di IPv6 per assegnare indirizzi generici con ulteriori gerarchie per sfruttare efficacemente tutto lo spazio di indirizzi. @@ -847,7 +848,7 @@ localmente (all'interno di un sito o di una sottorete), e possono avere una unicità locale o globale. Questi indirizzi sono pensati per l'uso all'interno di un sito per mettere su -una comunicazione locale immediata, o durante le fasi di autoconfigurazione +una comunicazione locale immediata, o durante le fasi di auto-configurazione prima di avere un indirizzo globale. \begin{table}[htb] @@ -1191,24 +1192,24 @@ tab.~\ref{tab:IP_ipv6_nexthead}. \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\ \hline \hline - 0 & & riservato\\ - & HBH & Hop by Hop \\ - 1 & ICMP & Internet Control Message (IPv4 o IPv6) \\ - 2 & ICMP & Internet Group Management (IPv4) \\ - 3 & GGP & Gateway-to-Gateway \\ - 4 & IP & IP in IP (IPv4 encapsulation) \\ - 5 & ST & Stream \\ - 6 & TCP & Trasmission Control \\ - 17 & UDP & User Datagram \\ - 43 & RH & Routing Header (IPv6) \\ - 44 & FH & Fragment Header (IPv6) \\ - 45 & IDRP & Inter Domain Routing \\ - 51 & AH & Authentication Header (IPv6) \\ - 52 & ESP & Encrypted Security Payload (IPv6) \\ - 59 & Null & No next header (IPv6) \\ - 88 & IGRP & Internet Group Routing \\ - 89 & OSPF & Open Short Path First \\ - 255& & riservato \\ + 0 & & Riservato.\\ + & HBH & Hop by Hop.\\ + 1 & ICMP & Internet Control Message (IPv4 o IPv6).\\ + 2 & ICMP & Internet Group Management (IPv4).\\ + 3 & GGP & Gateway-to-Gateway.\\ + 4 & IP & IP in IP (IPv4 encapsulation).\\ + 5 & ST & Stream.\\ + 6 & TCP & Trasmission Control.\\ + 17 & UDP & User Datagram.\\ + 43 & RH & Routing Header (IPv6).\\ + 44 & FH & Fragment Header (IPv6).\\ + 45 & IDRP & Inter Domain Routing.\\ + 51 & AH & Authentication Header (IPv6).\\ + 52 & ESP & Encrypted Security Payload (IPv6).\\ + 59 & Null & No next header (IPv6).\\ + 88 & IGRP & Internet Group Routing.\\ + 89 & OSPF & Open Short Path First.\\ + 255& & Riservato.\\ \hline \end{tabular} \caption{Tipi di protocolli e intestazioni di estensione} @@ -1286,12 +1287,12 @@ valori di priorit \textbf{Valore} & \textbf{Tipo di traffico} \\ \hline \hline - 0 & traffico generico \\ - 1 & traffico di riempimento (es. news) \\ - 2 & trasferimento dati non interattivo (es. e-mail)\\ - 3 & riservato \\ - 4 & trasferimento dati interattivo (es. FTP, HTTP, NFS) \\ - 5 & riservato \\ + 0 & Traffico generico.\\ + 1 & Traffico di riempimento (es. news).\\ + 2 & Trasferimento dati non interattivo (es. e-mail).\\ + 3 & Riservato.\\ + 4 & Trasferimento dati interattivo (es. FTP, HTTP, NFS).\\ + 5 & Riservato.\\ \hline \end{tabular} \caption{Formato di un indirizzo \textit{site-local}.} @@ -1435,15 +1436,15 @@ fino al vettore di inizializzazione, il resto -\subsection{Autoconfigurazione} +\subsection{Auto-configurazione} \label{sec:IP_ipv6_autoconf} -Una delle caratteristiche salienti di IPv6 è quella dell'autoconfigurazione, +Una delle caratteristiche salienti di IPv6 è quella dell'auto-configurazione, il protocollo infatti fornisce la possibilità ad un nodo di scoprire automaticamente il suo indirizzo acquisendo i parametri necessari per potersi connettere a internet. -L'autoconfigurazione sfrutta gli indirizzi link-local; qualora sul nodo sia +L'auto-configurazione sfrutta gli indirizzi link-local; qualora sul nodo sia presente una scheda di rete che supporta lo standard IEEE802 (ethernet) questo garantisce la presenza di un indirizzo fisico a 48 bit unico; pertanto il nodo può assumere automaticamente senza pericoli di collisione l'indirizzo @@ -1462,13 +1463,13 @@ richiedendo assistenza). Una volta ottenuto un indirizzo locale valido diventa possibile per il nodo comunicare con la rete locale; sono pertanto previste due modalità di -autoconfigurazione, descritte nelle seguenti sezioni. In ogni caso +auto-configurazione, descritte nelle seguenti sezioni. In ogni caso l'indirizzo link-local resta valido. -\subsection{Autoconfigurazione stateless} +\subsection{Auto-configurazione stateless} \label{sec:stateless} -Questa è la forma più semplice di autoconfigurazione, possibile quando +Questa è la forma più semplice di auto-configurazione, possibile quando l'indirizzo globale può essere ricavato dall'indirizzo link-local cambiando semplicemente il prefisso a quello assegnato dal provider per ottenere un indirizzo globale. @@ -1490,10 +1491,10 @@ l'indirizzo, nel qual caso, se il prefisso unito all'indirizzo link-local non supera i 128 bit, la stazione ottiene automaticamente il suo indirizzo globale. -\subsection{Autoconfigurazione stateful} +\subsection{Auto-configurazione stateful} \label{sec:stateful} -Benché estremamente semplice l'autoconfigurazione stateless presenta alcuni +Benché estremamente semplice l'auto-configurazione stateless presenta alcuni problemi; il primo è che l'uso degli indirizzi delle schede di rete è molto inefficiente; nel caso in cui ci siano esigenze di creare una gerarchia strutturata su parecchi livelli possono non restare 48~bit per l'indirizzo @@ -1509,18 +1510,22 @@ l'indirizzo link-local e ricever \section{Il protocollo ICMP} -\label{sec:icmp_protocol} +\label{sec:ICMP_protocol} -Il protocollo ICMP \textit{Internet Control Message Protocol} è un protocollo -di servizio fondamentale per il funzionamento del livello di rete. I pacchetti +Come già accennato nelle sezioni precedenti, l'\textit{Internet Control + Message Protocol} è un protocollo di servizio fondamentale per il +funzionamento del livello di rete. Il protocollo ICMP viene trasportato +direttamente su IP, ma proprio per questa sua caratteristica di protocollo di +servizio è da considerarsi a tutti gli effetti appartenente al livello di +rete. \subsection{L'intestazione di ICMP} \label{sec:ICMP_header} - -In fig.~\ref{fig:ICMP_header} si è riportata la struttura dell'intestazione di -un pacchetto ICMP generico. +Il protocollo ICMP è estremamente semplice, ed il suo unico scopo è quello di +inviare messaggi di controllo; in fig.~\ref{fig:ICMP_header} si è riportata la +struttura dell'intestazione di un pacchetto ICMP generico. \begin{figure}[htb] \centering \includegraphics[width=12cm]{img/icmp_head} @@ -1541,42 +1546,42 @@ un pacchetto ICMP generico. \hline \texttt{any} & -- & Seleziona tutti i possibili valori \\ \hline - \texttt{echo-reply} &0& inviato in risposta ad un ICMP - \textit{echo-request} \\ - \texttt{destination-unreachable}&3& segnala una destinazione + \texttt{echo-reply} &0& Inviato in risposta ad un ICMP + \textit{echo-request}.\\ + \texttt{destination-unreachable}&3& Segnala una destinazione irraggiungibile, viene inviato all'IP sorgente di un pacchetto quando un router realizza che questo non può essere inviato a - destinazione. \\ - \texttt{source-quench} &4& inviato in caso di congestione della + destinazione.\\ + \texttt{source-quench} &4& Inviato in caso di congestione della rete per indicare all'IP sorgente di diminuire il traffico inviato.\\ - \texttt{redirect} &5& inviato per segnalare un errore di + \texttt{redirect} &5& Inviato per segnalare un errore di routing, richiede che la macchina sorgente rediriga il traffico ad un - altro router da esso specificato. \\ - \texttt{echo-request} &8& richiede l'invio in risposta di un - \texttt{echo-reply}. \\ + altro router da esso specificato.\\ + \texttt{echo-request} &8& Richiede l'invio in risposta di un + \texttt{echo-reply}.\\ % \texttt{router-advertisement} & & \\ % \texttt{router-solicitation} & & \\ - \texttt{time-exceeded} &11& inviato quando il TTL di un pacchetto + \texttt{time-exceeded} &11& Inviato quando il TTL di un pacchetto viene azzerato.\\ - \texttt{parameter-problem} &12& inviato da un router che rileva dei + \texttt{parameter-problem} &12& Inviato da un router che rileva dei problemi con l'intestazione di un - pacchetto. \\ - \texttt{timestamp-request} &13& richiede l'invio in risposta di un + pacchetto.\\ + \texttt{timestamp-request} &13& Richiede l'invio in risposta di un \texttt{timestamp-reply}.\\ - \texttt{timestamp-reply} &14& inviato in risposta di un - \texttt{timestamp-request}. \\ - \texttt{info-request} &15& richiede l'invio in risposta di un + \texttt{timestamp-reply} &14& Inviato in risposta di un + \texttt{timestamp-request}.\\ + \texttt{info-request} &15& Richiede l'invio in risposta di un \texttt{info-reply}.\\ - \texttt{info-reply} &16& inviato in risposta di un + \texttt{info-reply} &16& Inviato in risposta di un \texttt{info-request}.\\ - \texttt{address-mask-request} &17& richiede l'invio in risposta di un - \texttt{address-mask-reply}. \\ - \texttt{address-mask-reply} &18& inviato in risposta di un - \texttt{address-mask-request}. \\ + \texttt{address-mask-request} &17& Richiede l'invio in risposta di un + \texttt{address-mask-reply}.\\ + \texttt{address-mask-reply} &18& Inviato in risposta di un + \texttt{address-mask-request}.\\ \hline \end{tabular} \caption{I valori del \textsl{tipo} per i pacchetti ICMP.} @@ -1636,7 +1641,7 @@ un pacchetto ICMP generico. % LocalWords: destination identification fragment checksum TCP UDP ICMPv type % LocalWords: service head total fragmentation protocol broadcast broadcasting % LocalWords: multicasting path MTU discovery NSAP IPX based geografic local -% LocalWords: routing format prefix nell' Registry Subscriber Intra Regional +% LocalWords: routing format prefix Registry Subscriber Intra Regional % LocalWords: Register INTERNIC NCC APNIC subscriber Interface MAC address Reg % LocalWords: Subnet Naz Prov Subscr FEBF bootstrap FEC FEFF DNS socket FFFF % LocalWords: sull'host loopback scop all nodes routers rip cbt name dhcp HBH @@ -1646,7 +1651,7 @@ un pacchetto ICMP generico. % LocalWords: Encrypted Security IGRP OSPF Short First tunnelling FFFFFF hash % LocalWords: news FTP NFS authentication Parameter Index ICV Integrity Value % LocalWords: padding Option gateway dell'MD keyed Encripted IEEE ethernet any -% LocalWords: dell'autoconfigurazione L'autoconfigurazione Solicitation l'IP +% LocalWords: Solicitation % LocalWords: stateless solicitation Advertisement stateful Transfer Unit echo % LocalWords: l'autoconfigurazione reply request unreachable all'IP quench TTL % LocalWords: redirect exceeded parameter problem timestamp info mask port ttl