From: Simone Piccardi Date: Thu, 20 Apr 2017 20:47:26 +0000 (+0000) Subject: Piccole correzioni dimenticate X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=06dc8260dfafe73912c3df875a71385214c39730 Piccole correzioni dimenticate --- diff --git a/gapil.tex b/gapil.tex index e21b609..381db2d 100644 --- a/gapil.tex +++ b/gapil.tex @@ -188,7 +188,7 @@ hyperfootnotes=false]{hyperref} \include{session} \include{fileadv} \include{ipc} -\include{thread} +%\include{thread} % Commentare sotto se si genera la prima parte \part{Programmazione di rete} diff --git a/img/tcp_listen_backlog.dia b/img/tcp_listen_backlog.dia index 0ac6e47..b36dbb4 100644 Binary files a/img/tcp_listen_backlog.dia and b/img/tcp_listen_backlog.dia differ diff --git a/socket.tex b/socket.tex index ceb724c..3558450 100644 --- a/socket.tex +++ b/socket.tex @@ -33,7 +33,7 @@ creati. \index{socket!definizione|(} -\subsection{Cosa sono \textit{socket}} +\subsection{Cosa sono i \textit{socket}} \label{sec:sock_socket_def} I \textit{socket} (una traduzione letterale potrebbe essere \textsl{presa}, ma @@ -235,8 +235,6 @@ comunicazione. \label{tab:net_pf_names} \end{table} -% TODO aggiungere PF_CAN, vedi http://lwn.net/Articles/253425, dal 2.6.25 - L'idea alla base della distinzione fra questi due insiemi di costanti era che una famiglia di protocolli potesse supportare vari tipi di indirizzi, per cui il prefisso \texttt{PF\_} si sarebbe dovuto usare nella creazione dei socket e @@ -256,7 +254,7 @@ elenco delle famiglie di protocolli disponibili in Linux è riportato in tab.~\ref{tab:net_pf_names}. L'elenco indica tutti i protocolli definiti; fra questi però saranno utilizzabili solo quelli per i quali si è compilato il supporto nel kernel (o si sono caricati gli opportuni moduli), viene definita -anche una costante \constd{PF\_MAX} che indica il valore massimo associabile +anche una costante \constd{AF\_MAX} che indica il valore massimo associabile ad un dominio. Si tenga presente che non tutte le famiglie di protocolli sono utilizzabili @@ -342,27 +340,27 @@ appena elencati. &\const{SOCK\_STREAM} &\const{SOCK\_DGRAM} &\const{SOCK\_RAW}& \const{SOCK\_RDM}&\const{SOCK\_SEQPACKET} \\ \hline - \const{PF\_UNIX} & si & si & -- & -- & si\footnotemark \\ + \const{AF\_UNIX} & si & si & -- & -- & si\footnotemark \\ \hline - \const{PF\_LOCAL}&\multicolumn{5}{|c|}{sinonimo di \const{PF\_UNIX}}\\ + \const{AF\_LOCAL}&\multicolumn{5}{|c|}{sinonimo di \const{AF\_UNIX}}\\ \hline - \const{PF\_INET} & TCP & UDP & IPv4 & -- & -- \\ + \const{AF\_INET} & TCP & UDP & IPv4 & -- & -- \\ \hline - \const{PF\_INET6} & TCP & UDP & IPv6 & -- & -- \\ + \const{AF\_INET6} & TCP & UDP & IPv6 & -- & -- \\ \hline - \const{PF\_IPX} & -- & -- & -- & -- & -- \\ + \const{AF\_IPX} & -- & -- & -- & -- & -- \\ \hline - \const{PF\_NETLINK} & -- & si & si & -- & -- \\ + \const{AF\_NETLINK} & -- & si & si & -- & -- \\ \hline - \const{PF\_X25} & -- & -- & -- & -- & si \\ + \const{AF\_X25} & -- & -- & -- & -- & si \\ \hline - \const{PF\_AX25} & -- & -- & -- & -- & -- \\ + \const{AF\_AX25} & -- & -- & -- & -- & -- \\ \hline - \const{PF\_ATMPVC} & -- & -- & -- & -- & -- \\ + \const{AF\_ATMPVC} & -- & -- & -- & -- & -- \\ \hline - \const{PF\_APPLETALK} & -- & si & si & -- & -- \\ + \const{AF\_APPLETALK} & -- & si & si & -- & -- \\ \hline - \const{PF\_PACKET} & -- & si & si & -- & -- \\ + \const{AF\_PACKET} & -- & si & si & -- & -- \\ \hline \end{tabular} \caption{Combinazioni valide di dominio e tipo di protocollo per la @@ -520,7 +518,7 @@ maniera generica tipi di indirizzi diversi (ad esempio IPv4 ed IPv6). \subsection{La struttura degli indirizzi IPv4} \label{sec:sock_sa_ipv4} -I socket di tipo \const{PF\_INET} vengono usati per la comunicazione +I socket di tipo \const{AF\_INET} vengono usati per la comunicazione 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 @@ -573,7 +571,7 @@ soluzioni). \subsection{La struttura degli indirizzi IPv6} \label{sec:sock_sa_ipv6} -Essendo IPv6 un'estensione di IPv4, i socket di tipo \const{PF\_INET6} sono +Essendo IPv6 un'estensione di IPv4, i socket di tipo \const{AF\_INET6} sono sostanzialmente identici ai precedenti; la parte in cui si trovano praticamente tutte le differenze fra i due socket è quella della struttura degli indirizzi; la sua definizione, presa da \headfile{netinet/in.h}, è @@ -623,7 +621,7 @@ dimensioni di quest'ultima (per questo se necessario è opportuno usare \subsection{La struttura degli indirizzi locali} \label{sec:sock_sa_local} -I socket di tipo \const{PF\_UNIX} o \const{PF\_LOCAL} vengono usati per una +I socket di tipo \const{AF\_UNIX} o \const{AF\_LOCAL} vengono usati per una comunicazione fra processi che stanno sulla stessa macchina (per questo vengono chiamati \textit{local domain} o anche \textit{Unix domain}); essi hanno la caratteristica ulteriore di poter essere creati anche in maniera @@ -667,7 +665,7 @@ la struttura restituita è di dimensione \code{sizeof(sa\_family\_t)}, quindi \subsection{La struttura degli indirizzi AppleTalk} \label{sec:sock_sa_appletalk} -I socket di tipo \const{PF\_APPLETALK} sono usati dalla libreria +I socket di tipo \const{AF\_APPLETALK} sono usati dalla libreria \file{netatalk} per implementare la comunicazione secondo il protocollo AppleTalk, uno dei primi protocolli di rete usato nel mondo dei personal computer, usato dalla Apple per connettere fra loro computer e stampanti. Il @@ -716,7 +714,7 @@ rete. \subsection{La struttura degli indirizzi dei \textit{packet socket}} \label{sec:sock_sa_packet} -I \textit{packet socket}, identificati dal dominio \const{PF\_PACKET}, sono +I \textit{packet socket}, identificati dal dominio \const{AF\_PACKET}, sono un'interfaccia specifica di Linux per inviare e ricevere pacchetti direttamente su un'interfaccia di rete, senza passare per le funzioni di gestione dei protocolli di livello superiore. In questo modo è possibile @@ -827,13 +825,15 @@ lunghezza effettiva del pacchetto così come arrivato sulla linea. %% \subsection{La struttura degli indirizzi DECnet} %% \label{sec:sock_sa_decnet} -%% I socket di tipo \const{PF\_DECnet} usano il protocollo DECnet, usato dai VAX +%% I socket di tipo \const{AF\_DECnet} usano il protocollo DECnet, usato dai VAX %% Digital sotto VMS quando ancora il TCP/IP non era diventato lo standard di %% fatto. Il protocollo è un protocollo chiuso, ed il suo uso attuale è limitato %% alla comunicazione con macchine che stanno comunque scomparendo. Lo si riporta %% solo come esempio +% TODO aggiungere AF_CAN, vedi http://lwn.net/Articles/253425, dal 2.6.25 ? + % TODO: trattare i socket RDS, vedi documentazione del kernel, file % Documentation/networking/rds.txt