Iniziata sezione sulle strutture degli indirizzi dei socket
authorSimone Piccardi <piccardi@gnulinux.it>
Thu, 12 Apr 2001 22:44:42 +0000 (22:44 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Thu, 12 Apr 2001 22:44:42 +0000 (22:44 +0000)
main.tex
socket.tex

index 9fe6813eb577c354cbfe80032015c359392fe774..26ae6aa0e732bcc7d4753de4797d2c49fb1bfa8d 100644 (file)
--- a/main.tex
+++ b/main.tex
 
 \author{Simone Piccardi}
 
-
 \begin{document}
 
 \pagenumbering{roman}
  
 \maketitle
 
+
 \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}
 \cleardoublepage}}
 
index 076793f16b64ece43da2ff160683b82b7683fc68..95e68bdfcb4daaccf2a57d6b2d67fe55ccc2cea3 100644 (file)
@@ -93,7 +93,7 @@ viene messo a zero (con l'eccezione dei \textit{raw socket}).
   \item \texttt{EPROTONOSUPPORT} Il tipo di socket o il protocollo scelto non
     sono supportati nel dominio.
   \item \texttt{ENFILE} Il kernel non ha memoria sufficiente a creare una
-    nuova strutture per il socket.
+    nuova struttura per il socket.
   \item \texttt{EMFILE} Si è ecceduta la tabella dei file.
   \item \texttt{EACCES} Non si hanno privilegi per creare un socket nel
     dominio o con il protocollo specificato.
@@ -191,42 +191,77 @@ glibc chiama \textit{styles}) definiti come \texttt{int} in \texttt{socket.h}:
 \item \texttt{SOCK\_PACKET} Obsoleto, non deve essere usato.
 \end{list}
 
-
 Si tenga presente che non tutte le combinazioni di famiglia di protocolli e
 tipo di socket sono valide, in quanto non è detto che nella famiglia esista un
 protocollo per tutti gli stili di comunicazione indicati qui sopra. Una
-tabella che mostra le combianazioni valide è la seguente:
+tabella che mostra le combinazioni valide è la seguente:
 
 \begin{table}[htb]
   \footnotesize
   \centering
   \begin{tabular}{l|c|c|c|c|c|}
-    &\multicolumn{1}{c}{\texttt{SOCK\_STREAM}}& 
+   \multicolumn{1}{c}{} &\multicolumn{1}{c}{\texttt{SOCK\_STREAM}}& 
      \multicolumn{1}{c}{\texttt{SOCK\_DGRAM}} & 
      \multicolumn{1}{c}{\texttt{SOCK\_RAW}} & 
      \multicolumn{1}{c}{\texttt{SOCK\_PACKET}}& 
      \multicolumn{1}{c}{\texttt{SOCK\_SEQPACKET}} \\
+     \cline{2-6}
     \texttt{PF\_UNIX}      &  si & si  &      &     &     \\
+     \cline{2-6}
     \texttt{PF\_INET}      & TCP & UDP & IPv4 &     &     \\
+     \cline{2-6}
     \texttt{PF\_INET6}     & TCP & UDP & IPv6 &     &     \\
+     \cline{2-6}
     \texttt{PF\_IPX}       &  ?  &     &      &     &     \\
+     \cline{2-6}
     \texttt{PF\_NETLINK}   &     &     &  si  &     &     \\
+     \cline{2-6}
     \texttt{PF\_X25}       &     &     &      &     &     \\
+     \cline{2-6}
     \texttt{PF\_AX25}      &     &     &      &     &     \\
+     \cline{2-6}
     \texttt{PF\_ATMPVC}    &  ?  &     &      &     &     \\
+     \cline{2-6}
     \texttt{PF\_APPLETALK} &  ?  &     &      &     &     \\
+     \cline{2-6}
     \texttt{PF\_PACKET}    &     &     &      &     &     \\    
+     \cline{2-6}
   \end{tabular}
   \caption{Combinazioni valide di dominio e tipo di protocollo per la funzione \texttt{socket}.}
   \label{tab:sock_sock_valid_combinations}
 \end{table}
 
+Dove 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.
 
-
-\section{Le strutture degli indirizzi}
+\section{Le strutture degli indirizzi dei socket}
 \label{sec:sock_sockaddr}
 
-La gran parte dei
+Benché esse non vengano utilizzate nella creazione di un socket le strutture
+degli indirizzi sono usate da quasi tutte le altre funzioni concernenti
+socket, per cui in questa sezione le tratteremo in dettaglio.
+
+
+I nomi di tutte queste strutture iniziano per \texttt{sockaddr\_} e ciascuna
+famiglia di protocolli ha una sua peculiare, che viene identificata dal
+suffisso finale aggiunto al nome precedente.
+
+
+\subsection{La struttura generica}
+\label{sec:sock_sa_gen}
+
+\subsection{La struttura degli indirizzi IPv4}
+\label{sec:sock_sa_ipv4}
+
+\subsection{La struttura degli indirizzi IPv6}
+\label{sec:sock_sa_ipv6}
+\subsection{La struttura degli indirizzi locali}
+\label{sec:sock_sa_local}
+
+
+
 
 
 \section{Le funzioni di conversione degli indirizzi}
@@ -252,7 +287,7 @@ client e un server TCP, riprendendo quanto visto in \ref{sec:net_cli_sample} e
 
 Per capire il funzionamento delle funzioni della interfaccia dei socket che
 operano con TCP (le varie \texttt{connect}, \texttt{accept}, \texttt{close}
-che abbiamo visto negli esempi iniziali e su cui torneremo più avatni) è
+che abbiamo visto negli esempi iniziali e su cui torneremo più avanti) è
 fodamentale capire come funziona la creazione e la conclusione di una
 connessione TCP.