Aggiornamento copyright e inizio aggiornameto parte sui socket.
authorSimone Piccardi <piccardi@gnulinux.it>
Sun, 13 Mar 2016 07:59:26 +0000 (07:59 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Sun, 13 Mar 2016 07:59:26 +0000 (07:59 +0000)
26 files changed:
build.tex
errors.tex
fileadv.tex
filedir.tex
fileio.tex
gapil.tex
intro.tex
ipc.tex
macro.tex
netlayer.tex
network.tex
othersock.tex
preambolo.tex
pref.tex
process.tex
prochand.tex
ringraziamenti.tex
session.tex
signal.tex
sockadv.tex
sockctrl.tex
socket.tex
system.tex
tcpsock.tex
thread.tex
trasplayer.tex

index d124f854f0ec43d564dc79b24c649d28fb5234dc..0d3c46e7a0f748fc851a5dea791a2ec87661aff2 100644 (file)
--- a/build.tex
+++ b/build.tex
@@ -1,6 +1,6 @@
 %% build.tex
 %%
 %% build.tex
 %%
-%% Copyright (C) 1999-2015 Simone Piccardi.  Permission is granted to copy,
+%% Copyright (C) 1999-2016 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",
 %% 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",
index 28af8f545ff3ee681ddf83fccaa0f1aa7e84afcc..11ed527b21959f2ae3d52e82e9345352141c41dc 100644 (file)
@@ -1,6 +1,6 @@
 %% errors.tex
 %%
 %% errors.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index 0251c7b551f7f38c016017639e242cffc322b8b0..8ac1a734b907f0d6d6ca001e211079069d231024 100644 (file)
@@ -1,6 +1,6 @@
 %% fileadv.tex
 %%
 %% fileadv.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index ae7b55778cb5916027147313b9f35a16923adf3a..f428ba8e31aa96a6d6126f41880229b266956a12 100644 (file)
@@ -1,6 +1,6 @@
 %% filedir.tex
 %%
 %% filedir.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index 20c4c1d5e099b7e851b8b948f803c308df6e7a73..2c11011106a007099daab0112c4178c3455ebfee 100644 (file)
@@ -1,6 +1,6 @@
 %% fileio.tex (merge fileunix.tex - filestd.tex)
 %%
 %% fileio.tex (merge fileunix.tex - filestd.tex)
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index f15cf7b5026132632f55c48642be26ae4f12b963..375f1a435bb8acf696e063cdb10279a6763d4ad8 100644 (file)
--- a/gapil.tex
+++ b/gapil.tex
@@ -1,6 +1,6 @@
 %% gapil.tex
 %%
 %% gapil.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.3 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.3 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -128,7 +128,7 @@ hyperfootnotes=false]{hyperref}
 
 \begin{quote}
   
 
 \begin{quote}
   
-  Copyright \copyright\ 2000-2015 Simone Piccardi.  Permission is granted to
+  Copyright \copyright\ 2000-2016 Simone Piccardi.  Permission is granted to
   copy, distribute and/or modify this document under the terms of the GNU Free
   Documentation License, Version 1.3 or any later version published by the
   Free Software Foundation; with the Invariant Sections being ``Un preambolo''
   copy, distribute and/or modify this document under the terms of the GNU Free
   Documentation License, Version 1.3 or any later version published by the
   Free Software Foundation; with the Invariant Sections being ``Un preambolo''
index fd6a41b4a41d56b646680a1faf2ad7dd5adf15bf..fc9c79122023f301515788b406a971e5beb3ad0a 100644 (file)
--- a/intro.tex
+++ b/intro.tex
@@ -1,6 +1,6 @@
 %% intro.tex
 %%
 %% intro.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-201 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",
 %% 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",
diff --git a/ipc.tex b/ipc.tex
index bc8d542641a3fb6b7987dcb706cfc2c38b3853f2..e77748729db20375358e7b57f031282bb3b56c9d 100644 (file)
--- a/ipc.tex
+++ b/ipc.tex
@@ -1,6 +1,6 @@
 %% ipc.tex
 %%
 %% ipc.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index 9e0fa9e440cbcedde723c74ad59b27fd9dbeeb02..3624bbe9993d541b2cf1505f37648d416f893394 100644 (file)
--- a/macro.tex
+++ b/macro.tex
@@ -1,6 +1,6 @@
 %% macro.tex
 %%
 %% macro.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index f113a7e53299a2480fd39ed84c6654f3e3edcf1a..388ee59f95134a80ac1781ae6a71b22296eb336a 100644 (file)
@@ -1,6 +1,6 @@
 %% netlayer.tex
 %%
 %% netlayer.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index 6470c1fbef3e6cfef0dfa0d1aa42b189aa3c982e..575b4c512aa1dc3e972d1d8b60f91d4b18d0ac62 100644 (file)
@@ -1,6 +1,6 @@
 %% network.tex
 %%
 %% network.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
@@ -369,10 +369,10 @@ la procedura si può riassumere nei seguenti passi:
   un suo specifico formato. Per applicazioni generiche, come la posta o le
   pagine web, viene di solito definito ed implementato quello che viene
   chiamato un protocollo di applicazione (esempi possono essere HTTP, POP,
   un suo specifico formato. Per applicazioni generiche, come la posta o le
   pagine web, viene di solito definito ed implementato quello che viene
   chiamato un protocollo di applicazione (esempi possono essere HTTP, POP,
-  SMTP, ecc.), ciascuno dei quali è descritto in un opportuno standard (di
-  solito attraverso un RFC\footnote{l'acronimo RFC sta per \textit{Request For
-      Comment} ed è la procedura attraverso la quale vengono proposti gli
-    standard per Internet.}).
+  SMTP, ecc.), ciascuno dei quali è descritto in un opportuno standarddi
+  solito attraverso un RFC (l'acronimo RFC sta per
+  \itindex{Request~For~Comment~(RFC)} \textit{Request For Comment} ed è la
+  procedura attraverso la quale vengono proposti gli standard per Internet).
 \item I dati delle applicazioni vengono inviati al livello di trasporto usando
   un'interfaccia opportuna (i \textit{socket}, che esamineremo in dettaglio in
   cap.~\ref{cha:socket_intro}). Qui verranno spezzati in pacchetti di
 \item I dati delle applicazioni vengono inviati al livello di trasporto usando
   un'interfaccia opportuna (i \textit{socket}, che esamineremo in dettaglio in
   cap.~\ref{cha:socket_intro}). Qui verranno spezzati in pacchetti di
@@ -527,8 +527,8 @@ seguenti:
   Combina per IPv6 le funzionalità di ICMPv4, IGMP e ARP.
 \item[\textsl{EGP}] \textit{Exterior Gateway Protocol}. È un protocollo di
   routing usato per comunicare lo stato fra gateway vicini a livello di
   Combina per IPv6 le funzionalità di ICMPv4, IGMP e ARP.
 \item[\textsl{EGP}] \textit{Exterior Gateway Protocol}. È un protocollo di
   routing usato per comunicare lo stato fra gateway vicini a livello di
-  \textsl{sistemi autonomi}\footnote{vengono chiamati \textit{autonomous
-      systems} i raggruppamenti al livello più alto della rete.}, con
+  \textsl{sistemi autonomi} (vengono chiamati \textit{autonomous
+      systems} i raggruppamenti al livello più alto della rete), con
   meccanismi che permettono di identificare i vicini, controllarne la
   raggiungibilità e scambiare informazioni sullo stato della rete. Viene
   implementato direttamente sopra IP. 
   meccanismi che permettono di identificare i vicini, controllarne la
   raggiungibilità e scambiare informazioni sullo stato della rete. Viene
   implementato direttamente sopra IP. 
@@ -773,11 +773,11 @@ alle eventuali implicazioni che possono avere, è il seguente:
 
 Quando un pacchetto IP viene inviato su una interfaccia di rete e le sue
 dimensioni eccedono la MTU viene eseguita la cosiddetta
 
 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
+\textit{frammentazione}, i pacchetti cioè vengono suddivisi in blocchi più
+piccoli che possono essere trasmessi attraverso l'interfaccia.\footnote{questo
   accade sia per IPv4 che per IPv6, anche se i pacchetti frammentati sono
   gestiti con modalità diverse, IPv4 usa un flag nell'header, IPv6 una
   accade sia per IPv4 che per IPv6, anche se i pacchetti frammentati sono
   gestiti con modalità diverse, IPv4 usa un flag nell'header, IPv6 una
-  opportuna opzione, si veda sez.~\ref{sec:ipv6_protocol}.}) in blocchi più
-piccoli che possono essere trasmessi attraverso l'interfaccia.
+  opportuna opzione, si veda sez.~\ref{sec:ipv6_protocol}.}
 
 \begin{table}[!htb]
   \centering
 
 \begin{table}[!htb]
   \centering
@@ -799,6 +799,8 @@ piccoli che possono essere trasmessi attraverso l'interfaccia.
   \label{tab:net_mtu_values}
 \end{table}
 
   \label{tab:net_mtu_values}
 \end{table}
 
+%TODO aggiornare la tabella con dati più recenti
+
 \itindbeg{Path~MTU}
 
 La MTU più piccola fra due stazioni viene in genere chiamata \textit{path
 \itindbeg{Path~MTU}
 
 La MTU più piccola fra due stazioni viene in genere chiamata \textit{path
index 3f2e28ab401a89c97cd8c5d1fe180ffe5ac1a8a9..af8d97a609501cc993616438e8759ea588024d47 100644 (file)
@@ -1,6 +1,6 @@
 %% othersock.tex
 %%
 %% othersock.tex
 %%
-%% Copyright (C) 2004-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2004-2016 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",
 %% 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",
index 4170b116cd16773abd0ec1a3f3688969ec05fd04..499857a5e4d265487093cae77de50d1f29dcc937 100644 (file)
@@ -1,6 +1,6 @@
 %% preambolo.tex
 %%
 %% preambolo.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index 9d1f356f7a254030f68df281e51e0af1ce1357aa..2baacde3945b3e5bd713ecbc3f97c9a68226f452 100644 (file)
--- a/pref.tex
+++ b/pref.tex
@@ -1,6 +1,6 @@
 %% pref.tex
 %%
 %% pref.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index ba1a4cf16f9428aab8a2cb7b79b0aad57913ec76..7f46bcdad3de19c62f410d0f02d9806f9f369dc9 100644 (file)
@@ -1,6 +1,6 @@
 %% process.tex
 %%
 %% process.tex
 %%
-%% Copyright (C) 2000-2015 by Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 by 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",
 %% 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",
index db19575bea6e4217ce2ba72b69ac7abad259b33f..2fb0f7c09e21a4396f284e3d111f176d4d727cdc 100644 (file)
@@ -1,6 +1,6 @@
 %% prochand.tex
 %%
 %% prochand.tex
 %%
-%% Copyright (C) 2000-2015 by Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 by 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",
 %% 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",
index ea4a28cd004dc3c78b648a42e5355bc83d2d908f..e4a25928d9f867b8cea01a65c9af52b63cca64d8 100644 (file)
@@ -1,6 +1,6 @@
 %% ringraziamenti.tex
 %%
 %% ringraziamenti.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index bec30f9d5ba7cd138edd841b750362813f0cb97f..6561859ff0a46c3d7e5673f78fb286443b60898c 100644 (file)
@@ -1,6 +1,6 @@
 %% session.tex
 %%
 %% session.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index f78b3dbb110ef0ea06df41938eab4b620eaec8fe..f5cbac3fe60468cfc06bbd325b118ce4cd592850 100644 (file)
@@ -1,6 +1,6 @@
 %% signal.tex
 %%
 %% signal.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index 91f41d424c615cf0de0d61be8ce829bc9f012ad8..ac904bd281f4da8b444e1f806b32091686729043 100644 (file)
@@ -1,6 +1,6 @@
 %% sockadv.tex
 %%
 %% sockadv.tex
 %%
-%% Copyright (C) 2004-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2004-2016 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",
 %% 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",
index 7d0d957b47f70cffaebc7a221d3564ea8cc14b65..44bb3a1f04b4feee4d6165be4eb7682ebf03a681 100644 (file)
@@ -1,6 +1,6 @@
 %% sockctrl.tex
 %%
 %% sockctrl.tex
 %%
-%% Copyright (C) 2004-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2004-2016 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 "Prefazione",
 %% 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 "Prefazione",
index 52d4809000ebe950948325cbdaaafc443970157c..a8c697b378b86b3d8755a92f3b018b6e846bd8ef 100644 (file)
@@ -1,6 +1,6 @@
 %% socket.tex
 %%
 %% socket.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
@@ -227,7 +227,7 @@ comunicazione.
        \constd{PF\_PPPOX}    &24& PPPoX socket                  &    \\
        \constd{PF\_WANPIPE}  &25& Wanpipe API socket            &    \\
        \constd{PF\_LLC}      &26& Linux LLC                     &    \\
        \constd{PF\_PPPOX}    &24& PPPoX socket                  &    \\
        \constd{PF\_WANPIPE}  &25& Wanpipe API socket            &    \\
        \constd{PF\_LLC}      &26& Linux LLC                     &    \\
-       \constd{PF\_CAN}      &29& Controller Are network        &    \\
+       \constd{PF\_CAN}      &29& Controller Are Network        &    \\
        \constd{PF\_BLUETOOTH}&31& Bluetooth socket              &    \\
        \hline
   \end{tabular}
        \constd{PF\_BLUETOOTH}&31& Bluetooth socket              &    \\
        \hline
   \end{tabular}
@@ -342,27 +342,27 @@ appena elencati.
     &\const{SOCK\_STREAM} &\const{SOCK\_DGRAM}     &\const{SOCK\_RAW}& 
       \const{SOCK\_RDM}&\const{SOCK\_SEQPACKET} \\
      \hline
     &\const{SOCK\_STREAM} &\const{SOCK\_DGRAM}     &\const{SOCK\_RAW}& 
       \const{SOCK\_RDM}&\const{SOCK\_SEQPACKET} \\
      \hline
-    \const{PF\_LOCAL}     &  si & si  &      &     &     \\
+    \const{PF\_UNIX}     &  si & si  &  --  & -- &  si\footnotemark \\
      \hline
      \hline
-%    \const{PF\_UNIX}&\multicolumn{5}{|l|}{sinonimo di \const{PF\_LOCAL}.}\\
-%     \hline
-    \const{PF\_INET}      & TCP & UDP & IPv4 &     &     \\
+    \const{PF\_LOCAL}&\multicolumn{5}{|c|}{sinonimo di \const{PF\_UNIX}}\\
      \hline
      \hline
-    \const{PF\_INET6}     & TCP & UDP & IPv6 &     &     \\
+    \const{PF\_INET}      & TCP & UDP & IPv4 & --  & --  \\
      \hline
      \hline
-    \const{PF\_IPX}       &     &     &      &     &     \\
+    \const{PF\_INET6}     & TCP & UDP & IPv6 & --  & -- \\
      \hline
      \hline
-    \const{PF\_NETLINK}   &     &  si &  si  &     &     \\
+    \const{PF\_IPX}       & --  & --  &  --  & --  & -- \\
      \hline
      \hline
-    \const{PF\_X25}       &     &     &      &     &  si \\
+    \const{PF\_NETLINK}   & --  & si  &  si  & --  & -- \\
      \hline
      \hline
-    \const{PF\_AX25}      &     &     &      &     &     \\
+    \const{PF\_X25}       & --  & --  &  --  & --  & si \\
      \hline
      \hline
-    \const{PF\_ATMPVC}    &     &     &      &     &     \\
+    \const{PF\_AX25}      & --  & --  &  --  & --  & -- \\
      \hline
      \hline
-    \const{PF\_APPLETALK} &     & si  &  si  &     &     \\
+    \const{PF\_ATMPVC}    & --  & --  &  --  & --  & -- \\
      \hline
      \hline
-    \const{PF\_PACKET}    &     & si  & si   &     &     \\    
+    \const{PF\_APPLETALK} & --  & si  &  si  & --  & -- \\
+     \hline
+    \const{PF\_PACKET}    & --  & si  &  si  & --  & -- \\
      \hline
   \end{tabular}
   \caption{Combinazioni valide di dominio e tipo di protocollo per la 
      \hline
   \end{tabular}
   \caption{Combinazioni valide di dominio e tipo di protocollo per la 
@@ -370,11 +370,14 @@ appena elencati.
   \label{tab:sock_sock_valid_combinations}
 \end{table}
 
   \label{tab:sock_sock_valid_combinations}
 \end{table}
 
+\footnotetext{supportati a partire dal kernel 2.6.4 per socket che conservano
+  i limiti dei messaggi e li consegnano in sequenza ordinata.}
+
 In tab.~\ref{tab:sock_sock_valid_combinations} sono mostrate le combinazioni
 valide possibili per le principali famiglie di protocolli. Per ogni
 combinazione valida si è indicato il tipo di protocollo, o la parola
 In tab.~\ref{tab:sock_sock_valid_combinations} sono mostrate le combinazioni
 valide possibili per le principali famiglie di protocolli. Per ogni
 combinazione valida si è indicato il tipo di protocollo, o la parola
-\textsl{si} qualora non il protocollo non abbia un nome definito, mentre si
-sono lasciate vuote le caselle per le combinazioni non supportate.
+\textsl{si} qualora il protocollo non abbia un nome definito, mentre si sono
+lasciate vuote le caselle per le combinazioni non supportate.
 
 
 \section{Le strutture degli indirizzi dei socket}
 
 
 \section{Le strutture degli indirizzi dei socket}
@@ -474,12 +477,22 @@ indirizzo; per questo motivo, anche se l'uso di un puntatore \ctyp{void *}
 sarebbe più immediato per l'utente (che non dovrebbe più eseguire il casting),
 è stato mantenuto l'uso di questa struttura.
 
 sarebbe più immediato per l'utente (che non dovrebbe più eseguire il casting),
 è stato mantenuto l'uso di questa struttura.
 
+Se si usa una struttura \struct{sockaddr} per allocare delle variabili
+generiche da usare in seguito per degli indirizzi si pone il problema che
+niente assicura che i dati necessari per le varie famiglie di indirizzi
+possano rientrare nella dimensione del campo \var{sa\_data}, anzi, come
+vedremo in sez.~\ref{sec:sock_sa_ipv6}, nel caso di indirizzi IPv6 questa
+non è proprio sufficiente. Per questo l'interfaccia di programmazione dei
+socket prevede la defizione di una speciale struttura
+\struct{sockaddr\_storage} per la quale è assicurato che la dimensione sia
+sufficiente per qualunque
+
 
 \subsection{La struttura degli indirizzi IPv4}
 \label{sec:sock_sa_ipv4}
 
 I socket di tipo \const{PF\_INET} vengono usati per la comunicazione
 
 \subsection{La struttura degli indirizzi IPv4}
 \label{sec:sock_sa_ipv4}
 
 I socket di tipo \const{PF\_INET} vengono usati per la comunicazione
-attraverso internet; la struttura per gli indirizzi per un socket internet (se
+attraverso Internet; la struttura per gli indirizzi per un socket Internet (se
 si usa IPv4) è definita come \struct{sockaddr\_in} nell'header file
 \headfiled{netinet/in.h} ed ha la forma mostrata in
 fig.~\ref{fig:sock_sa_ipv4_struct}, conforme allo standard POSIX.1g.
 si usa IPv4) è definita come \struct{sockaddr\_in} nell'header file
 \headfiled{netinet/in.h} ed ha la forma mostrata in
 fig.~\ref{fig:sock_sa_ipv4_struct}, conforme allo standard POSIX.1g.
@@ -490,12 +503,12 @@ fig.~\ref{fig:sock_sa_ipv4_struct}, conforme allo standard POSIX.1g.
     \includestruct{listati/sockaddr_in.h}
   \end{minipage} 
   \caption{La struttura \structd{sockaddr\_in} degli indirizzi dei socket
     \includestruct{listati/sockaddr_in.h}
   \end{minipage} 
   \caption{La struttura \structd{sockaddr\_in} degli indirizzi dei socket
-    internet (IPv4) e la struttura \structd{in\_addr} degli indirizzi IPv4.}
+    Internet (IPv4) e la struttura \structd{in\_addr} degli indirizzi IPv4.}
   \label{fig:sock_sa_ipv4_struct}
 \end{figure}
 
   \label{fig:sock_sa_ipv4_struct}
 \end{figure}
 
-L'indirizzo di un socket internet (secondo IPv4) comprende l'indirizzo
-internet di un'interfaccia più un \textsl{numero di porta} (affronteremo in
+L'indirizzo di un socket Internet (secondo IPv4) comprende l'indirizzo
+Internet di un'interfaccia più un \textsl{numero di porta} (affronteremo in
 dettaglio il significato di questi numeri in sez.~\ref{sec:TCP_port_num}).  Il
 protocollo IP non prevede numeri di porta, che sono utilizzati solo dai
 protocolli di livello superiore come TCP e UDP. Questa struttura però viene
 dettaglio il significato di questi numeri in sez.~\ref{sec:TCP_port_num}).  Il
 protocollo IP non prevede numeri di porta, che sono utilizzati solo dai
 protocolli di livello superiore come TCP e UDP. Questa struttura però viene
@@ -511,7 +524,7 @@ uguale a zero) o con la \textit{capability} \const{CAP\_NET\_BIND\_SERVICE}
 possono usare la funzione \func{bind} (che vedremo in
 sez.~\ref{sec:TCP_func_bind}) su queste porte.
 
 possono usare la funzione \func{bind} (che vedremo in
 sez.~\ref{sec:TCP_func_bind}) su queste porte.
 
-Il membro \var{sin\_addr} contiene un indirizzo internet, e viene acceduto sia
+Il membro \var{sin\_addr} contiene un indirizzo Internet, e viene acceduto sia
 come struttura (un resto di una implementazione precedente in cui questa era
 una \dirct{union} usata per accedere alle diverse classi di indirizzi) che
 direttamente come intero. In \headfile{netinet/in.h} vengono definite anche
 come struttura (un resto di una implementazione precedente in cui questa era
 una \dirct{union} usata per accedere alle diverse classi di indirizzi) che
 direttamente come intero. In \headfile{netinet/in.h} vengono definite anche
@@ -721,7 +734,7 @@ Al solito il campo \var{sll\_family} deve essere sempre impostato al valore
 e deve essere indicato in \textit{network order}, facendo uso delle costanti
 simboliche definite in \file{linux/if\_ether.h}. Il campo \var{sll\_ifindex} è
 l'indice dell'interfaccia, che, in caso di presenza di più interfacce dello
 e deve essere indicato in \textit{network order}, facendo uso delle costanti
 simboliche definite in \file{linux/if\_ether.h}. Il campo \var{sll\_ifindex} è
 l'indice dell'interfaccia, che, in caso di presenza di più interfacce dello
-stesso tipo (se ad esempio si hanno più schede ethernet), permette di
+stesso tipo (se ad esempio si hanno più schede Ethernet), permette di
 selezionare quella con cui si vuole operare (un valore nullo indica qualunque
 interfaccia).  Questi sono i due soli campi che devono essere specificati
 quando si vuole selezionare una interfaccia specifica, usando questa struttura
 selezionare quella con cui si vuole operare (un valore nullo indica qualunque
 interfaccia).  Questi sono i due soli campi che devono essere specificati
 quando si vuole selezionare una interfaccia specifica, usando questa struttura
@@ -730,7 +743,7 @@ con la funzione \func{bind}.
 I campi \var{sll\_halen} e \var{sll\_addr} indicano rispettivamente
 l'indirizzo associato all'interfaccia sul protocollo di collegamento e la
 relativa lunghezza; ovviamente questi valori cambiano a seconda del tipo di
 I campi \var{sll\_halen} e \var{sll\_addr} indicano rispettivamente
 l'indirizzo associato all'interfaccia sul protocollo di collegamento e la
 relativa lunghezza; ovviamente questi valori cambiano a seconda del tipo di
-collegamento che si usa, ad esempio, nel caso di ethernet, questi saranno il
+collegamento che si usa, ad esempio, nel caso di Ethernet, questi saranno il
 MAC address della scheda e la relativa lunghezza. Essi vengono usati, insieme
 ai campi \var{sll\_family} e \var{sll\_ifindex} quando si inviano dei
 pacchetti, in questo caso tutti gli altri campi devono essere nulli.
 MAC address della scheda e la relativa lunghezza. Essi vengono usati, insieme
 ai campi \var{sll\_family} e \var{sll\_ifindex} quando si inviano dei
 pacchetti, in questo caso tutti gli altri campi devono essere nulli.
@@ -747,7 +760,6 @@ pacchetto inviato ad un'altra stazione (e ricevuto su un'interfaccia in modo
 promiscuo), \constd{PACKET\_OUTGOING} per un pacchetto originato dalla propria
 macchina che torna indietro sul socket.
 
 promiscuo), \constd{PACKET\_OUTGOING} per un pacchetto originato dalla propria
 macchina che torna indietro sul socket.
 
-
 Si tenga presente infine che in fase di ricezione, anche se si richiede il
 troncamento del pacchetto, le funzioni \func{recv}, \func{recvfrom} e
 \func{recvmsg} (vedi sez.~\ref{sec:net_sendmsg}) restituiranno comunque la
 Si tenga presente infine che in fase di ricezione, anche se si richiede il
 troncamento del pacchetto, le funzioni \func{recv}, \func{recvfrom} e
 \func{recvmsg} (vedi sez.~\ref{sec:net_sendmsg}) restituiranno comunque la
@@ -772,11 +784,12 @@ lunghezza effettiva del pacchetto così come arrivato sulla linea.
 \label{sec:sock_addr_func}
 
 In questa sezione tratteremo delle varie funzioni usate per manipolare gli
 \label{sec:sock_addr_func}
 
 In questa sezione tratteremo delle varie funzioni usate per manipolare gli
-indirizzi, limitandoci però agli indirizzi internet.  Come accennato gli
+indirizzi, limitandoci però agli indirizzi Internet.  Come accennato gli
 indirizzi e i numeri di porta usati nella rete devono essere forniti nel
 cosiddetto \textit{network order}, che corrisponde al formato \textit{big
 indirizzi e i numeri di porta usati nella rete devono essere forniti nel
 cosiddetto \textit{network order}, che corrisponde al formato \textit{big
-  endian}, anche quando la proprio macchina non usa questo formati, cosa che
-può comportare la necessità di eseguire delle conversioni.
+  endian} (vedi sez.~\ref{sec:endianness}), anche quando la proprio macchina
+non usa questo formato, cosa che può comportare la necessità di eseguire delle
+conversioni.
 
 
 \subsection{Le funzioni per il riordinamento}
 
 
 \subsection{Le funzioni per il riordinamento}
@@ -786,32 +799,33 @@ Come già visto in sez.~\ref{sec:endianness} il problema connesso
 all'\textit{endianness} è che quando si passano dei dati da un tipo di
 architettura all'altra i dati vengono interpretati in maniera diversa, e ad
 esempio nel caso dell'intero a 16 bit ci si ritroverà con i due byte in cui è
 all'\textit{endianness} è che quando si passano dei dati da un tipo di
 architettura all'altra i dati vengono interpretati in maniera diversa, e ad
 esempio nel caso dell'intero a 16 bit ci si ritroverà con i due byte in cui è
-suddiviso scambiati di posto.  Per questo motivo si usano delle funzioni di
-conversione che servono a tener conto automaticamente della possibile
-differenza fra l'ordinamento usato sul computer e quello che viene usato nelle
-trasmissione sulla rete; queste funzioni sono \funcd{htonl}, \funcd{htons},
-\funcd{ntohl} e \funcd{ntohs} ed i rispettivi prototipi sono:
-\begin{functions}
-  \headdecl{netinet/in.h}
-  \funcdecl{unsigned long int htonl(unsigned long int hostlong)} 
-  Converte l'intero a 32 bit \param{hostlong} dal formato della macchina a
-  quello della rete.
-  \funcdecl{unsigned short int htons(unsigned short int hostshort)}
-  Converte l'intero a 16 bit \param{hostshort} dal formato della macchina a
-  quello della rete.
+suddiviso scambiati di posto.  
 
 
-  \funcdecl{unsigned long int ntohl(unsigned long int netlong)}
-  Converte l'intero a 32 bit \param{netlong} dal formato della rete a quello
-  della macchina.
+Per questo motivo si usano delle funzioni di conversione che servono a tener
+conto automaticamente della possibile differenza fra l'ordinamento usato sul
+computer e quello che viene usato nelle trasmissione sulla rete; queste
+funzioni sono \funcd{htonl}, \funcd{htons}, \funcd{ntohl} e \funcd{ntohs} ed i
+rispettivi prototipi sono:
 
 
-  \funcdecl{unsigned sort int ntohs(unsigned short int netshort)}
-  Converte l'intero a 16 bit \param{netshort} dal formato della rete a quello
-  della macchina.
-  
-  \bodydesc{Tutte le funzioni restituiscono il valore convertito, e non
-    prevedono errori.}
-\end{functions}
+\begin{funcproto}{
+\fhead{netinet/in.h}
+\fdecl{unsigned long int htonl(unsigned long int hostlong)}
+\fdesc{Converte l'intero a 32 bit \param{hostlong} dal formato della macchina a
+  quello della rete.} 
+\fdecl{unsigned short int htons(unsigned short int hostshort)}
+\fdesc{Converte l'intero a 16 bit \param{hostshort} dal formato della macchina a
+  quello della rete.}
+\fdecl{unsigned long int ntohl(unsigned long int netlong)}
+\fdesc{Converte l'intero a 32 bit \param{netlong} dal formato della rete a quello
+  della macchina.}
+\fdecl{unsigned sort int ntohs(unsigned short int netshort)}
+\fdesc{Converte l'intero a 16 bit \param{netshort} dal formato della rete a quello
+  della macchina.}
+}
+
+{Tutte le funzioni restituiscono il valore convertito, e non prevedono
+  errori.}
+\end{funcproto}
 
 I nomi sono assegnati usando la lettera \texttt{n} come mnemonico per indicare
 l'ordinamento usato sulla rete (da \textit{network order}) e la lettera
 
 I nomi sono assegnati usando la lettera \texttt{n} come mnemonico per indicare
 l'ordinamento usato sulla rete (da \textit{network order}) e la lettera
index 198832d4afe323748dd55f5f0df8fcdc7f43b0d5..e70cb35b01d5296ba0120f16ddfc88c633a93657 100644 (file)
@@ -1,6 +1,6 @@
 %% system.tex
 %%
 %% system.tex
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index 71463a12314eb76dba376ed1026555953315290e..ff4aa49a7029aa17aea6f67ac9d8a8914a5acf0c 100644 (file)
@@ -1,6 +1,6 @@
-bg%% tcpsock.tex
+%% tcpsock.tex
 %%
 %%
-%% Copyright (C) 2000-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2016 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",
 %% 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",
index b9179906cba9aff5e311e2a86f2f8b3a6185e78d..8d3354077a235bd219f8847e28972417ad70dc7e 100644 (file)
@@ -1,6 +1,6 @@
 %% thread.tex
 %%
 %% thread.tex
 %%
-%% Copyright (C) 2007-2015 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2007-2016 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",
 %% 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",
index d48daebb899759cb9b6b16902849f92359e9cb62..42a36f0c71a7528788bae11961dc0ff3b504c782 100644 (file)
@@ -1,6 +1,6 @@
 %% tcpprot.tex
 %%
 %% tcpprot.tex
 %%
-%% Copyright (C) 2002-2015 Simone Piccardi.  Permission is granted to copy,
+%% Copyright (C) 2002-2016 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",
 %% 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",