X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=socket.tex;h=968a18c510f3e935866af9b0581e62f6a9033b1d;hp=4b450aaa0e5f150c55b8a54ef942c3375c668931;hb=def262af3493f8e141a94b4efe09a8d84b8f7c70;hpb=b120ef0b0570efae73c8e50576a3f98fb7830769 diff --git a/socket.tex b/socket.tex index 4b450aa..968a18c 100644 --- a/socket.tex +++ b/socket.tex @@ -466,7 +466,7 @@ come struttura (un resto di una implementazione precedente in cui questa era una \direct{union} usata per accedere alle diverse classi di indirizzi) che direttamente come intero. In \file{netinet/in.h} vengono definite anche alcune costanti che identificano alcuni indirizzi speciali, riportati in -tab.~\ref{tab:TCP_ipv4_addr}. +tab.~\ref{tab:TCP_ipv4_addr}, che reincontreremo più avanti. Infine occorre sottolineare che sia gli indirizzi che i numeri di porta devono essere specificati in quello che viene chiamato \textit{network order}, cioè @@ -500,17 +500,17 @@ il campo \var{sin6\_port} il campo \var{sin6\_flowinfo} è a sua volta diviso in tre parti di cui i 24 bit inferiori indicano l'etichetta di flusso, i successivi 4 bit la priorità e gli ultimi 4 sono riservati. Questi valori fanno riferimento ad alcuni campi -specifici dell'header dei pacchetti IPv6 (vedi sez.~\ref{sec:IP_ipv6head}) ed il -loro uso è sperimentale. - -Il campo \var{sin6\_addr} contiene l'indirizzo a 128 bit usato da IPv6, infine -il campo \var{sin6\_scope\_id} è un campo introdotto in Linux con il kernel -2.4, per gestire alcune operazioni riguardanti il multicasting. - -Si noti che questa struttura ha una dimensione maggiore della struttura -\struct{sockaddr} generica vista in fig.~\ref{fig:sock_sa_gen_struct}, quindi -occorre stare attenti a non avere fatto assunzioni riguardo alla possibilità -di contenere i dati nelle dimensioni di quest'ultima. +specifici dell'header dei pacchetti IPv6 (vedi sez.~\ref{sec:IP_ipv6head}) ed +il loro uso è sperimentale. + +Il campo \var{sin6\_addr} contiene l'indirizzo a 128 bit usato da IPv6, +espresso da un vettore di 16 byte. Infine il campo \var{sin6\_scope\_id} è un +campo introdotto in Linux con il kernel 2.4, per gestire alcune operazioni +riguardanti il multicasting. Si noti infine che \struct{sockaddr\_in6} ha una +dimensione maggiore della struttura \struct{sockaddr} generica di +fig.~\ref{fig:sock_sa_gen_struct}, quindi occorre stare attenti a non avere +fatto assunzioni riguardo alla possibilità di contenere i dati nelle +dimensioni di quest'ultima. \subsection{La struttura degli indirizzi locali}