From 06dc8260dfafe73912c3df875a71385214c39730 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Thu, 20 Apr 2017 20:47:26 +0000 Subject: [PATCH] Piccole correzioni dimenticate --- gapil.tex | 2 +- img/tcp_listen_backlog.dia | Bin 2851 -> 2895 bytes socket.tex | 42 ++++++++++++++++++------------------- 3 files changed, 22 insertions(+), 22 deletions(-) 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 0ac6e47368cc7b66c0e3c0440673c2db6d5f0382..b36dbb417a0339d8e2c3bbb3a51471982caa7db9 100644 GIT binary patch delta 2783 zcmV<53Ly2P7S9%t7=P0M2oPjlyOU(QlTJI`nL4{WeezHeEptne8j7~#m;LPvkd!Qb zOC$iB7Mw|9$rLUDpK~s7adG+MPv2L;aeiU9!p#i27FPujUKU`i-|Ml%3=l1lc z>kmIJeD??TcNx2@3HwC2;jgZy_erw;;o{=y>B$J5H*ONeMt|Tx7#r{6e{K-C7wn>o z>Gg-nWWRxho4EYF{9QLmVt@9Kc$3gwc~{e!JO67LM-Sm*nq8G&H;;lSo;C^Pui_6Wf*3rgimn6^Y$|Vi$@PGHN$*{Gj` z2%Cubi+`)>KS6P{%Kc-lF*&RZ*E-r^$~=SEAmst5ibzxIvstYpV@g7hPPh0NPBTi->O%D0lg0&R`Ye)`mSZzuTkbxyxUaEs>AxC zV*oj&uYT4xi5n-kZX8EXWpf_uUPX0!wtX9T;eWEdN8&rwJ&HYTa`-WbGa7CxqPzXc z_he68U@k6j zsJK8Qr8<(SFKkhU&Y)>fNG_q_*s0Q3JuN1DAUa%W>6%6)#^vc@X|Zzi=kE=xl@{mT zG=E==!lcd?e}8i4uKeKnYWfRXxrUo4VBTsv*(A>#V%VPMO?-(SV&9ARae4fG+2P9nfIyRO1T}wR7aGcsvx5CND^d_=g_;UF+G4QaM%w)JOQ!_f^mcsrfV!cylWHN6@c*iNma$2Yi1n7&kSexs&; zH5Z{lgP>1w=u;dAAH;z6D;>lboNoZJ+|+08hw&L(99nEuhz-Z$l!R~u$1vRa+*>F5 zB!+*YlNd!D>QfkR`4mRe#6?WbhbeX5!UI%xHgUo1n@eUAL716EeP{Fs&s?evs5pD-3^;miH++{-vS&1_nmblQ%1!tFK+zyZ<@`;>1!Q z1kEKZAw{iarWOFhwDVL-WLRi4nUsHQ9`UzNUw+l8lnRSl>s-o_Pa>#@n%0u{qZ|i0 zd?zaXpG_hNpn#@k0fq9P;n8sb#2lcx(AW6GbHw7n)Y+i(B8ZUM{K02!7c z|3(3pVH=XM#&J82i7Ffq&W1B(XTzBWE+LtyL~^Nn^+67e=GJ6ts0hvG;6#5jEE~&3 zRVGSR8FwK0ed1UUw1nhSNd*@!2_;b~l(^sYGkUZ)w(>qLLaOfrTd@ntxZ6wX+MJeRvy2j&3=e-qb8%LJ=2Gu!lN2?Si&G8fl_F(yIFw~eb3S9<2QyI#=5B3PNiLC6xrE(viS$&q%m06?3Y_7=J7rv) zB*Qt==4}60HJs65VAhedRyeCF8;S?-&QXI(E-_;9Gcr8vivhW`4GPnuK4VCCHUIPV zM)BEVH{4W@7Jv1EM=$Z`?z_x#tsqdRxhhR_9WpJ2^mQUq7>QZNLj@7m?N;tC!V1+b z<6C#Y9G#cYS^rxZpiO@fAyyS|-tOn__P?O25bFV8*3;5{7Sydh+wnT)% zpn@%mJ#AKrWz>absIlBJ*HE=bfvK213aDU9cTbsBt_5M|S}=cGF6vVdO&GJq%x9s3 zeXz=GR*_Ds(Jnf9=x%8Zt`s)xwUOf1EiZx=n|yg5yO^QmV8*3Ub`?k z>bq8clXbkw;EmezY-iq}QXz^A3N1wP?OAep4h&?QG=0M{=?HeYz68D(CZ|_J7s}q) zsso_j+j`3-Tn)ix($YMVp3p(qBil%^J2=NpdA?O9_u@1aYZ zt1WE~_4DLL9vK%=+Z@ZS22Il)Wd6t|i$B(yZz4;6x^@3P>1SK(XIr6YfhTi`?XI&h!8`1(Wkg8f~_?&|u({{f9=^Ya|m004hya9jWY delta 2739 zcmV;k3QYCS7NZuB7=ObA2oPjlyOU(QlTJI`nL4{WeezHeEOSed8j7~#m;LPven=L- zB@%#53(h35WD1vn&p8*k7r6ZKr|&C&^2nl%7Y0{T2#o231@my>1U6{RS3p>?ZH!@49gud9#O@O#*ktuBJ10{?{@JAA-d+yDGnK9{OQ4d361&>BqbD zYkHA4b5UrgrR}x5WV495e>FF4@Gr;d)AX7}{sM_IU<7WebfQ=C1gFzhIF({^RJ0{1Qo2fPD zt2Gy?HRo+^*I^V#t`}EL&ce`VZjf1xqX*XC&SviV9Aa(V8qkY7FOI{G`@eJj%^@Ag z-rlk8SmrJxZ_!TN!W9jzJb8=w{`Py@a2WuR{v(zdcz>2>;L+Q7GoRJ3=_s;%Jro$6MoaSQ)N$xWklr1~DMz0jP>dQ|q%?x$%hKzZ)!lmKiuVfB{Kj z#YBW&n%h?v#b!UV^Dqc*S+GcZaZKN;R~Q3&A3Ut)>$3G-%dlUg+^4YHRLiQv`l4e7 za!OzQtZia9if`R03ZKg681G(1b$Yga>$70l-hU(U9qJy%o;DNsafovoZYrX?{mJB> z6E`6{=V=^ro)S8py!@C$vx3T+55xS!*eQM(SM{oNOWE6*mK-21-`MwfPh4OwE^w&0 zK#)=$$2pl_A8mp(pI2nizS6aHJ5s6WGdRSVl-2C}_!)m3)xi`%h z!+#*Ivz5F*xpP;Z|9mz5g|A$LP3UuPHJxnY=LBNdp5{$_2_GVlMf4{=l+Xcd zI-D3C93gZt<a3KxJnW7tFu8nOW3#Mt|_krP{&jHI|;W z=vj-3v!~90qo+vngr^}AA!ZwmAw3T66vE(8Nf=xo_tMb_@v%QKJ9VJ^%#%@|98y9# z9d6f@6Mvdn%w`}YpK`E3Ia3Mcbj)2-e{KNf8Ukr(@P;D{l3AbJlg;$Z29A-WxJ+(q z47E(WAZgiWF;g2z+px&H+lA1KZ3OL`w_=;~Kf;w8yvrzB1%x_|_Lk#lO=2{7w-F1kopFaQg%gxuH|9+zRMpBA;+X{541W2t+V^k(AV%;WNnoL0OPMQe7)@YRJ=Fi`6 z|M>E6ElY}IsRoT&mqxf10uA27X(Sm9q@n;f|Bt>D;5Gn8(l>BcI#*x6vUmUWHi#43 z1|euRVF@X0EpvN;0ZcpJPKkhpe@3&Ll20W5_UX&7dOM}U!q$2}<;W)yR772C$vG*< zK~9p5O8@7R2x3r!re+NarcEtFku-%=%%gE!?!$8u39Eu})) zg=9(TRdkGhRY=5 z#&MjQm5=8`jvPaych%wde>%-@UMEUsk}(vDFTW{pQ46xVXEQ0QlyLyhq7#G&S%W~U?wWT+^x;uDE7JGB|UG8$NAW&~}Rl3b}$g~vF*NI4BBxV^86+~FKsoY(J z6{=gtw`RZ`y)U7&e+IZRK${{$tSaEV&FAj&Ur<$u^#CyIX=yv0RVBbM9=^;{@brs( zskKw+?NUq0xrdq_*00C3L>K2A_Ur6Yz(hn?7b?ht?eGkhN;K?{=tRRcmRqr`Y9A!F zM1;Yhf)vG`Hmk%k>cTSASnil>sLD}bDket(6{K|clv(9ke-L)A1+(R%J_XT)F@8W`a|}D|6NAz4eI*C{{i1fNsR^2004pNWj6o- 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 -- 2.30.2