+La rappresentazione di un numbero binario in un computer può essere fatta in
+due modi, chiamati rispettivamente \textit{big endian} e \textit{little
+ endian} a seconda di come i singoli bit vengono aggregati per formare le
+variabili intere (in diretta corrispondenza a come sono poi in realtà cablati
+sui bus interni del computer).
+
+Per capire meglio il problema si consideri un intero a 16 bit scritto in una
+locazione di memoria posta ad un certo indirizzo. I singoli bit possono essere
+disposti un memoria in due modi, a partire dal più significativo o a partire
+dal meno significativo. Così nel primo caso si troverà il byte che contiene i
+bit più significativi all'indirizzo menzionato e il byte con i bit meno
+significativi nell'indirizzo successivo; questo ordinamento è detto
+\textit{little endian} dato che il dato finale è la parte ``piccola'' del
+numero. Il caso opposto, in cui si parte dal bit meno significativo è detto
+per lo stesso motivo \textit{big endian}.
+
+La \textit{endianess} di un computer dipende essenzialmente dalla architettura
+hardware usata; intel e digital usano il little endian, motorola, ibm, sun
+(sostanzialmente tutti gli altri) usano il big endian. Il formato della rete è
+anch'esso big endian. Esistono poi anche dei processori che possono scegliere
+il tipo di formato all'avvio e alcuni, come il PowerPC o l'intel i860, possono
+pure passare da un tipo all'altro con una specifica istruzione; in ogni caso
+in linux l'ordinamanento è definito dall'archiettura e anche se questi
+cambiamenti sono possibili anche dopo che il sistema è avviato, non vengono
+mai eseguiti.
+
+\subsection{Le funzioni per il riordinamento}
+\label{sec:sock_func_ord}
+
+Il problema connesso all'endianess è 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 bytes in cui è
+suddiviso scambiati di posto, e ne sarà quindi invertito l'ordine di lettura
+per cui, per riavere il valore originale dovrenno essere rovesciati.
+
+Per questo motivo si usano le seguenti funzioni di conversione (i cui
+prototipi sono definiti in \texttt{netinet/in.h}) 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: